From d0898c2f1c748b2eea7a99ca1e4684c79d571924 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:20 -0400 Subject: [PATCH 0001/2326] New translations global.json (Czech) --- website/pages/cs/global.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/cs/global.json b/website/pages/cs/global.json index 6a3eb234bfce..d8fc9fedee52 100644 --- a/website/pages/cs/global.json +++ b/website/pages/cs/global.json @@ -1,14 +1,14 @@ { - "collapse": "Collapse", - "expand": "Expand", - "previous": "Previous", - "next": "Next", - "editPage": "Edit page", - "pageSections": "Page Sections", - "linkToThisSection": "Link to this section", - "technicalLevelRequired": "Technical Level Required", - "notFoundTitle": "Oops! This page was lost in space...", - "notFoundSubtitle": "Check if you’re using the right address or explore our website by clicking on the link below.", - "goHome": "Go Home", + "collapse": "Sbalit", + "expand": "Zvětšit", + "previous": "Předchozí", + "next": "Další", + "editPage": "Upravit stránku", + "pageSections": "Stránka Sekce", + "linkToThisSection": "Odkaz na tuto sekci", + "technicalLevelRequired": "Požadovaná technická úroveň", + "notFoundTitle": "Oops! Tato stránka se ztratila ve vesmíru...", + "notFoundSubtitle": "Zkontrolujte, zda používáte správnou adresu, nebo si prohlédněte naše webové stránky kliknutím na níže uvedený odkaz.", + "goHome": "Jdi domů", "video": "Video" } From 5bc031545d8203a1f893b0390b61628accee3a6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:29 -0400 Subject: [PATCH 0002/2326] New translations index.json (Romanian) --- website/pages/ro/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/ro/index.json b/website/pages/ro/index.json index b29126d73694..3557839c7dcb 100644 --- a/website/pages/ro/index.json +++ b/website/pages/ro/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "Rețele suportate", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From d2cf984508ca52f2c09cae698740c5a14a808b61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:30 -0400 Subject: [PATCH 0003/2326] New translations index.json (French) --- website/pages/fr/index.json | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/fr/index.json b/website/pages/fr/index.json index 930e53ae45e9..1758912454fa 100644 --- a/website/pages/fr/index.json +++ b/website/pages/fr/index.json @@ -4,7 +4,7 @@ "shortcuts": { "aboutTheGraph": { "title": "À propos du Graph", - "description": "Plus d'infos sur The Graph" + "description": "En savoir plus sur The Graph" }, "quickStart": { "title": "Début rapide", @@ -32,45 +32,44 @@ "description": "Découvrez les rôles réseau de The Graph.", "roles": { "developer": { - "title": "Developer", - "description": "Créer un subgraphe ou utiliser des subgraphs existants dans une application décentralisée" + "title": "Développeur", + "description": "Créer un subgraph ou utiliser des subgraphs existants dans une application décentralisée" }, "indexer": { - "title": "Indexer", - "description": "Exploitez un nœud pour indexer les données et traitez les requêtes" + "title": "Indexeur", + "description": "Utiliser un nœud pour indexer les données et répondre aux requêtes" }, "curator": { - "title": "Curator", + "title": "Curateur", "description": "Organiser les données en signalant les subgraphs" }, "delegator": { - "title": "Delegator", - "description": "Sécuriser le réseau en déléguant les TRG aux indexeurs" + "title": "Délégateur", + "description": "Sécuriser le réseau en déléguant des GRT aux indexeurs" } } }, "readMore": "Lire la suite", "products": { - "title": "Products", + "title": "Produits", "products": { "subgraphStudio": { - "title": "Studio Subgraph", + "title": "Subgraph Studio", "description": "Créer, gérer, déployer des subgraphs et des clés API" }, "graphExplorer": { - "title": "Explorateur Graph", + "title": "Graph Explorer", "description": "Explorer les subgraphs et interagir avec le protocole" }, "hostedService": { - "title": "Hosted Service", + "title": "Service hébergé", "description": "Create and explore subgraphs on the hosted service" } } }, "supportedNetworks": { - "title": "Réseaux supportés", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "title": "Réseaux pris en charge", + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From 6794cba16bbe2dafcdeacc72b9035d8f005a943a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:31 -0400 Subject: [PATCH 0004/2326] New translations index.json (Spanish) --- website/pages/es/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/es/index.json b/website/pages/es/index.json index c85fd14a2cd8..d3513ef6672c 100644 --- a/website/pages/es/index.json +++ b/website/pages/es/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "Redes Admitidas", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From d59833ba1bdd2cbb9e679c726eadd7b2fdffee6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:32 -0400 Subject: [PATCH 0005/2326] New translations index.json (Arabic) --- website/pages/ar/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/ar/index.json b/website/pages/ar/index.json index 358d7708f4e8..005c09a0cf30 100644 --- a/website/pages/ar/index.json +++ b/website/pages/ar/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "الشبكات المدعومة", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From f6b29794fb38fd698cf0d376f0a70552776511e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:32 -0400 Subject: [PATCH 0006/2326] New translations index.json (Czech) --- website/pages/cs/index.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/cs/index.json b/website/pages/cs/index.json index 2aadf3cd8b80..62910320a112 100644 --- a/website/pages/cs/index.json +++ b/website/pages/cs/index.json @@ -63,14 +63,13 @@ }, "hostedService": { "title": "Hostovaná služba", - "description": "Create and explore subgraphs on the hosted service" + "description": "Vytváření a zkoumání podgrafů v hostované službě" } } }, "supportedNetworks": { "title": "Podporované sítě", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From 4c1b000ffa2d90f3296e880f552e863c600d050c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:33 -0400 Subject: [PATCH 0007/2326] New translations index.json (German) --- website/pages/de/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/de/index.json b/website/pages/de/index.json index 2526bc347927..b808df67cb08 100644 --- a/website/pages/de/index.json +++ b/website/pages/de/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "Supported Networks", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From c3eba68aa71f74f277c676ab31d57bf9999c01a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:34 -0400 Subject: [PATCH 0008/2326] New translations index.json (Italian) --- website/pages/it/index.json | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/website/pages/it/index.json b/website/pages/it/index.json index 02af4531bba5..498fe1ae6b91 100644 --- a/website/pages/it/index.json +++ b/website/pages/it/index.json @@ -4,7 +4,7 @@ "shortcuts": { "aboutTheGraph": { "title": "Informazioni su The Graph", - "description": "Scopri di più su The Graph" + "description": "Learn more about The Graph" }, "quickStart": { "title": "Quick Start", @@ -32,26 +32,26 @@ "description": "Learn about The Graph’s network roles.", "roles": { "developer": { - "title": "Sviluppatore", - "description": "Crea un subgraph o utilizza subgraph esistenti in una dapp" + "title": "Developer", + "description": "Create a subgraph or use existing subgraphs in a dapp" }, "indexer": { "title": "Indexer", - "description": "Gestisci un nodo per indicizzare dati e fornire interrogazioni" + "description": "Operate a node to index data and serve queries" }, "curator": { - "title": "Curatore", - "description": "Organizza i dati segnalando i subgraph" + "title": "Curator", + "description": "Organize data by signaling on subgraphs" }, "delegator": { "title": "Delegator", - "description": "Proteggi la rete delegando GRT agli Indexer" + "description": "Secure the network by delegating GRT to Indexers" } } }, "readMore": "Leggi di più", "products": { - "title": "Prodotti", + "title": "Products", "products": { "subgraphStudio": { "title": "Subgraph Studio", @@ -59,18 +59,17 @@ }, "graphExplorer": { "title": "Graph Explorer", - "description": "Esplora subgraph e interagisci con il protocollo" + "description": "Explore subgraphs and interact with the protocol" }, "hostedService": { - "title": "Servizio di Hosting", + "title": "Hosted Service", "description": "Create and explore subgraphs on the hosted service" } } }, "supportedNetworks": { - "title": "Reti supportate", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "title": "Supported Networks", + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From 6fb27d1f64c209b9cc20f8cd8ec0115bf3637ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:35 -0400 Subject: [PATCH 0009/2326] New translations index.json (Japanese) --- website/pages/ja/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/ja/index.json b/website/pages/ja/index.json index 6a8e3e36955a..7e3937043c91 100644 --- a/website/pages/ja/index.json +++ b/website/pages/ja/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "サポートされているネットワーク", - "description": "The Graphでは、The Graph Networkおよびホスティングサービスにおいて、以下のネットワークをサポートしています。", - "graphNetworkAndHostedService": "The Graph Network & ホスティングサービス", - "hostedService": "ホスティングサービス" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From 71f5799cb2c28d368d29ab43ff8b48879ecb1076 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:36 -0400 Subject: [PATCH 0010/2326] New translations index.json (Korean) --- website/pages/ko/index.json | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/website/pages/ko/index.json b/website/pages/ko/index.json index cac80059433b..988a55bb63e2 100644 --- a/website/pages/ko/index.json +++ b/website/pages/ko/index.json @@ -4,7 +4,7 @@ "shortcuts": { "aboutTheGraph": { "title": "About The Graph", - "description": "The Graph에 대해 더 알아보기" + "description": "Learn more about The Graph" }, "quickStart": { "title": "Quick Start", @@ -32,16 +32,16 @@ "description": "Learn about The Graph’s network roles.", "roles": { "developer": { - "title": "개발자", - "description": "dapp내에서 새로운 subgraph를 만들거나 이미 존재하는 subgraph들을 사용합니다." + "title": "Developer", + "description": "Create a subgraph or use existing subgraphs in a dapp" }, "indexer": { "title": "Indexer", - "description": "데이터 인덱싱 혹은 쿼리 제공을 위해 노드를 운영합니다." + "description": "Operate a node to index data and serve queries" }, "curator": { "title": "Curator", - "description": "서브그래프들에 신호를 보냄으로써 데이터를 구성합니다." + "description": "Organize data by signaling on subgraphs" }, "delegator": { "title": "Delegator", @@ -62,15 +62,14 @@ "description": "Explore subgraphs and interact with the protocol" }, "hostedService": { - "title": "호스팅 서비스", + "title": "Hosted Service", "description": "Create and explore subgraphs on the hosted service" } } }, "supportedNetworks": { - "title": "지원되는 네트워크들", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "title": "Supported Networks", + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From befa69b7dcd84b47ee7c0bb3dbeb2a76f2fc1dd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:37 -0400 Subject: [PATCH 0011/2326] New translations index.json (Dutch) --- website/pages/nl/index.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/nl/index.json b/website/pages/nl/index.json index fc3391f05efa..fb0e73883694 100644 --- a/website/pages/nl/index.json +++ b/website/pages/nl/index.json @@ -37,7 +37,7 @@ }, "indexer": { "title": "Indexer", - "description": "Opereer een knooppunt om data te indexeren en aanvragen te dienen" + "description": "Operate a node to index data and serve queries" }, "curator": { "title": "Curator", @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "Ondersteunde Netwerken", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From f0dfce9623bd65235a3cbe86ea75313aa2ebeaa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:37 -0400 Subject: [PATCH 0012/2326] New translations index.json (Polish) --- website/pages/pl/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/pl/index.json b/website/pages/pl/index.json index e7d99cdd5886..ba3d2a04875b 100644 --- a/website/pages/pl/index.json +++ b/website/pages/pl/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "Wspierane sieci", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From b38730447af9c005fb482e1aeb6a845da22fb8d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:38 -0400 Subject: [PATCH 0013/2326] New translations index.json (Portuguese) --- website/pages/pt/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/index.json b/website/pages/pt/index.json index c025df027868..0f7fd7404c12 100644 --- a/website/pages/pt/index.json +++ b/website/pages/pt/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "Redes Apoiadas", - "description": "O The Graph apoia as seguintes redes na Graph Network e no serviço hospedado.", - "graphNetworkAndHostedService": "The Graph Network & serviço hospedado", - "hostedService": "serviço hospedado" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From b4e6ce17104e2cf896659411478e0dd8fa3464e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:39 -0400 Subject: [PATCH 0014/2326] New translations index.json (Russian) --- website/pages/ru/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/ru/index.json b/website/pages/ru/index.json index 7c3bfae69569..a2956948ecef 100644 --- a/website/pages/ru/index.json +++ b/website/pages/ru/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "Поддерживаемые сети", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From 561a01f29ccbbce37481662444c6194057b52573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:40 -0400 Subject: [PATCH 0015/2326] New translations index.json (Swedish) --- website/pages/sv/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/sv/index.json b/website/pages/sv/index.json index 47fa636b0961..6556272356e0 100644 --- a/website/pages/sv/index.json +++ b/website/pages/sv/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "Nätverk som stöds", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From aa112ef059c7243eff572b8b9e80cbdd54da579b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:41 -0400 Subject: [PATCH 0016/2326] New translations index.json (Turkish) --- website/pages/tr/index.json | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/tr/index.json b/website/pages/tr/index.json index 4690e573ed52..cfb9b4cd237a 100644 --- a/website/pages/tr/index.json +++ b/website/pages/tr/index.json @@ -23,8 +23,8 @@ "description": "Subgraph'ler oluşturmak için Studio'yu kullanın" }, "migrateFromHostedService": { - "title": "Barındırılan hizmetten yükseltme", - "description": "Subgraph'leri Graph Network'e yükseltme" + "title": "Upgrade from the hosted service", + "description": "Upgrading subgraphs to The Graph Network" } }, "networkRoles": { @@ -63,14 +63,13 @@ }, "hostedService": { "title": "Barındırılan Hizmet", - "description": "Barındırılan hizmet üzerinde subgraph'ler oluşturma ve keşfetme" + "description": "Create and explore subgraphs on the hosted service" } } }, "supportedNetworks": { "title": "Desteklenen Ağlar", - "description": "The Graph, Graph Network ve barındırılan hizmet üzerinde aşağıdaki ağları destekler.", - "graphNetworkAndHostedService": "Graph Network & barındırılan hizmet", - "hostedService": "barındırılan hizmet" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From 8a12a1c834ba535f1357ab8c377e438177380ad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:42 -0400 Subject: [PATCH 0017/2326] New translations index.json (Ukrainian) --- website/pages/uk/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/uk/index.json b/website/pages/uk/index.json index 8de6d91ebafd..14650a885c28 100644 --- a/website/pages/uk/index.json +++ b/website/pages/uk/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "Мережі, які підтримуються", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From bccb09dcef330a9941afd92685bd4721d1698565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:43 -0400 Subject: [PATCH 0018/2326] New translations index.json (Chinese Simplified) --- website/pages/zh/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/zh/index.json b/website/pages/zh/index.json index 4228b57be8d5..d9c9473eb5da 100644 --- a/website/pages/zh/index.json +++ b/website/pages/zh/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "支持的网络", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From ff2e5ef1538f9fcaf375d65e8c9e67a03f3b46c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:44 -0400 Subject: [PATCH 0019/2326] New translations index.json (Urdu (Pakistan)) --- website/pages/ur/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/ur/index.json b/website/pages/ur/index.json index e86047ba79e9..520b5b31db7e 100644 --- a/website/pages/ur/index.json +++ b/website/pages/ur/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "تعاون یافتہ نیٹ ورکس", - "description": "گراف گراف نیٹ ورک اور ہوسٹڈ سروس پر درج ذیل نیٹ ورکس کو سپورٹ کرتا ہے.", - "graphNetworkAndHostedService": "گراف نیٹ ورک اور ہوسٹڈ سروس", - "hostedService": "ہوسٹڈ سروس" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From f7eb1c7eac1b462d014fdaa28e3d27e2f91d2e75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:44 -0400 Subject: [PATCH 0020/2326] New translations index.json (Vietnamese) --- website/pages/vi/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/vi/index.json b/website/pages/vi/index.json index 5d69c14b124b..d59c9ad93fa6 100644 --- a/website/pages/vi/index.json +++ b/website/pages/vi/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "Mạng lưới được hỗ trợ", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From 5c2da71d643235c33d032998020e71b7571d066f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:45 -0400 Subject: [PATCH 0021/2326] New translations index.json (Marathi) --- website/pages/mr/index.json | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/website/pages/mr/index.json b/website/pages/mr/index.json index 56bb0de7aa67..2e7b3ad18213 100644 --- a/website/pages/mr/index.json +++ b/website/pages/mr/index.json @@ -4,7 +4,7 @@ "shortcuts": { "aboutTheGraph": { "title": "ग्राफ बद्दल", - "description": "The Graph बद्दल अधिक जाणून घ्या" + "description": "Learn more about The Graph" }, "quickStart": { "title": "क्विक स्टार्ट", @@ -32,45 +32,44 @@ "description": "ग्राफच्या नेटवर्क भूमिकांबद्दल जाणून घ्या.", "roles": { "developer": { - "title": "विकसक", - "description": "Dapp मध्ये सबग्राफ तयार करा किंवा विद्यमान सबग्राफ वापरा" + "title": "Developer", + "description": "Create a subgraph or use existing subgraphs in a dapp" }, "indexer": { - "title": "इंडेक्सर", + "title": "Indexer", "description": "डेटा इंडेक्स करण्यासाठी नोड ऑपरेट करा आणि क्वेरी सर्व्ह करा" }, "curator": { - "title": "क्युरेटर", - "description": "सबग्राफवर सिग्नल करून डेटा व्यवस्थित करा" + "title": "Curator", + "description": "Organize data by signaling on subgraphs" }, "delegator": { "title": "अधिकारप्राप्त कर्ता", - "description": "इंडेक्सर्सना GRT सोपवून नेटवर्क सुरक्षित करा" + "description": "Secure the network by delegating GRT to Indexers" } } }, "readMore": "पुढे वाचा", "products": { - "title": "उत्पादने", + "title": "Products", "products": { "subgraphStudio": { - "title": "सबग्राफ स्टुडिओ", + "title": "Subgraph Studio", "description": "सबग्राफ आणि API की तयार करा, व्यवस्थापित करा आणि प्रकाशित करा" }, "graphExplorer": { - "title": "आलेख एक्सप्लोरर", + "title": "Graph Explorer", "description": "सबग्राफ एक्सप्लोर करा आणि प्रोटोकॉलशी संवाद साधा" }, "hostedService": { - "title": "होस्ट केलेली सेवा", + "title": "Hosted Service", "description": "Create and explore subgraphs on the hosted service" } } }, "supportedNetworks": { - "title": "समर्थित नेटवर्क", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "title": "Supported Networks", + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From b6a7075f2d80c18fda9cb01d751afda2c91133e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:46 -0400 Subject: [PATCH 0022/2326] New translations index.json (Hindi) --- website/pages/hi/index.json | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/website/pages/hi/index.json b/website/pages/hi/index.json index 26fd1d5d6804..91d40099e248 100644 --- a/website/pages/hi/index.json +++ b/website/pages/hi/index.json @@ -32,45 +32,44 @@ "description": "ग्राफ़ की नेटवर्क भूमिकाओं के बारे में जानें।", "roles": { "developer": { - "title": "डेवलपर", - "description": "एक सबग्राफ बनाएं या डैप में मौजूदा सबग्राफ का उपयोग करें" + "title": "Developer", + "description": "Create a subgraph or use existing subgraphs in a dapp" }, "indexer": { - "title": "इंडेक्सर", - "description": "डेटा को इंडेक्स करने और प्रश्नों को सर्व करने के लिए एक नोड का संचालन करें" + "title": "Indexer", + "description": "Operate a node to index data and serve queries" }, "curator": { - "title": "संग्रहाध्यक्ष", - "description": "सबग्राफ पर संकेत देकर डेटा व्यवस्थित करें" + "title": "Curator", + "description": "Organize data by signaling on subgraphs" }, "delegator": { - "title": "डैलिगेटर", - "description": "अनुक्रमणकों को GRT प्रत्यायोजित करके नेटवर्क को सुरक्षित करें" + "title": "Delegator", + "description": "Secure the network by delegating GRT to Indexers" } } }, "readMore": "और जानें", "products": { - "title": "उत्पादों", + "title": "Products", "products": { "subgraphStudio": { - "title": "सबग्राफ स्टूडियो", + "title": "Subgraph Studio", "description": "सबग्राफ और एपीआई कुंजी बनाएं, प्रबंधित करें और प्रकाशित करें" }, "graphExplorer": { - "title": "ग्राफ एक्सप्लोरर", - "description": "सबग्राफ एक्सप्लोर करें और प्रोटोकॉल के साथ इंटरैक्ट करें" + "title": "Graph Explorer", + "description": "Explore subgraphs and interact with the protocol" }, "hostedService": { - "title": "होस्टेड सेवा", + "title": "Hosted Service", "description": "Create and explore subgraphs on the hosted service" } } }, "supportedNetworks": { - "title": "समर्थित नेटवर्क्स", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "title": "Supported Networks", + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From 4c4c97dab525e7224530fb65c9ee2578cfddca24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:47 -0400 Subject: [PATCH 0023/2326] New translations index.json (Yoruba) --- website/pages/yo/index.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/pages/yo/index.json b/website/pages/yo/index.json index 7ca98feb4487..74fc544251b1 100644 --- a/website/pages/yo/index.json +++ b/website/pages/yo/index.json @@ -69,8 +69,7 @@ }, "supportedNetworks": { "title": "Supported Networks", - "description": "The Graph supports the following networks on The Graph Network and the hosted service.", - "graphNetworkAndHostedService": "The Graph Network & hosted service", - "hostedService": "hosted service" + "description": "The Graph supports the following networks.", + "footer": "For more details, see the {0} page." } } From 8bc86ff603ed67510d8cee2c217a396aa5a066da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:26:50 -0400 Subject: [PATCH 0024/2326] New translations docsearch.json (Czech) --- website/pages/cs/docsearch.json | 52 ++++++++++++++++----------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/website/pages/cs/docsearch.json b/website/pages/cs/docsearch.json index 8cfff967936d..49bef54c1c01 100644 --- a/website/pages/cs/docsearch.json +++ b/website/pages/cs/docsearch.json @@ -1,42 +1,42 @@ { "button": { - "buttonText": "Search", - "buttonAriaLabel": "Search" + "buttonText": "Vyhledávání", + "buttonAriaLabel": "Vyhledávání" }, "modal": { "searchBox": { - "resetButtonTitle": "Clear the query", - "resetButtonAriaLabel": "Clear the query", - "cancelButtonText": "Cancel", - "cancelButtonAriaLabel": "Cancel" + "resetButtonTitle": "Vymazat dotaz", + "resetButtonAriaLabel": "Vymazat dotaz", + "cancelButtonText": "Zrušit", + "cancelButtonAriaLabel": "Zrušit" }, "startScreen": { - "recentSearchesTitle": "Recent", - "noRecentSearchesText": "No recent searches", - "saveRecentSearchButtonTitle": "Save this search", - "removeRecentSearchButtonTitle": "Remove this search from history", - "favoriteSearchesTitle": "Favorite", - "removeFavoriteSearchButtonTitle": "Remove this search from favorites" + "recentSearchesTitle": "Nedávné", + "noRecentSearchesText": "Žádná nedávná vyhledávání", + "saveRecentSearchButtonTitle": "Uložit toto vyhledávání", + "removeRecentSearchButtonTitle": "Odstranění tohoto vyhledávání z historie", + "favoriteSearchesTitle": "Oblíbený", + "removeFavoriteSearchButtonTitle": "Odstranění tohoto vyhledávání z oblíbených položek" }, "errorScreen": { - "titleText": "Unable to fetch results", - "helpText": "You might want to check your network connection." + "titleText": "Nelze načíst výsledky", + "helpText": "Možná budete chtít zkontrolovat připojení k síti." }, "footer": { - "selectText": "to select", - "selectKeyAriaLabel": "Enter key", - "navigateText": "to navigate", - "navigateUpKeyAriaLabel": "Arrow up", - "navigateDownKeyAriaLabel": "Arrow down", - "closeText": "to close", - "closeKeyAriaLabel": "Escape key", - "searchByText": "Search by" + "selectText": "vybrat", + "selectKeyAriaLabel": "Klávesa Enter", + "navigateText": "pro navigaci", + "navigateUpKeyAriaLabel": "Šipka nahoru", + "navigateDownKeyAriaLabel": "Šipka dolů", + "closeText": "zavřít", + "closeKeyAriaLabel": "Klávesa Escape", + "searchByText": "Vyhledávání podle" }, "noResultsScreen": { - "noResultsText": "No results for", - "suggestedQueryText": "Try searching for", - "reportMissingResultsText": "Believe this query should return results?", - "reportMissingResultsLinkText": "Let us know." + "noResultsText": "Žádné výsledky pro", + "suggestedQueryText": "Zkuste vyhledat", + "reportMissingResultsText": "Věříte, že by tento dotaz měl vrátit výsledky?", + "reportMissingResultsLinkText": "Informujte nás." } } } From 5dad4bd8cc0dbeb911bc9f180743f810bcd87679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:00 -0400 Subject: [PATCH 0025/2326] New translations cosmos.mdx (Romanian) --- website/pages/ro/cookbook/cosmos.mdx | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/website/pages/ro/cookbook/cosmos.mdx b/website/pages/ro/cookbook/cosmos.mdx index 47a590f13b6b..5e9edfd82931 100644 --- a/website/pages/ro/cookbook/cosmos.mdx +++ b/website/pages/ro/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Cosmos --- -This guide is an introduction on building subgraphs indexing [Cosmos](https://docs.cosmos.network/) based blockchains. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## What are Cosmos subgraphs? @@ -17,11 +17,11 @@ There are four types of handlers supported in Cosmos subgraphs: Based on the [official Cosmos documentation](https://docs.cosmos.network/): -> [Events](https://docs.cosmos.network/main/core/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transactions](https://docs.cosmos.network/main/core/transactions) are objects created by end-users to trigger state changes in the application. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Messages](https://docs.cosmos.network/main/core/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Even though all data can be accessed with a block handler, other handlers enable subgraph developers to process data in a much more granular way. @@ -29,9 +29,9 @@ Even though all data can be accessed with a block handler, other handlers enable ### Subgraph Dependencies -[graph-cli](https://github.com/graphprotocol/graph-cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Subgraph Main Components @@ -79,7 +79,7 @@ dataSources: ### Schema Definition -Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript Mappings @@ -176,7 +176,7 @@ You can find the full list of types for the Cosmos integration [here](https://gi ### Message decoding -It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://developers.google.com/protocol-buffers/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. An example of how to decode message data in a subgraph can be found [here](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,16 +196,14 @@ $ graph build ## Deploying a Cosmos subgraph -Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command after running the `graph create` CLI command: +Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: -**Serviciu găzduit** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` **Local Graph Node (based on default configuration):** @@ -236,7 +234,7 @@ Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testne ### Osmosis -> Osmosis support in Graph Node and on the Hosted Service is in beta: please contact the graph team with any questions about building Osmosis subgraphs! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### What is Osmosis? From f66fb79cc2dd4b0adb941dbd989e213e227cf531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:01 -0400 Subject: [PATCH 0026/2326] New translations cosmos.mdx (French) --- website/pages/fr/cookbook/cosmos.mdx | 98 ++++++++++++++-------------- 1 file changed, 48 insertions(+), 50 deletions(-) diff --git a/website/pages/fr/cookbook/cosmos.mdx b/website/pages/fr/cookbook/cosmos.mdx index ad5486175d46..de1559df4550 100644 --- a/website/pages/fr/cookbook/cosmos.mdx +++ b/website/pages/fr/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Création de subgraphes sur Cosmos --- -Ce guide est une introduction à la création de subgraphs indexant des blockchains basées sur [Cosmos](https://docs.cosmos.network/). +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## Que sont les subgraphs de Cosmos ? @@ -17,11 +17,11 @@ Il existe quatre types de gestionnaires pris en charge dans les subgraphs de Cos Basé sur la [documentation officielle de Cosmos](https://docs.cosmos.network/) : -> Les [Événements](https://docs.cosmos.network/main/core/events) sont des objets qui contiennent des informations sur l'exécution de l'application. Ils sont principalement utilisés par les fournisseurs de services tels que les explorateurs de blocs et les portefeuilles pour suivre l'exécution de divers messages et transactions d'index. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> Les [Transactions](https://docs.cosmos.network/main/core/transactions) sont des objets créés par les utilisateurs finaux pour déclencher des changements d'état dans l'application. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> Les [Messages](https://docs.cosmos.network/main/core/transactions#messages) sont des objets spécifiques au module qui déclenchent des transitions d'état dans le cadre du module auquel ils appartiennent. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Même si toutes les données sont accessibles avec un gestionnaire de blocs, des gestionnaires tiers permettent aux développeurs de subgraphs de traiter les données de manière beaucoup plus précise. @@ -29,9 +29,9 @@ Même si toutes les données sont accessibles avec un gestionnaire de blocs, des ### Dépendances des subgraphs -[graph-cli](https://github.com/graphprotocol/graph-cli) est un outil CLI pour construire et déployer des subgraphs. La version `>=0.30.0` est nécessaire pour travailler avec les subgraphs Cosmos. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) est une bibliothèque de types spécifiques aux subgraphs. La version `>=0.27.0` est nécessaire pour travailler avec les subgraphs Cosmos. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Composants principaux du subgraph @@ -48,30 +48,30 @@ La définition d'un subgraph comporte trois éléments clés : Le manifeste du subgraph (`subgraph.yaml`) identifie les sources de données du subgraph, les déclencheurs d'intérêt et les fonctions (`handlers`) qui doivent être exécutées en réponse à ces déclencheurs. Vous trouverez ci-dessous un exemple de manifeste de subgraph pour un subgraph Cosmos : ```yaml -version spec: 0.0.5 -description: Exemple de subgraph Cosmos +version spec : 0.0.5 +description : Exemple de subgraph Cosmos schéma: - fichier: ./schema.graphql # lien vers le fichier de schéma + fichier : ./schema.graphql # lien vers le fichier de schéma les sources de données: - - genre: cosmos - nom: CosmosHub - réseau: cosmoshub-4 # Cela changera pour chaque blockchain basée sur le cosmos. Dans ce cas, l’exemple utilise le mainnet Cosmos Hub. - source: - startBlock: 0 # Requis pour Cosmos, définissez-le sur 0 pour démarrer l'indexation à partir de la genèse de la chaîne - cartographie: - Version api: 0.0.7 - langage: wasm/assemblyscript - gestionnaires de blocs: - - handler: handleNewBlock # le nom de la fonction dans le fichier de mappage - Gestionnaires d'événements: - - event: récompenses # le type d'événement qui sera géré - handler: handleReward # le nom de la fonction dans le fichier de mappage - Gestionnaires de transactions: - - handler: handleTransaction # le nom de la fonction dans le fichier de mappage - Gestionnaires de messages: - - message: /cosmos.staking.v1beta1.MsgDelegate # le type d'un message - handler: handleMsgDelegate # le nom de la fonction dans le fichier de mappage - fichier: ./src/mapping.ts # lien vers le fichier avec les mappages Assemblyscript + - genre : cosmos + nom : CosmosHub + réseau : cosmoshub-4 # Cela changera pour chaque blockchain basée sur le cosmos. Dans ce cas, l’exemple utilise le mainnet Cosmos Hub. + source: + startBlock : 0 # Requis pour Cosmos, définissez-le sur 0 pour démarrer l'indexation à partir de la genèse de la chaîne + cartographie : + Version api : 0.0.7 + langage : wasm/assemblyscript + gestionnaires de blocs : + - handler: handleNewBlock # le nom de la fonction dans le fichier de mappage + Gestionnaires d'événements : + - event : récompenses # le type d'événement qui sera géré + handler: handleReward # le nom de la fonction dans le fichier de mappage + Gestionnaires de transactions : + - handler: handleTransaction # le nom de la fonction dans le fichier de mappage + Gestionnaires de messages : + - message : /cosmos.staking.v1beta1.MsgDelegate # le type d'un message + handler : handleMsgDelegate # le nom de la fonction dans le fichier de mappage + fichier : ./src/mapping.ts # lien vers le fichier avec les mappages Assemblyscript ``` - Les subgraphs cosmos introduisent un nouveau `type` de source de données (`cosmos`). @@ -79,7 +79,7 @@ les sources de données: ### Définition de schéma -La définition du schéma décrit la structure de la base de données de subgraphs résultante et les relations entre les entités. Elle est indépendante de la source de données d'origine. Vous trouverez plus de détails sur la définition du schéma des subgraphs [ici](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### Cartographies AssemblyScript @@ -176,7 +176,7 @@ Vous trouverez la liste complète des types pour l'intégration Cosmos [ici](htt ### Décodage des messages -Il est important de noter que les messages Cosmos sont spécifiques à la chaîne et qu'ils sont transmis à un subgraph sous la forme d'une charge utile sérialisée [Protocol Buffers](https://developers.google.com/protocol-buffers/). Par conséquent, les données du message doivent être décodées dans une fonction de mappage avant de pouvoir être traitées. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. Un exemple de décodage des données d'un message dans un subgraph peut être trouvé [ici](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,31 +196,29 @@ $ construction de graph ## Déploiement d'un subgraph Cosmos -Une fois que votre subgraph a été créé, vous pouvez le déployer en utilisant la commande CLI `graph deploy` après avoir exécuté la commande CLI `graph create` : +Une fois votre subgraph créé, vous pouvez le déployer en utilisant la commande CLI `graph deploy` : -**Services hébergé** +**Subgraph Studio** -```bash -graphique créer un compte/nom-subgraph --product hébergé-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -compte de déploiement graph/nom-subgraph --product hébergé-service +graph deploy --studio subgraph-name ``` -**Nœud graph local (basé sur la configuration par défaut) :** +**Local Graph Node (based on default configuration):** ```bash -graph créer nom-subgraph --node http://localhost:8020 +graph create subgraph-name --node http://localhost:8020 ``` ```bash -graph déployer nom-subgraph --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost:5001 ``` ## Interroger un subgraph de Cosmos -Le point de terminaison GraphQL pour les subgraphs Cosmos est déterminé par la définition du schéma, avec l'interface API existante. Veuillez consulter la [documentation de l'API GraphQL](/querying/graphql-api/) pour plus d'informations. +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## Blockchains Cosmos prises en charge @@ -228,32 +226,32 @@ Le point de terminaison GraphQL pour les subgraphs Cosmos est déterminé par la #### Qu'est-ce qu'un Cosmos Hub ? -La [blockchain Cosmos Hub](https://hub.cosmos.network/) est la première blockchain du [Cosmos](https://cosmos.network/) écosystème. Vous pouvez visiter la [documentation officielle](https://docs.cosmos.network/) pour plus d'informations. +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### Les Réseaux -Le mainnet de Cosmos Hub est `cosmoshub-4`. Le réseau de test actuel de Cosmos est `theta-testnet-001`.
Les autres réseaux de Cosmos Hub, à savoir `cosmoshub-3`, sont arrêtés, par conséquent aucune donnée n'est fournie pour eux. +Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. ### Osmosis -> Le support d'Osmosis dans Graph Node et sur le service hébergé est en version bêta : veuillez contacter l'équipe The Graph pour toute question sur la construction de subgraphs Osmosis ! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### Qu’est-ce que l’osmose ? -[Osmosis](https://osmosis.zone/) est un protocole de teneur de marché automatisé (AMM) décentralisé et inter-chaînes construit sur le SDK Cosmos. Il permet aux utilisateurs de créer des pools de liquidités personnalisés et d'échanger des jetons compatibles IBC. Vous pouvez visiter la [documentation officielle](https://docs.osmosis.zone/) pour plus d'informations. +[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. #### Les Réseaux -Le mainnet d'Osmosis est `osmosis-1`. Le testnet actuel d'Osmosis est `osmo-test-4`. +Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## Exemples de subgraphs -Voici quelques exemples de subgraphs pour référence : +Here are some example subgraphs for reference: -[Exemple de filtrage de blocs](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[Exemple de récompenses du valideur](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[Exemple de délégations de validateurs](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[Exemple d'échange de jetons d'osmose](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From 68b05b18361302086be3b2e30051fbf7a0365002 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:02 -0400 Subject: [PATCH 0027/2326] New translations cosmos.mdx (Spanish) --- website/pages/es/cookbook/cosmos.mdx | 52 +++++++++++++--------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/website/pages/es/cookbook/cosmos.mdx b/website/pages/es/cookbook/cosmos.mdx index 11c2684860a1..6d68837df8ef 100644 --- a/website/pages/es/cookbook/cosmos.mdx +++ b/website/pages/es/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Construyendo subgrafos en Cosmos --- -Esta guía es una introducción a la creación de subgrafos que indexan blockchains basadas en [Cosmos](https://docs.cosmos.network/). +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## ¿Qué son los subgrafos de Cosmos? @@ -17,11 +17,11 @@ Hay cuatro tipos de handlers admitidos en los subgrafos de Cosmos: Basado en la [documentación oficial de Cosmos](https://docs.cosmos.network/): -> [Eventos](https://docs.cosmos.network/main/core/events) son objetos que contienen información sobre la ejecución de la aplicación. Son utilizados principalmente por proveedores de servicios como exploradores de bloques y billeteras para rastrear la ejecución de varios mensajes y transacciones de índice. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transacciones](https://docs.cosmos.network/main/core/transactions) son objetos creados por los usuarios finales para activar cambios de estado en la aplicación. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Mensajes](https://docs.cosmos.network/main/core/transactions#messages) son objetos específicos de módulos que activan transiciones de estado dentro del ámbito del módulo al que pertenecen. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Aunque se puede acceder a todos los datos con un handler de bloques, otros handlers permiten a los developers de subgrafos procesar datos de una manera mucho más granular. @@ -29,9 +29,9 @@ Aunque se puede acceder a todos los datos con un handler de bloques, otros handl ### Dependencias de subgrafos -[graph-cli](https://github.com/graphprotocol/graph-cli) es una herramienta CLI para crear e implementar subgrafos, versión `>=0.30.0` es necesario para trabajar con subgrafos de Cosmos. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) es una biblioteca de tipos específicos de subgrafos, versión `>=0.27.0` es necesario para trabajar con subgrafos de Cosmos. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Componentes principales del subgrafo @@ -79,7 +79,7 @@ dataSources: ### Definición de esquema -La definición de esquema describe la estructura de la base de datos de subgrafos resultante y las relaciones entre las entidades. Esto es independiente de la fuente de datos original. Hay más detalles sobre la definición de esquema del subgrafo [aquí](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### Asignaciones de AssemblyScript @@ -170,13 +170,13 @@ Cada tipo de handler viene con su propia estructura de datos que se pasa como ar - Los handlers de transacciones reciben el tipo `TransactionData`. - Los handlers de mensajes reciben el tipo `MessageData`. -Como parte de `MessageData`, el message handler recibe un contexto de transacción, que contiene la información más importante sobre una transacción que abarca un mensaje. El contexto de transacción también está disponible en el tipo `EventData`, pero solo cuando el evento correspondiente está asociado con una transacción. Además, todos los controladores reciben una referencia a un bloque (`HeaderOnlyBlock`). +Como parte de `MessageData`, el message handler recibe un contexto de transacción, que contiene la información más importante sobre una transacción que abarca un mensaje. El contexto de transacción también está disponible en el tipo ` EventData `, pero solo cuando el evento correspondiente está asociado con una transacción. Además, todos los controladores reciben una referencia a un bloque (` HeaderOnlyBlock `). Puedes encontrar una lista completa de los tipos para la integración Cosmos aquí [here](https://github.com/graphprotocol/graph-ts/blob/4c064a8118dff43b110de22c7756e5d47fcbc8df/chain/cosmos.ts). ### Decodificación de mensajes -Es importante tener en cuenta que los mensajes de Cosmos son específicos de la cadena y se pasan a un subgrafo en forma de una carga de Protocol Buffers serializada [Protocol Buffers](https://developers.google.com/protocol-buffers/) Como resultado, los datos del mensaje deben decodificarse en una función de mapeo antes de que puedan ser procesados. Un ejemplo de cómo decodificar los datos de un mensaje en un subgrafo se puede encontrar aquí. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. Un ejemplo de cómo decodificar los datos de un mensaje en un subgrafo se puede encontrar [aquí](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,19 +196,17 @@ $ graph build ## Deployando un subgrafo de Cosmos -Una vez creado el subgrafo, puedes deployarlo utilizando el comando CLI `graph deployment` después de ejecutar el comando CLI `graph create`: +Una vez que se haya creado su subgrafo, puede implementar su subgrafo usando el comando CLI `graph deployment`: -**Hosted Service** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph create account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` -**Graph Node local (basado en la configuración predeterminada):** +**Local Graph Node (based on default configuration):** ```bash graph create subgraph-name --node http://localhost:8020 @@ -220,7 +218,7 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost ## Consultar un subgrafo de Cosmos -El punto final de GraphQL para los subgrafos de Cosmos está determinado por la definición del esquema, con la interfaz API existente. Visite la [GraphQL API documentation](/querying/graphql-api/) para obtener más información. +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## Blockchains Cosmos compatibles @@ -228,32 +226,32 @@ El punto final de GraphQL para los subgrafos de Cosmos está determinado por la #### ¿Qué es Cosmos Hub? -La [blockchain de Cosmos Hub](https://hub.cosmos.network/) es la primera blockchain en el ecosistema [Cosmos](https://cosmos.network/). Puede visitar la [documentación oficial](https://docs.cosmos.network/) para obtener más información. +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### Networks -La red principal de Cosmos Hub es `cosmoshub-4`. La red de prueba actual de Cosmos Hub es `theta-testnet-001`.
Otras redes de Cosmos Hub, es decir, `cosmoshub-3`, están detenidas, por lo que no se proporcionan datos para ellas. +Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. ### Osmosis -> La compatibilidad con Osmosis en Graph Node y en el Hosted Service está en fase beta: ¡póngase en contacto con el equipo de The Graph si tiene alguna pregunta sobre la creación de subgrafos de Osmosis! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### ¿Qué es Osmosis? -[Osmosis](https://osmosis.zone/) es un protocolo automated market maker (AMM) descentralizado y cross chain construido sobre Cosmos SDK. Permite a los usuarios crear fondos de liquidez personalizados e intercambiar tokens habilitados para IBC. Puedes visitar la [documentación oficial](https://docs.osmosis.zone/) para obtener más información. +[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. #### Networks -La red principal de Osmosis es `osmosis-1`. La red de prueba actual de Osmosis es `osmo-test-4`. +Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## Subgrafos de ejemplo -A continuación se presentan algunos ejemplos de subgrafos como referencia: +Here are some example subgraphs for reference: -[Ejemplo de filtrado de bloques](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[Ejemplo de recompensas del validador](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[Ejemplo de delegaciones de validador](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[Ejemplo de intercambio de tokens de Osmosis](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From 7a957935175cd351db9ed1c3d222b2b510654141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:03 -0400 Subject: [PATCH 0028/2326] New translations cosmos.mdx (Arabic) --- website/pages/ar/cookbook/cosmos.mdx | 32 +++++++++++++--------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/website/pages/ar/cookbook/cosmos.mdx b/website/pages/ar/cookbook/cosmos.mdx index bbd67fcff9c6..0ed45e614eee 100644 --- a/website/pages/ar/cookbook/cosmos.mdx +++ b/website/pages/ar/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Cosmos --- -This guide is an introduction on building subgraphs indexing [Cosmos](https://docs.cosmos.network/) based blockchains. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## What are Cosmos subgraphs? @@ -17,11 +17,11 @@ There are four types of handlers supported in Cosmos subgraphs: Based on the [official Cosmos documentation](https://docs.cosmos.network/): -> [Events](https://docs.cosmos.network/main/core/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transactions](https://docs.cosmos.network/main/core/transactions) are objects created by end-users to trigger state changes in the application. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Messages](https://docs.cosmos.network/main/core/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Even though all data can be accessed with a block handler, other handlers enable subgraph developers to process data in a much more granular way. @@ -29,9 +29,9 @@ Even though all data can be accessed with a block handler, other handlers enable ### Subgraph Dependencies -[graph-cli](https://github.com/graphprotocol/graph-cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Subgraph Main Components @@ -79,7 +79,7 @@ dataSources: ### تعريف المخطط -Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript Mappings @@ -176,7 +176,7 @@ You can find the full list of types for the Cosmos integration [here](https://gi ### Message decoding -It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://developers.google.com/protocol-buffers/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. An example of how to decode message data in a subgraph can be found [here](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,19 +196,17 @@ $ graph build ## Deploying a Cosmos subgraph -Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command after running the `graph create` CLI command: +بمجرد إنشاء الـ subgraph الخاص بك ، يمكنك نشره باستخدام الأمر `graph deploy`: -**الخدمة المستضافة** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` -**Graph Node المحلية (على أساس التكوين الافتراضي):** +**Local Graph Node (based on default configuration):** ```bash graph create subgraph-name --node http://localhost:8020 @@ -236,7 +234,7 @@ Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testne ### Osmosis -> Osmosis support in Graph Node and on the Hosted Service is in beta: please contact the graph team with any questions about building Osmosis subgraphs! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### What is Osmosis? @@ -248,7 +246,7 @@ Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## أمثلة على الـ Subgraphs -فيما يلي بعض الأمثلة على الـ subgraphs للرجوع إليها: +Here are some example subgraphs for reference: [Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) From e55432d9b560d20f727eb17b2a2c7c372f6083a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:04 -0400 Subject: [PATCH 0029/2326] New translations cosmos.mdx (Czech) --- website/pages/cs/cookbook/cosmos.mdx | 50 +++++++++++++--------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/website/pages/cs/cookbook/cosmos.mdx b/website/pages/cs/cookbook/cosmos.mdx index 0f5238e35645..28ba8ea7560f 100644 --- a/website/pages/cs/cookbook/cosmos.mdx +++ b/website/pages/cs/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Vytváření podgrafů v Cosmos --- -Tato příručka je úvodem k vytváření subgrafů indexujících [Blokové řetězce založené na Cosmos](https://docs.cosmos.network/). +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## Co jsou podgrafy Cosmos? @@ -17,11 +17,11 @@ V podgrafech Cosmos jsou podporovány čtyři typy ovladačů: Založeno na [oficiální dokumentaci k Cosmos](https://docs.cosmos.network/): -> [Události](https://docs.cosmos.network/main/core/events) jsou objekty, které obsahují informace o provádění aplikace. Používají je především poskytovatelé služeb, jako jsou průzkumníci bloků a peněženky, ke sledování provádění různých zpráv a indexování transakcí. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transakce](https://docs.cosmos.network/main/core/transactions) jsou objekty vytvořené koncovými uživateli za účelem vyvolání změn stavu aplikace. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Zprávy](https://docs.cosmos.network/main/core/transactions#messages) jsou objekty specifické pro modul, které spouštějí stavové přechody v rámci modulu, ke kterému patří. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Přestože ke všem datům lze přistupovat pomocí blokové obsluhy, jiné obsluhy umožňují vývojářům podgrafů zpracovávat data mnohem podrobnějším způsobem. @@ -29,9 +29,9 @@ Přestože ke všem datům lze přistupovat pomocí blokové obsluhy, jiné obsl ### Závislosti podgrafů -[graph-cli](https://github.com/graphprotocol/graph-cli) je nástroj příkazového řádku pro sestavování a nasazování podgrafů, je vyžadována verze `>=0.30.0` pro práci s podgrafy Cosmos. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -"[graph-ts](https://github.com/graphprotocol/graph-ts) je knihovna specifická pro podgrafy obsahující typy, je vyžadována verze `>=0.27.0` pro práci s podgrafy Cosmos. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Hlavní součásti subgrafu @@ -79,7 +79,7 @@ dataSources: ### Definice schématu -Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript Mapování @@ -176,7 +176,7 @@ Jako součást `MessageData` přijímá zpracovatel zpráv kontext transakce, kt ### Dekódování zpráv -Je důležité si uvědomit, že zprávy Cosmos jsou specifické pro řetězec a jsou předávány do podgrafu ve formě serializovaného [zátěže protokolových bufferů](https://developers.google.com/protocol-buffers/). V důsledku toho je třeba data zpráv před jejich zpracováním dekódovat v mapovací funkci. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. Příklad dekódování dat zprávy v podgrafu naleznete [zde](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,19 +196,17 @@ $ graph build ## Nasazení podgrafu Cosmos -Jakmile je váš podgraf vytvořen, můžete ho nasadit pomocí příkazu `graph deploy` veřejného rozhraní příkazové řádky CLI po spuštění příkazu `graph create` veřejného rozhraní příkazové řádky CLI: +Po vytvoření podgrafu můžete podgraf nasadit pomocí příkazu `graph deploy` CLI: -**Hostovaná služba** +**Podgraf Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` -**Lokální Graph Node (založený na výchozí konfiguraci):** +**Local Graph Node (based on default configuration):** ```bash graph create subgraph-name --node http://localhost:8020 @@ -220,7 +218,7 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost ## Dotazování podgrafu Cosmos -GraphQL endpoint pro podgrafy Cosmos je určen schématem definice s existujícím rozhraním API. Pro více informací navštivte [dokumentaci GraphQL API](/querying/graphql-api/). +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## Podporované blockchainy Cosmos @@ -228,32 +226,32 @@ GraphQL endpoint pro podgrafy Cosmos je určen schématem definice s existujíc #### Co je Cosmos Hub? -[Cosmos Hub blockchain](https://hub.cosmos.network/) je první blockchain v ekosystému [Cosmos](https://cosmos.network/). Další informace naleznete v [oficiální dokumentaci](https://docs.cosmos.network/). +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### Sítě -Hlavní síť Cosmos Hubu je `cosmoshub-4`. Aktuální testovací síť Cosmos Hubu je `theta-testnet-001`.
Ostatní sítě Cosmos Hubu, tj. `cosmoshub-3`, jsou zastaveny, a proto pro ně nejsou poskytována žádná data. +Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. ### Osmosis -> Podpora Osmosis v Graph Node a v hostované službě je ve fázi beta: s případnými dotazy ohledně vytváření subgrafů Osmosis se obraťte na grafový tým! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### Co je osmosis? -[Osmosis](https://osmosis.zone/) je decentralizovaný, meziřetězcový protokol automatického tvůrce trhu (AMM) postavený nad sadou Cosmos SDK. Umožňuje uživatelům vytvářet vlastní pooly likvidity a obchodovat s tokeny podporujícími IBC. Další informace naleznete v [oficiální dokumentaci](https://docs.osmosis.zone/). +[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. #### Sítě -Osmosis mainnet je `osmosis-1`. Aktuální testnet Osmosis je `osmo-test-4`. +Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## Příklady podgrafů -Zde je několik příkladů podgrafů: +Here are some example subgraphs for reference: -[Příklad blokového filtrování](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[Příklad odměn](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[Příklad delegování validátoru](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[Příklad výměny tokenů Osmosis](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From 703c1b6a557033ac11773220073da1415c4d6a8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:05 -0400 Subject: [PATCH 0030/2326] New translations cosmos.mdx (German) --- website/pages/de/cookbook/cosmos.mdx | 40 +++++++++++++--------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/website/pages/de/cookbook/cosmos.mdx b/website/pages/de/cookbook/cosmos.mdx index db32f2973747..6739350b3958 100644 --- a/website/pages/de/cookbook/cosmos.mdx +++ b/website/pages/de/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Erstellen von Subgrafen auf Cosmos --- -Dieser Guide ist eine Einführung in das Erstellen von Subgrafen, die [Cosmos](https://docs.cosmos.network/)-basierte Blockchains indizieren. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## Was sind Cosmos-Subgrafen? @@ -17,11 +17,11 @@ In Cosmos-Subgrafen werden vier Arten von Handlern unterstützt: Basierend auf der [offiziellen Cosmos-Dokumentation](https://docs.cosmos.network/): -> [Events](https://docs.cosmos.network/main/core/events) sind Objekte, die Informationen über die Ausführung der Anwendung enthalten. Sie werden hauptsächlich von Dienstanbietern wie Block-Explorern und Wallets verwendet, um die Ausführung verschiedener Nachrichten und Indextransaktionen zu verfolgen. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transaktionen](https://docs.cosmos.network/main/core/transactions) sind Objekte, die von Endbenutzern erstellt werden, um Statusänderungen in der Anwendung auszulösen. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Nachrichten](https://docs.cosmos.network/main/core/transactions#messages) sind modulspezifische Objekte, die Zustandsübergänge im Rahmen des Moduls, zu dem sie gehören, auslösen. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Obwohl man mit einem Block-Handler auf alle Daten zugegriffen werden kann, ermöglichen andere Handler den Subgrafen-Entwicklern, Daten viel detaillierter zu verarbeiten. @@ -29,9 +29,9 @@ Obwohl man mit einem Block-Handler auf alle Daten zugegriffen werden kann, ermö ### Subgraf-Abhängigkeiten -[graph-cli](https://github.com/graphprotocol/graph-cli) ist ein CLI-Tool zum Erstellen und Bereitstellen von Subgrafen, Version `>=0.30.0` ist erforderlich, um mit Cosmos-Subgrafen zu arbeiten. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) ist eine Bibliothek mit subgrafspezifischen Typen, Version `>=0.27.0` ist erforderlich, um mit Cosmos-Subgrafen zu arbeiten. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Hauptkomponenten des Subgrafen @@ -79,7 +79,7 @@ dataSources: ### Schema-Definition -Die Schema-Definition beschreibt die Struktur der resultierenden Subgraf-Datenbank und die Beziehungen zwischen Entitäten. Dies ist von der ursprünglichen Datenquelle unabhängig. Weitere Details zur Subgraf-Schema-Definition finden Sie [hier](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript-Mappings @@ -176,7 +176,7 @@ Die vollständige Liste der Typen für die Cosmos-Integration finden Sie [hier]( ### Nachrichtendecodierung -It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://developers.google.com/protocol-buffers/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. Ein Beispiel zum Decodieren von Nachrichtendaten in einem Subgrafen finden Sie [hier](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,16 +196,14 @@ $ graph build ## Bereitstellen eines Subgrafen auf Cosmos -Sobald Ihr Subgraf erstellt wurde, können Sie ihn mit dem CLI-Befehl `graph deploy` bereitstellen, nachdem Sie den CLI-Befehl `graph create` ausgeführt haben: +Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: -**Hosted Service** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` **Local Graph Node (based on default configuration):** @@ -220,7 +218,7 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost ## Querying a Cosmos subgraph -Der GraphQL-Endpunkt für Cosmos-Subgrafen wird durch die Schemadefinition mit der vorhandenen API-Schnittstelle bestimmt. Weitere Informationen finden Sie in der [GraphQL-API-Dokumentation](/querying/graphql-api/). +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## Unterstützte Cosmos-Blockchains @@ -228,7 +226,7 @@ Der GraphQL-Endpunkt für Cosmos-Subgrafen wird durch die Schemadefinition mit d #### Was ist Cosmos Hub? -Die [Cosmos Hub Blockchain](https://hub.cosmos.network/) ist die erste Blockchain im [Cosmos](https://cosmos.network/)-Ökosystem. Weitere Informationen finden Sie in der [offiziellen Dokumentation](https://docs.cosmos.network/). +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### Netzwerke @@ -236,7 +234,7 @@ Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testne ### Osmosis -> Osmosis support in Graph Node and on the Hosted Service is in beta: please contact the graph team with any questions about building Osmosis subgraphs! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### What is Osmosis? @@ -248,12 +246,12 @@ Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## Beispiele von Subgrafen -Hier sind einige Beispiele von Subgrafen als Referenz: +Here are some example subgraphs for reference: -[Beispiel für Blockfilterung](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[Beispiel für Validator-Belohnungen](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[Beispiel für Validator-Delegierungen](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) [Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From 08970e71da35717b75a3dd813572ad04cfefece9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:06 -0400 Subject: [PATCH 0031/2326] New translations cosmos.mdx (Italian) --- website/pages/it/cookbook/cosmos.mdx | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/website/pages/it/cookbook/cosmos.mdx b/website/pages/it/cookbook/cosmos.mdx index d2c71b409493..5e9edfd82931 100644 --- a/website/pages/it/cookbook/cosmos.mdx +++ b/website/pages/it/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Cosmos --- -This guide is an introduction on building subgraphs indexing [Cosmos](https://docs.cosmos.network/) based blockchains. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## What are Cosmos subgraphs? @@ -17,11 +17,11 @@ There are four types of handlers supported in Cosmos subgraphs: Based on the [official Cosmos documentation](https://docs.cosmos.network/): -> [Events](https://docs.cosmos.network/main/core/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transactions](https://docs.cosmos.network/main/core/transactions) are objects created by end-users to trigger state changes in the application. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Messages](https://docs.cosmos.network/main/core/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Even though all data can be accessed with a block handler, other handlers enable subgraph developers to process data in a much more granular way. @@ -29,9 +29,9 @@ Even though all data can be accessed with a block handler, other handlers enable ### Subgraph Dependencies -[graph-cli](https://github.com/graphprotocol/graph-cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Subgraph Main Components @@ -79,7 +79,7 @@ dataSources: ### Schema Definition -Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript Mappings @@ -176,7 +176,7 @@ You can find the full list of types for the Cosmos integration [here](https://gi ### Message decoding -It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://developers.google.com/protocol-buffers/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. An example of how to decode message data in a subgraph can be found [here](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,16 +196,14 @@ $ graph build ## Deploying a Cosmos subgraph -Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command after running the `graph create` CLI command: +Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: -**Servizio di Hosting** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` **Local Graph Node (based on default configuration):** @@ -236,7 +234,7 @@ Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testne ### Osmosis -> Osmosis support in Graph Node and on the Hosted Service is in beta: please contact the graph team with any questions about building Osmosis subgraphs! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### What is Osmosis? From 2b90a8a4bd028e57352f045d85d330dfabdcad68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:07 -0400 Subject: [PATCH 0032/2326] New translations cosmos.mdx (Japanese) --- website/pages/ja/cookbook/cosmos.mdx | 54 ++++++++++++++-------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/website/pages/ja/cookbook/cosmos.mdx b/website/pages/ja/cookbook/cosmos.mdx index d38cb857b148..dbf616aa4d58 100644 --- a/website/pages/ja/cookbook/cosmos.mdx +++ b/website/pages/ja/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Cosmosでのサブグラフ構築 --- -このガイドは、[Cosmos](https://docs.cosmos.network/)ベースのブロックチェーンをインデックスするサブグラフの構築について紹介するものです。 +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## Cosmosのサブグラフとは何ですか? @@ -17,11 +17,11 @@ Cosmosのサブグラフでサポートされているハンドラーは4種類 [Cosmosの公式ドキュメント](https://docs.cosmos.network/)に基づきます。 -> [イベント](https://docs.cosmos.network/main/core/events)は、アプリケーションの実行に関する情報を含むオブジェクトです。これらは主にブロックエクスプローラやウォレットなどのサービスプロバイダが、様々なメッセージやインデックストランザクションの実行を追跡するために使用されます。 +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [トランザクション](https://docs.cosmos.network/main/core/transactions)は、アプリケーションの状態変化を引き起こすためにエンドユーザーが作成するオブジェクトです。 +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [メッセージ](https://docs.cosmos.network/main/core/transactions#messages)はモジュール固有のオブジェクトで、属するモジュールのスコープ内で状態遷移を引き起こします。 +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. ブロックハンドラーでは全てのデータにアクセスできますが、その他のハンドラーでは、サブグラフの開発者がよりきめ細かくデータを処理することができます。 @@ -29,9 +29,9 @@ Cosmosのサブグラフでサポートされているハンドラーは4種類 ### サブグラフの依存関係 -[graph-cli](https://github.com/graphprotocol/graph-cli)は、サブグラフの構築とデプロイのためのCLIツールです。Cosmosサブグラフを扱うには、バージョン`>=0.30.0`が必要です。 +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts)はサブグラフに特化した型のライブラリで、Cosmosのサブグラフを扱うにはバージョン`>=0.27.0`が必要です。 +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### サブグラフの主な構成要素 @@ -79,7 +79,7 @@ dataSources: ### スキーマ定義 -スキーマの定義は、結果として得られるサブグラフ・データベースの構造と、エンティティ間の関係を記述する。これは、元のデータソースに依存しません。スキーマ定義の詳細は、[ こちら](/developing/creating-a-subgraph/#the-graph-ql-schema)にあります。 +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript マッピング @@ -176,7 +176,7 @@ Cosmos統合の全種類一覧は[こちら](https://github.com/graphprotocol/gr ### メッセージ・デコーディング -Cosmosのメッセージはチェーンに固有であり、シリアル化された[Protocol Buffers](https://developers.google.com/protocol-buffers/)ペイロードの形でサブグラフに渡されることに注意することが重要です。その結果、メッセージデータは処理される前にマッピング関数でデコードされる必要があります。 +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. サブグラフ内のメッセージ データをデコードする方法の例は、[ここ](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts)にあります。 @@ -196,31 +196,29 @@ $ graph build ## Cosmosサブグラフの展開 -サブグラフを作成したら、`graph create` CLIコマンドを実行した後、`graph deploy` CLIコマンドを使用してサブグラフをデプロイすることができます。 +サブグラフが作成されたら、CLI コマンドの`graph deploy`を使ってサブグラフをデプロイすることができます。 -**ホストされたサービス** +**Subgraph Studio** -```bash -グラフ作成アカウント/サブグラフ名 -製品ホスティングサービス -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -グラフ展開アカウント/サブグラフ名 -製品ホスティングサービス +graph deploy --studio subgraph-name ``` -**ローカルのグラフノード(デフォルトの設定に基づく):** +**Local Graph Node (based on default configuration):** ```bash -グラフ作成サブグラフ名 --ノード http://localhost:8020 +graph create subgraph-name --node http://localhost:8020 ``` ```bash -グラフ展開サブグラフ名 --ノード http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost:5001 ``` ## Cosmosサブグラフのクエリ -CosmosサブグラフのGraphQLエンドポイントは、スキーマ定義によって決定され、既存のAPIインタフェースが使用されます。詳細は[GraphQL API documentation](/querying/graphql-api/)を参照してください。 +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## Cosmosブロックチェーンに対応 @@ -228,32 +226,32 @@ CosmosサブグラフのGraphQLエンドポイントは、スキーマ定義に #### コスモスハブとは? -[Cosmos Hubブロックチェーン](https://hub.cosmos.network/)は、[Cosmos](https://cosmos.network/)エコシステムの中で最初のブロックチェーンとなります。詳しくは[公式ドキュメント](https://docs.cosmos.network/)をご覧ください。 +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### ネットワーク -Cosmos Hubのメインネットは`cosmoshub-4`です。コスモスハブの現在のテストネットは`theta-testnet-001`です。
その他のCosmos Hubネットワーク、すなわち`cosmoshub-3`は停止しているため、データは提供されていません。 +Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. ### Osmosis -> グラフノードとホスティングサービスにおけるOsmosisのサポートはベータ版です。Osmosisサブグラフの構築に関するご質問は、The Graphチームまでお問い合わせください。 +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### Osmosisとは? -[Osmosis](https://osmosis.zone/) は、Cosmos SDK の上に構築された分散型のクロスチェーン自動マーケット メーカー (AMM) プロトコルです。 IBC対応のトークンを取引します。詳細については、[公式ドキュメント](https://docs.osmosis.zone/)をご覧ください。 +[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. #### ネットワーク -Osmosisメインネットは`osmosis-1`です。現在のテストネットは `osmo-test-4` です。 +Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## サブグラフの例 -参考までにサブグラフの例を紹介します: +Here are some example subgraphs for reference: -[ブロックフィルタリング例](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[バリデータ報酬の例](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[バリデータ・デリゲーションの例](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[Osmosisトークンスワップの例](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From dff29289e9e87e2344051820ed40902ade822aa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:08 -0400 Subject: [PATCH 0033/2326] New translations cosmos.mdx (Korean) --- website/pages/ko/cookbook/cosmos.mdx | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/website/pages/ko/cookbook/cosmos.mdx b/website/pages/ko/cookbook/cosmos.mdx index dc7ec0ffae7f..5e9edfd82931 100644 --- a/website/pages/ko/cookbook/cosmos.mdx +++ b/website/pages/ko/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Cosmos --- -This guide is an introduction on building subgraphs indexing [Cosmos](https://docs.cosmos.network/) based blockchains. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## What are Cosmos subgraphs? @@ -17,11 +17,11 @@ There are four types of handlers supported in Cosmos subgraphs: Based on the [official Cosmos documentation](https://docs.cosmos.network/): -> [Events](https://docs.cosmos.network/main/core/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transactions](https://docs.cosmos.network/main/core/transactions) are objects created by end-users to trigger state changes in the application. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Messages](https://docs.cosmos.network/main/core/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Even though all data can be accessed with a block handler, other handlers enable subgraph developers to process data in a much more granular way. @@ -29,9 +29,9 @@ Even though all data can be accessed with a block handler, other handlers enable ### Subgraph Dependencies -[graph-cli](https://github.com/graphprotocol/graph-cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Subgraph Main Components @@ -79,7 +79,7 @@ dataSources: ### Schema Definition -Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript Mappings @@ -176,7 +176,7 @@ You can find the full list of types for the Cosmos integration [here](https://gi ### Message decoding -It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://developers.google.com/protocol-buffers/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. An example of how to decode message data in a subgraph can be found [here](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,16 +196,14 @@ $ graph build ## Deploying a Cosmos subgraph -Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command after running the `graph create` CLI command: +Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: -**호스팅 서비스** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` **Local Graph Node (based on default configuration):** @@ -236,7 +234,7 @@ Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testne ### Osmosis -> Osmosis support in Graph Node and on the Hosted Service is in beta: please contact the graph team with any questions about building Osmosis subgraphs! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### What is Osmosis? From 5cc057ef40a83972e40edde259df145b3db5ced1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:09 -0400 Subject: [PATCH 0034/2326] New translations cosmos.mdx (Dutch) --- website/pages/nl/cookbook/cosmos.mdx | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/website/pages/nl/cookbook/cosmos.mdx b/website/pages/nl/cookbook/cosmos.mdx index 5fe207067f94..5e9edfd82931 100644 --- a/website/pages/nl/cookbook/cosmos.mdx +++ b/website/pages/nl/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Cosmos --- -This guide is an introduction on building subgraphs indexing [Cosmos](https://docs.cosmos.network/) based blockchains. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## What are Cosmos subgraphs? @@ -17,11 +17,11 @@ There are four types of handlers supported in Cosmos subgraphs: Based on the [official Cosmos documentation](https://docs.cosmos.network/): -> [Events](https://docs.cosmos.network/main/core/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transactions](https://docs.cosmos.network/main/core/transactions) are objects created by end-users to trigger state changes in the application. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Messages](https://docs.cosmos.network/main/core/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Even though all data can be accessed with a block handler, other handlers enable subgraph developers to process data in a much more granular way. @@ -29,9 +29,9 @@ Even though all data can be accessed with a block handler, other handlers enable ### Subgraph Dependencies -[graph-cli](https://github.com/graphprotocol/graph-cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Subgraph Main Components @@ -79,7 +79,7 @@ dataSources: ### Schema Definition -Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript Mappings @@ -176,7 +176,7 @@ You can find the full list of types for the Cosmos integration [here](https://gi ### Message decoding -It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://developers.google.com/protocol-buffers/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. An example of how to decode message data in a subgraph can be found [here](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,16 +196,14 @@ $ graph build ## Deploying a Cosmos subgraph -Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command after running the `graph create` CLI command: +Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: -**Gehoste Dienst** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` **Local Graph Node (based on default configuration):** @@ -236,7 +234,7 @@ Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testne ### Osmosis -> Osmosis support in Graph Node and on the Hosted Service is in beta: please contact the graph team with any questions about building Osmosis subgraphs! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### What is Osmosis? From fdea1cbc0b580438f1b3caacf67e9f59ff140a4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:10 -0400 Subject: [PATCH 0035/2326] New translations cosmos.mdx (Polish) --- website/pages/pl/cookbook/cosmos.mdx | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/website/pages/pl/cookbook/cosmos.mdx b/website/pages/pl/cookbook/cosmos.mdx index ef21e4bc0855..5e9edfd82931 100644 --- a/website/pages/pl/cookbook/cosmos.mdx +++ b/website/pages/pl/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Cosmos --- -This guide is an introduction on building subgraphs indexing [Cosmos](https://docs.cosmos.network/) based blockchains. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## What are Cosmos subgraphs? @@ -17,11 +17,11 @@ There are four types of handlers supported in Cosmos subgraphs: Based on the [official Cosmos documentation](https://docs.cosmos.network/): -> [Events](https://docs.cosmos.network/main/core/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transactions](https://docs.cosmos.network/main/core/transactions) are objects created by end-users to trigger state changes in the application. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Messages](https://docs.cosmos.network/main/core/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Even though all data can be accessed with a block handler, other handlers enable subgraph developers to process data in a much more granular way. @@ -29,9 +29,9 @@ Even though all data can be accessed with a block handler, other handlers enable ### Subgraph Dependencies -[graph-cli](https://github.com/graphprotocol/graph-cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Subgraph Main Components @@ -79,7 +79,7 @@ dataSources: ### Schema Definition -Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript Mappings @@ -176,7 +176,7 @@ You can find the full list of types for the Cosmos integration [here](https://gi ### Message decoding -It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://developers.google.com/protocol-buffers/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. An example of how to decode message data in a subgraph can be found [here](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,16 +196,14 @@ $ graph build ## Deploying a Cosmos subgraph -Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command after running the `graph create` CLI command: +Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: -**Hosted Service** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` **Local Graph Node (based on default configuration):** @@ -236,7 +234,7 @@ Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testne ### Osmosis -> Osmosis support in Graph Node and on the Hosted Service is in beta: please contact the graph team with any questions about building Osmosis subgraphs! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### What is Osmosis? From 885e5066605bc3a0d4407e6dc381b555fb1b1d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:11 -0400 Subject: [PATCH 0036/2326] New translations cosmos.mdx (Portuguese) --- website/pages/pt/cookbook/cosmos.mdx | 50 +++++++++++++--------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/website/pages/pt/cookbook/cosmos.mdx b/website/pages/pt/cookbook/cosmos.mdx index 560d0306a20a..4cfc2831c486 100644 --- a/website/pages/pt/cookbook/cosmos.mdx +++ b/website/pages/pt/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Construção de Subgraphs no Cosmos --- -Este guia é uma introdução à construção de subgraphs através da indexação de blockchains baseadas no [Cosmos](https://docs.cosmos.network/). +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## O que são subgraphs no Cosmos? @@ -17,11 +17,11 @@ Existem quatro categorias de handlers apoiados em subgraphs no Cosmos: Baseado na [documentação oficial do Cosmos](https://docs.cosmos.network/): -> [Eventos](https://docs.cosmos.network/main/core/events) são objetos que contém informação sobre a execução do aplicativo. São principalmente usados por provedores de serviço, como exploradores de blocos e carteiras, para rastrear a execução de várias mensagens e transações de índices. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transações](https://docs.cosmos.network/main/core/transactions) são objetos criados por utilizadores finais para realizar mudanças de estado no aplicativo. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Mensagens](https://docs.cosmos.network/main/core/transactions#messages) são objetos específicos a módulos, que realizam transições de estado no escopo do módulo a qual pertencem. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Apesar de todos os dados poderem ser acessados com um block handler, outros handlers permitem a programadores de subgraphs processar dados de uma maneira muito mais granular. @@ -29,9 +29,9 @@ Apesar de todos os dados poderem ser acessados com um block handler, outros hand ### Dependências de Subgraph -O [graph-cli](https://github.com/graphprotocol/graph-cli) é uma ferramenta de CLI para construir e lançar subgraphs. A versão `>=0.30.0` é exigida para trabalhar com subgraphs no Cosmos. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -O [graph-ts](https://github.com/graphprotocol/graph-ts) é uma biblioteca de tipos específicos a subgraphs; a versão `>=0.27.0` é exigida para trabalhar com subgraphs no Cosmos. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Componentes Principais de Subgraph @@ -79,7 +79,7 @@ dataSources: ### Definição de Schema -A definição do schema descreve a estrutura do banco de dados do subgraph resultante e os relacionamentos entre entidades — isto é agnóstico à fonte de dados original. Mais detalhes sobre definição de schema [aqui](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### Mapeamentos em AssemblyScript @@ -176,7 +176,7 @@ A lista completa de tipos para integração ao Cosmos está [aqui](https://githu ### Descodificação de mensagens -É importante notar que mensagens no Cosmos são específicas a chains e passadas a um subgraph, na forma de um payload serializado de [Protocol Buffers](https://developers.google.com/protocol-buffers/). Portanto, os dados da mensagem devem ser decodificados em uma função de mapeamento antes de serem processados. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. Mais informações sobre como descodificar dados de mensagem em um subgraph [aqui](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,19 +196,17 @@ $ graph build ## Lançamento de um subgraph no Cosmos -Depois da criação do seu subgraph, é possível lançá-lo com o comando `graph deploy` após executar o comando `graph create`: +Quando o seu subgraph estiver pronto, lance o seu subgraph com o comando de CLI `graph deploy`: -**Serviço Hospedado** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` -**Graph Node local (baseado na configuração padrão):** +**Local Graph Node (based on default configuration):** ```bash graph create subgraph-name --node http://localhost:8020 @@ -220,7 +218,7 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost ## Consulta a um subgraph no Cosmos -O endpoint do GraphQL para subgraphs no Cosmos é definido pela definição do schema, com a interface existente da API. Mais informações na [documentação da API GraphQL](/querying/graphql-api/). +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## Apoio a Blockchains no Cosmos @@ -228,32 +226,32 @@ O endpoint do GraphQL para subgraphs no Cosmos é definido pela definição do s #### O que é Cosmos Hub? -A [blockchain Cosmos Hub](https://hub.cosmos.network/) é a primeira blockchain no ecossistema [Cosmos](https://cosmos.network/). Para saber mais, leia a [documentação oficial](https://docs.cosmos.network/). +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### Redes -A mainnet atual do Cosmos Hub é `cosmoshub-4`, e a testnet atual do Cosmos Hub é `theta-testnet-001`.
Outras redes do Cosmos Hub, por ex. `cosmoshub-3`, estão paradas; portanto, elas não recebem dados. +Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. ### Osmosis -> O apoio ao Osmosis no Graph Node e no Serviço Hospedado está em beta. Caso tenha qualquer pergunta sobre construir subgraphs no Osmosis, por favor contacte a equipa do Graph! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### O que é Osmosis? -[Osmosis](https://osmosis.zone/) é um protocolo descentralizado cross-chain de criador automático de mercado (AMM) construído em cima do SDK do Cosmos. Ele permite que os utilizadores criem pools customizados de liquidez e troquem tokens IBC. Para mais informações, visite a [documentação oficial](https://docs.osmosis.zone/). +[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. #### Redes -A mainnet do Osmosis é `osmosis-1`, e a testnet atual do Osmosis é `osmo-test-4`. +Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## Exemplos de Subgraphs -Aqui estão alguns exemplos de subgraphs para referência: +Here are some example subgraphs for reference: -[Exemplo de Filtragem de Blocos](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[Exemplo de Recompensas de Validador](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[Exemplo de Delegações de Validador](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[Exemplo de Trocas de Token no Osmosis](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From 60ae3d0f12592a60764e574644b45ab4851fcf03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:12 -0400 Subject: [PATCH 0037/2326] New translations cosmos.mdx (Russian) --- website/pages/ru/cookbook/cosmos.mdx | 86 ++++++++++++++-------------- 1 file changed, 42 insertions(+), 44 deletions(-) diff --git a/website/pages/ru/cookbook/cosmos.mdx b/website/pages/ru/cookbook/cosmos.mdx index b7da5f7244bd..c5c94fafcfce 100644 --- a/website/pages/ru/cookbook/cosmos.mdx +++ b/website/pages/ru/cookbook/cosmos.mdx @@ -1,51 +1,51 @@ --- -title: Создание подграфов на Cosmos +title: Создание субграфов на Cosmos --- -Это руководство является введением по созданию подграфов, индексирующих блокчейны на основе [Cosmos](https://docs.cosmos.network/). +Это руководство представляет собой введение в создание субграфов, индексирующих блокчейны на основе [Cosmos](https://cosmos.network/). -## Что такое Cosmos подграфы? +## Что такое субграфы на Cosmos? -The Graph позволяет разработчикам обрабатывать события блокчейна и делать полученные данные легко доступными через открытый API GraphQL, известный как подграф. [Graph Node](https://github.com/graphprotocol/graph-node) теперь может обрабатывать события Cosmos, а это означает, что разработчики Cosmos теперь могут создавать подграфы для удобного индексирования событий в сети. +The Graph позволяет разработчикам обрабатывать события блокчейна и делать полученные данные легко доступными через открытый API GraphQL, известный как субграф. [Graph Node](https://github.com/graphprotocol/graph-node) теперь может обрабатывать события Cosmos, а это означает, что разработчики Cosmos теперь могут создавать субграфы для удобного индексирования событий в сети. -Существует четыре типа обработчиков, поддерживаемых в подграфах Cosmos: +Существует четыре типа обработчиков, поддерживаемых в субграфах Cosmos: -- **Обработчики блоков** запускаются всякий раз, когда к цепочке добавляется новый блок. +- **Обработчики блоков** запускаются всякий раз, когда к чейну добавляется новый блок. - **Обработчики событий** запускаются при возникновении определенного события. - **Обработчики транзакций** запускаются, когда происходит транзакция. - ** Обработчики сообщений** запускаются при появлении определенного сообщения. На основе [официальной документации Cosmos](https://docs.cosmos.network/): -> [События](https://docs.cosmos.network/main/core/events) — это объекты, содержащие информацию о выполнении приложения. В основном они используются поставщиками услуг, такими как обозреватели блоков и кошельки, для отслеживания выполнения различных сообщений и индексных транзакций. +> [События](https://docs.cosmos.network/main/learn/advanced/events) — это объекты, содержащие информацию о выполнении приложения. В основном они используются поставщиками услуг, такими как обозреватели блоков и кошельки, для отслеживания выполнения различных сообщений и индексных транзакций. -> [Транзакции](https://docs.cosmos.network/main/core/transactions) — это объекты, созданные конечными пользователями для запуска изменений состояния в приложении. +> [Транзакции](https://docs.cosmos.network/main/learn/advanced/transactions) — это объекты, созданные конечными пользователями для инициирования изменений состояния приложения. -> [Сообщения](https://docs.cosmos.network/main/core/transactions#messages) — это специфичные модульные объекты, инициирующие переходы состояний в рамках модуля, к которому они принадлежат. +> [Сообщения](https://docs.cosmos.network/main/learn/advanced/transactions#messages) — это объекты, специфичные для модуля, которые запускают переходы состояний в пределах модуля, которому они принадлежат. Хотя доступ ко всем данным можно получить с помощью обработчика блоков, другие обработчики позволяют разработчикам субграфов обрабатывать данные гораздо более детально. ## Создание субграфа на Cosmos -### Зависимости подграфа +### Зависимости субграфа -[graph-cli](https://github.com/graphprotocol/graph-cli) — это инструмент командной строки для создания и развертывания подграфов, версия `>=0.30.0` требуется для работы с подграфами на Cosmos. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) — это инструмент CLI для создания и развертывания субграфов. Для работы с субграфами Cosmos требуется версия `>=0.30.0`. -[graph-ts](https://github.com/graphprotocol/graph-ts) — это библиотека типов, специфичных для подграфов, версия `>=0.27.0` требуется для работы с подграфами на Cosmos. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) — это библиотека типов, специфичных для субграфов. Для работы с субграфами Cosmos требуется версия `>=0.27.0`. -### Основные компоненты подграфа +### Основные компоненты субграфа Когда дело доходит до определения субграфа, имеется три ключевых момента: -**subgraph.yaml**: файл YAML, содержащий манифест подграфа, который определяет, какие события отслеживать и как их обрабатывать. +**subgraph.yaml**: файл YAML, содержащий манифест субграфа, который определяет, какие события отслеживать и как их обрабатывать. **schema.graphql**: схема GraphQL, которая определяет, какие данные хранятся для Вашего субграфа и как их запрашивать через GraphQL. **AssemblyScript Mappings**: код [AssemblyScript](https://github.com/AssemblyScript/assemblyscript), преобразующий данные блокчейна в определенные объекты в Вашей схеме. -### Определение манифеста подграфа +### Определение манифеста субграфа -Манифест подграфа (`subgraph.yaml`) определяет источники данных для подграфа, релевантные триггеры и функции (`handlers`), которые должны выполняться в ответ на эти триггеры. Ниже приведен пример манифеста подграфа для подграфа на Cosmos: +Манифест субграфа (`subgraph.yaml`) определяет источники данных для субграфа, релевантные триггеры и функции (`handlers`), которые должны выполняться в ответ на эти триггеры. Ниже приведен пример манифеста субграфа для субграфа на Cosmos: ```yaml specVersion: 0.0.5 @@ -74,14 +74,14 @@ dataSources: file: ./src/mapping.ts # ссылка на мэппинг-файл скрипта сборки ``` -- Подграфы на Cosmos представляют новый `вид` источника данных (`cosmos`). -- `Сеть` должна соответствовать чейну в экосистеме Cosmos. В примере используется майннет Cosmos Hub. +- Субграфы на Cosmos представляют новый `вид` источника данных (`cosmos`). +- `network` должен соответствовать чейну в экосистеме Cosmos. В примере используется майннет Cosmos Hub. ### Определение схемы -Определение схемы описывает структуру результирующей базы данных подграфов и отношения между объектами. Это не зависит от исходного источника данных. Более подробная информация об определении схемы подграфа содержится [здесь](/developing/creating-a-subgraph/#the-graph-ql-schema). +Определение схемы описывает структуру результирующей базы данных субграфа и взаимосвязи между объектами. Это не зависит от исходного источника данных. Более подробная информация об определении схемы субграфа приведена [здесь](/developing/creating-a-subgraph/#the-graphql-schema). -### Сопоставления AssemblyScript +### Мэппинги AssemblyScript Обработчики событий написаны на языке [AssemblyScript](https://www.assemblyscript.org/). @@ -163,7 +163,7 @@ class Any { } ``` -Каждый тип обработчика имеет свою собственную структуру данных, которая передается в качестве аргумента функции сопоставления. +Каждый тип обработчика имеет свою собственную структуру данных, которая передается в качестве аргумента функции мэппинга. - Обработчики блоков получают тип `Block`. - Обработчики событий получают тип `EventData`. @@ -176,36 +176,34 @@ class Any { ### Расшифровка сообщений -Важно отметить, что сообщения Cosmos зависят от специфики чейна и передаются в подграф в виде серийной полезной нагрузки [Protocol Buffers](https://developers.google.com/protocol-buffers/). В результате данные сообщения необходимо декодировать в функции отображения, прежде чем их можно будет обработать. +Важно отметить, что сообщения Cosmos специфичны для каждой чейна и передаются в субграф в виде сериализованной нагрузки [Protocol Buffers](https://protobuf.dev/). В результате данные сообщения должны быть декодированы в функции мэппинга перед их обработкой. -Пример того, как расшифровываются данные сообщения в подграфе, можно найти [здесь](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). +Пример того, как расшифровываются данные сообщения в субграфе, можно найти [здесь](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). -## Создание и построение подграфа на Cosmos +## Создание и построение субграфа на Cosmos -Первым шагом перед началом написания мэппингов подграфов является создание привязок типов на основе объектов, определенных в файле схемы подграфа (`schema.graphql`). Это позволит функциям мэппинга создавать новые объекты этих типов и сохранять их в хранилище. Для этого используется команда CLI `codegen`: +Первым шагом перед началом написания мэппингов субграфов является создание привязок типов на основе объектов, определенных в файле схемы субграфа (`schema.graphql`). Это позволит функциям мэппинга создавать новые объекты этих типов и сохранять их в хранилище. Для этого используется команда CLI `codegen`: ```bash $ graph codegen ``` -После того как мэппинги готовы, необходимо построить подграф. На этом шаге будут выделены все ошибки, которые могут быть в манифесте или мэппингах. Подграф должен быть успешно построен, чтобы его можно было развернуть на Graph Node. Это можно сделать с помощью команды `build` командной строки: +После того, как мэппинги готовы, необходимо построить субграф. На этом шаге будут выделены все ошибки, которые могут быть в манифесте или мэппингах. Субграф должен быть успешно построен, чтобы его можно было развернуть на Graph Node. Это можно сделать с помощью команды `build` командной строки: ```bash $ graph build ``` -## Развертывание подграфа на Cosmos +## Развертывание субграфа на Cosmos -После создания своего подграфа Вы можете развернуть его с помощью команды CLI `graph deploy` после запуска команды CLI `graph create`: +Как только Ваш субграф создан, Вы можете развернуть его с помощью команды `graph deploy` CLI: -**Hosted Service** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Посетите Subgraph Studio, чтобы создать новый субграф. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` **Локальная Graph Node (на основе конфигурации по умолчанию):** @@ -218,9 +216,9 @@ graph create subgraph-name --node http://localhost:8020 graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost:5001 ``` -## Запрос подграфа на Cosmos +## Запрос субграфа на Cosmos -Конечная точка GraphQL для подграфов Cosmos устанавливается определением схемы с помощью существующего интерфейса API. Дополнительную информацию см. в [документации GraphQL API](/querying/graphql-api/). +Конечная точка GraphQL для субграфов на Cosmos устанавливается определением схемы с помощью существующего интерфейса API. Дополнительную информацию можно найти в [документации GraphQL API](/querying/graphql-api/). ## Поддерживаемые блокчейны Cosmos @@ -228,32 +226,32 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost #### Что такое Cosmos Hub? -Блокчейн [Cosmos Hub](https://hub.cosmos.network/) — это первый блокчейн в экосистеме [Cosmos](https://cosmos.network/). Дополнительную информацию можно найти в [официальной документации](https://docs.cosmos.network/). +[Блокчейн Cosmos Hub](https://hub.cosmos.network/) — первый блокчейн в экосистеме [Cosmos](https://cosmos.network/). Дополнительную информацию можно найти в [официальной документации](https://docs.cosmos.network/). #### Сети -Основная сеть Cosmos Hub — `cosmoshub-4`. Текущая тестовая сеть Cosmos Hub — `theta-testnet-001`.
Другие сети Cosmos Hub, например `cosmoshub-3`, остановлены, поэтому для них данные не предоставляются. +Основная сеть Cosmoshub — `cosmoshub-4`. Текущая тестовая сеть Cosmos Hub — `theta-testnet-001`.
Другие сети Cosmos Hub, например, `cosmoshub-3`, остановлены, поэтому данные для них не предоставляются. ### Osmosis -> Поддержка Osmosis в Graph Node и в Hosted Service находится в стадии бета-тестирования: обращайтесь к команде The Graph с любыми вопросами о создании Osmosis подграфов! +> Поддержка Osmosis в Graph Node и Subgraph Studio находится в стадии бета-тестирования: обращайтесь к команде the Graph по любым вопросам, касающимся создания субграфов Osmosis! #### Что такое Osmosis? -[Osmosis](https://osmosis.zone/) – это децентрализованный межсетевой протокол автоматизированного маркет-мейкера (AMM), созданный на основе Cosmos SDK. Он позволяет пользователям создавать собственные пулы ликвидности и торговать токенами с поддержкой IBC. Дополнительную информацию можно найти в [официальной документации](https://docs.osmosis.zone/). +[Osmosis](https://osmosis.zone/) – это децентрализованный межсетевой протокол автоматизированного маркет-мейкера (AMM), построенный на основе Cosmos SDK. Он позволяет пользователям создавать собственные пулы ликвидности и торговать токенами с поддержкой IBC. Дополнительную информацию можно найти в [официальной документации](https://docs.osmosis.zone/). #### Сети -Основная сеть Osmosis — `osmosis-1`. Текущая тестовая сеть Osmosis — `osmo-test-4`. +Майннет Osmosis — `osmosis-1`. Текущая тестовая сеть Osmosis — `osmo-test-4`. -## Примеры подграфов +## Примеры субграфов -Вот несколько примеров подграфов для справки: +Вот несколько примеров субграфов для справки: -[Пример фильтрации блоков](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Пример блочной фильтрации](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) [Пример вознаграждения валидатора](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[Пример делегирования валидатора](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Пример делегирования валидатору](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) [Пример свопа токенов на Osmosis](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From 66d63e8de26e7f9a458863bd3c4331d31fba88d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:13 -0400 Subject: [PATCH 0038/2326] New translations cosmos.mdx (Swedish) --- website/pages/sv/cookbook/cosmos.mdx | 52 +++++++++++++--------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/website/pages/sv/cookbook/cosmos.mdx b/website/pages/sv/cookbook/cosmos.mdx index 5e5f4db16222..0eb1879bbaa2 100644 --- a/website/pages/sv/cookbook/cosmos.mdx +++ b/website/pages/sv/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Bygga subgrafer på Cosmos --- -Den här guiden är en introduktion till att bygga subgrafer som indexerar [Cosmos](https://docs.cosmos.network/)-baserade blockkedjor. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## Vad är Cosmos subgrafer? @@ -17,11 +17,11 @@ Det finns fyra typer av hanterare som stöds i Cosmos subgrafer: Baserat på den [officiella Cosmos-dokumentationen](https://docs.cosmos.network/): -> [Händelser](https://docs.cosmos.network/main/core/events) är objekt som innehåller information om hur programmet körs. De används främst av tjänsteleverantörer som blockutforskare och plånböcker för att spåra utförandet av olika meddelanden och indextransaktioner. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transaktioner](https://docs.cosmos.network/main/core/transactions) är objekt som skapas av slutanvändare för att utlösa tillståndsändringar i applikationen. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Meddelanden](https://docs.cosmos.network/main/core/transactions#messages) är modul-specifika objekt som utlöser tillståndsövergångar inom ramen för modulen de tillhör. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Även om all data kan nås med en blockhanterare, gör andra hanterare det möjligt för subgraf utvecklare att behandla data på ett mycket mer detaljerat sätt. @@ -29,9 +29,9 @@ Baserat på den [officiella Cosmos-dokumentationen](https://docs.cosmos.network/ ### Subgraf beroenden -[graph-cli](https://github.com/graphprotocol/graph-cli) är ett CLI-verktyg för att bygga och distribuera subgrafer, version `>=0.30.0` krävs för att arbeta med Cosmos subgrafer. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) är ett bibliotek med subgrafspecifika typer, version `>=0.27.0` krävs för att arbeta med Cosmos subgrafer. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Subgraf Huvudkomponenter @@ -79,7 +79,7 @@ dataSources: ### Schema Definition -Schemadefinition beskriver strukturen för den resulterande subgraf databasen och relationerna mellan enheter. Detta är agnostiskt för den ursprungliga datakällan. Det finns mer information om definition av subgraf schema [här](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript mappningar @@ -176,7 +176,7 @@ Du hittar hela listan över typer för Cosmos integrationen [här](https://githu ### Meddelan avkodning -Det är viktigt att notera att Cosmos-meddelanden är kedjespecifika och de skickas till en subgraf i form av en serialiserad [Protocol Buffers](https://developers.google.com/protocol-buffers/) nyttolast. Som ett resultat måste meddelandedata avkodas i en mappningsfunktion innan det kan bearbetas. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. Ett exempel på hur man avkodar meddelandedata i en subgraf finns [här](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,31 +196,29 @@ $ graph build ## Distribuera en Cosmos subgraf -När din subgraf har skapats kan du distribuera din subgraf genom att använda kommandot `graph deploy` CLI efter att ha kört kommandot `graph create` CLI: +När din subgraf har skapats kan du distribuera din subgraf genom att använda `graph deploy` CLI kommandot: -**Hosted Service** +**Subgraf Studion** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` -**Lokal Graf Nod (baserat på standardkonfiguration):** +**Local Graph Node (based on default configuration):** ```bash graph create subgraph-name --node http://localhost:8020 ``` ```bash -graph deploy subgraph-name --onde http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost:5001 ``` ## Fråga efter en Cosmos subgraf -GraphQL slutpunkten för Cosmos subgrafer bestäms av schemadefinitionen, med det befintliga API gränssnittet. Besök [GraphQL API dokumentationen](/querying/graphql-api/) för mer information. +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## Stöds Cosmos Blockchains @@ -228,32 +226,32 @@ GraphQL slutpunkten för Cosmos subgrafer bestäms av schemadefinitionen, med de #### Vad är Cosmos Hub? -[Cosmos Hub blockchain](https://hub.cosmos.network/) Är den första blockkedjan i [Cosmos](https://cosmos.network/) ekosystem. Du kan besöka den [officiella dokumentationen](https://docs.cosmos.network/) för mer information. +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### Nätverk -Cosmos Hubs huvudnät är `cosmoshub-4`. Cosmos Hub nuvarande testnät är `theta-testnet-001`.
Andra Cosmos Hub nätverk, d.v.s. `cosmoshub-3`, stoppas, därför tillhandahålls ingen data för dem. +Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. ### Osmosis -> Osmosis stöd i Graph Node och på Hosted Service är i beta: kontakta graf teamet om du har frågor om att bygga Osmosis subgrafer! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### Vad är Osmosis? -[Osmosis](https://osmosis.zone/) är ett decentraliserat, AMM-protokoll (automated market maker) som byggs ovanpå Cosmos SDK. Det tillåter användare att skapa anpassade likviditetspooler och handla IBC-aktiverade tokens. Du kan besöka den [officiella dokumentationen](https://docs.osmosis.zone/) för mer information. +[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. #### Nätverk -Osmosis huvudnätet är `osmosis-1`. Osmosis nuvarande testnät är `osmo-test-4`. +Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## Exempel på subgrafer -Här är några exempel på subgrafer som referens: +Here are some example subgraphs for reference: -[Exempel på blockfiltrering](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[Validator Belöningar Exempel](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[Validator Delegationer Exempel](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[Osmosis Token Swaps Exampel](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From da6cb7a17e6c3abba02fcaccaa89d1099814d3ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:14 -0400 Subject: [PATCH 0039/2326] New translations cosmos.mdx (Turkish) --- website/pages/tr/cookbook/cosmos.mdx | 50 +++++++++++++--------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/website/pages/tr/cookbook/cosmos.mdx b/website/pages/tr/cookbook/cosmos.mdx index cea7b2b7336e..3d4b5cadd624 100644 --- a/website/pages/tr/cookbook/cosmos.mdx +++ b/website/pages/tr/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Cosmos'ta Subgraph'ler Oluşturma --- -Bu kılavuz, [Cosmos](https://docs.cosmos.network/) tabanlı blok zincirlerini indeksleyen subgraph'ler oluşturmaya yönelik bir giriş niteliğindedir. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## Cosmos subgraph'leri nelerdir? @@ -17,11 +17,11 @@ Cosmos subgraph'lerinde desteklenen dört tür işleyici vardır: [resmi Cosmos belgelerine](https://docs.cosmos.network/) göre: -> [Olaylar](https://docs.cosmos.network/main/core/events), uygulamanın yürütülmesi hakkında bilgi içeren nesnelerdir. Genellikle çeşitli mesajların ve indeksleme işlemlerinin yürütülmesini izlemek için blok kaşifleri ve cüzdanlar gibi hizmet sağlayıcılar tarafından kullanılırlar. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [İşlemler](https://docs.cosmos.network/main/core/transactions), uygulamada durum değişikliklerini tetiklemek için son kullanıcılar tarafından oluşturulan nesnelerdir. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Mesajlar](https://docs.cosmos.network/main/core/transactions#messages), ait oldukları modül kapsamında durum geçişlerini tetikleyen modüle özgü nesnelerdir. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Tüm verilere bir blok işleyici ile erişilebilmesine rağmen, diğer işleyiciler, subgraph geliştiricilerin verileri çok daha ayrıntılı bir şekilde işlemesine olanak tanır. @@ -29,9 +29,9 @@ Tüm verilere bir blok işleyici ile erişilebilmesine rağmen, diğer işleyici ### Subgraph Gereksinimleri -[graph-cli](https://github.com/graphprotocol/graph-cli) subgraph'ler oluşturmak ve deploy etmek için kullanılan bir CLI aracıdır, sürüm `>=0.30.0` Cosmos subgraph'leri ile çalışmak için gereklidir. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) subgraph'e özgü türlerden oluşan bir kitaplıktır, sürüm `>=0.27.0` Cosmos subgraph'leri ile çalışmak için gereklidir. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Subgraph Ana Bileşenleri @@ -79,7 +79,7 @@ dataSources: ### Şema Tanımı -Şema tanımı, ortaya çıkan subgraph veri tabanının yapısını ve varlıklar arasındaki ilişkileri açıklar. Bu, orijinal veri kaynağının agnostiğidir. [burada](/developing/creating-a-subgraph/#the-graph-ql-schema) subgraph şema tanımı hakkında daha fazla ayrıntı bulabilirsiniz. +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript Eşlemeleri @@ -176,7 +176,7 @@ Cosmos entegrasyonu türlerinin tam listesini [burada](https://github.com/graphp ### Mesaj çözme -Cosmos mesajlarının zincire özgü olduğunu ve seri hale getirilmiş bir [Protocol Buffers](https://developers.google.com/protocol-buffers/) yükü biçiminde bir subgraph'e aktarıldığını unutmamak önemlidir. Sonuç olarak, mesaj verilerinin işlenmeden önce bir eşleme işlevinde kodunun çözülmesi gerekir. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. Bir subgraph'taki mesaj verisinin nasıl çözüleceğine dair bir örnek [burada](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts) bulunabilir. @@ -196,19 +196,17 @@ $ graph build ## Bir Cosmos subgraph'ini deploy etme -Subgraph'inizi oluşturup, `graph create` CLI komutunu çalıştırdıktan sonra `graph deploy` CLI komutunu kullanarak subgraph'inizi dağıtabilirsiniz: +Subgraph'ınız oluşturulduktan sonra, `graph deploy` CLI komutunu kullanarak subgraph'ınızı dağıtabilirsiniz: -**Barındırılan Hizmet** +**Subgraph Stüdyosu** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` -**Yerel Graph Node'u (varsayılan yapılandırmaya göre):** +**Local Graph Node (based on default configuration):** ```bash graph create subgraph-name --node http://localhost:8020 @@ -220,7 +218,7 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost ## Bir Cosmos subgraph'ini sorgulama -Cosmos subgraph'leri için GraphQL uç noktası, mevcut API arayüzü ile şema tanımı tarafından belirlenir. Daha fazla bilgi için lütfen [GraphQL API belgelerini](/querying/graphql-api/) ziyaret edin. +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## Desteklenen Cosmos Blok Zincirleri @@ -228,32 +226,32 @@ Cosmos subgraph'leri için GraphQL uç noktası, mevcut API arayüzü ile şema #### Cosmos Hub Nedir? -[Cosmos Hub blok zinciri](https://hub.cosmos.network/), [Cosmos](https://cosmos.network/) ekosistemindeki ilk blok zinciridir. Daha fazla bilgi için [resmi belgeleri](https://docs.cosmos.network/) ziyaret edebilirsiniz. +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### Ağlar -Cosmos Hub mainnet `cosmoshub-4`'tür. Cosmos Hub'ın geçerli test ağı `theta-testnet-001`'dir.
Diğer Cosmos Hub ağları, yani `cosmoshub-3` durduruldu, bu nedenle onlar için herhangi bir veri sağlanmadı. +Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. ### Osmosis -> Graph Node'unda ve Barındırılan Hizmette Osmosis desteği beta sürümündedir: Osmosis subgraph'lerinin oluşturulmasıyla ilgili tüm sorularınız için lütfen Graph ekibiyle iletişime geçin! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### Osmosis Nedir? -[Osmosis](https://osmosis.zone/), Cosmos SDK üzerine inşa edilmiş merkeziyetsiz, zincirler arası otomatikleştirilmiş bir piyasa yapıcı (AMM) protokolüdür. Kullanıcıların özel likidite havuzları oluşturmasına ve IBC özellikli token ticareti yapmasına olanak tanır. Daha fazla bilgi için [resmi belgeleri](https://docs.osmosis.zone/) ziyaret edebilirsiniz. +[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. #### Ağlar -Osmosis mainnet'i `osmosis-1`'dir. Osmosis geçerli test ağı `osmo-test-4` şeklindedir. +Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## Örnek Subgraph'ler -İşte referans için bazı örnek subgraph'ler: +Here are some example subgraphs for reference: -[Blok Filtreleme Örneği](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[Validatör Ödül Örneği](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[Validatör Delegasyon Örneği](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[Osmosis Token Swap Örneği](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From 0808d312470a95762b9e4b106737d93dfdc8b9d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:15 -0400 Subject: [PATCH 0040/2326] New translations cosmos.mdx (Ukrainian) --- website/pages/uk/cookbook/cosmos.mdx | 50 +++++++++++++--------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/website/pages/uk/cookbook/cosmos.mdx b/website/pages/uk/cookbook/cosmos.mdx index 04a60bc959db..8a191b4f9914 100644 --- a/website/pages/uk/cookbook/cosmos.mdx +++ b/website/pages/uk/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Розробка підграфів на Cosmos --- -Цей гайд є вступом до побудови підграфів, що індексують блокчейни на основі [Cosmos](https://docs.cosmos.network/). +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## Що таке Cosmos підграфи? @@ -17,11 +17,11 @@ The Graph дозволяє розробникам проводити оброб Згідно з [офіційною документацією Cosmos](https://docs.cosmos.network/): -> [Події (events)](https://docs.cosmos.network/main/core/events) - це об'єкти, які містять інформацію про роботу програми. Вони в основному використовуються провайдерами послуг, такими як block explorers та гаманці, для відстеження ходу виконання різних повідомлень та індексації транзакцій. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Транзакції](https://docs.cosmos.network/main/core/transactions) - це об'єкти, створені кінцевими користувачами для ініціювання змін стану програми. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Повідомлення](https://docs.cosmos.network/main/core/transactions#messages) - це специфічні для модуля об'єкти, які викликають переходи стану в межах області видимості модуля, до якого вони належать. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Хоча до всіх даних можна отримати доступ за допомогою блок-обробника, інші обробники дозволяють розробникам підграфів обробляти дані у значно детальніший спосіб. @@ -29,9 +29,9 @@ The Graph дозволяє розробникам проводити оброб ### Subgraph Dependencies -[graph-cli](https://github.com/graphprotocol/graph-cli) - інструмент CLI для побудови та розгортання підграфів, для роботи з підграфами на Cosmos потрібна версія `>=0.30.0`. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) - бібліотека специфічних для підграфів типів, для роботи з підграфами на Cosmos потрібна версія `>=0.27.0`. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Основні компоненти підграфа @@ -79,7 +79,7 @@ dataSources: ### Визначення схеми -Визначення схеми описує структуру отриманої бази даних підграфів та зв'язки між елементами. Це не залежить від вихідного джерела даних. Детальніше з визначенням схеми підграфів ви можете ознайомитись [тут](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript Mappings @@ -176,7 +176,7 @@ class Any { ### Розшифровка повідомлень -Важливо зазначити, що повідомлення Cosmos є специфічними та передаються до підграфа у вигляді послідовного [Protocol Buffers](https://developers.google.com/protocol-buffers/) навантаження. Як наслідок, дані повідомлення повинні бути розшифровані у функції схеми, перш ніж їх можна буде обробити. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. Приклад розшифровки даних повідомлення в підграфі можна знайти [тут](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,19 +196,17 @@ $ graph build ## Розгортання підграфа на Cosmos -Після створення підграфа ви можете розгорнути його за допомогою CLI команди `graph deploy` після запуску команди CLI `graph create`: +Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: -**Хостинговий сервіс** +**Субграф Студія** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` -**Локальна Graph Node (на основі конфігурації за замовчуванням):** +**Local Graph Node (based on default configuration):** ```bash graph create subgraph-name --node http://localhost:8020 @@ -220,7 +218,7 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost ## Запит до Cosmos підграфа -Кінцева точка GraphQL для підграфів Cosmos визначається визначенням схеми за допомогою наявного інтерфейсу API. Відвідайте [GraphQL API документацію](/querying/graphql-api/), щоб дізнатись більше. +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## Блокчейни, що підтримуються Cosmos @@ -228,32 +226,32 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost #### Що таке Cosmos Hub? -[Cosmos Hub блокчейн](https://hub.cosmos.network/) це перша мережа в екосистемі [Cosmos](https://cosmos.network/). Ви можете відвідати [офіційну документацію](https://docs.cosmos.network/), щоб дізнатись більше. +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### Мережі -Основна мережа Cosmos Hub - `cosmoshub-4`. Актуальна тестова мережа Cosmos Hub - `theta-testnet-001`.
Інші Cosmos Hub мережі, зокрема `cosmoshub-3`, зупинені, тому дані для них не надаються. +Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. ### Osmosis -> Підтримка Osmosis у Graph Node та в хостинговому сервісі знаходиться на стадії бета-версії: будь ласка, звертайтеся до команди розробників The Graph з будь-якими питаннями щодо побудови підграфів на Osmosis! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### Що таке Osmosis? -[Osmosis](https://osmosis.zone/) - це децентралізований, крос-чейн протокол автоматизованого маркет-мейкера (AMM), побудований на основі Cosmos SDK. Він дозволяє користувачам створювати власні пули ліквідності та торгувати токенами з підтримкою IBC. Ви можете відвідати [офіційну документацію](https://docs.osmosis.zone/), щоб дізнатися більше. +[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. #### Мережі -Основна мережа Osmosis - `osmosis-1`. Актуальна тестова мережа Osmosis - `osmo-test-4`. +Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## Приклади підграфів -Ось кілька прикладів підграфів для ознайомлення: +Here are some example subgraphs for reference: -[Приклад фільтрації блоків](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[Приклад винагороди для валідатора](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[Приклад делегування для валідаторів](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[Приклад обміну токенів Osmosis](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From e195e136f26a00b9bddf6fee7a182c1615e9d3bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:16 -0400 Subject: [PATCH 0041/2326] New translations cosmos.mdx (Chinese Simplified) --- website/pages/zh/cookbook/cosmos.mdx | 50 +++++++++++++--------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/website/pages/zh/cookbook/cosmos.mdx b/website/pages/zh/cookbook/cosmos.mdx index b5e6d45b6256..958ecc21706a 100644 --- a/website/pages/zh/cookbook/cosmos.mdx +++ b/website/pages/zh/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: 在 Cosmos上构建子图 --- -本指南是关于构建基于区块链的[Cosmos ](https://docs.cosmos.network/)子图索引的介绍。 +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## Cosmos 子图是什么? @@ -17,11 +17,11 @@ Cosmos 子图目前支持四种类型的处理程序: 根据[Cosmos的正式文件](https://docs.cosmos.network/): -> [事件](https://docs.cosmos.network/main/core/events)是包含有关应用程序执行的信息的对象。它们主要由区块浏览器和钱包等服务提供商使用,用于跟踪各种消息和索引交易的执行情况。 +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [交易](https://docs.cosmos.network/main/core/transactions)是终端用户创建的对象,用于触发应用程序中的状态更改。 +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [消息](https://docs.cosmos.network/main/core/transactions#messages)是特定于模块的对象,在所属模块的范围内触发状态转换。 +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. 尽管所有数据都可以通过区块处理程序访问,但其他处理程序使子图开发人员能够以更细粒度的方式处理数据。 @@ -29,9 +29,9 @@ Cosmos 子图目前支持四种类型的处理程序: ### 子图依赖关系 -[graph-cli](https://github.com/graphprotocol/graph-cli) 是一个用于构建和部署子图的 CLI 工具,要使用 Cosmos 子图,版本 `>= 0.30.0`是必需的。 +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) 是一个专门针对子图的类型库,要使用 Cosmos 子图,版本 `>= 0.27.0`是必需的。 +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### 子图的主要组成部分 @@ -79,7 +79,7 @@ dataSources: ### 模式定义 -模式定义描述了生成的子图数据库的结构以及实体之间的关系。这与原始数据源是无关的。[这里](/developing/creating-a-subgraph/#the-graph-ql-schema)有更多关于子图模式定义的细节。 +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript 映射 @@ -176,7 +176,7 @@ class Any { ### 消息解码 -值得注意的是,Cosmos 消息是链特定的,以序列化的[协议缓冲](https://developers.google.com/protocol-buffers/)有效载荷的形式传递给子图。因此,在处理消息数据之前,需要在映射函数中对消息数据进行解码。 +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. 一个在子图中解码消息数据的示例:[](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts)。 @@ -196,19 +196,17 @@ $ graph build ## 部署 Cosmos 子图 -一旦创建了子图,就可以在运行 `graph create` CLI 命令之后,通过使用 `graph deploy` CLI 命令来部署子图: +创建子图后,您可以使用 `graph deploy` CLI 命令部署子图: -**托管服务** +**子图工作室** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` -**本地Graph节点(基于默认配置):** +**Local Graph Node (based on default configuration):** ```bash graph create subgraph-name --node http://localhost:8020 @@ -220,7 +218,7 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost ## 查询 Cosmos 子图 -Cosmos 子图的 GraphQL 端点由模式 (schema) 定义和现有的 API 接口决定。有关更多信息,请访问 [GraphQL API 文档](/querying/graphql-api/)。 +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## 受支持的Cosmos区块链 @@ -228,32 +226,32 @@ Cosmos 子图的 GraphQL 端点由模式 (schema) 定义和现有的 API 接口 #### 什么是Cosmos Hub? -[Cosmos Hub区块链](https://hub.cosmos.network/)是[Cosmos](https://cosmos.network/)生态系统中的第一个区块链。您可以访问[官方文档](https://docs.cosmos.network/)以获得更多信息。 +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### 网络 -Cosmos Hub 主网是 `cosmoshub-4`. Cosmos Hub 当前测试网是 `theta-testnet-001`。
其他 Cosmos Hub 网络,即 `cosmoshub-3`,已经停止运行,因此没有为它们提供任何数据。 +Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. ### Osmosis -> 图形节点和托管服务中的Osmosis支持处于测试阶段: 如果您有关于构建Osmosis子图的任何问题,请与 The Graph 团队联系! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### Osmosis是什么? -[Osmosis](https://osmosis.zone/)是一个去中心化的,协议建立在 Cosmos SDK 之上的跨链自动做市商(AMM)。它允许用户创建自定义流动性池并交易支持 IBC 的代币。您可以访问[官方文档](https://docs.osmosis.zone/)以获得更多信息。 +[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. #### 网络 -Osmosis 主网是 `osmosis-1`. Osmosis 当前测试网是`osmo-test-4`. +Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## 示例子图 -以下是一些示例子图供参考: +Here are some example subgraphs for reference: -[区块过滤示例](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[Validator 奖励示例](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[Validator 委托示例](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[Osmosis代币交换示例](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From c9ce4064665791c0dce3040960f19b7df105174b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:16 -0400 Subject: [PATCH 0042/2326] New translations cosmos.mdx (Urdu (Pakistan)) --- website/pages/ur/cookbook/cosmos.mdx | 52 +++++++++++++--------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/website/pages/ur/cookbook/cosmos.mdx b/website/pages/ur/cookbook/cosmos.mdx index df28c5b1eecf..a94ea2f0c5b8 100644 --- a/website/pages/ur/cookbook/cosmos.mdx +++ b/website/pages/ur/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: کوزموس پر سب گراف بنانا --- -یہ گائیڈ سب گراف کی انڈیکسنگ [کوزموس](https://docs.cosmos.network/) پر مبنی بلاکچین بنانے کا ایک تعارف ہے. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## کوزموس کے سب گراف کیا ہیں ؟ @@ -17,11 +17,11 @@ title: کوزموس پر سب گراف بنانا [سرکاری کوزموس دستاویزات](https://docs.cosmos.network/) کی بنیاد پر: -> [ایونٹس](https://docs.cosmos.network/main/core/events) وہ اشیاء ہیں جن میں ایپلیکیشن کے عمل کے بارے میں معلومات ہوتی ہیں۔ وہ بنیادی طور پر سروس فراہم کرنے والے جیسے بلاک ایکسپلوررز اور والیٹ مختلف پیغامات اور انڈیکس لین دین کے عمل کو ٹریک کرنے کے لیے استعمال کرتے ہیں. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [ٹرانزیکشنز](https://docs.cosmos.network/main/core/transactions) ایپلیکیشن میں ریاستی تبدیلیوں کو متحرک کرنے کے لیے حتمی صارفین کے ذریعے تخلیق کردہ اشیاء ہیں. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [پیغامات](https://docs.cosmos.network/main/core/transactions#messages) ماڈیول کے لیے مخصوص آبجیکٹ ہیں جو ان ماڈیول کے دائرہ کار کے اندر اسٹیٹ ٹرانزیشن کو متحرک کرتے ہیں جس سے وہ تعلق رکھتے ہیں. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. اگرچہ تمام ڈیٹا تک بلاک ہینڈلر کے ذریعے رسائی حاصل کی جا سکتی ہے، دوسرے ہینڈلرز سب گراف ڈویلپرز کو زیادہ دانے دار طریقے سے ڈیٹا پر کارروائی کرنے کے قابل بناتے ہیں. @@ -29,9 +29,9 @@ title: کوزموس پر سب گراف بنانا ### سب گراف انحصار -[graph-cli](https://github.com/graphprotocol/graph-cli) سب گراف کی تعمیر اور تعیناتی کا ایک CLI ٹول ہے، ورژن `>=0.30.0` کوزموس سب گراف کے ساتھ کام کرنے کے لیے ضروری ہے. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[ graph-ts](https://github.com/graphprotocol/graph-ts) سب گراف کی مخصوص اقسام کی لائبریری ہے, ورژن `>=0.27.0` کوزموس سب گراف کے ساتھ کام کرنے کے لیے ضروری ہے. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### سب گراف کے مین اجزاء @@ -79,7 +79,7 @@ dataSources: ### اسکیما کی تعریف -اسکیما کی تعریف نتیجے میں سب گراف ڈیٹا بیس کی ساخت اور ہستیوں کے درمیان تعلقات کو بیان کرتی ہے۔ یہ اصل ڈیٹا ماخذ کے بارے میں علمی ہے۔ سب گراف اسکیما کی تعریف کے بارے میں مزید تفصیلات [یہاں](/developing/creating-a-subgraph/#the-graph-ql-schema) ہیں. +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### اسمبلی اسکرپٹ سب میپنک @@ -165,7 +165,7 @@ class Any { ہر ہینڈلر کی قسم اس کے اپنے ڈیٹا ڈھانچے کے ساتھ آتی ہے جو میپنگ فنکشن کی دلیل کے طور پر پاس کی جاتی ہے. -- بلاک ہینڈلرز کو `Block` قسم موصول ہوتی ہے. +- بلاک ہینڈلرز کو ` Block ` قسم موصول ہوتی ہے. - ایونٹ ہینڈلرز کو `EventData` قسم موصول ہوتی ہے. - ٹرانزیکشن ہینڈلرز کو `TransactionData` قسم موصول ہوتی ہے. - میسج ہینڈلرز کو `MessageData` قسم موصول ہوتی ہے. @@ -176,7 +176,7 @@ class Any { ### پیغام کی ضابطہ کشائی -یہ نوٹ کرنا ضروری ہے کہ کوزموس پیغامات سلسلہ کے لحاظ سے مخصوص ہوتے ہیں اور انہیں سیریلائزڈ [پروٹوکول بفرز](https://developers.google.com/protocol-buffers/) کی شکل میں سب گراف میں منتقل کیا جاتا ہے۔ > پے لوڈ۔ نتیجے کے طور پر، میسج ڈیٹا کو میپنگ فنکشن میں ڈی کوڈ کرنے کی ضرورت ہے اس سے پہلے کہ اس پر کارروائی کی جا سکے. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. سب گراف میں میسج کے ڈیٹا کو ڈی کوڈ کرنے کے طریقے کی ایک مثال [ یہاں](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts) مل سکتی ہے. @@ -196,19 +196,17 @@ $ graph build ## کوزموس سب گراف کو تعینات کرنا -ایک دفا جب آپ کا گراف بن جاۓ، آپ اس سب گراف کو `graph deploy` CLI کی کمانڈ سے تعینات کر سکتے ہیں `graph create` CLI کمانڈ چلانے کے باد: +ایک دفا آپ کا سب گراف بن گیا ہے، آپ اپنا سب گراف `graph deploy` کی CLI کمانڈ کا استعمال کرتے ہوۓ تعینات کر سکتے ہیں: -**ہوسٹڈ سروس** +**سب گراف سٹوڈیو** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` -**مقامی گراف نوڈ (پہلے سے طے شدہ ترتیب پر مبنی):** +**Local Graph Node (based on default configuration):** ```bash graph create subgraph-name --node http://localhost:8020 @@ -220,7 +218,7 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost ## ایک کوزموس سب گراف کو کیوری کرنا -کوزموس سب گراف کے لیے گراف کیو ایل اینڈ پوائنٹ کا تعین موجودہ API انٹرفیس کے ساتھ، اسکیما تعریف سے کیا جاتا ہے۔ مزید معلومات کے لیے براہ کرم [گراف کیو ایل API دستاویزات](/querying/graphql-api/) ملاحظہ کریں. +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## تعاون یافتہ کوزموس بلاکچین @@ -228,32 +226,32 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost #### کوزموس ہب کیا ہے؟ -[کوزموس ہب بلاکچین](https://hub.cosmos.network/) [کوزموس](https://cosmos.network/) ایکو سسٹم میں پہلا بلاکچین ہے۔ مزید معلومات کے لیے آپ [سرکاری دستاویزات](https://docs.cosmos.network/) پر جا سکتے ہیں. +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### نیٹ ورکس -کوزموس ہب مین نیٹ `cosmoshub-4` ہے۔ کوزموس ہب موجودہ ٹیسٹ نیٹ `theta-testnet-001` ہے۔
دیگر کوزموس ہب نیٹ ورکس، یعنی `cosmoshub-3`، روکے گئے ہیں، اس لیے ان کے لیے کوئی ڈیٹا فراہم نہیں کیا گیا ہے. +Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. ### اوسموسس -> گراف نوڈ اور ہوسٹڈ سروس پر اوسموسس سپورٹ بیٹا میں ہے: اوسموسس سب گراف بنانے کے بارے میں کسی بھی سوال کے لیے براہ کرم گراف ٹیم سے رابطہ کریں! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### اوسموسس کیا ہے؟ -[اوسموسس](https://osmosis.zone/) ایک ڈیسینٹرالائزڈ، کراس چین آٹومیٹڈ مارکیٹ میکر (AMM) پروٹوکول ہے جو کوزموس SDK کے اوپر بنایا گیا ہے۔ یہ صارفین کو اپنی مرضی کے مطابق لیکویڈیٹی پول بنانے اور IBC- فعال ٹوکنز کی تجارت کرنے کی اجازت دیتا ہے۔ مزید معلومات کے لیے آپ [سرکاری دستاویزات](https://docs.osmosis.zone/) پر جا سکتے ہیں. +[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. #### نیٹ ورکس -اوسموسس مینیٹ ` osmosis-1` ہے۔ اوسموسس کرنٹ ٹیسٹ نیٹ `osmo-test-4` ہے. +Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## سب گراف کی مثال -حوالہ کے لیے ذیل میں کچھ مثالیں ہیں: +Here are some example subgraphs for reference: -[بلاک فلٹرنگ کی مثال](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[ویلیڈیٹر کے انعامات کی مثال](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[ویلیڈیٹر ڈیلیگیشنز کی مثال](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[اوسموسس ٹوکن سویپس کی مثال](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From 64553445715993d273f4485ce2e1d7f71feaa6d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:17 -0400 Subject: [PATCH 0043/2326] New translations cosmos.mdx (Vietnamese) --- website/pages/vi/cookbook/cosmos.mdx | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/website/pages/vi/cookbook/cosmos.mdx b/website/pages/vi/cookbook/cosmos.mdx index 39c05c76221c..21a83eaa8baa 100644 --- a/website/pages/vi/cookbook/cosmos.mdx +++ b/website/pages/vi/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Cosmos --- -This guide is an introduction on building subgraphs indexing [Cosmos](https://docs.cosmos.network/) based blockchains. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## What are Cosmos subgraphs? @@ -17,11 +17,11 @@ There are four types of handlers supported in Cosmos subgraphs: Based on the [official Cosmos documentation](https://docs.cosmos.network/): -> [Events](https://docs.cosmos.network/main/core/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transactions](https://docs.cosmos.network/main/core/transactions) are objects created by end-users to trigger state changes in the application. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Messages](https://docs.cosmos.network/main/core/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Even though all data can be accessed with a block handler, other handlers enable subgraph developers to process data in a much more granular way. @@ -29,9 +29,9 @@ Even though all data can be accessed with a block handler, other handlers enable ### Subgraph Dependencies -[graph-cli](https://github.com/graphprotocol/graph-cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Subgraph Main Components @@ -79,7 +79,7 @@ dataSources: ### Schema Definition -Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript Mappings @@ -176,7 +176,7 @@ You can find the full list of types for the Cosmos integration [here](https://gi ### Message decoding -It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://developers.google.com/protocol-buffers/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. An example of how to decode message data in a subgraph can be found [here](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,16 +196,14 @@ $ graph build ## Deploying a Cosmos subgraph -Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command after running the `graph create` CLI command: +Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: -**Dịch vụ được lưu trữ** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` **Local Graph Node (based on default configuration):** @@ -236,7 +234,7 @@ Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testne ### Osmosis -> Osmosis support in Graph Node and on the Hosted Service is in beta: please contact the graph team with any questions about building Osmosis subgraphs! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### What is Osmosis? From fa1fc578b04c2c459e668ac1ed930eefe9a36be7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:18 -0400 Subject: [PATCH 0044/2326] New translations cosmos.mdx (Marathi) --- website/pages/mr/cookbook/cosmos.mdx | 54 ++++++++++++++-------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/website/pages/mr/cookbook/cosmos.mdx b/website/pages/mr/cookbook/cosmos.mdx index 63f03378ec16..56feb3bba773 100644 --- a/website/pages/mr/cookbook/cosmos.mdx +++ b/website/pages/mr/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: कॉसमॉस वर सबग्राफ तयार करणे --- -हे मार्गदर्शक [Cosmos](https://docs.cosmos.network/) आधारित ब्लॉकचेन अनुक्रमणिका तयार करण्यासाठी सबग्राफ तयार करण्यासाठी एक परिचय आहे. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## कॉसमॉस सबग्राफ काय आहेत? @@ -17,11 +17,11 @@ title: कॉसमॉस वर सबग्राफ तयार करणे [अधिकृत कॉसमॉस दस्तऐवजीकरण](https://docs.cosmos.network/) वर आधारित: -> [इव्हेंट](https://docs.cosmos.network/main/core/events) हे ऑब्जेक्ट्स आहेत ज्यात अनुप्रयोगाच्या अंमलबजावणीबद्दल माहिती असते. ते मुख्यतः ब्लॉक एक्सप्लोरर आणि वॉलेट सारख्या सेवा प्रदात्यांद्वारे विविध संदेश आणि निर्देशांक व्यवहारांच्या अंमलबजावणीचा मागोवा घेण्यासाठी वापरले जातात. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [व्यवहार](https://docs.cosmos.network/main/core/transactions) हे अॅप्लिकेशनमधील स्थितीतील बदल ट्रिगर करण्यासाठी अंतिम वापरकर्त्यांनी तयार केलेले ऑब्जेक्ट आहेत. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [मेसेज](https://docs.cosmos.network/main/core/transactions#messages) हे मॉड्यूल-विशिष्ट ऑब्जेक्ट्स आहेत जे ते संबंधित असलेल्या मॉड्यूलच्या व्याप्तीमध्ये राज्य संक्रमण ट्रिगर करतात. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. जरी सर्व डेटा ब्लॉक हँडलरने ऍक्सेस केला जाऊ शकतो, इतर हँडलर्स सबग्राफ डेव्हलपरला डेटावर अधिक बारीक पद्धतीने प्रक्रिया करण्यास सक्षम करतात. @@ -29,9 +29,9 @@ title: कॉसमॉस वर सबग्राफ तयार करणे ### सबग्राफ अवलंबित्व -[graph-cli](https://github.com/graphprotocol/graph-cli) हे सबग्राफ तयार करण्यासाठी आणि उपयोजित करण्यासाठी CLI टूल आहे, कॉसमॉस सबग्राफसह कार्य करण्यासाठी आवृत्ती `>=0.30.0` आवश्यक आहे. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) ही सबग्राफ-विशिष्ट प्रकारांची लायब्ररी आहे, आवृत्ती `>=0.27.0` कॉसमॉस सबग्राफसह कार्य करण्यासाठी आवश्यक आहे. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### सबग्राफ मुख्य घटक @@ -79,7 +79,7 @@ dataSources: ### स्कीमा व्याख्या -स्कीमा व्याख्या परिणामी सबग्राफ डेटाबेसची रचना आणि संस्थांमधील संबंधांचे वर्णन करते. हे मूळ डेटा स्रोताचे अज्ञेय आहे. सबग्राफ स्कीमा व्याख्या [येथे](/developing/creating-a-subgraph/#the-graph-ql-schema) अधिक तपशील आहेत. +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### असेंबलीस्क्रिप्ट मॅपिंग @@ -176,7 +176,7 @@ class Any { ### संदेश डीकोडिंग -हे लक्षात घेणे महत्त्वाचे आहे की कॉसमॉस संदेश साखळी-विशिष्ट असतात आणि ते अनुक्रमित [प्रोटोकॉल बफर्स](https://developers.google.com/protocol-buffers/) च्या स्वरूपात सबग्राफवर पाठवले जातात पेलोड. परिणामी, संदेश डेटावर प्रक्रिया करण्यापूर्वी मॅपिंग फंक्शनमध्ये डीकोड करणे आवश्यक आहे. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. सबग्राफमध्ये संदेश डेटा कसा डीकोड करायचा याचे उदाहरण [येथे](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts) आढळू शकते. @@ -196,31 +196,29 @@ $ आलेख बिल्ड ## कॉसमॉस सबग्राफ तैनात करणे -एकदा तुमचा सबग्राफ तयार झाला की, तुम्ही `ग्राफ तयार करा` CLI कमांड चालवल्यानंतर `graph deploy` CLI कमांड वापरून तुमचा सबग्राफ उपयोजित करू शकता: +एकदा तुमचा सबग्राफ तयार झाला की, तुम्ही `graph deploy` CLI कमांड वापरून तुमचा सबग्राफ उपयोजित करू शकता: -**होस्ट केलेली सेवा** +**Subgraph Studio** -```bash -आलेख खाते/सबग्राफ-नाव तयार करा --उत्पादन होस्टेड-सेवा -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -आलेख उपयोजित खाते/सबग्राफ-नाव --उत्पादन होस्टेड-सेवा +graph deploy --studio subgraph-name ``` -**स्थानिक आलेख नोड (डीफॉल्ट कॉन्फिगरेशनवर आधारित):** +**Local Graph Node (based on default configuration):** ```bash -ग्राफ तयार करा सबग्राफ-नाव --नोड http://localhost:8020 +graph create subgraph-name --node http://localhost:8020 ``` ```bash -आलेख उपनियोजन उपग्राफ-नाव --नोड http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost:5001 ``` ## कॉसमॉस सबग्राफची चौकशी करत आहे -Cosmos subgraphs साठी GraphQL एंडपॉइंट विद्यमान API इंटरफेससह स्कीमा व्याख्येद्वारे निर्धारित केला जातो. अधिक माहितीसाठी कृपया [GraphQL API दस्तऐवजीकरण](/querying/graphql-api/) ला भेट द्या. +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## समर्थित कॉसमॉस ब्लॉकचेन @@ -228,32 +226,32 @@ Cosmos subgraphs साठी GraphQL एंडपॉइंट विद्य #### कॉसमॉस हब म्हणजे काय? -[कॉसमॉस हब ब्लॉकचेन](https://hub.cosmos.network/) हे [कॉसमॉस](https://cosmos.network/) इकोसिस्टममधील पहिले ब्लॉकचेन आहे. अधिक माहितीसाठी तुम्ही [अधिकृत दस्तऐवज](https://docs.cosmos.network/) ला भेट देऊ शकता. +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### नेटवर्क्स -Cosmos Hub mainnet `cosmoshub-4` आहे. Cosmos Hub वर्तमान टेस्टनेट `theta-testnet-001` आहे.
इतर कॉसमॉस हब नेटवर्क, उदा. `cosmoshub-3`, थांबवले आहेत, म्हणून त्यांच्यासाठी कोणताही डेटा प्रदान केलेला नाही. +Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. ### ऑस्मोसिस -> ग्राफ नोडमध्ये आणि होस्ट केलेल्या सेवेवर ऑस्मोसिस समर्थन बीटामध्ये आहे: कृपया ऑस्मोसिस सबग्राफ तयार करण्याबद्दल कोणतेही प्रश्न असल्यास आलेख टीमशी संपर्क साधा! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### ऑस्मोसिस म्हणजे काय? -[Osmosis](https://osmosis.zone/) हा विकेंद्रित, क्रॉस-चेन ऑटोमेटेड मार्केट मेकर (AMM) प्रोटोकॉल आहे जो Cosmos SDK च्या वर तयार केला आहे. हे वापरकर्त्यांना सानुकूल लिक्विडिटी पूल तयार करण्यास आणि IBC-सक्षम टोकन्सचा व्यापार करण्यास अनुमती देते. अधिक माहितीसाठी तुम्ही [अधिकृत दस्तऐवज](https://docs.osmosis.zone/) ला भेट देऊ शकता. +[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. #### नेटवर्क्स -ऑस्मोसिस मेननेट हे `ऑस्मोसिस-1` आहे. ऑस्मोसिस वर्तमान टेस्टनेट `osmo-test-4` आहे. +Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## उदाहरणे सबग्राफ -संदर्भासाठी येथे काही उदाहरणे सबग्राफ आहेत: +Here are some example subgraphs for reference: -[ब्लॉक फिल्टरिंग उदाहरण](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[व्हॅलिडेटर रिवॉर्ड्सचे उदाहरण](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[प्रमाणीकरण प्रतिनिधींचे उदाहरण](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[ऑस्मोसिस टोकन स्वॅप्सचे उदाहरण](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From 7513174fab40713099cbd6a535352534c273667a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:19 -0400 Subject: [PATCH 0045/2326] New translations cosmos.mdx (Hindi) --- website/pages/hi/cookbook/cosmos.mdx | 50 +++++++++++++--------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/website/pages/hi/cookbook/cosmos.mdx b/website/pages/hi/cookbook/cosmos.mdx index b98bba42b139..ae8af7e316b8 100644 --- a/website/pages/hi/cookbook/cosmos.mdx +++ b/website/pages/hi/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: कॉसमॉस पर सब-ग्राफ्स बनाना --- -यह गाइड [कॉसमॉस](https://docs.cosmos.network/) पर इंडेक्स होने वाले सब-ग्राफ्स बनाने का एक परिचय है| +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## कॉसमॉस सब-ग्राफ्स क्या होते हैं? @@ -17,11 +17,11 @@ title: कॉसमॉस पर सब-ग्राफ्स बनाना [आधिकारिक कॉसमॉस डॉक्यूमेंटेशन](https://docs.cosmos.network/) के अनुसार: -> [इवेंट्स](https://docs.cosmos.network/main/core/events) वह ऑब्जेक्ट्स होते हैं जो एप्लीकेशन के अमल में लाने की सारी जानकारी रखता है| इनका मुख्यतः इस्तेमाल सेवा प्रदाताटों जैसे ब्लॉक एक्सप्लोरर्स और वॉलेट्स के द्वारा विभिन्न संदेशो को अमल में लाने और ट्रांसक्शन्स को एक्सेक्यूट करने के लिए किया जाता है| +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [ट्रांसक्शन्स](https://docs.cosmos.network/main/core/transactions) वह ऑब्जेक्ट्स होते हैं जो की उपयोगकर्ता के द्वारा आप्लिकेशन की अवस्था को बदलने के लिए इस्तेमाल होते हैं| +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [मैसेज](https://docs.cosmos.network/main/core/transactions#messages) मॉडल इकाई विशिष्ट वह ओब्जेट होते हैं जो अपनी इकाई के दायरे के अंदर ही अवस्था में बदलाव लाने के लिए इस्तेमाल किये जाते हैं| +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. जबकि सारा डाटा एक ब्लॉक हैंडलर की मदद से प्राप्त किया जा सकता है, बाकी हैंडलर्स सब-ग्राफ डेवलपरों को डाटा अधिक बारीक तरह से प्रोसेस करने में सहायता करते हैं| @@ -29,9 +29,9 @@ title: कॉसमॉस पर सब-ग्राफ्स बनाना ### सब-ग्राफ्स की निर्भरता -[ग्राफ-सीएलआई ](https://github.com/graphprotocol/graph-cli) एक सीएलआई टूल है जिसका उपयोग सब-ग्राफ्स बनाने और डिप्लॉय करने में किया जाता है| कॉसमॉस सब-ग्राफ्स के साथ काम करने के लिए वर्जन `>=0.30.0` जरुरी है| +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[ग्राफ-टीएस](https://github.com/graphprotocol/graph-ts) एक विशिस्ट सब-ग्राफ की लाइब्रेरी है, कॉसमॉस सब-ग्राफ्स के साथ सुप्योग करने के लिए वर्जन `>=0.27.0` जरुरी है| +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### सब-ग्राफ के मुख्या कॉम्पोनेन्ट @@ -79,7 +79,7 @@ dataSources: ### स्कीमा की परिभाषा -स्कीमा की परिभाषा बनने वाले सब-ग्राफ डाटाबेस और उनके बीच के रिश्तों को बताती है| यह मूल डाटा सोर्स से प्रभावित नहीं होता| सब-ग्राफ स्कीमा के बारे में अधिक जानकारियां [यहां](/developing/creating-a-subgraph/#the-graph-ql-schema) हैं| +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### असेंबली स्क्रिप्ट मैप्पिंग्स @@ -176,7 +176,7 @@ class Any { ### मैसेज डिकोडिंग -यह गौर करना अत्यंत जरुरी है कि कॉसमॉस के मैसेज चेन-विशिष्ट हैं और उन्हें सब-ग्राफ्स में एक क्रमबद्ध [प्रोटोकॉल बफर्स](https://developers.google.com/protocol-buffers/) की तरह पास किया जाता है| परिणामस्वरूप, मैसेज के डाटा को प्रोसेस करने से पहले मैपिंग फंक्शन में डिकोड करने की आवश्यकता होती है| +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. An example of how to decode message data in a subgraph can be found [here](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,19 +196,17 @@ $ graph build ## एक कॉसमॉस सब-ग्राफ डेप्लॉय करना -एक बार आपका सब-ग्राफ बन जाये, आप उसे `graph create` सी एल आई कमांड से बनाने के बाद `graph deploy` सी एल आई कमांड से डेप्लॉय कर सकते हैं| +एक बार आपका सबग्राफ बन जाने के बाद, आप `graph deploy` CLI कमांड का उपयोग करके अपना सबग्राफ डिप्लॉय कर सकते हैं: -**होस्टेड सेवा** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` -**लोकल ग्राफ नोड (पहले से मौजूद सेटिंग व्यवस्था के अनुसार):** +**Local Graph Node (based on default configuration):** ```bash graph create subgraph-name --node http://localhost:8020 @@ -220,7 +218,7 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost ## कॉसमॉस सब-ग्राफ को क्वेरी करना -कॉसमॉस सब-ग्राफ्स के लिए ग्राफ क्यूएल का अंतिम छोर स्कीमा की परिभासा से निर्धारित किया जाता है| अधिक जानकारी के लिए कृपया [ग्राफ क्यूएल ऐ पी आई डॉक्यूमेंटेशन](/querying/graphql-api/) का रुख करें| +The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. ## समर्थित कॉसमॉस ब्लॉकचेन्स @@ -228,32 +226,32 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost #### कॉसमॉस हब क्या है? -[कॉसमॉस हब ब्लॉकचेन](https://hub.cosmos.network/), [कॉसमॉस](https://cosmos.network/) इकोसिस्टम का पहला ब्लॉकचेन है| आप [आधिकारिक डॉक्यूमेंटेशन](https://docs.cosmos.network/) के लिए यहाँ रुख करें| +The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. #### नेटवर्क्स -`cosmoshub-4` कॉसमॉस हब का मैन नेट है| कॉसमॉस हब का मौजूदा टेस्ट-नेट `theta-testnet-001` है|
बाकी कॉसमॉस हब के नेटवर्क जैसे की `cosmoshub-3` अभी रुके हुए हैं, इसलिए उनके बारे में कोई जानकारी नहीं प्राप्त हो सकी है| +Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. ### ऑस्मोसिस -> ऑस्मोसिस के बारे में ग्राफ नोड पर सहायता अभी बीटा स्थिति में है: ओसमोसिस सब-ग्राफ्स पर निर्माण करने हेतु कोई सवाल होने पर कृपया ग्राफ टीम से संपर्क करें! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### ऑस्मोसिस क्या है? -[ऑस्मोसिस](https://osmosis.zone/) एक विकेन्द्रीकृत, कई चैनों पर मौजूद स्वचालित बाजार निर्माता (ए एम एम्) है जो की कॉसमॉस एस डी के पर आधारित हो कर बना है| यह उपयोगकर्ताओं को कॉसमॉस लिक्विडिटी पूल बनाने और आई बी सी सक्रिय टोकन का लेन-देन करने में सहायता करता है| आप [आधिकारिक डॉक्यूमेंटेशन](https://docs.osmosis.zone/) पर जा कर अधिक जानकारी प्राप्त क्र सकते हैं| +[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. #### नेटवर्क्स -ऑस्मोसिस का मैन नेट `osmosis-1` है| ऑस्मोसिस का मौजूदा टेस्ट-नेट `osmo-test-4` है| +Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. ## सब-ग्राफ के उदाहरण -सन्दर्भ के लिए कुछ सब-ग्राफ्स के उदाहरण: +Here are some example subgraphs for reference: -[ब्लॉक फ़िल्टर उदहारण](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[सत्यापनकर्ता इनाम उदाहरण](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[सत्यापनकर्ता प्रतिनिधि मंडल उदाहरण](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[ऑस्मोसिस टोकन अदला-बदली उदाहरण](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From 01fbd991affe2705cd9f8d76ef4c0c7715776745 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:20 -0400 Subject: [PATCH 0046/2326] New translations cosmos.mdx (Yoruba) --- website/pages/yo/cookbook/cosmos.mdx | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/website/pages/yo/cookbook/cosmos.mdx b/website/pages/yo/cookbook/cosmos.mdx index ef21e4bc0855..5e9edfd82931 100644 --- a/website/pages/yo/cookbook/cosmos.mdx +++ b/website/pages/yo/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Cosmos --- -This guide is an introduction on building subgraphs indexing [Cosmos](https://docs.cosmos.network/) based blockchains. +This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. ## What are Cosmos subgraphs? @@ -17,11 +17,11 @@ There are four types of handlers supported in Cosmos subgraphs: Based on the [official Cosmos documentation](https://docs.cosmos.network/): -> [Events](https://docs.cosmos.network/main/core/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. +> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. -> [Transactions](https://docs.cosmos.network/main/core/transactions) are objects created by end-users to trigger state changes in the application. +> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. -> [Messages](https://docs.cosmos.network/main/core/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. +> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. Even though all data can be accessed with a block handler, other handlers enable subgraph developers to process data in a much more granular way. @@ -29,9 +29,9 @@ Even though all data can be accessed with a block handler, other handlers enable ### Subgraph Dependencies -[graph-cli](https://github.com/graphprotocol/graph-cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. -[graph-ts](https://github.com/graphprotocol/graph-ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. ### Subgraph Main Components @@ -79,7 +79,7 @@ dataSources: ### Schema Definition -Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graph-ql-schema). +Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript Mappings @@ -176,7 +176,7 @@ You can find the full list of types for the Cosmos integration [here](https://gi ### Message decoding -It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://developers.google.com/protocol-buffers/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. +It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. An example of how to decode message data in a subgraph can be found [here](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -196,16 +196,14 @@ $ graph build ## Deploying a Cosmos subgraph -Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command after running the `graph create` CLI command: +Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: -**Hosted Service** +**Subgraph Studio** -```bash -graph create account/subgraph-name --product hosted-service -``` +Visit the Subgraph Studio to create a new subgraph. ```bash -graph deploy account/subgraph-name --product hosted-service +graph deploy --studio subgraph-name ``` **Local Graph Node (based on default configuration):** @@ -236,7 +234,7 @@ Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testne ### Osmosis -> Osmosis support in Graph Node and on the Hosted Service is in beta: please contact the graph team with any questions about building Osmosis subgraphs! +> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! #### What is Osmosis? From f968d6ea08392ad788b1ddc910f69270ae530d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:21 -0400 Subject: [PATCH 0047/2326] New translations supported-networks.mdx (Romanian) --- website/pages/ro/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/ro/developing/supported-networks.mdx b/website/pages/ro/developing/supported-networks.mdx index d422754aa5ba..b9374b8a177f 100644 --- a/website/pages/ro/developing/supported-networks.mdx +++ b/website/pages/ro/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From aab3a83b8f98252e1bc0ce49bead853ef8cdc027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:22 -0400 Subject: [PATCH 0048/2326] New translations supported-networks.mdx (French) --- website/pages/fr/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/fr/developing/supported-networks.mdx b/website/pages/fr/developing/supported-networks.mdx index a5675b1f0214..4d94a19ea762 100644 --- a/website/pages/fr/developing/supported-networks.mdx +++ b/website/pages/fr/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. Pour une liste complète des fonctionnalités prises en charge par le réseau décentralisé, voir [cette page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Les subgraphs alimentés par Substreams indexant `mainnet` Ethereum sont pris en charge sur le Subgraph Studio et le réseau décentralisé. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Nœud de The Graph From f9269d8928235af4f6c5d9a6c61bca3fc26c7fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:23 -0400 Subject: [PATCH 0049/2326] New translations supported-networks.mdx (Spanish) --- website/pages/es/developing/supported-networks.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/website/pages/es/developing/supported-networks.mdx b/website/pages/es/developing/supported-networks.mdx index f6f2fc3c9de8..c13f56f4b32f 100644 --- a/website/pages/es/developing/supported-networks.mdx +++ b/website/pages/es/developing/supported-networks.mdx @@ -1,5 +1,5 @@ --- -title: Redes admitidas +title: Redes Admitidas --- import { getStaticPropsForSupportedNetworks } from '@/src/buildGetStaticProps' @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From 2973ab642ac8c9fc96e3c279e9f4dcde2170bb89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:24 -0400 Subject: [PATCH 0050/2326] New translations supported-networks.mdx (Arabic) --- website/pages/ar/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/ar/developing/supported-networks.mdx b/website/pages/ar/developing/supported-networks.mdx index 44a74bfc0e8e..5eb230bafd7f 100644 --- a/website/pages/ar/developing/supported-networks.mdx +++ b/website/pages/ar/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From cbd1c68b1f3318038782d51ac2d789696c876fb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:25 -0400 Subject: [PATCH 0051/2326] New translations supported-networks.mdx (Czech) --- website/pages/cs/developing/supported-networks.mdx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/website/pages/cs/developing/supported-networks.mdx b/website/pages/cs/developing/supported-networks.mdx index e258ab4cca73..e22e0b26d789 100644 --- a/website/pages/cs/developing/supported-networks.mdx +++ b/website/pages/cs/developing/supported-networks.mdx @@ -9,18 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Předběžná podpora sítě prostřednictvím [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) +⁠ Substreams dílčí toky Hostovaná služba se spoléhá na stabilitu a spolehlivost základních technologií, konkrétně na poskytované koncové body JSON RPC. -Ropsten, Rinkeby a Kovan jsou vyřazeny. Více informací najdete na [Blogu nadace Ethereum](https://blog.ethereum.org/2022/06/21/testnet-deprecation). Od 25. února 2023 již nejsou Ropsten, Rinkeby a Kovan podporovány hostovanou službou. Goerli bude po sloučení udržován klientskými vývojáři a je rovněž podporován hostovanou službou. Vývojářům, kteří v současné době používají Ropsten, Rinkeby nebo Kovan jako staging/testovací prostředí, doporučujeme přejít na Goerli. - Podgrafy indexující řetězec Gnosis lze nyní nasadit pomocí síťového identifikátoru `gnosis`. `xdai` je stále podporován pro stávající podgrafy hostovaných služeb. Úplný seznam funkcí podporovaných v decentralizované síti najdete na [této stránce](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered podgrafy indexující `mainnet` Ethereum jsou podporovány v Podgraf Studio a decentralizované síti. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Uzel grafu From 2a3e9c34d81264acb307800d098e74f259aaa483 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:26 -0400 Subject: [PATCH 0052/2326] New translations supported-networks.mdx (German) --- website/pages/de/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/de/developing/supported-networks.mdx b/website/pages/de/developing/supported-networks.mdx index 91fe34b967c4..1cc36c9d63cb 100644 --- a/website/pages/de/developing/supported-networks.mdx +++ b/website/pages/de/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From f1a7dd6ae0f53ba758abb99de94476b8d1862382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:27 -0400 Subject: [PATCH 0053/2326] New translations supported-networks.mdx (Italian) --- website/pages/it/developing/supported-networks.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/website/pages/it/developing/supported-networks.mdx b/website/pages/it/developing/supported-networks.mdx index 5b4e9eaec617..1cc36c9d63cb 100644 --- a/website/pages/it/developing/supported-networks.mdx +++ b/website/pages/it/developing/supported-networks.mdx @@ -1,5 +1,5 @@ --- -title: Reti supportate +title: Supported Networks --- import { getStaticPropsForSupportedNetworks } from '@/src/buildGetStaticProps' @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From e920d57d6dba8499aa9482fc0aa50c31d36c0960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:28 -0400 Subject: [PATCH 0054/2326] New translations supported-networks.mdx (Japanese) --- website/pages/ja/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/ja/developing/supported-networks.mdx b/website/pages/ja/developing/supported-networks.mdx index 41a96a5e9e1c..6c9f19b1c0eb 100644 --- a/website/pages/ja/developing/supported-networks.mdx +++ b/website/pages/ja/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) ホスティングサービスは、基盤となる技術、提供されたJSON RPCエンドポイントの安定性と信頼性に依存しています。 -Ropsten、Rinkeby、Kovanは非推奨となっています。詳しくは[イーサリアム財団のブログ](https://blog.ethereum.org/2022/06/21/testnet-deprecation)をご覧ください。2023年2月25日をもって、Ropsten、Rinkeby、Kovanはホスティングサービスではサポートされなくなります。Goerliはマージ後もクライアント開発者によって保守され、ホストされたサービスによってもサポートされます。現在Ropsten, Rinkeby, Kovanをステージング/テスト環境として使用している開発者はGoerliに移行することをお勧めします。 - Gnosis Chainをインデックスするサブグラフは、`gnosis`ネットワーク識別子でデプロイできるようになりました。`xdai` は既存のホスティングサービスのサブグラフでまだサポートされています。 分散型ネットワークでサポートされている機能の完全なリストについては、[このページ](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md)を参照してください。 -`mainnet` Ethereum のインデックスを作成するサブストリームを利用したサブグラフは、Subgraph Studio および分散型ネットワークでサポートされています。 +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## グラフノード From de0cb9bd43bfdd0a351192062222e4262a4d46a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:29 -0400 Subject: [PATCH 0055/2326] New translations supported-networks.mdx (Korean) --- website/pages/ko/developing/supported-networks.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/website/pages/ko/developing/supported-networks.mdx b/website/pages/ko/developing/supported-networks.mdx index 4d7ee2ea5284..1cc36c9d63cb 100644 --- a/website/pages/ko/developing/supported-networks.mdx +++ b/website/pages/ko/developing/supported-networks.mdx @@ -1,5 +1,5 @@ --- -title: 지원되는 네트워크들 +title: Supported Networks --- import { getStaticPropsForSupportedNetworks } from '@/src/buildGetStaticProps' @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From 3523c7531e1c2882e559df9cf8a22c68100bafba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:30 -0400 Subject: [PATCH 0056/2326] New translations supported-networks.mdx (Dutch) --- website/pages/nl/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/nl/developing/supported-networks.mdx b/website/pages/nl/developing/supported-networks.mdx index 6b5cd52f8b52..d2c99c96dd10 100644 --- a/website/pages/nl/developing/supported-networks.mdx +++ b/website/pages/nl/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From 598a4fb5e119a49f194f28816d31d99825811db0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:30 -0400 Subject: [PATCH 0057/2326] New translations supported-networks.mdx (Polish) --- website/pages/pl/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/pl/developing/supported-networks.mdx b/website/pages/pl/developing/supported-networks.mdx index 3527784fd9ab..5f3027fec92c 100644 --- a/website/pages/pl/developing/supported-networks.mdx +++ b/website/pages/pl/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From 9353a27f6563cdadf200b5971ee2c9a300c6149f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:31 -0400 Subject: [PATCH 0058/2326] New translations supported-networks.mdx (Portuguese) --- website/pages/pt/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/pt/developing/supported-networks.mdx b/website/pages/pt/developing/supported-networks.mdx index e4c0946d57ce..473546570437 100644 --- a/website/pages/pt/developing/supported-networks.mdx +++ b/website/pages/pt/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) O serviço hospedado depende da estabilidade das tecnologias subjacentes, principalmente os endpoints fornecidos em JSON RPC. -Ropsten, Rinkeby e Kovan serão depreciadas; saiba mais no [blog da Ethereum Foundation](https://blog.ethereum.org/2022/06/21/testnet-deprecation). Desde 25 de fevereiro de 2023, Ropsten, Rinkeby e Kovan não são mais apoiados pelo serviço hospedado. A Goerli será mantida por programadores de clientes após o merge, e também tem apoio no serviço hospedado. Programadores que atualmente usam Ropsten, Rinkeby ou Kovan como seu ambiente de testes estão convidados a migrar à Goerli. - Subgraphs que indexam a Gnosis Chain podem agora ser lançadas com o identificador de rede `gnosis`. O `xdai` ainda é apoiado para subgraphs já existentes no serviço hospedado. Para uma lista completa de recursos apoiados na rede descentralizada, veja [esta página](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs movidas a Substreams que indexam a `mainnet` do Ethereum são apoiadas no Subgraph Studio e na rede descentralizada. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From bb13a8aa89e062d9395e70c5f61047cca7350e23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:32 -0400 Subject: [PATCH 0059/2326] New translations supported-networks.mdx (Russian) --- website/pages/ru/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/ru/developing/supported-networks.mdx b/website/pages/ru/developing/supported-networks.mdx index 5b4426ab4a88..056c026989bc 100644 --- a/website/pages/ru/developing/supported-networks.mdx +++ b/website/pages/ru/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. Полный список функций, поддерживаемых в децентрализованной сети, можно найти на [этой странице](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Субграфы, работающие на основе субпотоков, индексирующие `mainnet` Ethereum, поддерживаются в Subgraph Studio и децентрализованной сети. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From f3416d1296f738b56802093908139b8e64c98d73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:33 -0400 Subject: [PATCH 0060/2326] New translations supported-networks.mdx (Swedish) --- website/pages/sv/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/sv/developing/supported-networks.mdx b/website/pages/sv/developing/supported-networks.mdx index 2429e3aa5275..6c770598489a 100644 --- a/website/pages/sv/developing/supported-networks.mdx +++ b/website/pages/sv/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. För en fullständig lista över vilka funktioner som stöds på det decentraliserade nätverket, se [den här sidan](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-drivna subgrafer som indexerar Ethereum `mainnet` stöds i Subgraf Studio och det decentraliserade nätverket. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graf Node From 94f314d32d07aa3005f92d4cf7e4b2c0bae2ee1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:34 -0400 Subject: [PATCH 0061/2326] New translations supported-networks.mdx (Turkish) --- website/pages/tr/developing/supported-networks.mdx | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/website/pages/tr/developing/supported-networks.mdx b/website/pages/tr/developing/supported-networks.mdx index 99c6e6fa6239..9d0f97265846 100644 --- a/website/pages/tr/developing/supported-networks.mdx +++ b/website/pages/tr/developing/supported-networks.mdx @@ -12,18 +12,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) ⁠ Supports Substreams -Barındırılan hizmet, altta yatan teknolojilerin, yani sağlanan JSON RPC uç noktalarının kararlılığına ve güvenilirliğine dayanır. +The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby ve Kovan kullanımdan kaldırılıyor. Daha fazlasını [Ethereum Vakfı Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation) yazısından okuyabilirsiniz. 25 Şubat 2023 itibarıyla Ropsten, Rinkeby ve Kovan artık barındırılan hizmet tarafından desteklenmiyor. Goerli'nin bakımı, birleşme sonrasında müşteri geliştiricileri tarafından gerçekleştirilecek ve aynı zamanda barındırılan hizmet tarafından da desteklenecek. Şu anda hazırlık/test ortamı olarak Ropsten, Rinkeby veya Kovan'ı kullanan geliştiricilerin Goerli'ye geçmeleri teşvik edilmektedir. - -Gnosis Chain'i indeksleyen subgraph'ler artık `gnosis` ağ tanımlayıcısı ile deploy edilebilir. `xdai` mevcut barındırılan hizmet subgraph'leri için hala desteklenmektedir. +Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. Merkeziyetsiz ağda hangi özelliklerin desteklendiğinin tam listesi için [bu sayfaya](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md) göz atın. -`mainnet` Ethereum'u indeksleyen substreams destekli subgraphlar, Subgraph Stüdyo ve merkeziyetsiz ağ üzerinde desteklenmektedir. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node -Tercih ettiğiniz ağ Graph'in merkeziyetsiz ağında desteklenmiyorsa EVM uyumlu herhangi bir ağı indekslemek için kendi [Graph Node'unuzu](https://github.com/graphprotocol/graph-node) çalıştırabilirsiniz. Kullandığınız [sürümün](https://github.com/graphprotocol/graph-node/releases) ağı desteklediğinden ve gerekli yapılandırmaya sahip olduğunuzdan emin olun. +If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph node'u, bir Firehose entegrasyonu yoluyla diğer protokolleri de indeksleyebilir. NEAR, Arweave ve Cosmos tabanlı ağlar için Firehose entegrasyonları oluşturulmuştur. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. From 00f42e4b04c2aad44bf865333f4908d04dc5ce7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:35 -0400 Subject: [PATCH 0062/2326] New translations supported-networks.mdx (Ukrainian) --- website/pages/uk/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/uk/developing/supported-networks.mdx b/website/pages/uk/developing/supported-networks.mdx index 08e5da5050ed..14caee1b6372 100644 --- a/website/pages/uk/developing/supported-networks.mdx +++ b/website/pages/uk/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From 0ec0612ede767f04b7f8ebfaf2c178416d7b2d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:36 -0400 Subject: [PATCH 0063/2326] New translations supported-networks.mdx (Chinese Simplified) --- website/pages/zh/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/zh/developing/supported-networks.mdx b/website/pages/zh/developing/supported-networks.mdx index 03bb22ed8683..8717ce938657 100644 --- a/website/pages/zh/developing/supported-networks.mdx +++ b/website/pages/zh/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. 有关去中心化网络支持哪些功能的完整列表,请参阅[本页](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md)。 -Substreams-支持的子图索引 `主网` 子图工作室以及分布式网络上都支持以太坊. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph 节点 From 72fa9d8fba5e9c85b5b1e3f5c154d344e96c0620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:37 -0400 Subject: [PATCH 0064/2326] New translations supported-networks.mdx (Urdu (Pakistan)) --- website/pages/ur/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/ur/developing/supported-networks.mdx b/website/pages/ur/developing/supported-networks.mdx index df6f6ce29831..7f389e2c44a5 100644 --- a/website/pages/ur/developing/supported-networks.mdx +++ b/website/pages/ur/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## گراف نوڈ From 74f71fe2ad0ef07f2b41b3b6b8e829d2bbaa81ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:38 -0400 Subject: [PATCH 0065/2326] New translations supported-networks.mdx (Vietnamese) --- website/pages/vi/developing/supported-networks.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/website/pages/vi/developing/supported-networks.mdx b/website/pages/vi/developing/supported-networks.mdx index e0a4131e98c2..371703744c1e 100644 --- a/website/pages/vi/developing/supported-networks.mdx +++ b/website/pages/vi/developing/supported-networks.mdx @@ -1,5 +1,5 @@ --- -title: Các mạng được hỗ trợ +title: Mạng lưới được hỗ trợ --- import { getStaticPropsForSupportedNetworks } from '@/src/buildGetStaticProps' @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From c99cb9da7457d9fc9108eb26faffda36021d2b21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:39 -0400 Subject: [PATCH 0066/2326] New translations supported-networks.mdx (Marathi) --- website/pages/mr/developing/supported-networks.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/website/pages/mr/developing/supported-networks.mdx b/website/pages/mr/developing/supported-networks.mdx index 96e52c3e8c2c..9136016ad7cd 100644 --- a/website/pages/mr/developing/supported-networks.mdx +++ b/website/pages/mr/developing/supported-networks.mdx @@ -1,5 +1,5 @@ --- -title: समर्थित नेटवर्क +title: Supported Networks --- import { getStaticPropsForSupportedNetworks } from '@/src/buildGetStaticProps' @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## आलेख नोड From 5d6fd3fa35c818c828f3d6016856f09953dd6121 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:40 -0400 Subject: [PATCH 0067/2326] New translations supported-networks.mdx (Hindi) --- website/pages/hi/developing/supported-networks.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/website/pages/hi/developing/supported-networks.mdx b/website/pages/hi/developing/supported-networks.mdx index 7fe452631e97..9f3784828fc5 100644 --- a/website/pages/hi/developing/supported-networks.mdx +++ b/website/pages/hi/developing/supported-networks.mdx @@ -1,5 +1,5 @@ --- -title: समर्थित नेटवर्क्स +title: Supported Networks --- import { getStaticPropsForSupportedNetworks } from '@/src/buildGetStaticProps' @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## ग्राफ नोड From 58d75de0c70791304b0ce0afdb546af900eea38b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:40 -0400 Subject: [PATCH 0068/2326] New translations supported-networks.mdx (Yoruba) --- website/pages/yo/developing/supported-networks.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/website/pages/yo/developing/supported-networks.mdx b/website/pages/yo/developing/supported-networks.mdx index 91fe34b967c4..1cc36c9d63cb 100644 --- a/website/pages/yo/developing/supported-networks.mdx +++ b/website/pages/yo/developing/supported-networks.mdx @@ -14,13 +14,11 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. -Ropsten, Rinkeby and Kovan are being deprecated. Read more on the [Ethereum Foundation Blog](https://blog.ethereum.org/2022/06/21/testnet-deprecation). As of Feb 25th 2023, Ropsten, Rinkeby and Kovan are no longer supported by the hosted service. Goerli will be maintained by client developers post-merge, and is also supported by the hosted service. Developers who currently use Ropsten, Rinkeby or Kovan as their staging/testing environment are encouraged to migrate to Goerli. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported on the Subgraph Studio and decentralized network. +Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. ## Graph Node From d928a792214c2a10344a02ee54bd781ceb443b4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:41 -0400 Subject: [PATCH 0069/2326] New translations managing-api-keys.mdx (Romanian) --- .../pages/ro/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/ro/querying/managing-api-keys.mdx b/website/pages/ro/querying/managing-api-keys.mdx index ee7c274bca10..155710dd6849 100644 --- a/website/pages/ro/querying/managing-api-keys.mdx +++ b/website/pages/ro/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Managing your API keys Regardless of whether you’re a dapp developer or a subgraph developer, you’ll need to manage your API keys. This is important for you to be able to query subgraphs because API keys make sure the connections between application services are valid and authorized. This includes authenticating the end user and the device using the application. -The Studio will list out existing API keys, which will give you the ability to manage or delete them. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. The **Overview** section will allow you to: - Edit your key name @@ -15,12 +22,3 @@ The Studio will list out existing API keys, which will give you the ability to m 2. Under **Security**, you’ll be able to opt into security settings depending on the level of control you’d like to have over your API keys. In this section, you can: - View and manage the domain names authorized to use your API key - Assign subgraphs that can be queried with your API key -3. Under **Indexer Preference**, you’ll be able to set different preferences for Indexers who are indexing subgraphs that your API key is used for. You can assign up to 5 points for each of these: - - **Fastest Speed**: Time between the query and the response from an indexer. If you mark this as important we will optimize for fast indexers. - - **Lowest Price**: The amount paid per query. If you mark this as important we will optimize for the less expensive indexers. - - **Data Freshness**: How recent the latest block an indexer has processed for the subgraph you are querying. If you mark this as important we will optimize to find the indexers with the freshest data. - - **Economic Security**: The amount of GRT an indexer can lose if they respond incorrectly to your query. If you mark this as important we will optimize for indexers with a large stake. -4. Under **Budget**, you’ll be able to update the maximum price per query. Note that we have a dynamic setting for that that's based on a volume discounting algorithm. **We strongly recommend using the default settings unless you are experiencing a specific problem.** Otherwise, you can update it under "Set a custom maximum budget". On this page you can also view different KPIs (in GRT and USD): - - Average cost per query - - Failed queries over max price - - Most expensive query From eddb45dfc57febb0162bad4889b5d9401087ee95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:42 -0400 Subject: [PATCH 0070/2326] New translations managing-api-keys.mdx (French) --- .../pages/fr/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/fr/querying/managing-api-keys.mdx b/website/pages/fr/querying/managing-api-keys.mdx index 9c7513ba9dfb..44255bdfcfa7 100644 --- a/website/pages/fr/querying/managing-api-keys.mdx +++ b/website/pages/fr/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Gérer vos clés API Que vous soyez un développeur dapp ou un développeur de subgraphs, vous devrez gérer vos clés API. Ceci est important pour que vous puissiez interroger les subgraphs, car les clés API garantissent que les connexions entre les services d'application sont valides et autorisées. Cela inclut l'authentification de l'utilisateur final et de l'appareil utilisant l'application. -Le Studio répertoriera les clés API existantes, ce qui vous donnera la possibilité de les gérer ou de les supprimer. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. La section **Vue d'ensemble** vous permettra de : - Modifiez le nom de votre clé @@ -15,12 +22,3 @@ Le Studio répertoriera les clés API existantes, ce qui vous donnera la possibi 2. Sous **Sécurité**, vous pourrez activer les paramètres de sécurité en fonction du niveau de contrôle que vous souhaitez avoir sur vos clés API. Dans cette rubrique, vous pouvez : - Visualisez et gérez les noms de domaine autorisés à utiliser votre clé API - Attribuez des subgraphs qui peuvent être interrogés avec votre clé API -3. Sous **Préférences de l'indexeur**, vous pourrez définir différentes préférences pour les indexeurs qui indexent les subgraphs pour lesquels votre clé API est utilisée. Vous pouvez attribuer jusqu'à 5 points pour chacun d'eux: - - **Vitesse la plus rapide** : temps entre la requête et la réponse d'un indexeur. Si vous marquez cela comme important, nous optimiserons les indexeurs rapides. - - **Vitesse la plus rapide** : temps entre la requête et la réponse d'un indexeur. Si vous marquez cela comme important, nous optimiserons les indexeurs rapides. - - **Fraîcheur des données** : date à laquelle le dernier bloc traité par un indexeur pour le subgraph que vous interrogez est récent. Si vous marquez cela comme important, nous optimiserons pour trouver les indexeurs avec les données les plus récentes. - - **Sécurité économique** : quantité de GRT qu'un indexeur peut perdre s'il répond de manière incorrecte à votre requête. Si vous marquez cela comme important, nous optimiserons pour les indexeurs ayant un enjeu important. -4. Sous **Budget**, vous pourrez mettre à jour le prix maximum par requête. Notez que nous avons pour cela un paramètre dynamique basé sur un algorithme de remise sur volume. **Nous vous recommandons fortement d'utiliser les paramètres par défaut, sauf si vous rencontrez un problème spécifique.** Sinon, vous pouvez les mettre à jour sous "Définir un budget maximum personnalisé". Sur cette page, vous pouvez également visualiser différents KPI (en GRT et USD) : - - Coût moyen par requête - - Requêtes ayant échoué au-dessus du prix maximum - - Requête la plus chère From dbfbe008930679157ab4fa6c0fa6024c25bc5f2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:43 -0400 Subject: [PATCH 0071/2326] New translations managing-api-keys.mdx (Spanish) --- .../pages/es/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/es/querying/managing-api-keys.mdx b/website/pages/es/querying/managing-api-keys.mdx index fe4b6c3afa6e..cdb6f9b3fb17 100644 --- a/website/pages/es/querying/managing-api-keys.mdx +++ b/website/pages/es/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Administración de tus claves API Independientemente de si eres un developer de aplicaciones descentralizadas (apps) o un developer de subgrafos, necesitarás administrar tus claves de API. Esto es importante para que puedas consultar los subgrafos porque las claves API aseguran que las conexiones entre los servicios de la aplicación sean válidas y están autorizadas. Esto incluye la autenticación del usuario final y del dispositivo que utiliza la aplicación. -El Studio mostrará las claves API existentes, lo que te permitirá administrarlas o eliminarlas. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. La sección ** Visión General ** te permitirá: - Editar el nombre de tu clave @@ -15,12 +22,3 @@ El Studio mostrará las claves API existentes, lo que te permitirá administrarl 2. En **Seguridad**, podrás optar por la configuración de seguridad en función del nivel de control que quieras tener sobre tus claves API. En esta sección, puedes: - Ver y administrar los nombres de dominio autorizados a utilizar tu clave API - Asignar subgrafos que puedan ser consultados con tu clave API -3. En **Preferencias de los Indexadores**, podrás establecer diferentes preferencias para los Indexadores que indexan los subgrafos para los que se utiliza tu clave API. Puedes asignar hasta 5 puntos para cada uno de ellos: - - **Velocidad Más Rápida**: Tiempo entre la consulta y la respuesta de un Indexador. Si marcas esto como importante, optimizaremos para que los Indexadores sean rápidos. - - **Precio Más Bajo**: La cantidad pagada por consulta. Si marcas esto como importante, optimizaremos para los Indexadores menos costosos. - - **Frescura de los Datos**: que tan reciente es el último bloque que un Indexador ha procesado para el subgrafo que estás consultando. Si marcas esto como importante, optimizaremos para encontrar los Indexadores con los datos más frescos. - - **Seguridad Económica**: La cantidad de GRT que un Indexador puede perder si responde incorrectamente a tu consulta. Si marcas esto como importante, optimizaremos para los Indexadores con un gran stake. -4. En ** Presupuesto**, podrás actualizar el precio máximo por consulta. Ten en cuenta que tenemos una configuración dinámica para eso que se basa en un algoritmo de descuento por volumen. **Te recomendamos encarecidamente que utilices la configuración por defecto a menos que tengas un problema específico.** De lo contrario, puedes actualizarla en "Establecer un presupuesto máximo personalizado". En esta página también puedes ver diferentes KPIs (en GRT y USD): - - Costo promedio por consulta - - Consultas fallidas sobre el precio máximo - - Consulta más cara From c3707914ff2c65bcf48fba8895205a21a57f4d25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:44 -0400 Subject: [PATCH 0072/2326] New translations managing-api-keys.mdx (Arabic) --- .../pages/ar/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/ar/querying/managing-api-keys.mdx b/website/pages/ar/querying/managing-api-keys.mdx index 53c4ef8b6410..7e94abf2a4a8 100644 --- a/website/pages/ar/querying/managing-api-keys.mdx +++ b/website/pages/ar/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Managing your API keys Regardless of whether you’re a dapp developer or a subgraph developer, you’ll need to manage your API keys. This is important for you to be able to query subgraphs because API keys make sure the connections between application services are valid and authorized. This includes authenticating the end user and the device using the application. -سيقوم Studio بسرد مفاتيح API الموجودة ، والتي ستمنحك القدرة على إدارتها أو حذفها. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. The **Overview** section will allow you to: - تعديل اسم المفتاح الخاص بك @@ -15,12 +22,3 @@ Regardless of whether you’re a dapp developer or a subgraph developer, you’l 2. Under **Security**, you’ll be able to opt into security settings depending on the level of control you’d like to have over your API keys. In this section, you can: - عرض وإدارة أسماء النطاقات المصرح لها باستخدام مفتاح API الخاص بك - تعيين الـ subgraphs التي يمكن الاستعلام عنها باستخدام مفتاح API الخاص بك -3. Under **Indexer Preference**, you’ll be able to set different preferences for Indexers who are indexing subgraphs that your API key is used for. You can assign up to 5 points for each of these: - - **Fastest Speed**: Time between the query and the response from an indexer. If you mark this as important we will optimize for fast indexers. - - **Lowest Price**: The amount paid per query. If you mark this as important we will optimize for the less expensive indexers. - - **Data Freshness**: How recent the latest block an indexer has processed for the subgraph you are querying. If you mark this as important we will optimize to find the indexers with the freshest data. - - **Economic Security**: The amount of GRT an indexer can lose if they respond incorrectly to your query. If you mark this as important we will optimize for indexers with a large stake. -4. Under **Budget**, you’ll be able to update the maximum price per query. Note that we have a dynamic setting for that that's based on a volume discounting algorithm. **We strongly recommend using the default settings unless you are experiencing a specific problem.** Otherwise, you can update it under "Set a custom maximum budget". On this page you can also view different KPIs (in GRT and USD): - - Average cost per query - - Failed queries over max price - - Most expensive query From d572beeae94915120246f11f2548a228a5940211 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:45 -0400 Subject: [PATCH 0073/2326] New translations managing-api-keys.mdx (Czech) --- .../pages/cs/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/cs/querying/managing-api-keys.mdx b/website/pages/cs/querying/managing-api-keys.mdx index 2c81f1993a65..1a9626028815 100644 --- a/website/pages/cs/querying/managing-api-keys.mdx +++ b/website/pages/cs/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Správa klíčů API Bez ohledu na to, zda jste vývojář dapp nebo podgraf, budete muset spravovat klíče API. To je důležité pro to, abyste se mohli dotazovat na podgrafy, protože klíče API zajišťují, že spojení mezi službami aplikace jsou platná a autorizovaná. To zahrnuje ověřování koncového uživatele a zařízení, které aplikaci používá. -Studio zobrazí seznam existujících klíčů API, které můžete spravovat nebo odstraňovat. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. Sekce **Přehled** vám umožní: - Úprava názvu klíče @@ -15,12 +22,3 @@ Studio zobrazí seznam existujících klíčů API, které můžete spravovat ne 2. V části **Zabezpečení** budete moci zvolit nastavení zabezpečení podle úrovně kontroly, kterou chcete mít nad klíči API. V této části můžete: - Zobrazení a správa názvů domén oprávněných používat váš klíč API - Přiřazení podgrafů, na které se lze dotazovat pomocí klíče API -3. V části **Předvolby indexátorů** můžete nastavit různé předvolby pro indexátory, které indexují podgrafy, pro něž se používá váš klíč API. Každému z nich můžete přiřadit až 5 bodů: - - **Nejvyšší rychlost**: Doba mezi dotazem a odpovědí indexeru. Pokud tuto hodnotu označíte jako důležitou, budeme optimalizovat pro rychlé indexery. - - **Nejnižší cena**: Částka zaplacená za dotaz. Pokud tuto hodnotu označíte jako důležitou, budeme optimalizovat pro levnější indexátory. - - **Čerstvost dat**: Jak čerstvý poslední blok indexátor zpracoval pro podgraf, na který se dotazujete. Pokud tuto hodnotu označíte jako důležitou, budeme optimalizovat tak, abychom našli indexery s nejčerstvějšími daty. - - **Ekonomická bezpečnost**: Množství GRT, o které může indexátor přijít, pokud na váš dotaz odpoví nesprávně. Pokud tuto hodnotu označíte jako důležitou, budeme optimalizovat pro indexátory s velkým podílem. -4. Under **Budget**, you’ll be able to update the maximum price per query. Note that we have a dynamic setting for that that's based on a volume discounting algorithm. **We strongly recommend using the default settings unless you are experiencing a specific problem.** Otherwise, you can update it under "Set a custom maximum budget". On this page you can also view different KPIs (in GRT and USD): - - Average cost per query - - Failed queries over max price - - Most expensive query From 23d93a687f661ed6c1686e34c0cb805e5883bc2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:46 -0400 Subject: [PATCH 0074/2326] New translations managing-api-keys.mdx (German) --- .../pages/de/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/de/querying/managing-api-keys.mdx b/website/pages/de/querying/managing-api-keys.mdx index ee7c274bca10..155710dd6849 100644 --- a/website/pages/de/querying/managing-api-keys.mdx +++ b/website/pages/de/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Managing your API keys Regardless of whether you’re a dapp developer or a subgraph developer, you’ll need to manage your API keys. This is important for you to be able to query subgraphs because API keys make sure the connections between application services are valid and authorized. This includes authenticating the end user and the device using the application. -The Studio will list out existing API keys, which will give you the ability to manage or delete them. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. The **Overview** section will allow you to: - Edit your key name @@ -15,12 +22,3 @@ The Studio will list out existing API keys, which will give you the ability to m 2. Under **Security**, you’ll be able to opt into security settings depending on the level of control you’d like to have over your API keys. In this section, you can: - View and manage the domain names authorized to use your API key - Assign subgraphs that can be queried with your API key -3. Under **Indexer Preference**, you’ll be able to set different preferences for Indexers who are indexing subgraphs that your API key is used for. You can assign up to 5 points for each of these: - - **Fastest Speed**: Time between the query and the response from an indexer. If you mark this as important we will optimize for fast indexers. - - **Lowest Price**: The amount paid per query. If you mark this as important we will optimize for the less expensive indexers. - - **Data Freshness**: How recent the latest block an indexer has processed for the subgraph you are querying. If you mark this as important we will optimize to find the indexers with the freshest data. - - **Economic Security**: The amount of GRT an indexer can lose if they respond incorrectly to your query. If you mark this as important we will optimize for indexers with a large stake. -4. Under **Budget**, you’ll be able to update the maximum price per query. Note that we have a dynamic setting for that that's based on a volume discounting algorithm. **We strongly recommend using the default settings unless you are experiencing a specific problem.** Otherwise, you can update it under "Set a custom maximum budget". On this page you can also view different KPIs (in GRT and USD): - - Average cost per query - - Failed queries over max price - - Most expensive query From 9186278c72f44e33b78b1399a0a2bb56bddb177a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:47 -0400 Subject: [PATCH 0075/2326] New translations managing-api-keys.mdx (Italian) --- .../pages/it/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/it/querying/managing-api-keys.mdx b/website/pages/it/querying/managing-api-keys.mdx index d7793e6071f7..97ee3cc4df32 100644 --- a/website/pages/it/querying/managing-api-keys.mdx +++ b/website/pages/it/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Gestione delle chiavi API Indipendentemente dal fatto che siate sviluppatori di dapp o di subgraph, dovrete gestire le vostre chiavi API. Questo è importante per poter effetuare query dei subgraph, perché le chiavi API assicurano che le connessioni tra i servizi applicativi siano valide e autorizzate. Ciò include l'autenticazione dell'utente finale e del dispositivo che utilizza l'applicazione. -Lo Studio elencherà le chiavi API esistenti, dando la possibilità di gestirle o eliminarle. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. La sezione **Overview** vi permetterà di: - Modificare il nome della chiave @@ -15,12 +22,3 @@ Lo Studio elencherà le chiavi API esistenti, dando la possibilità di gestirle 2. Sotto **Security**, potrete scegliere le impostazioni di sicurezza a seconda del livello di controllo che desiderate avere sulle vostre chiavi API. In questa sezione è possibile: - Visualizzare e gestire i nomi di dominio autorizzati a utilizzare la chiave API - Assegnare i subgraph che possono essere interrogati con la chiave API -3. Sotto **Indexer Preference**, potrete impostare diverse preferenze per gli Indexer che indicizzano i subgraph per i quali viene utilizzata la vostra chiave API. È possibile assegnare fino a 5 punti per ciascuno di essi: - - **Velocità massima**: Tempo tra la query e la risposta di un Indexer. Se si contrassegna questa voce come importante, verrà ottimizzata per Indexer veloci. - - **Prezzo più basso**: L'importo pagato per ogni query. Se lo si segna come importante, ottimizzeremo per gli Indexer meno costosi. - - **Freschezza dei dati**: Quanto è recente l'ultimo blocco elaborato da un Indexer per il subgraph che si sta effettuando query. Se si indica questo dato come importante, ottimizzeremo per trovare gli Indexer con i dati più freschi. - - **Sicurezza economica**: La quantità di GRT che un Indexer può perdere se risponde in modo errato alla vostra query. Se si indica questo valore come importante, ottimizzeremo gli Indexer con un stake elevato. -4. Sotto **Budget**, è possibile aggiornare il prezzo massimo per query. Si noti che abbiamo un'impostazione dinamica per questo, basata su un algoritmo di sconto per volume. **Si consiglia di utilizzare le impostazioni predefinite, a meno che non si verifichi un problema specifico.** Altrimenti, è possibile aggiornarle in "Imposta un budget massimo personalizzato". In questa pagina è possibile visualizzare diversi KPI (in GRT e in USD): - - Costo medio per query - - Query fallite oltre il prezzo massimo - - Query più costosa From 937e1b8ef3de04fa5750a3ce3fc62155f1943e95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:48 -0400 Subject: [PATCH 0076/2326] New translations managing-api-keys.mdx (Japanese) --- .../pages/ja/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/ja/querying/managing-api-keys.mdx b/website/pages/ja/querying/managing-api-keys.mdx index c4300399e426..23c9fa043daf 100644 --- a/website/pages/ja/querying/managing-api-keys.mdx +++ b/website/pages/ja/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: API キーの管理 Dapp 開発者、サブグラフ開発者に関わらず、API キーを管理する必要があります。API キーは、アプリケーションサービス間の接続が有効で認証されていることを確認するため、サブグラフを照会できるようにするために重要です。これには、アプリケーションを使用するエンドユーザとデバイスの認証が含まれます。 -スタジオでは、既存の API キーがリストアップされ、管理や削除が可能になります。 +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. **Overview**セクションでは、以下のことができます: - キー名の編集 @@ -15,12 +22,3 @@ Dapp 開発者、サブグラフ開発者に関わらず、API キーを管理 2. **Security**では、APIキーの管理レベルに応じて、セキュリティ設定を選択することができます。このセクションでは、次のことが可能です: - API キーの使用を許可されたドメイン名の表示と管理 - API キーでクエリ可能なサブグラフの割り当て -3. **インデクサー設定** では、API キーが使用されるサブグラフのインデックスを作成するインデクサーに対して、さまざまな設定を行うことができます。これらのそれぞれに最大 5 ポイントを割り当てることができます。 - - **Fastest Speed**: クエリからインデクサーの応答までの時間。これを重要視すると、高速なインデクサーのために最適化されます。 - - **Lowest Price**: クエリごとに支払われる金額。これを重要視すると、より安価なインデクサに最適化されます。 - - **Data Freshness**: クエリしようとしているサブグラフについて、インデクサーが処理した最新のブロックの鮮度。これを重要視すると、最も新しいデータを持つインデクサを見つけるよう最適化されます。 - - **Economic Security**: もしクエリに対して誤った応答をした場合、インデクサーが失う可能性のある GRT の量。これを重要としてマークすると、私たちは大きなステーク量を持つインデクサーのために最適化します。 -4. **Budget**では、クエリごとの最大価格を更新することができます。ボリュームディスカウントのアルゴリズムに基づいた動的な設定があることに注意してください。**特定の問題が発生しない限り、デフォルトの設定を使用することを強くお勧めします。**それ以外の場合は、「カスタム最高予算の設定」で更新できます。このページでは、さまざまなKPIを表示することもできます(GRTとUSD単位)。 - - クエリあたりの平均コスト - - 最大価格以上のクエリの失敗 - - 最も高価なクエリ From f96e2c8b1ee9d3e55001ca51554f580de3899dc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:49 -0400 Subject: [PATCH 0077/2326] New translations managing-api-keys.mdx (Korean) --- .../pages/ko/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/ko/querying/managing-api-keys.mdx b/website/pages/ko/querying/managing-api-keys.mdx index ee7c274bca10..155710dd6849 100644 --- a/website/pages/ko/querying/managing-api-keys.mdx +++ b/website/pages/ko/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Managing your API keys Regardless of whether you’re a dapp developer or a subgraph developer, you’ll need to manage your API keys. This is important for you to be able to query subgraphs because API keys make sure the connections between application services are valid and authorized. This includes authenticating the end user and the device using the application. -The Studio will list out existing API keys, which will give you the ability to manage or delete them. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. The **Overview** section will allow you to: - Edit your key name @@ -15,12 +22,3 @@ The Studio will list out existing API keys, which will give you the ability to m 2. Under **Security**, you’ll be able to opt into security settings depending on the level of control you’d like to have over your API keys. In this section, you can: - View and manage the domain names authorized to use your API key - Assign subgraphs that can be queried with your API key -3. Under **Indexer Preference**, you’ll be able to set different preferences for Indexers who are indexing subgraphs that your API key is used for. You can assign up to 5 points for each of these: - - **Fastest Speed**: Time between the query and the response from an indexer. If you mark this as important we will optimize for fast indexers. - - **Lowest Price**: The amount paid per query. If you mark this as important we will optimize for the less expensive indexers. - - **Data Freshness**: How recent the latest block an indexer has processed for the subgraph you are querying. If you mark this as important we will optimize to find the indexers with the freshest data. - - **Economic Security**: The amount of GRT an indexer can lose if they respond incorrectly to your query. If you mark this as important we will optimize for indexers with a large stake. -4. Under **Budget**, you’ll be able to update the maximum price per query. Note that we have a dynamic setting for that that's based on a volume discounting algorithm. **We strongly recommend using the default settings unless you are experiencing a specific problem.** Otherwise, you can update it under "Set a custom maximum budget". On this page you can also view different KPIs (in GRT and USD): - - Average cost per query - - Failed queries over max price - - Most expensive query From e8f3233601b20c7f8cb35f202b50d1b1953c69d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:50 -0400 Subject: [PATCH 0078/2326] New translations managing-api-keys.mdx (Dutch) --- .../pages/nl/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/nl/querying/managing-api-keys.mdx b/website/pages/nl/querying/managing-api-keys.mdx index ee7c274bca10..155710dd6849 100644 --- a/website/pages/nl/querying/managing-api-keys.mdx +++ b/website/pages/nl/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Managing your API keys Regardless of whether you’re a dapp developer or a subgraph developer, you’ll need to manage your API keys. This is important for you to be able to query subgraphs because API keys make sure the connections between application services are valid and authorized. This includes authenticating the end user and the device using the application. -The Studio will list out existing API keys, which will give you the ability to manage or delete them. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. The **Overview** section will allow you to: - Edit your key name @@ -15,12 +22,3 @@ The Studio will list out existing API keys, which will give you the ability to m 2. Under **Security**, you’ll be able to opt into security settings depending on the level of control you’d like to have over your API keys. In this section, you can: - View and manage the domain names authorized to use your API key - Assign subgraphs that can be queried with your API key -3. Under **Indexer Preference**, you’ll be able to set different preferences for Indexers who are indexing subgraphs that your API key is used for. You can assign up to 5 points for each of these: - - **Fastest Speed**: Time between the query and the response from an indexer. If you mark this as important we will optimize for fast indexers. - - **Lowest Price**: The amount paid per query. If you mark this as important we will optimize for the less expensive indexers. - - **Data Freshness**: How recent the latest block an indexer has processed for the subgraph you are querying. If you mark this as important we will optimize to find the indexers with the freshest data. - - **Economic Security**: The amount of GRT an indexer can lose if they respond incorrectly to your query. If you mark this as important we will optimize for indexers with a large stake. -4. Under **Budget**, you’ll be able to update the maximum price per query. Note that we have a dynamic setting for that that's based on a volume discounting algorithm. **We strongly recommend using the default settings unless you are experiencing a specific problem.** Otherwise, you can update it under "Set a custom maximum budget". On this page you can also view different KPIs (in GRT and USD): - - Average cost per query - - Failed queries over max price - - Most expensive query From b5a6ca534d13e04f30662150a8552436817c5199 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:50 -0400 Subject: [PATCH 0079/2326] New translations managing-api-keys.mdx (Polish) --- .../pages/pl/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/pl/querying/managing-api-keys.mdx b/website/pages/pl/querying/managing-api-keys.mdx index ee7c274bca10..155710dd6849 100644 --- a/website/pages/pl/querying/managing-api-keys.mdx +++ b/website/pages/pl/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Managing your API keys Regardless of whether you’re a dapp developer or a subgraph developer, you’ll need to manage your API keys. This is important for you to be able to query subgraphs because API keys make sure the connections between application services are valid and authorized. This includes authenticating the end user and the device using the application. -The Studio will list out existing API keys, which will give you the ability to manage or delete them. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. The **Overview** section will allow you to: - Edit your key name @@ -15,12 +22,3 @@ The Studio will list out existing API keys, which will give you the ability to m 2. Under **Security**, you’ll be able to opt into security settings depending on the level of control you’d like to have over your API keys. In this section, you can: - View and manage the domain names authorized to use your API key - Assign subgraphs that can be queried with your API key -3. Under **Indexer Preference**, you’ll be able to set different preferences for Indexers who are indexing subgraphs that your API key is used for. You can assign up to 5 points for each of these: - - **Fastest Speed**: Time between the query and the response from an indexer. If you mark this as important we will optimize for fast indexers. - - **Lowest Price**: The amount paid per query. If you mark this as important we will optimize for the less expensive indexers. - - **Data Freshness**: How recent the latest block an indexer has processed for the subgraph you are querying. If you mark this as important we will optimize to find the indexers with the freshest data. - - **Economic Security**: The amount of GRT an indexer can lose if they respond incorrectly to your query. If you mark this as important we will optimize for indexers with a large stake. -4. Under **Budget**, you’ll be able to update the maximum price per query. Note that we have a dynamic setting for that that's based on a volume discounting algorithm. **We strongly recommend using the default settings unless you are experiencing a specific problem.** Otherwise, you can update it under "Set a custom maximum budget". On this page you can also view different KPIs (in GRT and USD): - - Average cost per query - - Failed queries over max price - - Most expensive query From f6c4f73ed9575a8c887e8c52e2ca490463c954a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:51 -0400 Subject: [PATCH 0080/2326] New translations managing-api-keys.mdx (Portuguese) --- .../pages/pt/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/pt/querying/managing-api-keys.mdx b/website/pages/pt/querying/managing-api-keys.mdx index 9c48d4eb13a3..56b10ed5ee1f 100644 --- a/website/pages/pt/querying/managing-api-keys.mdx +++ b/website/pages/pt/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Como gerir as suas chaves de API Independente de ser um programador de dApp ou de subgraph, é importante gerir as suas chaves de API. Isto é importante para poder fazer queries em subgraphs, porque chaves de API garantem a validade e autorização das conexões entre serviços de aplicativos. Isto inclui a autenticação do usuário final e do dispositivo que usa o aplicativo. -O Studio listará chaves de API existentes, que lhe darão a habilidade de gestar ou apagá-las. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. A seção **Overview** lhe permitirá: - Alterar o nome da sua chave @@ -15,12 +22,3 @@ O Studio listará chaves de API existentes, que lhe darão a habilidade de gesta 2. Sob **Security** (Segurança), dá para ativar as configurações de segurança por opção, a depender do nível de controle que quer ter sobre as suas chaves de API. Nesta seção, é possível: - Visualizar e gerir os nomes de domínio autorizados a usar a sua chave de API - Apontar subgraphs que podem ser sujeitos a queries com a sua chave de API -3. Sob o **Indexer Preference** (Preferência de Indexador), poderá configurar preferências diferentes para Indexadores a indexar subgraphs que usam a sua chave de API. É possível apontar até 5 pontos para cada um destes: - - **Fastest Speed** (Mais Rápido): O tempo entre a consulta e a resposta de um indexador. Se marcar isto como importante, será feita a otimização para indexadores rápidos. - - **Lowest Price** (Menor Preço): Quantia paga por query. Se marcar isto como importante, será feita a otimização para os indexadores mais baratos. - - **Data Freshness** (Recência dos Dados): O quão recente é o último bloco que um indexador processou para o subgraph em que faz queries. Se marcar isto como importante, será feita a otimização para encontrar indexadores com os dados mais recentes. - - **Economic Security** (Segurança Económica): A quantia de GRT que um Indexador pode perder caso responda incorretamente à sua consulta. Se marcar isto como importante, será feita a otimização para indexadores com um stake maior. -4. Sob o **Budget** (Orçamento), poderá atualizar o preço máximo por query. Perceba que nós temos uma configuração dinâmica, com base em um algoritmo de desconto de volume. **Recomendamos fortemente usar as configurações padrão, a não ser que esteja com um problema específico.** Caso contrário, vale atualizá-la sob "Set a custom maximum budget" (Configurar um orçamento máximo personalizado). Nesta página, também dá para ver KPIs diferentes (em GRT e USD): - - Custo médio por query - - Queries falhos pelo preço máximo - - Query mais caro From 61426915821b92a0a51a4d1aac8d2bbc8c95fd01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:52 -0400 Subject: [PATCH 0081/2326] New translations managing-api-keys.mdx (Russian) --- .../pages/ru/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/ru/querying/managing-api-keys.mdx b/website/pages/ru/querying/managing-api-keys.mdx index 7861cc0fc39b..f539e2f254f7 100644 --- a/website/pages/ru/querying/managing-api-keys.mdx +++ b/website/pages/ru/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Управление вашими ключами API Независимо от того, являетесь ли вы разработчиком dapp или разработчиком субграфов, вам нужно будет управлять своими API-ключами. Это важно для того, чтобы вы могли запрашивать субграфы, поскольку ключи API гарантируют, что соединения между службами приложений действительны и авторизованы. Это включает в себя аутентификацию конечного пользователя и устройства с помощью приложения. -Studio выведет список существующих API-ключей, что даст вам возможность управлять ими или удалять их. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. Раздел ** Overview ** позволит вам: - Отредактируйте свое ключевое имя @@ -15,12 +22,3 @@ Studio выведет список существующих API-ключей, ч 2. В разделе ** Security ** вы сможете выбрать настройки безопасности в зависимости от уровня контроля, который вы хотели бы иметь над своими ключами API. В этом разделе вы можете: - Просматривайте доменные имена, авторизованные для использования вашего API-ключа, и управляйте ими - Назначьте субграфы, которые могут быть запрошены с помощью вашего API-ключа -3. В разделе **Indexer Preference** вы сможете установить различные настройки для индексаторов, которые индексируют субграфы, для которых используется ваш ключ API. Вы можете присвоить до 5 баллов за каждый из них: - - **Fastest Speed**: время между запросом и ответом от индексатора. Если вы отметите это как важное, мы проведем оптимизацию для быстрых индексаторов. - - **Lowest Price**: Сумма, уплаченная за запрос. Если вы отметите это как важное, мы проведем оптимизацию для менее дорогих индексаторов. - - **Data Freshness**: Насколько свеж последний блок, обработанный индексатором для запрашиваемого вами субграфа. Если вы отметите это как важное, мы проведем оптимизацию, чтобы найти индексаторов с самыми свежими данными. - - **Economic Security**: количество GRT, которое может потерять индексатор, если он неправильно ответит на ваш запрос. Если вы отметите это как важное, мы проведем оптимизацию для индексаторов с большой долей участия. -4. В разделе ** Budget ** вы сможете обновить максимальную цену за запрос. Обратите внимание, что для этого у нас есть динамическая настройка, основанная на алгоритме дисконтирования объема. **Мы настоятельно рекомендуем использовать настройки по умолчанию, если только вы не столкнулись с конкретной проблемой.** В противном случае вы можете обновить их в разделе "Set a custom maximum budget". На этой странице вы также можете просмотреть различные ключевые показатели эффективности (в GRT и USD): - - Средняя стоимость одного запроса - - Неудачные запросы по максимальной цене - - Самый дорогой запрос From c703ab6a2f595c37a2bcb4bfab64794f99d094a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:53 -0400 Subject: [PATCH 0082/2326] New translations managing-api-keys.mdx (Swedish) --- .../pages/sv/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/sv/querying/managing-api-keys.mdx b/website/pages/sv/querying/managing-api-keys.mdx index 1bd28a2d83e2..c9cfc02cedb9 100644 --- a/website/pages/sv/querying/managing-api-keys.mdx +++ b/website/pages/sv/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Hantera dina API-nycklar Oavsett om du är en dapp-utvecklare eller en subgraf-utvecklare kommer du att behöva hantera dina API-nycklar. Detta är viktigt för att kunna fråga subgrafer, eftersom API-nycklar säkerställer att anslutningar mellan applikationstjänster är giltiga och auktoriserade. Detta inkluderar autentisering av slutanvändare och enheten som använder applikationen. -Studion listar befintliga API-nycklar, vilket ger dig möjlighet att hantera eller ta bort dem. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. **Översikts**-sektionen kommer att ge dig möjlighet att: - Redigera nyckelns namn @@ -15,12 +22,3 @@ Studion listar befintliga API-nycklar, vilket ger dig möjlighet att hantera ell 2. Under **Säkerhet** kan du välja säkerhetsinställningar beroende på vilken nivå av kontroll du vill ha över dina API-nycklar. I den här sektionen kan du: - Visa och hantera domännamn som har auktoriserats att använda din API-nyckel - Koppla subgrafer som kan frågas med din API-nyckel -3. Under ** Indexer Preferens ** kan du ställa in olika preferenser för indexers som indexerar subgrafer som din API-nyckel används för. Du kan tilldela upp till 5 poäng för var och en av följande: - - **Snabbaste Hastighet**: Tid mellan förfrågan och svar från en indexer. Om du markerar detta som viktigt kommer vi att optimera för snabba indexers. - - **Lägsta Pris**: Beloppet som betalas per förfrågan. Om du markerar detta som viktigt kommer vi att optimera för billigare indexers. - - ** Dataaktualitet **: Hur nyligen det senaste blocket en indexer har bearbetat för den subgraf du frågar efter. Om du markerar detta som viktigt kommer vi att optimera för att hitta indexers med färskaste data. - - **Ekonomisk Säkerhet**: Mängden GRT en indexer kan förlora om de svarar felaktigt på din förfrågan. Om du markerar detta som viktigt kommer vi att optimera för indexers med en stor insats. -4. Under **Budget** kan du uppdatera det maximala priset per förfrågan. Notera att vi har en dynamisk inställning baserad på en volymrabattalgoritm. **Vi rekommenderar starkt att du använder standardinställningarna om du inte upplever ett specifikt problem.** Alternativt kan du uppdatera det under "Ange ett anpassat maximalt budget". På den här sidan kan du också se olika KPI:er (i GRT och USD): - - Genomsnittlig kostnad per förfrågan - - Misslyckade förfrågningar över maximalt pris - - Dyraste förfrågan From f9506092debf452c2451394b565bf4a6f99431a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:54 -0400 Subject: [PATCH 0083/2326] New translations managing-api-keys.mdx (Turkish) --- .../pages/tr/querying/managing-api-keys.mdx | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/website/pages/tr/querying/managing-api-keys.mdx b/website/pages/tr/querying/managing-api-keys.mdx index 561000f522e5..155710dd6849 100644 --- a/website/pages/tr/querying/managing-api-keys.mdx +++ b/website/pages/tr/querying/managing-api-keys.mdx @@ -1,26 +1,24 @@ --- -title: API Anahtarlarınızı Yönetme +title: Managing your API keys --- -Merkeziyetsiz uygulama veya subgraph geliştiricisi olmanızdan bağımsız olarak, API anahtarlarınızı yönetmeniz gerekir. Bu, subgraph'leri sorgulayabilmeniz için önemlidir çünkü API anahtarları, uygulama servisleri arasındaki bağlantıların geçerli ve yetkili olmasını sağlar. Bu, uygulamayı kullanarak son kullanıcının ve cihazın kimliğinin doğrulanmasını içerir. +Regardless of whether you’re a dapp developer or a subgraph developer, you’ll need to manage your API keys. This is important for you to be able to query subgraphs because API keys make sure the connections between application services are valid and authorized. This includes authenticating the end user and the device using the application. -Stüdyo, mevcut API anahtarlarını listeleyerek size bunları yönetme veya silme olanağı sağlar. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: -1. **Genel Bakış** bölümü şunları yapmanızı sağlar: - - Anahtar adınızı düzenleyin - - API anahtarlarını yeniden oluştur - - API anahtarının mevcut kullanımını istatistiklerle görüntüleyin: - - Sorgu sayısı - - Harcanan GRT miktarı -2. **Güvenlik** bölümünün altında, API anahtarlarınız üzerinde sahip olmak istediğiniz kontrol düzeyine bağlı olarak güvenlik ayarlarını etkinleştirebileceksiniz. Bu bölümde şunları yapabilirsiniz: - - API anahtarınızı kullanmaya yetkili domainleri görüntüleyin ve yönetin - - API anahtarınızla sorgulanabilecek subgraph'ler atayın -3. **İndeksleyici Tercihi** bölümünün altında, API anahtarınızın kullanıldığı subgraph'leri indeksleyen indeksleyiciler için farklı tercihler belirleyebilirsiniz. Bunların her biri için en fazla 5 puan atayabilirsiniz: - - **En Yüksek Hız**: Sorgu ile indeksleyicinin yanıtı arasındaki süredir. Bunu önemli olarak işaretlerseniz, hızlı indeksleyiciler için optimize edeceğiz. - - **En Düşük Fiyat**: Sorgu başına ödenen tutarı ifade eder. Bunu önemli olarak işaretlerseniz, daha ucuz indeksleyiciler için optimizasyon yaparız. - - **Veri Yeniliği**: Bir indeksleyicinin sorguladığınız subgraph için işlediği en son bloğun ne kadar yeni olduğunu ifade eder. Bunu önemli olarak işaretlerseniz, en yeni verilere sahip indeksleyicileri bulmak için optimize edeceğiz. - - **Ekonomik Güvenlik**: Bir indeksleyicinin sorgunuza yanlış yanıt vermesi durumunda kaybedebileceği GRT miktarıdır. Bunu önemli olarak işaretlerseniz, büyük paya sahip indeksleyiciler için optimizasyon yaparız. -4. **Bütçe** altında, sorgu başına maksimum fiyatı güncelleyebilirsiniz. Bunun için bir hacim indirimi algoritmasına dayalı dinamik bir ayarımız olduğunu unutmayın. **Belirli bir sorun yaşamıyorsanız varsayılan ayarları kullanmanızı kesinlikle öneririz.** Aksi takdirde, "Özel bir maksimum bütçe belirleyin" altında güncelleyebilirsiniz. Bu sayfada ayrıca farklı KPI'ları da görüntüleyebilirsiniz (GRT ve USD cinsinden): - - Sorgu başına ortalama maliyet - - Maksimum fiyat üzerinden başarısız sorgular - - En pahalı sorgu +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: + +1. The **Overview** section will allow you to: + - Edit your key name + - Regenerate API keys + - View the current usage of the API key with stats: + - Number of queries + - Amount of GRT spent +2. Under **Security**, you’ll be able to opt into security settings depending on the level of control you’d like to have over your API keys. In this section, you can: + - View and manage the domain names authorized to use your API key + - Assign subgraphs that can be queried with your API key From 239f42c80f799c59d82a8d430521ba97ed6fcc6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:55 -0400 Subject: [PATCH 0084/2326] New translations managing-api-keys.mdx (Ukrainian) --- .../pages/uk/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/uk/querying/managing-api-keys.mdx b/website/pages/uk/querying/managing-api-keys.mdx index cb96dc6b09a3..9232ea2e5529 100644 --- a/website/pages/uk/querying/managing-api-keys.mdx +++ b/website/pages/uk/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Управління API-ключами Незалежно від того, ви розробник децентралізованих додатків, чи розробник підграфів, вам в будь-якому випадку потрібно керувати власними API-ключами. Це важливо для того, щоб мати можливість отримувати запити з підграфів, оскільки ключі API гарантують, що з'єднання між програмними сервісами є дійсними та авторизованими. Це включає автентифікацію кінцевого користувача та пристрою, за допомогою якого використовувались програми. -Studio продемонструє вам список наявних API-ключів, що дасть вам можливість керувати ними або їх видалити їх. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. У розділі **Overview** ви зможете: - Змінювати ім'я вашого ключа @@ -15,12 +22,3 @@ Studio продемонструє вам список наявних API-клю 2. У розділі **Security** ви зможете обирати налаштування безпеки залежно від рівня контролю, який ви хочете мати над своїми ключами API. Також у цьому розділі ви можете: - Переглядати доменні імена, яким дозволено використовувати ваш API-ключ та керувати цими іменами - Призначати підграфи, з яких можна отримувати запити за допомогою API-ключа -3. Розділ **Indexer Preference** надасть вам змогу встановити різні налаштування для індексаторів, які індексують ті підграфи, для яких використовується ваш API-ключ. За кожний з цих пунктів ви можете поставити оцінку до 5 балів: - - **Fastest Speed**: Час між запитом і відповіддю індексатора. Якщо ви відзначите цей параметр як важливий, ми будемо оптимізуватись під швидких індексаторів. - - **Lowest Price**: Сума, яка сплачується за запит. Якщо ви відзначите цей параметр як важливий, ми будемо оптимізуватись під менш дорогих індексаторів. - - **Data Freshness**: Наскільки давно індексатор обробив останній блок для підграфа, який ви запитуєте. Якщо ви відзначите цей параметр як важливий, ми будемо оптимізуватись для пошуку індексаторів з найсвіжішими даними. - - **Economic Security**: Кількість токенів GRT, яку може втратити індексатор, якщо він неправильно відповість на ваш запит. Якщо ви відзначите цей параметр як важливий, ми будемо оптимізуватись під індексаторів з великим стейком. -4. В розділі **Budget** ви зможете оновити максимальну ціну за запит. Зверніть увагу, що у нас є динамічне налаштування для цього параметру, яке базується на алгоритмі зниження обсягу.**Ми наполегливо рекомендуємо використовувати налаштування за замовчуванням, окрім тих випадків, коли ви стикаєтеся з конкретною проблемою.** В іншому випадку ви можете оновити його в розділі "Set a custom maximum budget". На цій сторінці ви також можете переглянути різні KPI (у GRT та доларах США): - - Середня вартість запиту - - Невдалі запити з перевищенням максимальної ціни - - Найдорожчий запит From 17725698b48d5e1b61115227e6f15be93a728997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:56 -0400 Subject: [PATCH 0085/2326] New translations managing-api-keys.mdx (Chinese Simplified) --- .../pages/zh/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/zh/querying/managing-api-keys.mdx b/website/pages/zh/querying/managing-api-keys.mdx index f3269ff2a982..bdad66f33fa1 100644 --- a/website/pages/zh/querying/managing-api-keys.mdx +++ b/website/pages/zh/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: 管理您的 API 密钥 无论您是 dapp 开发人员还是子图开发人员,您都需要管理您的 API 密钥。 这对您能够查询子图很重要,因为 API 密钥确保应用程序服务之间的连接有效且经过授权。 这包括验证最终用户和使用应用程序的设备。 -工作室将列出现有的 API 密钥,这将使您能够管理或删除它们。 +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. **Overview**部分将允许您: - 编辑您的密钥名称 @@ -15,12 +22,3 @@ title: 管理您的 API 密钥 2. 在**Security**下,您可以根据自己对 API 密钥的控制级别选择启用安全设置。 在本节中,您可以: - 查看和管理授权使用您的 API 密钥的域名 - 分配可以使用您的 API 密钥查询的子图 -3. 在**Indexer Preference**下,您可以为索引API密钥所用于子图的索引人设置不同的首选项。您最多可以为以下各项分配5个点: - - **Fastest Speed**: 查询与索引人响应之间的时间。如果您将此标记为重要,我们将优化快速索引人。 - - **Lowest Price**: 每次查询支付的最低金额。如果您将此标记为重要,我们将优化较便宜的索引人。 - - **Data Freshness**: 索引人为您查询的子图处理的最新区块的最新程度。如果您将此标记为重要,我们将优化以查找具有最新数据的索引人。 - - **Economic Security**: 如果索引人对您的查询做出错误响应,则索引人可能会损失的GRT数量。如果您将这一点标记为重要,我们将为拥有大量份额的索引人进行优化。 -4. 在**预算**下,您可以更新每次查询的最高价格。注意,我们有一个基于数量折扣算法的动态设置。**除非遇到特定问题,否则强烈建议使用默认设置。**否则,您可以在“设置自定义最大预算”下进行更新。在此页面上,您还可以查看不同的KPI(以GRT和USD表示): - - 每次查询的平均成本 - - 超过最高价格的查询失败 - - 最昂贵的查询 From 5e1e41f15bb306521b9e2279facfc8598f6dbcac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:57 -0400 Subject: [PATCH 0086/2326] New translations managing-api-keys.mdx (Urdu (Pakistan)) --- .../pages/ur/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/ur/querying/managing-api-keys.mdx b/website/pages/ur/querying/managing-api-keys.mdx index fd6ba0bee0cb..e75beeb61c1e 100644 --- a/website/pages/ur/querying/managing-api-keys.mdx +++ b/website/pages/ur/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: اپنی API کلیدوں کا انتظام کرنا اس سے قطع نظر کہ آپ ڈی ایپ ڈویلپر ہیں یا سب گراف ڈویلپر، آپ کو اپنی API کلیدوں کا نظم کرنے کی ضرورت ہوگی۔ آپ کے لیے سب گراف سے کیوری کرنے کے قابل ہونا ضروری ہے کیونکہ API کلید اس بات کو یقینی بناتی ہیں کہ ایپلیکیشن سروسز کے درمیان رابطے درست اور مجاز ہیں۔ اس میں ایپلیکیشن استعمال کرنے والے آخری صارف اور ڈیوائس کی تصدیق کرنا شامل ہے. -اسٹوڈیو موجودہ API کلیدوں کی فہرست بنائے گا، جو آپ کو ان کا نظم کرنے یا حذف کرنے کی اہلیت فراہم کرے گا. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. **Overview** کا سیکشن آپ کو اجازت دے گا کہ: - اپنی کلید کے نام کو ترمیم دیں @@ -15,12 +22,3 @@ title: اپنی API کلیدوں کا انتظام کرنا 2. **سیکیورٹی** کے تحت، آپ اپنی API کلیدوں پر کنٹرول کی سطح کے لحاظ سے سیکیورٹی کی ترتیبات میں آپٹ ان کرنے کے قابل ہوں گے۔ اس سیکشن میں، آپ کر سکتے ہیں: - اپنی API کلید استعمال کرنے کے لیے مجاز ڈومین ناموں کو دیکھیں اور ان کا نظم کریں - سب گراف تفویض کریں جن سے آپ کی API کلید سے کیوری کیا جا سکتا ہے -3. **انڈیکسر کی ترجیح** کے تحت، آپ انڈیکسرز کے لیے مختلف ترجیحات سیٹ کر سکیں گے جو سب گرافس کو انڈیکس کر رہے ہیں جن کے لیے آپ کی API کلید استعمال ہوتی ہے۔ آپ ان میں سے ہر ایک کے لیے 5 پوائنٹس تک تفویض کر سکتے ہیں: - - **تیز ترین رفتار**: کیوری اور انڈیکسر سے جواب کے درمیان کا وقت۔ اگر آپ اسے اہم کے طور پر نشان زد کرتے ہیں تو ہم تیز انڈیکسرز کے لیے بہتر بنائیں گے. - - **سب سے کم قیمت**: فی کیوری ادا کی گئی رقم۔ اگر آپ اسے اہم کے طور پر نشان زد کرتے ہیں تو ہم کم مہنگے انڈیکسرز کے لیے بہتر بنائیں گے. - - **ڈیٹا کی تازگی**: آپ جس سب گراف کے لیے کیوری کر رہے ہیں اس کے لیے ایک انڈیکسر نے کتنے حالیہ بلاک پر کارروائی کی ہے۔ اگر آپ اسے اہم کے طور پر نشان زد کرتے ہیں تو ہم تازہ ترین ڈیٹا کے ساتھ انڈیکسرز کو تلاش کرنے کے لیے بہتر بنائیں گے. - - **اکنامک سیکیورٹی**: اگر انڈیکسر آپ کے کیوری کا غلط جواب دیتا ہے تو GRT کی مقدار کھو سکتا ہے۔ اگر آپ اسے اہم کے طور پر نشان زد کرتے ہیں تو ہم بڑے داؤ والے انڈیکسرز کے لیے بہتر بنائیں گے. -4. **بجٹ** کے تحت، آپ فی کیوری کی زیادہ سے زیادہ قیمت کو اپ ڈیٹ کر سکیں گے۔ نوٹ کریں کہ ہمارے پاس اس کے لیے ایک متحرک ترتیب ہے جو کہ والیوم ڈسکاؤنٹنگ الگورتھم پر مبنی ہے۔ **ہم پہلے سے طے شدہ ترتیبات کو استعمال کرنے کی سختی سے سفارش کرتے ہیں جب تک کہ آپ کو کسی خاص مسئلہ کا سامنا نہ ہو۔** اس صفحہ پر آپ مختلف KPIs (GRT اور USD میں) بھی دیکھ سکتے ہیں: - - اوسط قیمت فی کیوری - - زیادہ سے زیادہ قیمت پر ناکام کیوریز - - سب سے مہنگی کیوری From 3ac3b9ea908da1a49ecf27b19484a9840973c1d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:58 -0400 Subject: [PATCH 0087/2326] New translations managing-api-keys.mdx (Vietnamese) --- .../pages/vi/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/vi/querying/managing-api-keys.mdx b/website/pages/vi/querying/managing-api-keys.mdx index ee7c274bca10..155710dd6849 100644 --- a/website/pages/vi/querying/managing-api-keys.mdx +++ b/website/pages/vi/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Managing your API keys Regardless of whether you’re a dapp developer or a subgraph developer, you’ll need to manage your API keys. This is important for you to be able to query subgraphs because API keys make sure the connections between application services are valid and authorized. This includes authenticating the end user and the device using the application. -The Studio will list out existing API keys, which will give you the ability to manage or delete them. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. The **Overview** section will allow you to: - Edit your key name @@ -15,12 +22,3 @@ The Studio will list out existing API keys, which will give you the ability to m 2. Under **Security**, you’ll be able to opt into security settings depending on the level of control you’d like to have over your API keys. In this section, you can: - View and manage the domain names authorized to use your API key - Assign subgraphs that can be queried with your API key -3. Under **Indexer Preference**, you’ll be able to set different preferences for Indexers who are indexing subgraphs that your API key is used for. You can assign up to 5 points for each of these: - - **Fastest Speed**: Time between the query and the response from an indexer. If you mark this as important we will optimize for fast indexers. - - **Lowest Price**: The amount paid per query. If you mark this as important we will optimize for the less expensive indexers. - - **Data Freshness**: How recent the latest block an indexer has processed for the subgraph you are querying. If you mark this as important we will optimize to find the indexers with the freshest data. - - **Economic Security**: The amount of GRT an indexer can lose if they respond incorrectly to your query. If you mark this as important we will optimize for indexers with a large stake. -4. Under **Budget**, you’ll be able to update the maximum price per query. Note that we have a dynamic setting for that that's based on a volume discounting algorithm. **We strongly recommend using the default settings unless you are experiencing a specific problem.** Otherwise, you can update it under "Set a custom maximum budget". On this page you can also view different KPIs (in GRT and USD): - - Average cost per query - - Failed queries over max price - - Most expensive query From 5e7cb466b34e2c81e29d1b070fd2e3ce8dd97dfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:59 -0400 Subject: [PATCH 0088/2326] New translations managing-api-keys.mdx (Marathi) --- .../pages/mr/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/mr/querying/managing-api-keys.mdx b/website/pages/mr/querying/managing-api-keys.mdx index 17538865c184..0048861e4fbc 100644 --- a/website/pages/mr/querying/managing-api-keys.mdx +++ b/website/pages/mr/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Managing your API keys तुम्ही dapp डेव्हलपर किंवा सबग्राफ डेव्हलपर असलात तरीही, तुम्हाला तुमच्या API की व्यवस्थापित कराव्या लागतील. तुमच्यासाठी सबग्राफ्स क्वेरी करण्यास सक्षम असणे महत्त्वाचे आहे कारण API की अनुप्रयोग सेवांमधील कनेक्शन वैध आणि अधिकृत असल्याची खात्री करतात. यात अंतिम वापरकर्ता आणि अनुप्रयोग वापरून डिव्हाइस प्रमाणीकृत करणे समाविष्ट आहे. -The Studio will list out existing API keys, which will give you the ability to manage or delete them. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. The **Overview** section will allow you to: - Edit your key name @@ -15,12 +22,3 @@ The Studio will list out existing API keys, which will give you the ability to m 2. **सुरक्षा** अंतर्गत, तुम्‍हाला तुमच्‍या API की वर असल्‍याच्‍या नियंत्रणच्‍या स्‍तरावर अवलंबून सुरक्षा सेटिंग्‍ज निवडण्‍यात सक्षम असाल. या विभागात, तुम्ही हे करू शकता: - View and manage the domain names authorized to use your API key - Assign subgraphs that can be queried with your API key -3. **इंडेक्सर प्राधान्य** अंतर्गत, तुमची API की वापरल्या जाणार्‍या सबग्राफ अनुक्रमित करणाऱ्या इंडेक्सर्ससाठी तुम्ही भिन्न प्राधान्ये सेट करू शकाल. तुम्ही यापैकी प्रत्येकासाठी 5 गुणांपर्यंत नियुक्त करू शकता: - - **वेगवान गती**: क्वेरी आणि इंडेक्सरकडून मिळालेला प्रतिसाद यामधील वेळ. तुम्ही हे महत्त्वाचे म्हणून चिन्हांकित केल्यास आम्ही जलद इंडेक्सर्ससाठी ऑप्टिमाइझ करू. - - **सर्वात कमी किंमत**: प्रति क्वेरी भरलेली रक्कम. तुम्ही हे महत्त्वाचे म्हणून चिन्हांकित केल्यास आम्ही कमी खर्चिक इंडेक्सर्ससाठी ऑप्टिमाइझ करू. - - **डेटा फ्रेशनेस**: तुम्ही क्वेरी करत असलेल्या सबग्राफसाठी इंडेक्सरने किती अलीकडील ब्लॉकवर प्रक्रिया केली आहे. जर तुम्ही हे महत्त्वाचे म्हणून चिन्हांकित केले तर आम्ही सर्वात नवीन डेटासह अनुक्रमणिका शोधण्यासाठी ऑप्टिमाइझ करू. - - **आर्थिक सुरक्षा**: इंडेक्सरने तुमच्या क्वेरीला चुकीचा प्रतिसाद दिल्यास GRT ची रक्कम गमावू शकते. तुम्ही हे महत्त्वाचे म्हणून चिन्हांकित केल्यास आम्ही मोठ्या भागभांडवलांसह इंडेक्सर्ससाठी ऑप्टिमाइझ करू. -4. **बजेट** अंतर्गत, तुम्ही प्रति क्वेरी कमाल किंमत अपडेट करू शकाल. लक्षात घ्या की आमच्याकडे त्यासाठी डायनॅमिक सेटिंग आहे जी व्हॉल्यूम डिस्काउंटिंग अल्गोरिदमवर आधारित आहे. **तुम्हाला विशिष्ट समस्या येत नाही तोपर्यंत आम्ही डीफॉल्ट सेटिंग्ज वापरण्याची जोरदार शिफारस करतो.** अन्यथा, तुम्ही "सानुकूल कमाल बजेट सेट करा" अंतर्गत ते अपडेट करू शकता. या पृष्ठावर तुम्ही भिन्न KPI (GRT आणि USD मध्ये) देखील पाहू शकता: - - Average cost per query - - Failed queries over max price - - Most expensive query From fe281b3ddca09dd525ac092c4d338888f4f39669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:27:59 -0400 Subject: [PATCH 0089/2326] New translations managing-api-keys.mdx (Hindi) --- .../pages/hi/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/hi/querying/managing-api-keys.mdx b/website/pages/hi/querying/managing-api-keys.mdx index 4d64e4c56aed..c43033b37605 100644 --- a/website/pages/hi/querying/managing-api-keys.mdx +++ b/website/pages/hi/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: अपनी एपीआई कुंजियों का प्रब चाहे आप डैप डेवलपर हों या सबग्राफ डेवलपर, आपको अपनी एपीआई कुंजियों को प्रबंधित करने की आवश्यकता होगी। आपके लिए सबग्राफ को क्वेरी करने में सक्षम होना महत्वपूर्ण है क्योंकि एपीआई कुंजियाँ सुनिश्चित करती हैं कि एप्लिकेशन सेवाओं के बीच कनेक्शन वैध और अधिकृत हैं। इसमें एप्लिकेशन का उपयोग करने वाले अंतिम उपयोगकर्ता और डिवाइस को प्रमाणित करना शामिल है। -स्टूडियो मौजूदा एपीआई कुंजियों को सूचीबद्ध करेगा, जो आपको उन्हें प्रबंधित करने या हटाने की क्षमता देगा। +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. **अवलोकन** अनुभाग आपको इसकी अनुमति देगा: - अपना कुंजी नाम संपादित करें @@ -15,12 +22,3 @@ title: अपनी एपीआई कुंजियों का प्रब 2. **सुरक्षा** के अंतर्गत, आप अपनी API कुंजियों पर नियंत्रण के स्तर के आधार पर सुरक्षा सेटिंग में शामिल होने में सक्षम होंगे। इस खंड में, आप कर सकते हैं: - अपनी API कुंजी का उपयोग करने के लिए प्राधिकृत डोमेन नाम देखें और प्रबंधित करें - सबग्राफ असाइन करें जिन्हें आपकी एपीआई कुंजी से पूछा जा सकता है -3. **इंडेक्सर वरीयता** के तहत, आप उन इंडेक्सर्स के लिए अलग-अलग प्राथमिकताएं सेट करने में सक्षम होंगे जो सबग्राफ को इंडेक्स कर रहे हैं जिसके लिए आपकी एपीआई कुंजी का उपयोग किया जाता है। आप इनमें से प्रत्येक के लिए अधिकतम 5 अंक निर्दिष्ट कर सकते हैं: - - **सबसे तेज़ गति**: किसी अनुक्रमणिका से क्वेरी और प्रतिक्रिया के बीच का समय. यदि आप इसे महत्वपूर्ण के रूप में चिन्हित करते हैं तो हम तेज़ अनुक्रमणकों के लिए अनुकूलन करेंगे। - - **न्यूनतम मूल्य**: प्रति प्रश्न भुगतान की गई राशि। यदि आप इसे महत्वपूर्ण के रूप में चिह्नित करते हैं तो हम कम खर्चीले अनुक्रमणकों के लिए अनुकूलन करेंगे। - - **डेटा फ्रेशनेस**: आपके द्वारा क्वेरी किए जा रहे सबग्राफ के लिए इंडेक्सर ने नवीनतम ब्लॉक को कैसे संसाधित किया है। यदि आप इसे महत्वपूर्ण के रूप में चिन्हित करते हैं तो हम नवीनतम डेटा के साथ इंडेक्सर्स को खोजने के लिए अनुकूलित करेंगे। - - **Economic Security**: The amount of GRT an indexer can lose if they respond incorrectly to your query. If you mark this as important we will optimize for indexers with a large stake. -4. **बजट** के अंतर्गत, आप प्रति क्वेरी अधिकतम मूल्य अपडेट कर सकेंगे। ध्यान दें कि हमारे पास इसके लिए एक डायनामिक सेटिंग है जो वॉल्यूम डिस्काउंटिंग एल्गोरिथम पर आधारित है। **जब तक आप किसी विशिष्ट समस्या का सामना नहीं कर रहे हैं, तब तक हम डिफ़ॉल्ट सेटिंग्स का उपयोग करने की जोरदार अनुशंसा करते हैं।** अन्यथा, आप इसे "कस्टम अधिकतम बजट सेट करें" के अंतर्गत अपडेट कर सकते हैं। इस पृष्ठ पर आप विभिन्न KPI (GRT और USD में) भी देख सकते हैं: - - औसत मूल्य प्रति क्वेरी - - अधिकतम मूल्य पर विफल क्वेरी - - सबसे महंगी पूछताछ From 7946b0fee6081d9a5459ceeb18267806fa24e6c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:00 -0400 Subject: [PATCH 0090/2326] New translations managing-api-keys.mdx (Yoruba) --- .../pages/yo/querying/managing-api-keys.mdx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/website/pages/yo/querying/managing-api-keys.mdx b/website/pages/yo/querying/managing-api-keys.mdx index ee7c274bca10..155710dd6849 100644 --- a/website/pages/yo/querying/managing-api-keys.mdx +++ b/website/pages/yo/querying/managing-api-keys.mdx @@ -4,7 +4,14 @@ title: Managing your API keys Regardless of whether you’re a dapp developer or a subgraph developer, you’ll need to manage your API keys. This is important for you to be able to query subgraphs because API keys make sure the connections between application services are valid and authorized. This includes authenticating the end user and the device using the application. -The Studio will list out existing API keys, which will give you the ability to manage or delete them. +The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: + +- Rename API key +- Regenerate API key +- Delete API key +- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). + +You can click on an individual API key to view the Details page: 1. The **Overview** section will allow you to: - Edit your key name @@ -15,12 +22,3 @@ The Studio will list out existing API keys, which will give you the ability to m 2. Under **Security**, you’ll be able to opt into security settings depending on the level of control you’d like to have over your API keys. In this section, you can: - View and manage the domain names authorized to use your API key - Assign subgraphs that can be queried with your API key -3. Under **Indexer Preference**, you’ll be able to set different preferences for Indexers who are indexing subgraphs that your API key is used for. You can assign up to 5 points for each of these: - - **Fastest Speed**: Time between the query and the response from an indexer. If you mark this as important we will optimize for fast indexers. - - **Lowest Price**: The amount paid per query. If you mark this as important we will optimize for the less expensive indexers. - - **Data Freshness**: How recent the latest block an indexer has processed for the subgraph you are querying. If you mark this as important we will optimize to find the indexers with the freshest data. - - **Economic Security**: The amount of GRT an indexer can lose if they respond incorrectly to your query. If you mark this as important we will optimize for indexers with a large stake. -4. Under **Budget**, you’ll be able to update the maximum price per query. Note that we have a dynamic setting for that that's based on a volume discounting algorithm. **We strongly recommend using the default settings unless you are experiencing a specific problem.** Otherwise, you can update it under "Set a custom maximum budget". On this page you can also view different KPIs (in GRT and USD): - - Average cost per query - - Failed queries over max price - - Most expensive query From 8fb5e443e1dd9ac7f246891f89a6a75ca4c28455 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:01 -0400 Subject: [PATCH 0091/2326] New translations about.mdx (Romanian) --- website/pages/ro/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ro/about.mdx b/website/pages/ro/about.mdx index 67c438952abb..8828bb922110 100644 --- a/website/pages/ro/about.mdx +++ b/website/pages/ro/about.mdx @@ -10,17 +10,17 @@ The Graph is a decentralized protocol for indexing and querying blockchain data. Projects with complex smart contracts like [Uniswap](https://uniswap.org/) and NFTs initiatives like [Bored Ape Yacht Club](https://boredapeyachtclub.com/) store data on the Ethereum blockchain, making it really difficult to read anything other than basic data directly from the blockchain. -In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply, as these read operations are programmed directly into the smart contract, but more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are not possible. For example, if we wanted to query for apes that are owned by a certain address, and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. Even for these types of relatively simple questions, it would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. You could also build out your own server, process the transactions there, save them to a database, and build an API endpoint on top of it all in order to query the data. However, this option is [resource intensive](/network/benefits/), needs maintenance, presents a single point of failure, and breaks important security properties required for decentralization. **Indexing blockchain data is really, really hard.** -Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further, and make it not just time consuming but conceptually hard to retrieve correct query results from blockchain data. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -The Graph solves this with a decentralized protocol that indexes and enables the performant and efficient querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## How The Graph Works @@ -42,6 +42,6 @@ The flow follows these steps: ## Next Steps -In the following sections we will go into more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Before you start writing your own subgraph, you might want to have a look at the Graph Explorer and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 263f60101ba13b255ab54c0239bdf1f847bd1311 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:02 -0400 Subject: [PATCH 0092/2326] New translations about.mdx (French) --- website/pages/fr/about.mdx | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/fr/about.mdx b/website/pages/fr/about.mdx index c545f3e026ce..ded4167cf102 100644 --- a/website/pages/fr/about.mdx +++ b/website/pages/fr/about.mdx @@ -1,26 +1,26 @@ --- -title: À propos du Graph +title: À propos de The Graph --- Cette page expliquera ce qu'est The Graph et comment vous pouvez commencer. -## What is The Graph? +## Qu’est-ce que The Graph ? -The Graph is a decentralized protocol for indexing and querying blockchain data. The Graph makes it possible to query data that is difficult to query directly. +The Graph est un protocole décentralisé pour l'indexation et l'interrogation de données blockchain. The Graph permet d'interroger des données qui sont difficiles à interroger directement. Les projets avec des contrats intelligents complexes comme [Uniswap](https://uniswap.org/) et des projets NFT comme [Bored Ape](https://boredapeyachtclub.com/) Yacht Club stockent des données sur la blockchain Ethereum. La façon dont ces données sont stockées rend leur lecture difficile au-delà de quelques informations simples. -Dans le cas du Bored Ape Yacht Club, nous pouvons effectuer des opérations de lecture de base sur [le contrat](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code), comme obtenir le propriétaire d'un certain singe, obtenir l'URI du contenu d'un singe en fonction de son identifiant ou de l'offre totale. , car ces opérations de lecture sont programmées directement dans le contrat intelligent, mais des requêtes et des opérations plus avancées du monde réel telles que l'agrégation, la recherche, les relations et le filtrage non trivial ne sont pas possibles. Par exemple, si nous souhaitions rechercher les singes appartenant à une certaine adresse et filtrer selon l'une de ses caractéristiques, nous ne serions pas en mesure d'obtenir cette information en interagissant directement avec le contrat lui-même. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -Pour obtenir ces données, vous devez traiter chaque événement de [`transfert`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) jamais émis, lire les métadonnées d'IPFS à l'aide de l'ID de jeton et du hachage IPFS, puis les agréger. Même pour ce type de questions relativement simples, il faudrait **heures, voire jours** à une application décentralisée (dapp) exécutée dans un navigateur pour obtenir une réponse. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. -You could also build out your own server, process the transactions there, save them to a database, and build an API endpoint on top of it all in order to query the data. However, this option is [resource intensive](/network/benefits/), needs maintenance, presents a single point of failure, and breaks important security properties required for decentralization. +Vous pouvez également créer votre propre serveur, y traiter les transactions, les enregistrer dans une base de données et créer un point de terminaison d'API par-dessus tout cela afin d'interroger les données. Cependant, cette option est [consommatrice de ressources](/network/benefits/), nécessite une maintenance, présente un point de défaillance unique et brise d'importantes propriétés de sécurité requises pour la décentralisation. **L’indexation des données blockchain est vraiment très difficile.** -Les propriétés de la blockchain telles que la finalité, les réorganisations de chaîne ou les blocs non verrouillés compliquent davantage ce processus et rendent non seulement la récupération de résultats de requête corrects à partir des données de la blockchain, mais aussi conceptuellement difficile. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -The Graph résout ce problème avec un protocole décentralisé qui indexe et permet l'interrogation performante et efficace des données blockchain. Ces API (les « sous-graphes » indexés) peuvent ensuite être interrogées avec une API GraphQL standard. Il existe aujourd'hui un service hébergé ainsi qu'un protocole décentralisé avec les mêmes capacités. Les deux s'appuient sur l'implémentation open source de [Graph Node](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## Fonctionnement du Graph @@ -30,18 +30,18 @@ Une fois que vous avez écrit un `manifeste de subgraph`, vous utilisez le Graph Ce diagramme donne plus de détails sur le flux de données une fois qu'un manifeste de subgraph a été déployé, traitant des transactions Ethereum : -![A graphic explaining how The Graph uses Graph Node to serve queries to data consumers](/img/graph-dataflow.png) +![Un graphique expliquant comment The Graph utilise Graph Node pour répondre aux requêtes des consommateurs de données](/img/graph-dataflow.png) La description des étapes du flux : -1. A dapp adds data to Ethereum through a transaction on a smart contract. +1. Une dapp ajoute des données à Ethereum via une transaction sur un contrat intelligent. 2. Le contrat intelligent va alors produire un ou plusieurs événements lors du traitement de la transaction. 3. Parallèlement, Le nœud de The Graph scanne continuellement Ethereum à la recherche de nouveaux blocs et de nouvelles données intéressantes pour votre subgraph. 4. The Graph Node trouve alors les événements Ethereum d'intérêt pour votre subgraph dans ces blocs et vient exécuter les corrélations correspondantes que vous avez fournies. Le gestionnaire de corrélation se définit comme un module WASM qui crée ou met à jour les entités de données que le nœud de The Graph stocke en réponse aux événements Ethereum. -5. The dapp queries the Graph Node for data indexed from the blockchain, using the node's [GraphQL endpoint](https://graphql.org/learn/). The Graph Node in turn translates the GraphQL queries into queries for its underlying data store in order to fetch this data, making use of the store's indexing capabilities. The dapp displays this data in a rich UI for end-users, which they use to issue new transactions on Ethereum. The cycle repeats. +5. Le dapp interroge le Graph Node pour des données indexées à partir de la blockchain, à l'aide du [point de terminaison GraphQL](https://graphql.org/learn/) du noeud. À son tour, le Graph Node traduit les requêtes GraphQL en requêtes pour sa base de données sous-jacente afin de récupérer ces données, en exploitant les capacités d'indexation du magasin. Le dapp affiche ces données dans une interface utilisateur riche pour les utilisateurs finaux, qui s'en servent pour émettre de nouvelles transactions sur Ethereum. Le cycle se répète. ## Les Étapes suivantes -Dans les sections suivantes, nous expliquerons plus en détail comment définir les subgraphs, comment les déployer et comment interroger les données à partir des index que Le nœud de The Graph construit. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Avant de commencer à écrire votre propre subgraph, vous voudrez peut-être jeter un coup d'œil à « Graph Explorer »The Graph et explorer certains des subgraphs qui ont déjà été déployés. La page de chaque subgraph contient un terrain de jeu qui vous permet d'interroger les données de ce subgraph avec GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From a83938b9fe59c4d4e351b33d10beea5ba585092b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:03 -0400 Subject: [PATCH 0093/2326] New translations about.mdx (Spanish) --- website/pages/es/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/es/about.mdx b/website/pages/es/about.mdx index f6956a33d9e3..c745dcedd131 100644 --- a/website/pages/es/about.mdx +++ b/website/pages/es/about.mdx @@ -10,17 +10,17 @@ The Graph es un protocolo descentralizado que permite indexar y consultar datos Los proyectos con contratos inteligentes complejos como [Uniswap](https://uniswap.org/) y las iniciativas de NFTs como [Bored Ape Yacht Club](https://boredapeyachtclub.com/) almacenan los datos en la blockchain de Ethereum, lo que hace realmente difícil leer algo más que los datos básicos directamente desde la blockchain. -En el caso de Bored Ape Yacht Club, podemos realizar operaciones de lecturas básicas en [su contrato](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code), para obtener el propietario de un determinado Ape, obtener el URI de un Ape en base a su ID, o el supply total, ya que estas operaciones de lectura están programadas directamente en el contrato inteligente, pero no son posibles las consultas y operaciones más avanzadas del mundo real como la adición, consultas, las relaciones y el filtrado no trivial. Por ejemplo, si quisiéramos consultar los Apes que son propiedad de una dirección en concreto, y filtrar por una de sus características, no podríamos obtener esa información interactuando directamente con el contrato. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -Para obtener estos datos, tendríamos que procesar cada uno de los eventos de [`transferencia`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) que se hayan emitido, leer los metadatos de IPFS utilizando el ID del token y el hash del IPFS, con el fin de luego agregarlos. Incluso para este tipo de preguntas relativamente sencillas, una aplicación descentralizada (dapp) que se ejecutara en un navegador tardaría **horas o incluso días** en obtener una respuesta. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. También podrías crear tu propio servidor, procesar las transacciones allí, guardarlas en una base de datos y construir un punto de conexión de API encima de todo eso para consultar los datos. Sin embargo, esta opción [requiere muchos recursos](/network/benefits/), necesita mantenimiento, presenta un único punto de fallo y compromete las propiedades de seguridad importantes necesarias para la descentralización. **Indexar los datos de la blockchain es muy, muy difícil.** -Las propiedades de la blockchain, su finalidad, la reorganización de la cadena o los bloques que están por cerrarse, complican aún más este proceso y hacen que no solo se consuma tiempo, sino que sea conceptualmente difícil recuperar los resultados correctos proporcionados por la blockchain. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -The Graph resuelve esto con un protocolo descentralizado que indexa y permite una consulta eficiente y de alto rendimiento para recibir los datos de la blockchain. Estas APIs ("subgrafos" indexados) pueden consultarse después con una API de GraphQL estándar. Actualmente, existe un servicio alojado (hosted) y un protocolo descentralizado con las mismas capacidades. Ambos están respaldados por la implementación de código abierto de [Graph Node](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## ¿Cómo funciona The Graph? @@ -42,6 +42,6 @@ El flujo sigue estos pasos: ## Próximos puntos -En las siguientes secciones entraremos en más detalles sobre cómo definir subgrafos, cómo deployarlos y cómo consultar los datos de los índices que construye el Graph Node. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Antes de que empieces a escribir tu propio subgrafo, es posible que debas echar un vistazo a The Graph Explorer para explorar algunos de los subgrafos que ya han sido deployados. La página de cada subgrafo contiene un playground que te permite consultar los datos de ese subgrafo usando GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From d2b48bb06fd0ce54774a55d853012a436fba60fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:04 -0400 Subject: [PATCH 0094/2326] New translations about.mdx (Arabic) --- website/pages/ar/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ar/about.mdx b/website/pages/ar/about.mdx index 6f3c43739c43..7ac49dc47560 100644 --- a/website/pages/ar/about.mdx +++ b/website/pages/ar/about.mdx @@ -10,17 +10,17 @@ The Graph is a decentralized protocol for indexing and querying blockchain data. المشاريع ذات العقود الذكية المعقدة مثل [ Uniswap ](https://uniswap.org/) و NFTs مثل [ Bored Ape Yacht Club ](https://boredapeyachtclub.com/) تقوم بتخزين البيانات على Ethereum blockchain ، مما يجعل من الصعب قراءة أي شيء بشكل مباشر عدا البيانات الأساسية من blockchain. -في حالة Bored Ape Yacht Club ، يمكننا إجراء قراءات أساسية على [ العقد ](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) مثل الحصول على مالك Ape معين ،أو الحصول على محتوى URI لـ Ape وذلك بناء على ال ID الخاص به، أو إجمالي العرض ، حيث تتم برمجة عمليات القراءة هذه بشكل مباشر في العقد الذكي ، ولكن في العالم الحقيقي هناك استعلامات وعمليات أكثر تقدمًا غير ممكنة مثل التجميع والبحث والعلاقات والفلترة الغير بسيطة. فمثلا، إذا أردنا الاستعلام عن Apes مملوكة لعنوان معين ،وفلترته حسب إحدى خصائصه، فلن نتمكن من الحصول على تلك المعلومات من خلال التفاعل بشكل مباشر مع العقد نفسه. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -للحصول على هذه البيانات، يجب معالجة كل [`التحويلات`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) التي حدثت، وقراءة البيانات الوصفية من IPFS باستخدام Token ID و IPFS hash، ومن ثم تجميعه. حتى بالنسبة لهذه الأنواع من الأسئلة البسيطة نسبيا ، قد يستغرق الأمر **ساعات أو حتى أيام** لتطبيق لامركزي (dapp) يعمل في متصفح للحصول على إجابة. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. You could also build out your own server, process the transactions there, save them to a database, and build an API endpoint on top of it all in order to query the data. However, this option is [resource intensive](/network/benefits/), needs maintenance, presents a single point of failure, and breaks important security properties required for decentralization. **إن فهرسة بيانات الـ blockchain أمر صعب.** -خصائص الـ Blockchain مثل finality أو chain reorganizations أو uncled blocks تعقد هذه العملية بشكل أكبر ، ولن تجعلها مضيعة للوقت فحسب ، بل أيضا تجعلها من الصعب من الناحية النظرية جلب نتائج الاستعلام الصحيحة من بيانات الـ blockchain. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -يقوم The Graph بحل هذا الأمر من خلال بروتوكول لامركزي والذي يقوم بفهرسة والاستعلام عن بيانات الـ blockchain بكفاءة عالية. حيث يمكن بعد ذلك الاستعلام عن APIs (الـ "subgraphs" المفهرسة) باستخدام GraphQL API قياسية. اليوم ، هناك خدمة مستضافة بالإضافة إلى بروتوكول لامركزي بنفس القدرات. كلاهما مدعوم بتطبيق مفتوح المصدر لـ [ Graph Node ](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## كيف يعمل The Graph @@ -42,6 +42,6 @@ This diagram gives more detail about the flow of data once a subgraph manifest h ## الخطوات التالية -في الأقسام التالية سوف نخوض في المزيد من التفاصيل حول كيفية تعريف الـ subgraphs ، وكيفية نشرها ،وكيفية الاستعلام عن البيانات من الفهارس التي يبنيها الـ Graph Node. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -قبل أن تبدأ في كتابة الـ subgraph الخاص بك ، قد ترغب في إلقاء نظرة على The Graph Explorer واستكشاف بعض الـ subgraphs التي تم نشرها. تحتوي الصفحة الخاصة بكل subgraph على playground والذي يتيح لك الاستعلام عن بيانات الـ subgraph باستخدام GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From c485176ad8bbfe7a4bb8182250a1b8ab9c9a5779 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:05 -0400 Subject: [PATCH 0095/2326] New translations about.mdx (Czech) --- website/pages/cs/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/cs/about.mdx b/website/pages/cs/about.mdx index 3085000b67c4..5e95320d27d4 100644 --- a/website/pages/cs/about.mdx +++ b/website/pages/cs/about.mdx @@ -10,17 +10,17 @@ Grafu je decentralizovaný protokol pro indexování a dotazování dat blockcha Projekty se složitými chytrými smlouvami, jako je [Uniswap](https://uniswap.org/), a iniciativy NFT, jako je [Bored Ape Yacht Club](https://boredapeyachtclub.com/), ukládají data do blockchainu Etherea, takže je opravdu obtížné číst cokoli jiného než základní data přímo z blockchainu. -V případě Bored Ape Yacht Club můžeme provádět základní operace čtení [smlouvy](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code), jako je získání vlastníka určitého Ape, získání URI obsahu Ape na základě jeho ID nebo celkové zásoby, protože tyto operace čtení jsou naprogramovány přímo v chytré smlouvě, ale pokročilejší dotazy a operace v reálném světě, jako je agregace, vyhledávání, vztahy a netriviální filtrování, nejsou možné. Pokud bychom se například chtěli zeptat na opice, které vlastní určitá adresa, a filtrovat je podle jedné z jejich charakteristik, nebyli bychom schopni tuto informaci získat přímou interakcí se samotným kontraktem. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -Abyste tato data získali, museli byste zpracovat každou jednotlivou událost [`přenosu`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746), kterou jste kdy odeslali, přečíst metadata ze systému IPFS pomocí ID tokenu a hashe IPFS a poté je agregovat. I u těchto typů relativně jednoduchých otázek by decentralizované aplikaci (dapp) běžící v prohlížeči trvalo **hodiny nebo dokonce dny**, než by získala odpověď. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. Můžete si také vytvořit vlastní server, zpracovávat na něm transakce, ukládat je do databáze a nad tím vším vytvořit koncový bod API pro dotazování na data. Tato možnost je však [náročná na zdroje](/network/benefits/), vyžaduje údržbu, představuje jediný bod selhání a porušuje důležité bezpečnostní vlastnosti potřebné pro decentralizaci. **Indexování blockchainových dat je opravdu, ale opravdu těžké.** -Vlastnosti blockchainu, jako je konečnost, reorganizace řetězce nebo neuzavřené bloky, tento proces dále komplikují a způsobují nejen časovou náročnost, ale i koncepční obtížnost získání správných výsledků dotazů z dat blockchainu. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -Graf to řeší decentralizovaným protokolem, který indexuje a umožňuje výkonné a efektivní dotazování na data blockchainu. Na tato data (indexované "podgrafy") se pak lze dotazovat pomocí standardního GraphQL API. Dnes existuje hostovaná služba i decentralizovaný protokol se stejnými možnostmi. Za oběma stojí open source implementace [Uzel grafu](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## Jak funguje graf @@ -42,6 +42,6 @@ Průběh se řídí těmito kroky: ## Další kroky -V následujících částech se budeme podrobněji zabývat tím, jak definovat podgrafy, jak je nasadit a jak se dotazovat na data z indexů, které Uzel grafu vytváří. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Before you start writing your own subgraph, you might want to have a look at the Graph Explorer and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. +Než začnete psát vlastní podgraf, můžete se podívat do [Graph Explorer](https://thegraph.com/explorer) a prozkoumat některé z již nasazených podgrafů. Stránka každého podgrafu obsahuje hřiště, které vám umožní dotazovat se na data daného podgrafu pomocí GraphQL. From d37d87e9730da7a4bb36fe5cda21b733776e9a8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:06 -0400 Subject: [PATCH 0096/2326] New translations about.mdx (German) --- website/pages/de/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/de/about.mdx b/website/pages/de/about.mdx index c1f7c886900f..36c6a49f8fbc 100644 --- a/website/pages/de/about.mdx +++ b/website/pages/de/about.mdx @@ -10,17 +10,17 @@ The Graph is a decentralized protocol for indexing and querying blockchain data. Projects with complex smart contracts like [Uniswap](https://uniswap.org/) and NFTs initiatives like [Bored Ape Yacht Club](https://boredapeyachtclub.com/) store data on the Ethereum blockchain, making it really difficult to read anything other than basic data directly from the blockchain. -In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply, as these read operations are programmed directly into the smart contract, but more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are not possible. For example, if we wanted to query for apes that are owned by a certain address, and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. Even for these types of relatively simple questions, it would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. You could also build out your own server, process the transactions there, save them to a database, and build an API endpoint on top of it all in order to query the data. However, this option is [resource intensive](/network/benefits/), needs maintenance, presents a single point of failure, and breaks important security properties required for decentralization. **Indexing blockchain data is really, really hard.** -Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further, and make it not just time consuming but conceptually hard to retrieve correct query results from blockchain data. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -The Graph solves this with a decentralized protocol that indexes and enables the performant and efficient querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## How The Graph Works @@ -42,6 +42,6 @@ The flow follows these steps: ## Next Steps -In the following sections we will go into more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Before you start writing your own subgraph, you might want to have a look at the Graph Explorer and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 3282cb388042423d6f6d3dc1e3dae34533e79c65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:07 -0400 Subject: [PATCH 0097/2326] New translations about.mdx (Italian) --- website/pages/it/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/it/about.mdx b/website/pages/it/about.mdx index 2eedb3e8b80a..6c93da5503e5 100644 --- a/website/pages/it/about.mdx +++ b/website/pages/it/about.mdx @@ -10,17 +10,17 @@ Il Graph è un protocollo decentralizzato per l'indicizzazione e query delle dat I progetti con smart contract complessi come [Uniswap](https://uniswap.org/) e le iniziative NFT come [Bored Ape Yacht Club](https://boredapeyachtclub.com/) memorizzano i dati sulla blockchain di Ethereum, rendendo davvero difficile leggere qualcosa di diverso dai dati di base direttamente dalla blockchain. -Nel caso di Bored Ape Yacht Club, possiamo eseguire operazioni di lettura di base sul [contratto](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code), come ottenere il proprietario di una certa Ape, l'URI del contenuto di un'Ape in base al suo ID o la fornitura totale, poiché queste operazioni di lettura sono programmate direttamente nello smart contract, ma non sono possibili query e operazioni più avanzate del mondo reale, come l'aggregazione, la ricerca, le relazioni e il filtraggio non banale. Ad esempio, se volessimo effettuare query delle scimmie possedute da un certo indirizzo e filtrare in base a una delle sue caratteristiche, non saremmo in grado di ottenere queste informazioni interagendo direttamente con il contratto stesso. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -Per ottenere questi dati, si dovrebbe elaborare ogni singolo evento di [`transferimento`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) mai emesso, leggere i metadati da IPFS utilizzando l'ID del token e l'hash di IPFS, e poi aggregarli. Anche per questo tipo di domande relativamente semplici, ci vorrebbero **ore o addirittura giorni** per un'applicazione decentralizzata (dapp) in esecuzione in un browser per ottenere una risposta. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. Si potrebbe anche creare un proprio server, elaborare le transazioni, salvarle in un database e creare un endpoint API per effettuare query dai dati. Tuttavia, questa opzione richiede [molte risorse](/network/benefits/), necessita di manutenzione, presenta un singolo punto di guasto e infrange importanti proprietà di sicurezza necessarie per la decentralizzazione. **L'indicizzazione dei dati della blockchain è molto, molto difficile.** -Le proprietà della blockchain, come la finalità, le riorganizzazioni della chain o i blocchi non selezionati, complicano ulteriormente questo processo e rendono non solo dispendioso in termini di tempo, ma anche concettualmente difficile recuperare i risultati corretti delle query dai dati della blockchain. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -Il Graph risolve questo problema con un protocollo decentralizzato che indicizza e consente di effettuare query in modo efficiente e performante i dati della blockchain. Queste API (i "subgraph" indicizzati) possono essere interrogate con un'API GraphQL standard. Oggi esiste un hosted service e un protocollo decentralizzato con le stesse funzionalità. Entrambi sono supportati dall'implementazione open source di [Graph Node](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## Come funziona il Graph @@ -42,6 +42,6 @@ Il flusso segue questi passi: ## I prossimi passi -Nelle sezioni che seguono si approfondirà come definire i subgraph, come distribuirli e come effettuare query dai dati dagli indici creati da Graph Node. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Prima di iniziare a scrivere il proprio subgraph, si potrebbe dare un'occhiata al Graph Explorer ed esplorare alcuni dei subgraph già distribuiti. La pagina di ogni subgraph contiene un playground che consente di effettuare query dai dati di quel subgraph con GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 202bc97eee1bf6fd8718d33f329c50588afecc7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:08 -0400 Subject: [PATCH 0098/2326] New translations about.mdx (Japanese) --- website/pages/ja/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ja/about.mdx b/website/pages/ja/about.mdx index 42376568d3fb..564163774630 100644 --- a/website/pages/ja/about.mdx +++ b/website/pages/ja/about.mdx @@ -10,17 +10,17 @@ title: The Graphについて [Uniswap](https://uniswap.org/)のような複雑なスマートコントラクトを持つプロジェクトや、[Bored Ape Yacht Club](https://boredapeyachtclub.com/) のような NFT の取り組みでは、Ethereum のブロックチェーンにデータを保存しているため、基本的なデータ以外をブロックチェーンから直接読み取ることは実に困難です。 -Bored Ape Yacht Club の場合、ある Ape の所有者を取得したり、ID に基づいて Ape のコンテンツ URI を取得したり、総供給量を取得したりといった基本的な読み取り操作は、 [スマートコントラクト](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) に直接プログラムされているので実行できますが、集約、検索、連携、フィルタリングなど、より高度な実世界のクエリや操作はできません。 例えば、あるアドレスが所有している NFT をクエリし、その特徴の 1 つでフィルタリングしたいと思っても、コントラクト自体と直接やりとりしてその情報を得ることはできません。 +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -このデータを得るためには、これまでに発行されたすべての [`転送`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) イベントを処理し、トークン ID と IPFS ハッシュを使って IPFS からメタデータを読み取り、それを集約する必要があります。 このような比較的簡単な質問であっても、ブラウザ上で動作する分散型アプリケーション(dapp)が回答を得るには**数時間から数日**かかるでしょう。 +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. 独自のサーバーを構築し、そこでトランザクションを処理してデータベースに保存し、その上に API エンドポイントを構築してデータをクエリすることもできます。ただし、このオプションは[リソース集約的](/network/benefits/)であり、メンテナンスが必要であり、単一障害点が存在し、分散化に必要な重要なセキュリティ プロパティが壊れます。 **ブロックチェーンデータのインデックス作成は非常に困難です。** -フィナリティ、チェーンの再編成、アンクルドブロックなどのブロックチェーンの特性は、このプロセスをさらに複雑にし、ブロックチェーンデータから正しいクエリ結果を取り出すことは、時間がかかるだけでなく、概念的にも困難です。 +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -The Graph は、ブロックチェーンデータにインデックスを付けて、パフォーマンスの高い効率的なクエリを可能にする分散型プロトコルでこれを解決します。 そして、これらの API(インデックス化された「サブグラフ」)は、標準的な GraphQL API でクエリを行うことができます。 現在、同じ機能を持つホストテッドサービスと、分散型のプロトコルがあります。 どちらも、オープンソースで実装されている [Graph Node](https://github.com/graphprotocol/graph-node).によって支えられています。 +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## The Graph の仕組み @@ -42,6 +42,6 @@ The Graph は、サブグラフマニフェストと呼ばれるサブグラフ ## 次のステップ -次のセクションでは、サブグラフを定義する方法、サブグラフをデプロイする方法、Graph Node が構築したインデックスからデータをクエリする方法について、さらに詳しく説明します。 +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -独自のサブグラフを書き始める前に、グラフエクスプローラを見て、既にデプロイされているサブグラフをいくつか見てみるといいでしょう。 各サブグラフのページには、そのサブグラフのデータを GraphQL でクエリするためのプレイグラウンドが用意されています。 +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 44dc0030c9803eb595fa61508e0a346de842700a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:09 -0400 Subject: [PATCH 0099/2326] New translations about.mdx (Korean) --- website/pages/ko/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ko/about.mdx b/website/pages/ko/about.mdx index c1f7c886900f..36c6a49f8fbc 100644 --- a/website/pages/ko/about.mdx +++ b/website/pages/ko/about.mdx @@ -10,17 +10,17 @@ The Graph is a decentralized protocol for indexing and querying blockchain data. Projects with complex smart contracts like [Uniswap](https://uniswap.org/) and NFTs initiatives like [Bored Ape Yacht Club](https://boredapeyachtclub.com/) store data on the Ethereum blockchain, making it really difficult to read anything other than basic data directly from the blockchain. -In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply, as these read operations are programmed directly into the smart contract, but more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are not possible. For example, if we wanted to query for apes that are owned by a certain address, and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. Even for these types of relatively simple questions, it would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. You could also build out your own server, process the transactions there, save them to a database, and build an API endpoint on top of it all in order to query the data. However, this option is [resource intensive](/network/benefits/), needs maintenance, presents a single point of failure, and breaks important security properties required for decentralization. **Indexing blockchain data is really, really hard.** -Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further, and make it not just time consuming but conceptually hard to retrieve correct query results from blockchain data. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -The Graph solves this with a decentralized protocol that indexes and enables the performant and efficient querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## How The Graph Works @@ -42,6 +42,6 @@ The flow follows these steps: ## Next Steps -In the following sections we will go into more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Before you start writing your own subgraph, you might want to have a look at the Graph Explorer and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 7fb518947c42b2616c8c7f5e33e8663a61408369 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:10 -0400 Subject: [PATCH 0100/2326] New translations about.mdx (Dutch) --- website/pages/nl/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/nl/about.mdx b/website/pages/nl/about.mdx index 910af7c90dfc..bebff0a938a1 100644 --- a/website/pages/nl/about.mdx +++ b/website/pages/nl/about.mdx @@ -10,17 +10,17 @@ The Graph is a decentralized protocol for indexing and querying blockchain data. Projects with complex smart contracts like [Uniswap](https://uniswap.org/) and NFTs initiatives like [Bored Ape Yacht Club](https://boredapeyachtclub.com/) store data on the Ethereum blockchain, making it really difficult to read anything other than basic data directly from the blockchain. -In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply, as these read operations are programmed directly into the smart contract, but more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are not possible. For example, if we wanted to query for apes that are owned by a certain address, and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. Even for these types of relatively simple questions, it would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. You could also build out your own server, process the transactions there, save them to a database, and build an API endpoint on top of it all in order to query the data. However, this option is [resource intensive](/network/benefits/), needs maintenance, presents a single point of failure, and breaks important security properties required for decentralization. **Indexing blockchain data is really, really hard.** -Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further, and make it not just time consuming but conceptually hard to retrieve correct query results from blockchain data. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -The Graph solves this with a decentralized protocol that indexes and enables the performant and efficient querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## How The Graph Works @@ -42,6 +42,6 @@ The flow follows these steps: ## Next Steps -In the following sections we will go into more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Before you start writing your own subgraph, you might want to have a look at the Graph Explorer and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 412ac66ff117864bd8d0755e614c26bf75d43bd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:10 -0400 Subject: [PATCH 0101/2326] New translations about.mdx (Polish) --- website/pages/pl/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/pl/about.mdx b/website/pages/pl/about.mdx index e2726962f0d0..bc56c6ce8854 100644 --- a/website/pages/pl/about.mdx +++ b/website/pages/pl/about.mdx @@ -10,17 +10,17 @@ The Graph jest zdecentralizowanym protokołem ideksującym dane na blockchainie Projekty wykorzystujące kompleksowe smart kontrakty jak [Uniswap](https://uniswap.org/) i inicjatywy NFT jak [Bored Ape Yacht Club](https://boredapeyachtclub.com/) przechowują dane na blockchainie Ethereum, co sprawia, że bardzo trudno jest odczytać cokolwiek poza bardzo podstawowymi danymi dezpośrednio z danej sieci blockchain. -W przypadku inicjatywy Bored Ape Yacht Club, możemy wykonać podstawowe operacje odczytania przez [kontrakt](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) jak np. znalezienie posiadacza konkretnej małpy (Ape), adresu URI małpy z jej numeru ID, czy informację o całkowitej podaży, ponieważ te informacje są zaprogramowane bezpośrednio w smart kontrakcie, ale już bardziej zaawansowane zapytania real-world i operacje takie jak agregacja, wyszukiwanie, zależności i niebanalne filtrowanie nie będą możliwe. Np. jeśli chcielibyśmy stworzyć zapytanie o małpy, które należą do danego adresu i filtrować pojedyńczo każdą ich cechę, nie bylibyśmy w stanie otrzymać tej informacji przez bezpośrednią interakcję z samym smart kontraktem. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -Aby otrzymać te dane trzeba byłoby przeprocesować każdy pojedyńczy [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) lub wydarzenie, które kiedykolwiek miało miejsce, zczytać dane z protokołu IPFS używając Token ID i IPFS hash, by w końcu dane te zagregować. Uzyskanie odpowiedzi nawet na tego typu, relatywnie proste pytania, zajęłoby **wiele godzin, a nawet dni** dla zdecentralizowanej aplikacji (dapp) działającej w przeglądarce. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. Możesz równieź zbudować własny serwer, przetwarzać na nim tranzakcje, zapisaywać je w bazie danych i wykorzystywać punkt końcowy API w celu tworzenia zapytań o dane. Jednak ta opcja [wymaga dużych nakładów finansowych](/network/benefits/), regularnej konserwacji i utrzymania, a mimo to stanowi ona pojedyńczy punkt podatności na awarię i narusza warunki bezpieczeństwa wymagane w procesie decentralizacji. **Indeksowanie danych na blockchainie jest bardzo, bardzo trudne.** -Właściwości sieci blockchain jak ich nieodwołalność, reorganizacja łańcucha, czy tzw. "uncle blocks" komplikują ten proces i sprawiają, że jest on nie tylko sam w sobie długotrwały ale również odzyskiwanie poprawnych wyników zapytań o dane blockchainowe jest utrudnione. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -The Graph rozwiązuje te problemy za pomocą zdecentralizowanego protokołu indeksującego i umożliwiającego wydajne i efektywne odpytywanie danych z sieci blockchain. Te APIs (indeksowane subgrafy) mogą być odpytywane przez standardowy GraphQL API. Dziś istnieje już serwis "hosted", jak również zdecentralizowany protokół z tymi samymi możliwościami. Oba te rozwiązania są zabezpieczone przez zaimplementowany [Graph Node](https://github.com/graphprotocol/graph-node), który jest rozwiązaniem dostępnym publicznie (tzw. open source). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## Jak działa The Graph @@ -42,6 +42,6 @@ Proces ten przebiega według poniższych kroków: ## Kolejne kroki -W następnych częściach omówimy bardziej szczegółowo, jak definiować subgraphy, jak je wdrażać i jak tworzyć zapytania o dane z indeksów budowanych przez węzeł Graph Node. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Zanim zaczniesz pisać własny subgraph, warto sprawdzić narzędzie Graph Explorer i poznać niektóre już wdrożone subgraphy. Strona każdego subgraphu zawiera miejsce zwane "placem zabaw" (ang. playground), który umożliwia zapytanie o dane tego subgraphu za pomocą języka GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 2b5334d1ec0ad7ffecfa3eb4123ce1fb5aefec77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:11 -0400 Subject: [PATCH 0102/2326] New translations about.mdx (Portuguese) --- website/pages/pt/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/pt/about.mdx b/website/pages/pt/about.mdx index c96b833da9fd..9656a56a1af7 100644 --- a/website/pages/pt/about.mdx +++ b/website/pages/pt/about.mdx @@ -10,17 +10,17 @@ O The Graph é um protocolo descentralizado para indexação e queries de dados Projetos com contratos inteligentes complexos, como o [Uniswap](https://uniswap.org/) e iniciativas de NFTs como o [Bored Ape Yacht Club](https://boredapeyachtclub.com/), armazenam dados na blockchain Ethereum, o que torna muito difícil ler qualquer coisa que não seja dados básicos diretamente da blockchain. -No caso do Bored Ape Yacht Club, podemos realizar operações básicas de leitura no [contrato](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code), como conseguir o dono de um certo Ape, conseguir a URI de conteúdo de um Ape com base na sua ID, ou a reserva total, já que estas operações de leitura são programadas diretamente no contrato inteligente, mas consultas e operações no mundo real mais avançadas, como agregação, busca, relacionamentos, e filtragem não-trivial não são possíveis. Por exemplo, se quiséssemos consultar por Apes que são de um certo endereço, e filtrar por uma das suas características, nós não poderíamos pegar essa informação ao interagir diretamente com o próprio contrato. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -Para conseguir estes dados, teria que processar todo evento de [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) emitido na história, ler os metadados do IPFS usando a ID e o hash IPFS do token, e depois agregá-los. Mesmo estes tipos de questões mais simples levariam **horas, ou até mesmo dias,** para render uma resposta para um aplicativo descentralizado (dApp) executado em um navegador. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. Também valeria construir o seu próprio servidor, processar as transações lá, salvá-las em um banco de dados, e construir um endpoint de API sobre tudo isso tudo para poder fazer o query dos dados. Porém, esta opção [consome muitos recursos](/network/benefits/), precisa de manutenção, apresenta um único ponto de falha, e quebra propriedades de segurança importantes obrigatórias para a descentralização. **Indexar dados de blockchain é muito, muito difícil.** -Propriedades de blockchain, como finalidade; reorganizações de chain; ou blocos uncle; complicam ainda mais este processo, e o deixam não apenas longo e cansativo, mas conceitualmente difícil de retirar resultados corretos de queries dos dados da blockchain. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -O The Graph resolve isto com um protocolo descentralizado que indexa e permite queries eficientes de dados de blockchain. Estas APIs ("subgraphs" indexados) podem então ser consultados num query com uma API GraphQL padrão. Hoje, há um serviço hospedado, e também um protocolo descentralizado com as mesmas capabilidades. Ambos são apoiados pela implementação de código aberto do [Graph Node](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## Como o The Graph Funciona @@ -42,6 +42,6 @@ O fluxo segue estes passos: ## Próximos Passos -Nas próximas secções, entraremos em mais detalhes em como definir subgraphs, como lançá-los, e como consultar dados dos indexes que o Graph Node constroi. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Antes de começar a escrever o seu próprio subgraph, confira o Graph Explorer e explore alguns dos subgraphs que já foram lançados. A página para cada subgraph contém um playground que permite-lhe consultar os dados desse subgraph com queries no GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 12bdfea1b541e30ca22571a122f2407056d887f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:12 -0400 Subject: [PATCH 0103/2326] New translations about.mdx (Russian) --- website/pages/ru/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ru/about.mdx b/website/pages/ru/about.mdx index 29081fbc64f0..9047ad860250 100644 --- a/website/pages/ru/about.mdx +++ b/website/pages/ru/about.mdx @@ -10,17 +10,17 @@ The Graph - это децентрализованный протокол для Комплексные и сложные проекты такие, как [Uniswap](https://uniswap.org/) и проекты NFT такие, как [Bored Ape Yacht Club](https://boredapeyachtclub.com/) сохраняют свои данные в блокчейн Ethereum в таком формате, что их сложно обработать посылая запросы непосредственно в блокчейн. -В случае с Bored Ape Yacht Club, мы можем выполнить базовые операции чтения данных [смарт-контракт](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) такие, как запрос на получение собственника определенного Ape, получение URI определенного Ape имея его ID, или запрос на получение информации об общем количестве Ape, потому что эти операции чтения запрограммированы непосредственно в смарт-контракте. Но более сложные запросы, которые встречаются в реальном мире и операции такие как, агрегация данных, поиск, связи между объектами, и не тривиальные фильтры попросту невозможны. На пример, если мы хотим получить Ape, владельцем которого является определенный адрес и отфильтровать, имея определенные характеристики, мы не сможем этого сделать взаимодействуя напрямую со смарт-контрактом. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -Что бы получить искомую информацию, Вам придется обработать каждую [`транзакцию`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) отдельно, вынуть метаданные с IPFS используя Token ID и IPFS хэш, и затем агрегировать полученные данные. Даже для решения этой сравнительно небольшой задачи для распределенного приложения, установленного в браузере, работа займет ** часы или даже дни**. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. Вы также можете создать свой собственный сервер, обработать там транзакции, сохранить их в базе данных и создать API-конечную точку поверх всего этого, чтобы запрашивать данные. Однако этот вариант требует [больших ресурсов](/network/benefits/), нуждается в обслуживании, представляет собой единую точку отказа и нарушает важные свойства безопасности, необходимые для децентрализации. **Индексация данных - это очень трудоемкий процесс.** -Такие свойства объектов блокчейна как "finality", реорганизация цепочек, или "uncled" блоки усложняют обработку запросов на столько, что запрос не просто сложно выполнить, но и в принципе невозможно получить корректные данные. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -Протокол The Graph создан для решения данной проблемы путем распределенной сети узлов индексации и обработки запросов. Данные могут быть запрошены используя API (индексируемые "subgraphs") и стандарта GraphQL API. На сегодня существует 2 сети, работающие параллельно: централизованная и распределенная с одинаковым функционалом. Обе сети основаны на открытом коде [Graph Node](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## Как работает The Graph @@ -42,6 +42,6 @@ The Graph протокол узнает что и как индексирова ## Что далее -В следующих главах мы более детально разберем принципы построение субграфов, как их запускать, и как создавать запросы для извлечения данных из базы данных Graph Node. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Перед тем как приступить к разработке своего собственного субграфа, мы рекомендуем изучить Graph Explorer на предмет субграфов, которые уже развернуты на сети. Страничка каждого субграфа содержит "тестовую среду" в которой Вы можете потренироваться в создании GraphQL запросов. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 3d6834e5767bd9945cd05964bf74fbe5af35afb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:13 -0400 Subject: [PATCH 0104/2326] New translations about.mdx (Swedish) --- website/pages/sv/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/sv/about.mdx b/website/pages/sv/about.mdx index 7d6022949987..464822d00a4a 100644 --- a/website/pages/sv/about.mdx +++ b/website/pages/sv/about.mdx @@ -10,17 +10,17 @@ The Graph är en decentraliserad protokoll för indexering och frågning av bloc Projekt med komplexa smarta kontrakt som [Uniswap](https://uniswap.org/) och NFT-initiativ som [Bored Ape Yacht Club](https://boredapeyachtclub.com/) lagrar data på Ethereum-blockkedjan, vilket gör det mycket svårt att läsa något annat än grundläggande data direkt från blockkedjan. -I fallet med Bored Ape Yacht Club kan vi utföra grundläggande läsfunktioner på [kontraktet](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) som att hämta ägaren av en viss Ape, hämta innehålls-URI:en för en Ape baserat på deras ID eller den totala tillgången, eftersom dessa läsfunktioner är programmerade direkt i det smarta kontraktet. Men mer avancerade frågor och operationer i den verkliga världen, som aggregering, sökning, relationer och icke trivial filtrering, är inte möjliga. Om vi till exempel ville fråga efter apor som ägs av en viss adress och filtrera efter en av deras egenskaper, skulle vi inte kunna få den informationen genom att interagera direkt med kontraktet självt. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -För att få denna data skulle du behöva bearbeta varje enskilt [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746)-händelse som någonsin har emitterats, läsa metadata från IPFS med hjälp av Token-ID och IPFS-hash, och sedan aggregera den. Även för dessa typer av relativt enkla frågor skulle det ta **timmar eller till och med dagar** för en decentraliserad applikation (dapp) som körs i en webbläsare att få ett svar. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. Du skulle också kunna bygga din egen server, bearbeta transaktionerna där, spara dem i en databas och skapa en API-slutpunkt ovanpå alltihop för att fråga data. Men den här möjligheten är [resurskrävande](/network/benefits/), kräver underhåll, utgör en enskild felkälla och bryter viktiga säkerhetsegenskaper som krävs för decentralisering. **Indexering av blockkedjedata är verkligen, verkligen svårt.** -Blockkedjeegenskaper som slutgiltighet, kedjereorganisationer eller "uncled blocks" komplicerar denna process ytterligare och gör det inte bara tidskrävande utan också konceptuellt svårt att hämta korrekta frågeresultat från blockkedjedata. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -The Graf löser detta med ett decentraliserat protokoll som indexerar och möjliggör prestanda- och effektiv frågning av blockkedjedata. Dessa API:er (indexerade "subgrafer") kan sedan frågas med en standard GraphQL-API. Idag finns det en värdtjänst samt ett decentraliserat protokoll med samma funktioner. Båda stöds av den öppna källkoden för [Graf Node](https://github.com/graphprotocol/graph-node)-implementeringen. +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## Hur The Graph Fungerar @@ -42,6 +42,6 @@ Följande steg följs: ## Nästa steg -I de följande avsnitten går vi in mer detaljerat på hur man definierar subgrafer, hur man distribuerar dem och hur man frågar data från indexen som Graph Node bygger. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Innan du börjar skriva din egen subgraf kan du vilja titta på Graph Explorer och utforska några av de subgrafer som redan har distribuerats. Sidan för varje subgraf innehåller en lekplats som låter dig fråga den subgrafens data med GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 65ead149c42d518234b6bcd0380f2ddc72fa509c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:14 -0400 Subject: [PATCH 0105/2326] New translations about.mdx (Turkish) --- website/pages/tr/about.mdx | 48 +++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/website/pages/tr/about.mdx b/website/pages/tr/about.mdx index d57cfcd72ca8..5858793e7da6 100644 --- a/website/pages/tr/about.mdx +++ b/website/pages/tr/about.mdx @@ -2,46 +2,46 @@ title: Graph Hakkında --- -Bu sayfa Graph'in ne olduğunu ve nasıl başlayabileceğinizi açıklayacaktır. +This page will explain what The Graph is and how you can get started. -## Graph Nedir? +## What is The Graph? -Graph, blockchain verilerini indekslemek ve sorgulamak için merkeziyetsiz bir protokoldür. Graph, doğrudan sorgulanması zor olan verileri sorgulamayı mümkün kılar. +The Graph is a decentralized protocol for indexing and querying blockchain data. The Graph makes it possible to query data that is difficult to query directly. -[Uniswap](https://uniswap.org/) gibi karmaşık akıllı sözleşmelere sahip projeler ve [Bored Ape Yacht Club< gibi NFT girişimleri ](https://boredapeyachtclub.com/) verileri Ethereum blok zincirinde depolayarak, doğrudan blok zincirinden temel veriler dışındaki herhangi bir şeyi okumayı gerçekten zorlaştırır. +Projects with complex smart contracts like [Uniswap](https://uniswap.org/) and NFTs initiatives like [Bored Ape Yacht Club](https://boredapeyachtclub.com/) store data on the Ethereum blockchain, making it really difficult to read anything other than basic data directly from the blockchain. -Bored Ape Yacht Club örneğinde olduğu gibi, belirli bir Ape'nin sahibini bulmak, kimliğine veya toplam arza dayalı olarak bir Ape'in içerik URI'sini almak gibi temel okuma işlemlerini [kontrat adresi](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) üzerinde gerçekleştirebiliriz, ancak toplama, arama, ilişkiler ve önemli filtreleme gibi daha gelişmiş gerçek dünya sorguları ve işlemleri mümkün değildir. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -Bu verileri elde etmek için şimdiye kadar yayınlanan her bir [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) etkinliği işlemeniz, Token ID ve IPFS hash kullanarak IPFS'den gelen meta verileri okumanız ve ardından bunları aggregate etmeniz gerekir. Bu tür nispeten basit sorular için bile, bir tarayıcıda çalışan merkeziyetsiz bir uygulamanın (dApp) yanıt alması **saatler hatta günler** sürerdi. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. -Ayrıca, verileri sorgulamak için kendi sunucunuzu oluşturabilir, işlemleri orada işleyebilir, bunları bir veritabanına kaydedebilir ve tüm bunların üzerine bir API uç noktası oluşturabilirsiniz. Ancak bu seçenek [yoğun bir kaynaktır](/network/benefits/) ve bakım gerektirir, tek bir hata noktası sunar ve yerelleştirme için gerekli olan önemli güvenlik özelliklerini bozar. +You could also build out your own server, process the transactions there, save them to a database, and build an API endpoint on top of it all in order to query the data. However, this option is [resource intensive](/network/benefits/), needs maintenance, presents a single point of failure, and breaks important security properties required for decentralization. -**Blockchain verilerini indekslemek gerçekten çok zordur.** +**Indexing blockchain data is really, really hard.** -Kesinlik, zincir yeniden düzenlemeleri veya temizlenmemiş bloklar gibi blok zinciri özellikleri, bu süreci daha da karmaşık hale getirir. Ayrıca bu sadece zaman alan bir şey değil, aynı zamanda blok zinciri verilerinden doğru sorgu sonuçlarının alınmasını kavramsal olarak zorlaştırır. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -Graph, bu sorunu blok zinciri verilerinin performanslı ve verimli bir şekilde sorgulanmasını indeksleyen ve sağlayan merkeziyetsiz bir protokolle çözer. Bu API'ler (indekslenmiş "subgraph'ler") daha sonra standart bir GraphQL API ile sorgulanabilir. Bugün, barındırılan bir hizmetin yanı sıra aynı yeteneklere sahip merkeziyetsiz bir protokol var. Her ikisi de [Graph Node](https://github.com/graphprotocol/graph-node)'un açık kaynak uygulaması tarafından desteklenmektedir. +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). -## Graph Nasıl Çalışır +## How The Graph Works -Graph, subgraph bildirimi olarak bilinen subgrpah açıklamalarına dayalı olarak Ethereum verilerini neyin ve nasıl indeksleneceğini öğrenir. Subgraph açıklaması, bir subgraph için ilgili akıllı sözleşmeleri, bu sözleşmelerde dikkat edilmesi gereken olayları ve olay verilerinin Graph'in veritabanında depolayacağı verilerle nasıl eşleneceğini tanımlar. +The Graph learns what and how to index Ethereum data based on subgraph descriptions, known as the subgraph manifest. The subgraph description defines the smart contracts of interest for a subgraph, the events in those contracts to pay attention to, and how to map event data to data that The Graph will store in its database. -Bir `subgraph bildirimi` yazdıktan sonra, tanımı IPFS'de depolamak için Graph CLI'yi kullanırsınız ve indeksleyiciye bu subgraph için verileri indekslemeye başlamasını söylersiniz. +Once you have written a `subgraph manifest`, you use the Graph CLI to store the definition in IPFS and tell the indexer to start indexing data for that subgraph. -Bu şema, Ethereum işlemleriyle ilgili bir subgraph bildirimi dağıtıldıktan sonra veri akışı hakkında daha fazla ayrıntı verir: +This diagram gives more detail about the flow of data once a subgraph manifest has been deployed, dealing with Ethereum transactions: -![Graph'in veri tüketicilerine sorgular sunmak için Graph node'unu nasıl kullandığını açıklayan bir grafik](/img/graph-dataflow.png) +![A graphic explaining how The Graph uses Graph Node to serve queries to data consumers](/img/graph-dataflow.png) -İşleyiş şu şekildedir: +The flow follows these steps: -1. Merkeziyetsiz uygulama, akıllı sözleşmedeki bir işlem aracılığıyla Ethereum'a veri ekler. -2. Akıllı sözleşme, işlemi işlerken bir veya daha fazla olay yayar. -3. Graph Node, Ethereum'u yeni bloklar ve veriler için subgraph'iniz adına sürekli olarak tarar. -4. Graph Node, bu bloklardaki subgraph'iniz için Ethereum etkinliklerini bulur ve sağladığınız eşleme işleyicilerini çalıştırır. Eşleme, Graph Node'un Ethereum etkinliklerine yanıt olarak depoladığı veri varlıklarını oluşturan veya güncelleyen bir WASM modülüdür. -5. Merkeziyetsiz uygulama, node'un [GraphQL uç noktası](https://graphql.org/learn/)'nı kullanarak, blok zincirinden indekslenen veriler için Graph Node'unu sorgular. Graph Node'u, sırayla GraphQL sorgularını, bu verileri getirmek için, mağazanın indeksleme yeteneklerinden yararlanarak, temel veri deposu için sorgulara çevirir. Merkeziyetsiz uygulama, bu verileri son kullanıcılar için Ethereum'da yeni işlemler yapmak adına kullandıkları zengin bir kullanıcı arayüzünde görüntüler. Döngü ise tekrar eder. +1. A dapp adds data to Ethereum through a transaction on a smart contract. +2. The smart contract emits one or more events while processing the transaction. +3. Graph Node continually scans Ethereum for new blocks and the data for your subgraph they may contain. +4. Graph Node finds Ethereum events for your subgraph in these blocks and runs the mapping handlers you provided. The mapping is a WASM module that creates or updates the data entities that Graph Node stores in response to Ethereum events. +5. The dapp queries the Graph Node for data indexed from the blockchain, using the node's [GraphQL endpoint](https://graphql.org/learn/). The Graph Node in turn translates the GraphQL queries into queries for its underlying data store in order to fetch this data, making use of the store's indexing capabilities. The dapp displays this data in a rich UI for end-users, which they use to issue new transactions on Ethereum. The cycle repeats. -## Sonraki Adımlar +## Next Steps -Aşağıdaki bölümlerde, subgraph'lerin nasıl tanımlanacağı, bunların nasıl depoloy edileceği ve Graph Node'un oluşturduğu dizinlerden verilerin nasıl sorgulanacağı hakkında daha fazla ayrıntıya giriş yapacağız. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Kendi subgraph'inizi yazmaya başlamadan önce, Graph Gezgini'ne bir göz atmak ve hâlihazırda inşa edilmiş olan bazı subgraph'leri keşfetmek isteyebilirsiniz. Her subgraph'in sayfası, o subgraph'in verilerini GraphQL ile sorgulamanıza izin veren bir oyun alanı içerir. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 2ab8000ba583d5cb3dc53f29e029d624c61da888 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:15 -0400 Subject: [PATCH 0106/2326] New translations about.mdx (Ukrainian) --- website/pages/uk/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/uk/about.mdx b/website/pages/uk/about.mdx index 5677c668b634..0ee69ee29eca 100644 --- a/website/pages/uk/about.mdx +++ b/website/pages/uk/about.mdx @@ -10,17 +10,17 @@ The Graph - це децентралізований протокол для ін Проєкти зі складними смартконтрактами, такі як [Uniswap](https://uniswap.org/), також НФТ проєкти, до прикладу - [Bored Ape Yacht Club](https://boredapeyachtclub.com/) зберігають свої дані на блокчейні Ethereum. Це робить практично неможливим зчитування будь-чого, окрім основних даних безпосередньо з блокчейну. -У випадку з Bored Ape Yacht Club ми можемо виконувати базові операції по зчитуванню [контракту](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code), такі як отримання даних про власника конкретної мавпи, отримання URI контенту про певну мавпу на основі їх ID або загальної кількості. У нас є змога зробити це, оскільки конкретно ці операції запрограмовані безпосередньо в смартконтракті, але більш детальні, реальні запити, такі як агрегація, пошук, взаємозв'язки, нетривіальна фільтрація - неможливі. Наприклад, якщо ми захочемо отримати інформацію про мавп, які перебувають у власності за певною адресою, і відфільтрувати їх за однією з їх характеристик, ми не зможемо отримати цю інформацію, взаємодіючи безпосередньо з самим смартконтрактом. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -Щоб отримати ці дані, вам потрібно буде обробити абсолютно кожну [`трансфер-транзакцію`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746), прочитати метадані з IPFS, використовуючи ID токена та хеш IPFS, а після цього об'єднати всю отриману інформацію. Таким чином, навіть на такі прості запити децентралізованому додатку (dapp) ви можете витратити **години, а то й дні** для отримання потрібної відповіді. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. Ви також можете створити власний сервер, обробляти транзакції на ньому, зберігати їх у базі даних і створити на ньому кінцеву точку API для запиту даних. Проте, цей варіант дуже [ресурсозатратний](/network/benefits/), потребує регулярного обслуговування, являє собою єдину точку збою, а також порушує важливі особливості безпеки, що необхідні для децентралізації. **Індексування даних блокчейну це дуже важке заняття.** -Такі властивості блокчейну, як закінченість, реорганізація мережі або незамкнені блоки, ще більше ускладнюють цей процес і роблять його не тільки часозатратним, а й концептуально ускладнюють отримання правильних відповідей на ваші запити з даних блокчейну. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -The Graph розв'язує цю проблему за допомогою децентралізованого протоколу, який індексує та забезпечує швидкий та ефективний запит даних блокчейну. Ці API (індексовані "підграфи") можна отримувати за допомогою стандартного API GraphQL. Сьогодні існує як hosted service, так і децентралізований протокол з тими ж можливостями. Обидва підтримуються за допомогою реалізації відкритого вихідного коду [Graph Node](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## Як працює The Graph @@ -42,6 +42,6 @@ The Graph вивчає що і як індексувати в даних Ethereu ## Наступні кроки -У наступних розділах ми більш детально розглянемо, як створювати підграфи, як їх розгортати і як запитувати дані з отриманих індексів, які формує Graph Node. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Перш ніж ви розпочнете писати свій власний підграф, можете зазирнути в Graph Explorer та ознайомитись там з різними підграфами, які уже було розгорнуто. Сторінка кожного підграфа містить поле, де ви зможете отримати дані про цей підграф за допомогою GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From fd46ed936f6e77da0a239cf3c8bc6f789fffce9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:16 -0400 Subject: [PATCH 0107/2326] New translations about.mdx (Chinese Simplified) --- website/pages/zh/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/zh/about.mdx b/website/pages/zh/about.mdx index 865d8548f305..c7f09a215cfd 100644 --- a/website/pages/zh/about.mdx +++ b/website/pages/zh/about.mdx @@ -10,17 +10,17 @@ Graph 是一个去中心化的协议,用于索引和查询区块链的数据 像 [Uniswap](https://uniswap.org/)这样具有复杂智能合约的项目,以及像 [Bored Ape Yacht Club](https://boredapeyachtclub.com/) 这样的 NFTs 倡议,都在以太坊区块链上存储数据,因此,除了直接从区块链上读取基本数据外,真的很难。 -在 Bored Ape Yacht Club 的案例中,我们可以对 [合约](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code)进行基本的读取操作,比如获得某个 Ape 的所有者,根据他们的 ID 获得某个 Ape 的内容 URI,或者总供应量,因为这些读取操作是直接编入智能合约的,但是更高级的现实世界的查询和操作,比如聚合、搜索、关系和非粗略的过滤是不可能的。 例如,如果我们想查询某个地址所拥有的 apes,并通过它的某个特征进行过滤,我们将无法通过直接与合约本身进行交互来获得该信息。 +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -为了获得这些数据,你必须处理曾经发出的每一个 [`传输`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) 事件,使用 Token ID 和 IPFS 的hash值从 IPFS 读取元数据,然后将其汇总。 即使是这些类型的相对简单的问题,在浏览器中运行的去中心化应用程序(dapp)也需要**几个小时甚至几天** 才能得到答案。 +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. 你也可以建立你自己的服务器,在那里处理交易,把它们保存到数据库,并在上面建立一个 API 终端,以便查询数据。 然而,这种选择是[资源密集型的](/network/benefits/),需要维护,会出现单点故障,并破坏了去中心化化所需的重要安全属性。 **为区块链数据编制索引真的非常非常难。** -区块链的属性,如最终性、链重组或未封闭的区块,使这一过程进一步复杂化,并使从区块链数据中检索出正确查询结果不仅耗时,而且在概念上也很难。 +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -Graph 通过一个去中心化的协议解决了这一问题,该协议可以对区块链数据进行索引并实现高性能和高效率的查询。 这些 API(索引的 "子图")然后可以用标准的 GraphQL API 进行查询。 今天,有一个托管服务,也有一个具有相同功能的分布式去中心化协议。 两者都由 [Graph点](https://github.com/graphprotocol/graph-node)的开源实现支持。 +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## Graph 是如何工作的 @@ -42,6 +42,6 @@ Graph基于子图描述(称为子图清单)学习如何索引以太坊数据 ## 下一步 -在下面的部分中,我们将详细介绍如何定义子图、如何部署子图以及如何从Graph节点构建的索引中查询数据。 +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -在开始编写自己的子图之前,您可能需要查看Graph浏览器并探索一些已经部署的子图。每个子图的页面都包含一个操作面板,允许您使用GraphQL查询该子图的数据。 +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 85cd58b076834d2f717e112a1ae114e1e3980da5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:17 -0400 Subject: [PATCH 0108/2326] New translations about.mdx (Urdu (Pakistan)) --- website/pages/ur/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ur/about.mdx b/website/pages/ur/about.mdx index 0e5b3b337468..128488977220 100644 --- a/website/pages/ur/about.mdx +++ b/website/pages/ur/about.mdx @@ -10,17 +10,17 @@ title: گراف کے بارے میں پیچیدہ سمارٹ کنٹریکٹس والے پروجیکٹس جیسے [Uniswap](https://uniswap.org/) اور NFTs کے اقدامات جیسا کہ [بورڈ ایپ یاٹ کلب](https://boredapeyachtclub.com/) ایتھیریم بلاکچین پر ڈیٹا ذخیزہ کرتے ہیں, جس سے بلاکچین سے براہ راست بنیادی ڈیٹا کے علاوہ کچھ بھی پڑھنا کافی مشکل ہوجاتا ہے. -بورڈ ایپ یاٹ کلب کی صورت میں, ہم [کنٹریکٹ](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) پر پڑھنے کی بنیادی کارروائیاں انجام دے سکتے ہیں جیسے کسی مخصوص ایپ کا مالک حاصل کرنا, ان کی ID کی بنیاد پر ایپ کا کانٹینٹ URI حاصل کرنا, یا کل سپلائی, جیسا کہ یہ پڑھنے والے آپریشنز براہ راست سمارٹ کنٹریکٹ میں پروگرام کیے گئے ہیں, لیکن زیادہ جدید حقیقی دنیا کی کیوریز اور آپریشن جیسے جمع، تلاش، تعلقات، اور غیر معمولی فلٹرنگ ممکن نہیں ہے. مثال کے طور پر، اگر ہم ایپس کو کیوری کرنا چاہتے ہیں جو کسی خاص اڈریس کی ملکیت ہیں, اور اس کی خصوصیات میں سے ایک کے مطابق چھانٹی کریں, ہم خود براہ راست کنٹریکٹ میں سے وہ معلومات حاصل کرنے کے قابل نہیں ہوں گے. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -یہ ڈیٹا حاصل کرنے کے لیے, آپ کو ہر ایک [`ٹرانسفر`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) ایونٹ پر کارروائی کرنی ہوگی, ٹوکن ID اور IPFS ہیش کا استعمال کرتے ہوئے IPFS سے میٹا ڈیٹا پڑھنا ہوگا, اور پھر اسے جمع ہوگا. یہاں تک کہ اس قسم کے نسبتاً آسان سوالات کے لیے, براؤزر میں چلنے والی ڈیسینٹرالائزڈ ایپلی کیشن (ڈیپ) کو جواب حاصل کرنے میں **گھنٹے یا دن بھی** لگیں گے. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. آپ اپنا سرور بھی بنا سکتے ہیں، وہاں لین دین پر کارروائی کر سکتے ہیں، انہیں ڈیٹا بیس میں محفوظ کر سکتے ہیں، اور ڈیٹا سے کیوری کرنے کے لیے ان سب کے اوپر ایک API اینڈ پوائنٹ بنا سکتے ہیں۔ تاہم، یہ آپشن [وسائل کی گہرائی](/network/benefits/) ہے، دیکھ بھال کی ضرورت ہے، ناکامی کا ایک نقطہ پیش کرتا ہے، اور ڈیسینٹرالائزیشن کے لیے ضروری حفاظتی خصوصیات کو توڑ دیتا ہے. **بلاکچین ڈیٹا کو انڈیکس کرنا بہت، بہت مشکل ہے.** -بلاک چین کی خصوصیات جیسے حتمیت، سلسلہ کی تنظیم نو، یا انکلڈ بلاکس اس عمل کو مزید پیچیدہ بنا دیتے ہیں, اور اسے صرف وقت ہی کا نہیں بلکہ بلاکچین ڈیٹا سے درست کیوری کے نتائج حاصل کرنا بھی تصوراتی طور پر مشکل بنا دیتا ہے. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -گراف اس کو ایک ڈیسینٹرلائزڈ پروٹوکول کے ساتھ حل کرتا ہے جو انڈیکس کرتا ہے اور بلاکچین ڈیٹا کو موثر اور اس کی کارکردگی میں اضافہ کے قابل بناتا ہے. ان APIs (انڈیکسڈ "سب گرافس") کو پھر معیاری GraphQL API کے ذریعہ سے کیوری کیا جا سکتا ہے. آج، ایک ہوسٹڈ سروس کے ساتھ ساتھ ایک ڈیسینٹلائزڈ پروٹوکول بھی انہی صلاحیتوں کے ساتھ موجود ہے. دونوں کو [گراف نوڈ](https://github.com/graphprotocol/graph-node) کے اوپن سورس نفاذ کی حمایت حاصل ہے. +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## گراف کیسے کام کرتا ہے @@ -42,6 +42,6 @@ title: گراف کے بارے میں ## اگلے مراحل -مندرجہ ذیل حصوں میں ہم سب گراف کی مزید تفصیل میں جائیں گے کہ کس طرح سے ان کی توضیح کی جائے، کس طرح ان کو شائع کیا جائے اور انڈیکسز سے کس طرح ڈیٹا کو استفسار کیا جائے جو گراف نوڈ بناتا ہے. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -اس سے پہلے کہ آپ اپنا سب گراف بنانا شروع کریں, ہوسکتا ہے کہ آپ گراف ایکسپلورر پر ایک نظر ڈالیں اور کچھ سب گرافس کو دریافت کریں جو پہلے ہی تعینات کیے جا چکے ہیں. ہر سب گراف کے صفحہ میں ایک playground ہوتا ہے جو آپ کو GraphQL کے ساتھ اس سب گراف کے ڈیٹا کو کیوری کرنے دیتا ہے. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 04d0275584af89e3aed15d603820318a6ae72f9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:18 -0400 Subject: [PATCH 0109/2326] New translations about.mdx (Vietnamese) --- website/pages/vi/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/vi/about.mdx b/website/pages/vi/about.mdx index 9b7d45a8ce53..461f029fbd25 100644 --- a/website/pages/vi/about.mdx +++ b/website/pages/vi/about.mdx @@ -10,17 +10,17 @@ The Graph is a decentralized protocol for indexing and querying blockchain data. Các dự án với các hợp đồng thông minh phức tạp như [Uniswap](https://uniswap.org/) và các sáng kiến NFT như [Bored Ape Yacht Club](https://boredapeyachtclub.com/) lưu trữ dữ liệu trên chuỗi khối Ethereum, khiến việc đọc bất kỳ thứ gì khác ngoài dữ liệu cơ bản trực tiếp từ chuỗi khối này thực sự khó khăn. -Trong trường hợp của Bored Ape Yacht Club, chúng ta có thể thực hiện các thao tác đọc cơ bản trên [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) chẳng hạn như truy vấn chủ sở hữu của một con Ape nhất định, truy vấn nội dung của một con Ape dựa trên ID của chúng hoặc tổng nguồn cung, vì các hoạt động đọc này được lập trình trực tiếp vào hợp đồng thông minh, nhưng các truy vấn và hoạt động trong thế giới thực nâng cao hơn như tổng hợp, tìm kiếm, các mối quan hệ và lọc bất thường khó thực hiện. Ví dụ: nếu chúng ta muốn truy vấn những con ape thuộc sở hữu của một địa chỉ nhất định và lọc theo một trong những đặc điểm của nó, chúng ta sẽ không thể lấy thông tin đó bằng cách tương tác trực tiếp với chính hợp đồng. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -Để có được dữ liệu này, bạn sẽ phải xử lý từng sự kiện [`chuyển khoản`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) đã từng được phát ra, hãy đọc siêu dữ liệu (metadata) từ IPFS bằng cách sử dụng Token ID và mã băm IPFS, sau đó tổng hợp lại. Ngay cả đối với những loại câu hỏi tương đối đơn giản này, nó sẽ mất **hàng giờ thậm chí hàng ngày** cho một ứng dụng phi tập trung (dapp) chạy trong trình duyệt để nhận được câu trả lời. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. You could also build out your own server, process the transactions there, save them to a database, and build an API endpoint on top of it all in order to query the data. However, this option is [resource intensive](/network/benefits/), needs maintenance, presents a single point of failure, and breaks important security properties required for decentralization. **Lập chỉ mục dữ liệu blockchain thực sự rất rất khó.** -Các thuộc tính của blockchain như tính hoàn thiện, tổ chức lại chuỗi hoặc các khối không có tiêu đề làm phức tạp thêm quá trình này và khiến nó không chỉ tốn thời gian mà còn khó về mặt khái niệm để truy xuất kết quả truy vấn chính xác từ dữ liệu blockchain. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -The Graph giải quyết vấn đề này bằng một giao thức phi tập trung có thể lập chỉ mục và cho phép truy vấn dữ liệu blockchain một cách hiệu quả và tác dụng tốt. Sau đó, các API này ("subgraphs" được lập chỉ mục) có thể được truy vấn bằng API GraphQL tiêu chuẩn. Ngày nay, có một dịch vụ lưu trữ cũng như một giao thức phi tập trung với các khả năng tương tự. Cả hai đều được hỗ trợ bởi việc triển khai mã nguồn mở của [Graph Node](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## Cách thức hoạt động của The Graph @@ -42,6 +42,6 @@ Quy trình thực hiện theo các bước sau: ## Bước tiếp theo -Trong các phần sau, chúng ta sẽ đi vào chi tiết hơn về cách xác định subgraph, cách triển khai chúng và cách truy vấn dữ liệu từ các chỉ mục mà Graph Node xây dựng. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Trước khi bắt đầu viết subgraph của riêng mình, bạn có thể muốn xem Trình khám phá Graph (Graph Explorer) và khám phá một số subgraph đã được triển khai. Trang cho mỗi subgraph chứa một sân chơi (playground) cho phép bạn truy vấn dữ liệu của subgraph đó bằng GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 73e482edabf8b839585b60ad93e277aa867c696b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:19 -0400 Subject: [PATCH 0110/2326] New translations about.mdx (Marathi) --- website/pages/mr/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/mr/about.mdx b/website/pages/mr/about.mdx index a5c3bd99ef18..221d6e16692d 100644 --- a/website/pages/mr/about.mdx +++ b/website/pages/mr/about.mdx @@ -10,17 +10,17 @@ The Graph म्हणजे काय आणि तुम्ही सुरु [Uniswap](https://uniswap.org/) सारखे जटिल स्मार्ट करार आणि [Bored Ape Yacht Club< सारखे NFTs उपक्रम असलेले प्रकल्प ](https://boredapeyachtclub.com/) इथरियम ब्लॉकचेनवर डेटा संग्रहित करा, ज्यामुळे ब्लॉकचेनमधून थेट मूलभूत डेटाशिवाय इतर काहीही वाचणे खरोखर कठीण होते. -Bored Ape Yacht Club च्या बाबतीत, आम्ही [करार](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) वर मूलभूत वाचन ऑपरेशन करू शकतो जसे की एखाद्या विशिष्ट Ape चे मालक मिळवणे., त्यांच्या ID किंवा एकूण पुरवठ्यावर आधारित Ape ची सामग्री URI मिळवणे, कारण या वाचन ऑपरेशन्स थेट स्मार्ट कॉन्ट्रॅक्टमध्ये प्रोग्राम केल्या जातात, परंतु अधिक प्रगत वास्तविक-जागतिक क्वेरी आणि एकत्रीकरण, शोध, नातेसंबंध आणि गैर-क्षुल्लक सारख्या ऑपरेशन्स फिल्टरिंग शक्य नाही. उदाहरणार्थ, आम्हाला एखाद्या विशिष्ट पत्त्याच्या मालकीच्या वानरांसाठी क्वेरी करायची असेल आणि त्यातील एखाद्या वैशिष्ट्यानुसार फिल्टर करायचे असेल, तर आम्ही थेट कराराशी संवाद साधून ती माहिती मिळवू शकणार नाही. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -हा डेटा मिळवण्यासाठी, तुम्हाला प्रत्येक [`स्थानांतरण`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) इव्हेंटवर प्रक्रिया करावी लागेल, टोकन आयडी आणि आयपीएफएस हॅश वापरून IPFS मधील मेटाडेटा वाचा आणि नंतर एकत्रित करा. या प्रकारच्या तुलनेने सोप्या प्रश्नांसाठी देखील, उत्तर मिळविण्यासाठी ब्राउझरमध्ये विकेंद्रित ऍप्लिकेशन (dapp) चालू होण्यासाठी **तास किंवा दिवस** लागतील. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. तुम्ही तुमचा स्वतःचा सर्व्हर तयार करू शकता, तिथल्या व्यवहारांवर प्रक्रिया करू शकता, त्यांना डेटाबेसमध्ये सेव्ह करू शकता आणि डेटाची क्वेरी करण्यासाठी या सर्वांच्या वर API एंडपॉइंट तयार करू शकता. तथापि, हा पर्याय [संसाधन गहन](/network/benefits/) आहे, देखभाल आवश्यक आहे, अपयशाचा एकच बिंदू सादर करतो आणि विकेंद्रीकरणासाठी आवश्यक असलेले महत्त्वाचे सुरक्षा गुणधर्म खंडित करतो. **ब्लॉकचेन डेटा अनुक्रमित करणे खरोखर, खरोखर कठीण आहे.** -फायनलिटी, चेन रिऑर्गनायझेशन किंवा अनक्लड ब्लॉक्स सारख्या ब्लॉकचेन गुणधर्मांमुळे ही प्रक्रिया आणखी गुंतागुंतीची होते आणि ब्लॉकचेन डेटामधून योग्य क्वेरी परिणाम मिळवणे केवळ वेळखाऊच नाही तर संकल्पनात्मकदृष्ट्या कठीण होते. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -आलेख विकेंद्रित प्रोटोकॉलसह याचे निराकरण करते जे ब्लॉकचेन डेटाची कार्यक्षम आणि कार्यक्षम क्वेरी अनुक्रमित करते आणि सक्षम करते. हे API (अनुक्रमित "सबग्राफ") नंतर मानक GraphQL API सह क्वेरी केले जाऊ शकतात. आज, एक होस्ट केलेली सेवा तसेच समान क्षमतेसह विकेंद्रित प्रोटोकॉल आहे. दोन्हींना [ग्राफ नोड](https://github.com/graphprotocol/graph-node) च्या ओपन सोर्स अंमलबजावणीचा पाठिंबा आहे. +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## आलेख कसे कार्य करते @@ -42,6 +42,6 @@ This diagram gives more detail about the flow of data once a subgraph manifest h ## पुढील पायऱ्या -खालील विभागांमध्ये आम्ही सबग्राफ कसे परिभाषित करायचे, ते कसे उपयोजित करायचे आणि ग्राफ नोड तयार करत असलेल्या इंडेक्सेसमधून डेटा कसा शोधायचा याबद्दल अधिक तपशीलवार माहिती घेऊ. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -तुम्ही तुमचा स्वतःचा सबग्राफ लिहायला सुरुवात करण्यापूर्वी, तुम्हाला ग्राफ एक्सप्लोररवर एक नजर टाकायची असेल आणि आधीपासून तैनात केलेले काही सबग्राफ एक्सप्लोर करा. प्रत्येक सबग्राफच्या पृष्ठामध्ये एक खेळाचे मैदान असते जे तुम्हाला त्या सबग्राफचा डेटा GraphQL सह क्वेरी करू देते. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From a0b2417e3121693bcb585fb8656171a0bdfe3873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:20 -0400 Subject: [PATCH 0111/2326] New translations about.mdx (Hindi) --- website/pages/hi/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/hi/about.mdx b/website/pages/hi/about.mdx index 979e0112e7a9..d410edbe8d76 100644 --- a/website/pages/hi/about.mdx +++ b/website/pages/hi/about.mdx @@ -10,17 +10,17 @@ title: ग्राफ के बारे में [Uniswap](https://uniswap.org/) जैसे जटिल स्मार्ट अनुबंध वाले प्रोजेक्ट और [Bored Ape Yacht Club](https://boredapeyachtclub.com/) जैसे NFT पहल एथेरियम ब्लॉकचैन पर डेटा स्टोर करें, जिससे ब्लॉकचैन से सीधे बुनियादी डेटा के अलावा कुछ भी पढ़ना मुश्किल हो जाता है। -बोरेड एप यॉट क्लब के मामले में, हम [अनुबंध](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) पर मूल रीड ऑपरेशन कर सकते हैं जैसे किसी खास बंदर का मालिक प्राप्त करना, उनकी आईडी के आधार पर बंदर की सामग्री यूआरआई प्राप्त करना, या कुल आपूर्ति, क्योंकि ये रीड ऑपरेशंस सीधे स्मार्ट कॉन्ट्रैक्ट में प्रोग्राम किए जाते हैं, लेकिन अधिक उन्नत वास्तविक दुनिया के प्रश्न और संचालन जैसे एकत्रीकरण, खोज, संबंध और गैर-तुच्छ फ़िल्टरिंग संभव नहीं हैं। उदाहरण के लिए, यदि हम उन वानरों के लिए क्वेरी करना चाहते हैं जो एक निश्चित पते के स्वामित्व में हैं, और इसकी विशेषताओं में से एक के द्वारा फ़िल्टर करते हैं, तो हम सीधे अनुबंध के साथ बातचीत करके वह जानकारी प्राप्त नहीं कर पाएंगे। +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -यह डेटा प्राप्त करने के लिए, आपको हर एक [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) कभी भी उत्सर्जित होने वाली घटना को संसाधित करना होगा, टोकन आईडी और IPFS हैश का उपयोग करके IPFS से मेटाडेटा पढ़ें और फिर इसे एकत्रित करें। इस प्रकार के अपेक्षाकृत सरल प्रश्नों के लिए भी, ब्राउज़र में चल रहे विकेन्द्रीकृत एप्लिकेशन (डीएपी) को उत्तर प्राप्त करने में **घंटे या दिन** लगेंगे। +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. आप अपना स्वयं का सर्वर भी बना सकते हैं, लेनदेन को वहां संसाधित कर सकते हैं, उन्हें डेटाबेस में सहेज सकते हैं, और डेटा को क्वेरी करने के लिए इन सबसे ऊपर एक एपीआई एंडपॉइंट बना सकते हैं। हालाँकि, यह विकल्प संसाधन गहन है, रखरखाव की आवश्यकता है, विफलता का एक बिंदु प्रस्तुत करता है, और विकेंद्रीकरण के लिए आवश्यक महत्वपूर्ण सुरक्षा गुणों को तोड़ता है। **ब्लॉकचेन डेटा को इंडेक्स करना वास्तव में कठिन है।** -ब्लॉकचैन गुण जैसे अंतिमता, श्रृंखला पुनर्गठन, या अशुद्ध ब्लॉक इस प्रक्रिया को और जटिल करते हैं, और ब्लॉकचैन डेटा से सही क्वेरी परिणामों को पुनः प्राप्त करने के लिए न केवल समय लगता है बल्कि वैचारिक रूप से कठिन होता है। +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -ग्राफ़ इसे एक विकेन्द्रीकृत प्रोटोकॉल के साथ हल करता है जो ब्लॉकचेन डेटा के प्रदर्शन और कुशल क्वेरी को अनुक्रमित और सक्षम करता है। इन एपीआई (अनुक्रमित "सबग्राफ") को तब मानक ग्राफकलाइन एपीआई के साथ पूछताछ की जा सकती है। आज, एक होस्टेड सेवा के साथ-साथ समान क्षमताओं वाला विकेंद्रीकृत प्रोटोकॉल भी है। दोनों [ग्राफ़ नोड](https://github.com/graphprotocol/graph-node) के ओपन सोर्स कार्यान्वयन द्वारा समर्थित हैं। +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## ग्राफ कैसे काम करता है @@ -42,6 +42,6 @@ title: ग्राफ के बारे में ## अगले कदम -निम्नलिखित अनुभागों में हम इस बारे में अधिक विस्तार से जानेंगे कि सबग्राफ को कैसे परिभाषित किया जाए, उन्हें कैसे तैनात किया जाए और ग्राफ़ नोड द्वारा बनाए गए इंडेक्स से डेटा कैसे क्वेरी किया जाए। +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -इससे पहले कि आप अपना खुद का सबग्राफ लिखना शुरू करें, हो सकता है कि आप ग्राफ़ एक्सप्लोरर पर एक नज़र डालें और कुछ ऐसे सबग्राफ़ एक्सप्लोर करें जो पहले से ही तैनात किए जा चुके हैं। प्रत्येक सबग्राफ के पृष्ठ में एक खेल का मैदान होता है जो आपको उस सबग्राफ के डेटा को ग्राफकलाइन के साथ क्वेरी करने देता है। +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 2740d1594b637a69f173405fa294aeab21f8263e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:21 -0400 Subject: [PATCH 0112/2326] New translations about.mdx (Yoruba) --- website/pages/yo/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/yo/about.mdx b/website/pages/yo/about.mdx index c1f7c886900f..36c6a49f8fbc 100644 --- a/website/pages/yo/about.mdx +++ b/website/pages/yo/about.mdx @@ -10,17 +10,17 @@ The Graph is a decentralized protocol for indexing and querying blockchain data. Projects with complex smart contracts like [Uniswap](https://uniswap.org/) and NFTs initiatives like [Bored Ape Yacht Club](https://boredapeyachtclub.com/) store data on the Ethereum blockchain, making it really difficult to read anything other than basic data directly from the blockchain. -In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply, as these read operations are programmed directly into the smart contract, but more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are not possible. For example, if we wanted to query for apes that are owned by a certain address, and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. +In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. -To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. Even for these types of relatively simple questions, it would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer. +To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. You could also build out your own server, process the transactions there, save them to a database, and build an API endpoint on top of it all in order to query the data. However, this option is [resource intensive](/network/benefits/), needs maintenance, presents a single point of failure, and breaks important security properties required for decentralization. **Indexing blockchain data is really, really hard.** -Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further, and make it not just time consuming but conceptually hard to retrieve correct query results from blockchain data. +Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. -The Graph solves this with a decentralized protocol that indexes and enables the performant and efficient querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). +The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). ## How The Graph Works @@ -42,6 +42,6 @@ The flow follows these steps: ## Next Steps -In the following sections we will go into more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. +The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. -Before you start writing your own subgraph, you might want to have a look at the Graph Explorer and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. +Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. From 565a2ee05c6048621cca95dd5d7ce39373ce149d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:22 -0400 Subject: [PATCH 0113/2326] New translations arweave.mdx (Romanian) --- website/pages/ro/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ro/cookbook/arweave.mdx b/website/pages/ro/cookbook/arweave.mdx index f6fb3a8b2ce3..15538454e3ff 100644 --- a/website/pages/ro/cookbook/arweave.mdx +++ b/website/pages/ro/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Arweave --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! In this guide, you will learn how to build and deploy Subgraphs to index the Arweave blockchain. @@ -83,7 +83,7 @@ dataSources: ``` - Arweave subgraphs introduce a new kind of data source (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave data sources introduce an optional source.owner field, which is the public key of an Arweave wallet Arweave data sources support two types of handlers: @@ -95,7 +95,7 @@ Arweave data sources support two types of handlers: > Transactions are the building blocks of the Arweave permaweb and they are objects created by end-users. -> Note: [Bundlr](https://bundlr.network/) transactions are not supported yet. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Schema Definition @@ -150,12 +150,12 @@ Block handlers receive a `Block`, while transactions receive a `Transaction`. Writing the mappings of an Arweave Subgraph is very similar to writing the mappings of an Ethereum Subgraph. For more information, click [here](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Querying an Arweave Subgraph From 46fa8d37a5b784668aa5b1abd34988c9c5be9def Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:23 -0400 Subject: [PATCH 0114/2326] New translations arweave.mdx (French) --- website/pages/fr/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/fr/cookbook/arweave.mdx b/website/pages/fr/cookbook/arweave.mdx index deaa7a769ecd..d2b2bb03fcb5 100644 --- a/website/pages/fr/cookbook/arweave.mdx +++ b/website/pages/fr/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Construction de subgraphs pour Arweave --- -> Le support d'Arweave dans Graph Node et sur le service hébergé est en version bêta : veuillez nous contacter sur [Discord](https://discord.gg/graphprotocol) pour toute question concernant la création de subgraphs sur Arweave ! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! Dans ce guide, vous apprendrez comment créer et déployer des subgraphs pour indexer la blockchain Arweave. @@ -83,7 +83,7 @@ dataSources: ``` - Les subgraphs Arweave introduisent un nouveau type de source de données (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Les sources de données Arweave introduisent un champ source.owner facultatif, qui est la clé publique d'un portefeuille Arweave Les sources de données Arweave prennent en charge deux types de gestionnaires : @@ -95,7 +95,7 @@ Les sources de données Arweave prennent en charge deux types de gestionnaires : > Les transactions sont les éléments constitutifs du permaweb Arweave et ce sont des objets créés par les utilisateurs finaux. -> Notez : les transactions [Bundlr](https://bundlr.network/) ne sont pas encore prises en charge. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Définition d'un schéma @@ -150,12 +150,12 @@ Les gestionnaires de blocs reçoivent un `Block`, tandis que les transactions re L'écriture des mappages d'un subgraph Arweave est très similaire à l'écriture des mappages d'un subgraph Ethereum. Pour plus d'informations, cliquez [ici](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Interroger un subgraph d'Arweave From a3abc884bc62e0e35cbfda5a95357d6e0a1ed7b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:24 -0400 Subject: [PATCH 0115/2326] New translations arweave.mdx (Spanish) --- website/pages/es/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/es/cookbook/arweave.mdx b/website/pages/es/cookbook/arweave.mdx index 0d527063ab5b..3d2dac89dfd0 100644 --- a/website/pages/es/cookbook/arweave.mdx +++ b/website/pages/es/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Construyendo Subgrafos en Arweave --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! En esta guía, aprenderás a construir y deployar subgrafos para indexar la blockchain de Arweave. @@ -83,7 +83,7 @@ dataSources: ``` - Los subgrafos de Arweave introducen un nuevo tipo de fuente de datos (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Las fuentes de datos de Arweave introducen un campo opcional "source.owner", que es la clave pública de una billetera Arweave Las fuentes de datos de Arweave admiten dos tipos de handlers: @@ -95,7 +95,7 @@ Las fuentes de datos de Arweave admiten dos tipos de handlers: > Las transacciones son los bloques de construcción de la permaweb de Arweave y son objetos creados por los usuarios finales. -> Nota: las transacciones [Bundlr](https://bundlr.network/) aún no son admitidas. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Definición del esquema @@ -150,12 +150,12 @@ Los handlers de bloques reciben un `Block`, mientras que las transacciones recib Escribir los mappings de un subgrafo de Arweave es muy similar a escribir los mappings de un subgrafo de Ethereum. Para obtener más información, haz clic [aquí](/developing/creating-a-subgraph/#write-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Consultando un subgrafo de Arweave From 68228cff3cdc2342df1c065ee6cc493f0c12c939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:25 -0400 Subject: [PATCH 0116/2326] New translations arweave.mdx (Arabic) --- website/pages/ar/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ar/cookbook/arweave.mdx b/website/pages/ar/cookbook/arweave.mdx index 24eb6fe6bdda..9a7bfaab0270 100644 --- a/website/pages/ar/cookbook/arweave.mdx +++ b/website/pages/ar/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Arweave --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! In this guide, you will learn how to build and deploy Subgraphs to index the Arweave blockchain. @@ -83,7 +83,7 @@ dataSources: ``` - Arweave subgraphs introduce a new kind of data source (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave data sources introduce an optional source.owner field, which is the public key of an Arweave wallet Arweave data sources support two types of handlers: @@ -95,7 +95,7 @@ Arweave data sources support two types of handlers: > Transactions are the building blocks of the Arweave permaweb and they are objects created by end-users. -> Note: [Bundlr](https://bundlr.network/) transactions are not supported yet. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## تعريف المخطط @@ -150,12 +150,12 @@ Block handlers receive a `Block`, while transactions receive a `Transaction`. Writing the mappings of an Arweave Subgraph is very similar to writing the mappings of an Ethereum Subgraph. For more information, click [here](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Querying an Arweave Subgraph From 155517aab2c882f59fe9085398ee51261477d68a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:26 -0400 Subject: [PATCH 0117/2326] New translations arweave.mdx (Czech) --- website/pages/cs/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/cs/cookbook/arweave.mdx b/website/pages/cs/cookbook/arweave.mdx index d6592765d10e..4cc1502dd428 100644 --- a/website/pages/cs/cookbook/arweave.mdx +++ b/website/pages/cs/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Vytváření podgrafů na Arweave --- -> Podpora Arweave v Graph Node a v hostované službě je ve fázi beta: s případnými dotazy ohledně vytváření podgrafů Arweave se na nás obraťte na [Discord](https://discord.gg/graphprotocol)! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! V této příručce se dozvíte, jak vytvořit a nasadit subgrafy pro indexování blockchainu Arweave. @@ -83,7 +83,7 @@ dataSources: ``` - Podgrafy Arweave zavádějí nový druh datového zdroje (`arweave`) -- Síť by měla odpovídat síti v hostitelském uzlu Graph Node. V hostované službě je hlavní síť Arweave `arweave-mainnet` +- Síť by měla odpovídat síti v hostitelském uzlu Graf. V aplikaci Podgraf Studio je hlavní síť Arweave `arweave-mainnet` - Zdroje dat Arweave obsahují nepovinné pole source.owner, což je veřejný klíč peněženky Arweave Datové zdroje Arweave podporují dva typy zpracovatelů: @@ -95,7 +95,7 @@ Datové zdroje Arweave podporují dva typy zpracovatelů: > Transakce jsou stavebními kameny permaweb Arweave a jsou to objekty vytvořené koncovými uživateli. -> Poznámka: [Bundlr](https://bundlr.network/) transakce zatím nejsou podporovány. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Schema definice @@ -150,12 +150,12 @@ Obsluhy bloků obdrží `Block`, zatímco transakce obdrží `Transaction`. Zápis mapování podgrafu Arweave je velmi podobný psaní mapování podgrafu Ethereum. Další informace získáte kliknutím [sem](/developing/creating-a-subgraph/#writing-mappings). -## Nasazení podgrafu Arweave v hostované službě +## Nasazení podgrafu Arweave v Podgraf Studio -Jakmile je podgraf vytvořen na panelu hostované služby, můžete jej nasadit pomocí příkazu `graph deploy` CLI. +Jakmile je podgraf vytvořen na ovládacím panelu Podgraf Studio, můžete jej nasadit pomocí příkazu `graph deploy` CLI. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Dotazování podgrafu Arweave From 4c059e85e083dffddacf6d6ab72471732acec025 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:27 -0400 Subject: [PATCH 0118/2326] New translations arweave.mdx (German) --- website/pages/de/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/de/cookbook/arweave.mdx b/website/pages/de/cookbook/arweave.mdx index 06ef4bbb413a..0d96b778f186 100644 --- a/website/pages/de/cookbook/arweave.mdx +++ b/website/pages/de/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Arweave --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! In this guide, you will learn how to build and deploy Subgraphs to index the Arweave blockchain. @@ -83,7 +83,7 @@ dataSources: ``` - Arweave subgraphs introduce a new kind of data source (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave data sources introduce an optional source.owner field, which is the public key of an Arweave wallet Arweave data sources support two types of handlers: @@ -95,7 +95,7 @@ Arweave data sources support two types of handlers: > Transactions are the building blocks of the Arweave permaweb and they are objects created by end-users. -> Note: [Bundlr](https://bundlr.network/) transactions are not supported yet. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Schema-Definition @@ -150,12 +150,12 @@ Block handlers receive a `Block`, while transactions receive a `Transaction`. Writing the mappings of an Arweave Subgraph is very similar to writing the mappings of an Ethereum Subgraph. For more information, click [here](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Querying an Arweave Subgraph From ea65c133384acad2c925dddc04969c3355267cfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:29 -0400 Subject: [PATCH 0119/2326] New translations arweave.mdx (Italian) --- website/pages/it/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/it/cookbook/arweave.mdx b/website/pages/it/cookbook/arweave.mdx index f6fb3a8b2ce3..15538454e3ff 100644 --- a/website/pages/it/cookbook/arweave.mdx +++ b/website/pages/it/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Arweave --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! In this guide, you will learn how to build and deploy Subgraphs to index the Arweave blockchain. @@ -83,7 +83,7 @@ dataSources: ``` - Arweave subgraphs introduce a new kind of data source (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave data sources introduce an optional source.owner field, which is the public key of an Arweave wallet Arweave data sources support two types of handlers: @@ -95,7 +95,7 @@ Arweave data sources support two types of handlers: > Transactions are the building blocks of the Arweave permaweb and they are objects created by end-users. -> Note: [Bundlr](https://bundlr.network/) transactions are not supported yet. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Schema Definition @@ -150,12 +150,12 @@ Block handlers receive a `Block`, while transactions receive a `Transaction`. Writing the mappings of an Arweave Subgraph is very similar to writing the mappings of an Ethereum Subgraph. For more information, click [here](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Querying an Arweave Subgraph From 750e4053292da88a2a4a4ebab7c1cde23a870bb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:30 -0400 Subject: [PATCH 0120/2326] New translations arweave.mdx (Japanese) --- website/pages/ja/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ja/cookbook/arweave.mdx b/website/pages/ja/cookbook/arweave.mdx index a6b872c2bd06..8eec2a73f453 100644 --- a/website/pages/ja/cookbook/arweave.mdx +++ b/website/pages/ja/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Arweaveでのサブグラフ構築 --- -> Graph NodeとホスティングサービスでのArweaveサポートはベータ版です。Arweaveサブグラフの構築に関するご質問は[Discord](https://discord.gg/graphprotocol)までご連絡ください! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! このガイドでは、Arweaveブロックチェーンのインデックスを作成するためのサブグラフの構築とデプロイ方法について学びます。 @@ -83,7 +83,7 @@ dataSources: ``` - Arweave サブグラフは新しい種類のデータ ソースを導入します (`arweave`) -- ネットワークはホスティングするグラフノード上のネットワークに対応する必要があります。ホストされているサービスでは、Arweaveのメインネットは`arweave-mainnet`です。 +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave データ ソースには、オプションの source.owner フィールドが導入されています。これは、Arweave ウォレットの公開鍵です。 Arweaveデータソースは 2 種類のハンドラーをサポートしています: @@ -95,7 +95,7 @@ Arweaveデータソースは 2 種類のハンドラーをサポートしてい > トランザクションはArweave permawebの構成要素であり、エンドユーザーによって作成されるオブジェクトです。 -> 注意:[Bundlr](https://bundlr.network/)トランザクションはまだサポートされていません。 +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## スキーマ定義 @@ -150,12 +150,12 @@ class Transaction { Arweave サブグラフのマッピングの記述は、Ethereum サブグラフのマッピングの記述と非常に似ています。詳細については、[こちら](/developing/creating-a-subgraph/#writing-mappings)をクリックしてください。 -## Arweaveサブグラフをホストされたサービスにデプロイ +## Deploying an Arweave Subgraph in Subgraph Studio -ホスティングサービス・ダッシュボード上にサブグラフが作成されると、`graph deploy` CLIコマンドを使用してデプロイすることができます。 +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Arweaveサブグラフのクエリ From 24f2a7a9b86bf0d020deba77686048a36f3f16ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:31 -0400 Subject: [PATCH 0121/2326] New translations arweave.mdx (Korean) --- website/pages/ko/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ko/cookbook/arweave.mdx b/website/pages/ko/cookbook/arweave.mdx index f6fb3a8b2ce3..15538454e3ff 100644 --- a/website/pages/ko/cookbook/arweave.mdx +++ b/website/pages/ko/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Arweave --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! In this guide, you will learn how to build and deploy Subgraphs to index the Arweave blockchain. @@ -83,7 +83,7 @@ dataSources: ``` - Arweave subgraphs introduce a new kind of data source (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave data sources introduce an optional source.owner field, which is the public key of an Arweave wallet Arweave data sources support two types of handlers: @@ -95,7 +95,7 @@ Arweave data sources support two types of handlers: > Transactions are the building blocks of the Arweave permaweb and they are objects created by end-users. -> Note: [Bundlr](https://bundlr.network/) transactions are not supported yet. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Schema Definition @@ -150,12 +150,12 @@ Block handlers receive a `Block`, while transactions receive a `Transaction`. Writing the mappings of an Arweave Subgraph is very similar to writing the mappings of an Ethereum Subgraph. For more information, click [here](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Querying an Arweave Subgraph From da42077420d46e8f4dc90e7a4aa272562ea874d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:32 -0400 Subject: [PATCH 0122/2326] New translations arweave.mdx (Dutch) --- website/pages/nl/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/nl/cookbook/arweave.mdx b/website/pages/nl/cookbook/arweave.mdx index 7d15392f6bc5..ac5d84fd4ed5 100644 --- a/website/pages/nl/cookbook/arweave.mdx +++ b/website/pages/nl/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Bouwen van Subgraphs op Arweave --- -> Arweave ondersteuning in Graph Node en op de hosted service is in beta: Je kunt ons vinden op [Discord](https://discord.gg/graphprotocol) met elke vraag over Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! In deze gids, zul je leren hoe je Subgraphs bouwt en implementeer om de Arweave blockchain te indexeren. @@ -83,7 +83,7 @@ dataSources: ``` - Arweave subgraphs introduceert een nieuw type data bron (`arweave`) -- Het netwerk zou overeen moeten komen met een netwerk op de Graph Node. Op de hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave data bronnen introduceert een optionele bron.eigenaar veld, dat de openbare sleutel is van een Arweave wallet Arweave data bronnen ondersteunt twee typen verwerkers: @@ -95,7 +95,7 @@ Arweave data bronnen ondersteunt twee typen verwerkers: > Transactions are the building blocks of the Arweave permaweb and they are objects created by end-users. -> Note: [Bundlr](https://bundlr.network/) transactions are not supported yet. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Schema Definition @@ -150,12 +150,12 @@ Block handlers receive a `Block`, while transactions receive a `Transaction`. Writing the mappings of an Arweave Subgraph is very similar to writing the mappings of an Ethereum Subgraph. For more information, click [here](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Querying an Arweave Subgraph From 000693282af9eb3e7db8630acf774a45cc2fec45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:33 -0400 Subject: [PATCH 0123/2326] New translations arweave.mdx (Polish) --- website/pages/pl/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/pl/cookbook/arweave.mdx b/website/pages/pl/cookbook/arweave.mdx index f6fb3a8b2ce3..15538454e3ff 100644 --- a/website/pages/pl/cookbook/arweave.mdx +++ b/website/pages/pl/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Arweave --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! In this guide, you will learn how to build and deploy Subgraphs to index the Arweave blockchain. @@ -83,7 +83,7 @@ dataSources: ``` - Arweave subgraphs introduce a new kind of data source (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave data sources introduce an optional source.owner field, which is the public key of an Arweave wallet Arweave data sources support two types of handlers: @@ -95,7 +95,7 @@ Arweave data sources support two types of handlers: > Transactions are the building blocks of the Arweave permaweb and they are objects created by end-users. -> Note: [Bundlr](https://bundlr.network/) transactions are not supported yet. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Schema Definition @@ -150,12 +150,12 @@ Block handlers receive a `Block`, while transactions receive a `Transaction`. Writing the mappings of an Arweave Subgraph is very similar to writing the mappings of an Ethereum Subgraph. For more information, click [here](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Querying an Arweave Subgraph From e70b4b4f93dbf08ec8eb4becb6597cbbb54c973b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:34 -0400 Subject: [PATCH 0124/2326] New translations arweave.mdx (Portuguese) --- website/pages/pt/cookbook/arweave.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/pt/cookbook/arweave.mdx b/website/pages/pt/cookbook/arweave.mdx index 1b730d68ff80..9f1297f01ffc 100644 --- a/website/pages/pt/cookbook/arweave.mdx +++ b/website/pages/pt/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Construindo Subgraphs no Arweave --- -> O apoio ao Arweave no Graph Node e no serviço hospedado está em beta: por favor nos contacte no [Discord](https://discord.gg/graphprotocol) se tiver alguma pergunta sobre a construção de subgraphs no Arweave! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! Neste guia, você aprenderá como construir e lançar Subgraphs para indexar a blockchain Arweave. @@ -83,10 +83,10 @@ dataSources: ``` - Subgraphs no Arweave introduzem uma nova categoria de fonte de dados (`arweave`) -- A rede deve corresponder a uma rede no Graph Node que a hospeda. No serviço hospedado, a mainnet do Arweave é `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Fontes de dados no Arweave introduzem um campo `source.owner` opcional, a chave pública de uma carteira no Arweave -Fontes de dados no Arweave apoiam duas categorias de _handlers_: +Fontes de dados no Arweave apoiam duas categorias de *handlers*: - `blockHandlers` - Executar em cada bloco novo no Arweave. Nenhum `source.owner` é exigido. - `transactionHandlers` — Executar em todas as transações onde o `source.owner` da fonte de dados é o dono. Atualmente, um dono é exigido para o `transactionHandlers`; caso utilizadores queiram processar todas as transações, eles devem providenciar "" como o `source.owner` @@ -95,17 +95,17 @@ Fontes de dados no Arweave apoiam duas categorias de _handlers_: > Transações são os blocos de construção da permaweb do Arweave, além de serem objetos criados para utilizadores finais. -> Nota: Transações no [Bundlr](https://bundlr.network/) não são apoiadas presentemente. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. -## Definição de _Schema_ +## Definição de *Schema* A definição de Schema descreve a estrutura do banco de dados resultado do subgraph, e os relacionamentos entre entidades. Isto é agnóstico da fonte de dados original. Há mais detalhes na definição de schema de subgraph [aqui](/developing/creating-a-subgraph/#the-graphql-schema). ## Mapeamentos de AssemblyScript -Os _handlers_ para eventos de processamento são escritos em [AssemblyScript](https://www.assemblyscript.org/). +Os *handlers* para eventos de processamento são escritos em [AssemblyScript](https://www.assemblyscript.org/). -O _indexing_ do Arweave introduz categorias de dados específicas ao Arweave ao [API do AssemblyScript](/developing/assemblyscript-api/). +O *indexing* do Arweave introduz categorias de dados específicas ao Arweave ao [API do AssemblyScript](/developing/assemblyscript-api/). ```tsx class Block { @@ -146,16 +146,16 @@ class Transaction { } ``` -_Handlers_ de bloco recebem um `Block`, enquanto transações recebem uma `Transaction`. +*Handlers* de bloco recebem um `Block`, enquanto transações recebem uma `Transaction`. Escrever os mapeamentos de um Subgraph no Arweave é muito similar à escrita dos mapeamentos de um Subgraph no Ethereum. Para mais informações, clique [aqui](/developing/creating-a-subgraph/#writing-mappings). -## Como lançar um subgraph do Arweave no serviço hospedado +## Deploying an Arweave Subgraph in Subgraph Studio -Após criar o seu Subgraph no painel de controlo do serviço hospedado, você pode lançá-lo com o código de linha de comando `graph deploy`. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --token-de-acesso +graph deploy --studio --access-token ``` ## Consultando um Subgraph no Arweave From b40dcadd5bcabeed2b7f887c36ecd6f66fe7bb93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:35 -0400 Subject: [PATCH 0125/2326] New translations arweave.mdx (Russian) --- website/pages/ru/cookbook/arweave.mdx | 96 +++++++++++++-------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/website/pages/ru/cookbook/arweave.mdx b/website/pages/ru/cookbook/arweave.mdx index 190e4b304b00..c0bdafb4f32d 100644 --- a/website/pages/ru/cookbook/arweave.mdx +++ b/website/pages/ru/cookbook/arweave.mdx @@ -1,36 +1,36 @@ --- -title: Создание Подграфов на Arweave +title: Создание Субграфов на Arweave --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Поддержка Arweave в Graph Node и Subgraph Studio находится в стадии бета-тестирования: обращайтесь к нам в [Discord](https://discord.gg/graphprotocol), если у Вас возникнут вопросы о создании субграфов Arweave! -В этом руководстве вы узнаете, как создавать и развертывать подграфы для индексации блокчейна Arweave. +Из этого руководства Вы узнаете, как создавать и развертывать субграфы для индексации блокчейна Arweave. ## Что такое Arweave? -Протокол Arweave позволяет разработчикам хранить данные постоянно, и в этом основное отличие Arweave от IPFS, где IPFS лишена этой функции; постоянства, и файлы, хранящиеся на Arweave, не могут быть изменены или удалены. +Протокол Arweave позволяет разработчикам хранить данные на постоянной основе, и в этом основное различие между Arweave и IPFS, поскольку в IPFS отсутствует функция постоянства, а файлы, хранящиеся в Arweave, не могут быть изменены или удалены. -Arweave уже создала множество библиотек для интеграции протокола на нескольких различных языках программирования. Для получения дополнительной информации вы можете проверить: +Arweave уже создала множество библиотек для интеграции протокола на нескольких различных языках программирования. С дополнительной информацией Вы можете ознакомиться: - [Arwiki](https://arwiki.wiki/#/en/main) - [Ресурсы Arweave](https://www.arweave.org/build) -## Что такое подграфы Arweave? +## Что такое субграфы Arweave? -The Graph позволяет вам создавать пользовательские открытые API, называемые "Subgraphs". Подграфы используются для указания индексаторами (операторам серверов), какие данные индексировать в блокчейне и сохранять на их серверах, чтобы вы могли запросить их в любое время, используя [GraphQL](https://graphql.org/). +The Graph позволяет Вам создавать пользовательские открытые API, называемые "Subgraphs". Субграфы используются для указания индексаторами (операторам серверов), какие данные индексировать в блокчейне и сохранять на их серверах, чтобы Вы могли запросить их в любое время, используя [GraphQL](https://graphql.org/). -[Graph Node](https://github.com/graphprotocol/graph-node) теперь может индексировать данные по протоколу Arweave. Текущая интеграция только индексирует Arweave как блокчейн (блоки и транзакции), она еще не индексирует сохраненные файлы. +[Graph Node](https://github.com/graphprotocol/graph-node) теперь может индексировать данные по протоколу Arweave. Текущая интеграция только индексирует Arweave как блокчейн (блоки и транзакции), но пока еще не индексирует сохраненные файлы. -## Построение подграфа на Arweave +## Построение Субграфа на Arweave -Чтобы иметь возможность создавать и развертывать подграфы на Arweave, вам нужны два пакета: +Чтобы иметь возможность создавать и развертывать Субграфы на Arweave, Вам понадобятся два пакета: -1. `@graphprotocol/graph-cli` выше версии 0.30.2 - это инструмент командной строки для построения и развертывания подграфов. [Нажмите здесь](https://www.npmjs.com/package/@graphprotocol/graph-cli), чтобы загрузить с помощью `npm`. -2. `@graphprotocol/graph-ts` выше версии 0.27.0 - это библиотека типов, специфичных для подграфов. [Нажмите здесь](https://www.npmjs.com/package/@graphprotocol/graph-ts), чтобы загрузить с помощью `npm`. +1. `@graphprotocol/graph-cli` выше версии 0.30.2 - это инструмент командной строки для построения и развертывания субграфов. [Нажмите здесь](https://www.npmjs.com/package/@graphprotocol/graph-cli), чтобы загрузить с помощью `npm`. +2. `@graphprotocol/graph-ts` выше версии 0.27.0 - это библиотека типов, специфичных для субграфов. [Нажмите здесь](https://www.npmjs.com/package/@graphprotocol/graph-ts), чтобы загрузить с помощью `npm`. -## Составляющие подграфов +## Составляющие Субграфов -Существует 3 компонента подграфа: +Существует 3 компонента субграфа: ### 1. Манифест - `subgraph.yaml` @@ -38,53 +38,53 @@ The Graph позволяет вам создавать пользователь ### 2. Схема - `schema.graphql` -Здесь вы определяете, какие данные вы хотите иметь возможность запрашивать после индексации вашего подграфа с помощью GraphQL. На самом деле это похоже на модель для API, где модель определяет структуру тела запроса. +Здесь Вы определяете, какие данные хотите иметь возможность запрашивать после индексации своего субграфа с помощью GraphQL. На самом деле это похоже на модель для API, где модель определяет структуру тела запроса. -Требования к подграфам Airweave описаны в [существующей документации](/developing/creating-a-subgraph/#the-graphql-schema). +Требования к субграфам Airweave описаны в [существующей документации](/developing/creating-a-subgraph/#the-graphql-schema). -### 3. Сопоставления сценариев сборки - `mapping.ts` +### 3. Мэппинги AssemblyScript - `mapping.ts` -Это логика, которая определяет, как данные должны извлекаться и храниться, когда кто-то взаимодействует с источниками данных, которые вы отслеживаете. Данные переводятся и сохраняются в соответствии с указанной вами схемой. +Это логика, которая определяет, как данные должны извлекаться и храниться, когда кто-то взаимодействует с источниками данных, которые Вы отслеживаете. Данные переводятся и сохраняются в соответствии с указанной Вами схемой. -Во время разработки подграфа есть две ключевые команды: +Во время разработки субграфа есть две ключевые команды: ``` $ graph codegen # генерирует типы из файла схемы, указанного в манифесте -$ $ graph build # генерирует веб-сборку из файлов AssemblyScript и подготавливает все файлы подграфа в папке /build +$ graph build # генерирует Web Assembly из файлов AssemblyScript и подготавливает все файлы субграфа в папке /build ``` -## Определение манифеста подграфа +## Определение манифеста Субграфа -Манифест подграфа `subgraph.yaml` определяет источники данных для подграфа, представляющие интерес триггеры и функции, которые должны выполняться в ответ на эти триггеры. Смотрите ниже пример манифеста подграфа для подграфа Arweave: +Манифест субграфа `subgraph.yaml` определяет источники данных для субграфа, представляющие интерес триггеры и функции, которые должны выполняться в ответ на эти триггеры. Ниже приведен пример манифеста субграфа для субграфа Arweave: ```yaml specVersion: 0.0.5 description: Arweave Blocks Indexing schema: - file: ./schema.graphql # link to the schema file + file: ./schema.graphql # ссылка на файл схемы dataSources: - kind: arweave name: arweave-blocks - network: arweave-mainnet # The Graph only supports Arweave Mainnet + network: arweave-mainnet # The Graph поддерживает только Arweave Mainnet source: - owner: 'ID-OF-AN-OWNER' # The public key of an Arweave wallet - startBlock: 0 # set this to 0 to start indexing from chain genesis + owner: 'ID-OF-AN-OWNER' # Открытый ключ кошелька Arweave + startBlock: 0 # установите это значение на 0, чтобы начать индексацию с генезиса чейна mapping: apiVersion: 0.0.5 language: wasm/assemblyscript - file: ./src/blocks.ts # link to the file with the Assemblyscript mappings + file: ./src/blocks.ts # ссылка на файл с мэппингами Assemblyscript entities: - Block - Transaction blockHandlers: - - handler: handleBlock # the function name in the mapping file + - handler: handleBlock # имя функции в файле мэппинга transactionHandlers: - - handler: handleTx # the function name in the mapping file + - handler: handleTx # имя функции в файле мэппинга ``` -- Подграфы Arweave представляют новый вид источника данных (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` -- Источники данных Arweave вводят необязательное поле source.owner, которое является открытым ключом кошелька Arweave +- Субграфы Arweave представляют новый вид источника данных (`arweave`) +- Сеть должна соответствовать сети на хостинге Graph Node. В Subgraph Studio основной сетью Arweave является `arweave-mainnet` +- Источники данных Arweave содержат необязательное поле source.owner, которое является открытым ключом кошелька Arweave Источники данных Arweave поддерживают два типа обработчиков: @@ -95,13 +95,13 @@ dataSources: > Транзакции являются строительными блоками Arweave permaweb, и они представляют собой объекты, созданные конечными пользователями. -> Примечание: [В Bundlr](https://bundlr.network/) транзакции пока не поддерживаются. +> Примечание: Транзакции [Irys (ранее Bundlr)](https://irys.xyz/) пока не поддерживаются. ## Определение схемы -Определение схемы описывает структуру результирующей базы данных подграфов и взаимосвязи между сущностями. Это не зависит от исходного источника данных. Более подробная информация об определении схемы подграфа приведена [здесь](/developing/creating-a-subgraph/#the-graphql-schema). +Определение схемы описывает структуру результирующей базы данных субграфа и взаимосвязи между объектами. Это не зависит от исходного источника данных. Более подробная информация об определении схемы субграфа приведена [здесь](/developing/creating-a-subgraph/#the-graphql-schema). -## Сопоставления AssemblyScript +## Мэппинги AssemblyScript Обработчики событий написаны на [AssemblyScript](https://www.assemblyscript.org/). @@ -148,37 +148,37 @@ class Transaction { Обработчики блоков получают `Block`, в то время как транзакции получают `Transaction`. -Написание отображений подграфа Arweave очень похоже на написание отображений подграфа Ethereum. Для получения дополнительной информации нажмите [здесь](/developing/creating-a-subgraph/#writing-mappings). +Написание мэппингов субграфа Arweave очень похоже на написание мэппингов субграфа Ethereum. Для получения дополнительной информации нажмите [здесь](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Развертывание субграфа Arweave в Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +После создания субграфа на панели управления Subgraph Studio его можно развернуть с помощью команды CLI `graph Deploy`. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` -## Запрос подграфа Arweave +## Запрос субграфа Arweave -Конечная точка GraphQL для подграфов Arweave определяется определением схемы с помощью существующего интерфейса API. Пожалуйста, посетите [Документацию GraphQL API](/querying/graphql-api/) для получения дополнительной информации. +Конечная точка GraphQL для субграфов Arweave устанавливается определением схемы с помощью существующего интерфейса API. Пожалуйста, посетите [документацию GraphQL API](/querying/graphql-api/) для получения дополнительной информации. -## Примеры подграфов +## Примеры субграфов -Вот пример подграфа для справки: +Ниже приведен пример субграфа для справки: -- [Пример подграфа для Arweave](https://github.com/graphprotocol/graph-tooling/tree/main/examples/arweave-blocks-transactions) +- [Пример субграфа для Arweave](https://github.com/graphprotocol/graph-tooling/tree/main/examples/arweave-blocks-transactions) ## Часто задаваемые вопросы -### Может ли подграф индексировать Arweave и другие сети? +### Может ли субграф индексировать Arweave и другие чейны? -Нет, подграф может поддерживать источники данных только из одной цепочки / сети. +Нет, субграф может поддерживать источники данных только из одного чейна/сети. ### Могу ли я проиндексировать сохраненные файлы в Arweave? В настоящее время The Graph индексирует Arweave только как блокчейн (его блоки и транзакции). -### Могу ли я идентифицировать связки Bundle в моем подграфе? +### Могу ли я идентифицировать связки Bundle в своем субграфе? В настоящее время это не поддерживается. @@ -188,7 +188,7 @@ Source.owner может быть открытым ключом пользова ### Каков текущий формат шифрования? -Данные обычно передаются в сопоставления в виде Байтов, которые при непосредственном сохранении возвращаются в подграфе в `шестнадцатеричном формате` (например, хэши блоков и транзакций). Возможно, вы захотите преобразовать в `base64` или `base64 URL`-безопасный формат в ваших сопоставлениях, чтобы соответствовать тому, что отображается в эксплорерах, таких, как [Arweave Explorer](https://viewblock.io/arweave/). +Данные обычно передаются в мэппинги в виде Байтов, которые при непосредственном сохранении возвращаются в субграф в формате `hex` (например, хэши блоков и транзакций). Возможно, Вы захотите преобразовать в безопасный формат `base64` или `base64 URL` в своих мэппингах, чтобы они соответствовали тому, что отображается в обозревателях блоков, таких, как [Arweave Explorer](https://viewblock.io/arweave/). Можно использовать следующую вспомогательную функцию `bytesToBase64(bytes: Uint8Array, urlSafe: boolean): string`, которая будет добавлена в `graph-ts`: From 4dddd702b1376228c6f5e3e7e1366eecc07899c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:36 -0400 Subject: [PATCH 0126/2326] New translations arweave.mdx (Swedish) --- website/pages/sv/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/sv/cookbook/arweave.mdx b/website/pages/sv/cookbook/arweave.mdx index df6806b6cec1..2ed14c71ee68 100644 --- a/website/pages/sv/cookbook/arweave.mdx +++ b/website/pages/sv/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Bygga subgrafer på Arweave --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! I den här guiden kommer du att lära dig hur du bygger och distribuerar subgrafer för att indexera Weaver-blockkedjan. @@ -83,7 +83,7 @@ dataSources: ``` - Arweave subgrafer introducerar en ny typ av datakälla (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave datakällor introducerar ett valfritt source.owner fält, som är den publika nyckeln till en Arweave plånbok Arweave datakällor stöder två typer av hanterare: @@ -95,7 +95,7 @@ Arweave datakällor stöder två typer av hanterare: > Transaktioner är byggstenarna i Arweave permaweb och de är objekt skapade av slutanvändare. -> Obs! [Bundlr](https://bundlr.network/)-transaktioner stöds inte ännu. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Schema Definition @@ -150,12 +150,12 @@ Blockhanterare får ett `Block`, medan transaktioner får en `Transaktion`. Att skriva mappningar av en Arweave subgrafer är mycket lik att skriva mappningar av en Ethereum subgrafer. För mer information, klicka [här](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Fråga efter en Arweave-subgraf From fdffa5e13f617bc160d8e396dc1f52ca157b1bc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:37 -0400 Subject: [PATCH 0127/2326] New translations arweave.mdx (Turkish) --- website/pages/tr/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/tr/cookbook/arweave.mdx b/website/pages/tr/cookbook/arweave.mdx index edb53c4e6f51..c557711af6a6 100644 --- a/website/pages/tr/cookbook/arweave.mdx +++ b/website/pages/tr/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Arweave Üzerinde Subgraphlar Oluşturma --- -> Graph Node'da ve barındırılan hizmette Arweave desteği beta aşamasındadır: Arweave subgraph'leri oluşturma ile ilgili sorularınız için lütfen bize [Discord](https://discord.gg/graphprotocol) üzerinden ulaşın! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! Bu rehberde, Arweave blok zincirini indekslemek için nasıl Subgraphs oluşturacağınızı ve dağıtacağınızı öğreneceksiniz. @@ -83,7 +83,7 @@ dataSources: ``` - Arweave subgraphları yeni bir veri kaynağı türünü tanıtır (`arweave`) -- Network, barındırılan Graph Node'u üzerindeki bir ağa karşılık gelmelidir. Barındırılan hizmette Arweave'in ana ağı `arweave-mainnet`'tir +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave veri kaynakları, bir Arweave cüzdanının genel anahtarı olan opsiyonel bir source.owner alanı sunar Arweave veri kaynakları iki tür işleyiciyi destekler: @@ -95,7 +95,7 @@ Arweave veri kaynakları iki tür işleyiciyi destekler: > İşlemler Arweave permaweb'in yapı taşlarıdır ve son kullanıcılar tarafından oluşturulan nesnelerdir. -> Not: [Bundlr](https://bundlr.network/) işlemleri henüz desteklenmemektedir. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Şema Tanımı @@ -150,12 +150,12 @@ Blok işleyicileri bir `Block` alırken, işlemler bir `Transaction` alır. Bir Arweave Subgraph'ının eşleştirmelerini yazmak, bir Ethereum Subgraph'ının eşleştirmelerini yazmaya çok benzerdir. Daha fazla bilgi için [buraya](/developing/creating-a-subgraph/#writing-mappings) tıklayın. -## Barındırılan hizmet üzerinde bir Arweave Subgraph'i deploy etmek +## Deploying an Arweave Subgraph in Subgraph Studio -Barındırılan hizmet panosunda subgraph'iniz oluşturulduktan sonra `graph deploy` CLI komutunu kullanarak deploy işlemini yapabilirsiniz. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Arweave Subgraph'ını Sorgulama From 43ee670833488bcce5c742b4a57e45e86f13c596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:38 -0400 Subject: [PATCH 0128/2326] New translations arweave.mdx (Ukrainian) --- website/pages/uk/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/uk/cookbook/arweave.mdx b/website/pages/uk/cookbook/arweave.mdx index 332c1f61edeb..f0284b6d5cf1 100644 --- a/website/pages/uk/cookbook/arweave.mdx +++ b/website/pages/uk/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Arweave --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! In this guide, you will learn how to build and deploy Subgraphs to index the Arweave blockchain. @@ -83,7 +83,7 @@ dataSources: ``` - Arweave subgraphs introduce a new kind of data source (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave data sources introduce an optional source.owner field, which is the public key of an Arweave wallet Arweave data sources support two types of handlers: @@ -95,7 +95,7 @@ Arweave data sources support two types of handlers: > Transactions are the building blocks of the Arweave permaweb and they are objects created by end-users. -> Note: [Bundlr](https://bundlr.network/) transactions are not supported yet. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Визначення схеми @@ -150,12 +150,12 @@ Block handlers receive a `Block`, while transactions receive a `Transaction`. Writing the mappings of an Arweave Subgraph is very similar to writing the mappings of an Ethereum Subgraph. For more information, click [here](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Querying an Arweave Subgraph From 1409d653fc62c9801f7a115ea6e8726775459721 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:38 -0400 Subject: [PATCH 0129/2326] New translations arweave.mdx (Chinese Simplified) --- website/pages/zh/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/zh/cookbook/arweave.mdx b/website/pages/zh/cookbook/arweave.mdx index 24ba246385a5..db502118f96b 100644 --- a/website/pages/zh/cookbook/arweave.mdx +++ b/website/pages/zh/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: 在 Arweave 上构建子图 --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! 在本指南中,您将学习如何构建和部署子图以索引Arweave区块链。 @@ -83,7 +83,7 @@ dataSources: ``` - Arweave子图引入了一种新的数据源(`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave 数据源引入了一个可选的 source. owner 字段,它是 Arweave 钱包的公钥 Arweave 数据源支持两种类型的处理程序: @@ -95,7 +95,7 @@ Arweave 数据源支持两种类型的处理程序: > 交易是 Arweave permaweb 的构建区块,它们是终端用户创建的对象。 -> 注意: 目前还不支持 [Bundlr](https://bundlr.network/) 交易 +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## 数据查询结构定义 @@ -150,12 +150,12 @@ class Transaction { 写 Arweave 子图的映射与写 Etherum 子图的映射非常相似。了解更多信息,请点击[这里](/developing/creating-a-subgraph/#writing-mappings)。 -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## 查询 Arweave 子图 From 4e4410d101e02d38a95105b472e92481b41cf459 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:40 -0400 Subject: [PATCH 0130/2326] New translations arweave.mdx (Urdu (Pakistan)) --- website/pages/ur/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ur/cookbook/arweave.mdx b/website/pages/ur/cookbook/arweave.mdx index 7c3dd08a9411..dc613dd1022a 100644 --- a/website/pages/ur/cookbook/arweave.mdx +++ b/website/pages/ur/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: بناۓ گئے سب گرافز آرویو(Arweave) پر --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! اس گائڈ میں، آپ سیکھیں گے کہ آرویو(Arweave) بلاکچین کو انڈیکس کرنے کیلئے سب گرافز بنانے اور مستعمل کرنے کا طریقہ کار کیسے ہے۔ @@ -83,7 +83,7 @@ dataSources: ``` - آرویو سب گراف ایک نئی قسم کے ڈیٹا سورس (`arweave`) کو متعارف کراتے ہیں۔ -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - آرویو ڈیٹا کے ذرائع ایک اختیاری source.owner فیلڈ متعارف کراتے ہیں، جو آرویو والیٹ کی عوامی کلید ہے آرویو ڈیٹا کے ذرائع دو قسم کے ہینڈلرز کو سپورٹ کرتے ہیں: @@ -95,7 +95,7 @@ dataSources: > ٹرانزیکشنز آرویو پرما ویب کے تعمیراتی بلاکس ہیں اور یہ آخری صارفین کے ذریعہ تخلیق کردہ اشیاء ہیں. -> نوٹ: [Bundlr](https://bundlr.network/) لین دین ابھی تک سپورٹڈ نہیں ہیں. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## اسکیما کی تعریف @@ -150,12 +150,12 @@ class Transaction { آرویو سب گراف کی میپنگ لکھنا ایتھریم سب گراف کی میپنگ لکھنے کے مترادف ہے۔ مزید معلومات کے لیے، [یہاں](/developing/creating-a-subgraph/#writing-mappings) کلک کریں. -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## آرویو سب گراف سے کیوری کرنا From 5e99dfacfd7e22a44582aa19955c90b31e79d32c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:40 -0400 Subject: [PATCH 0131/2326] New translations arweave.mdx (Vietnamese) --- website/pages/vi/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/vi/cookbook/arweave.mdx b/website/pages/vi/cookbook/arweave.mdx index 11b83ed840e8..af52f6bcfe20 100644 --- a/website/pages/vi/cookbook/arweave.mdx +++ b/website/pages/vi/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Arweave --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! In this guide, you will learn how to build and deploy Subgraphs to index the Arweave blockchain. @@ -83,7 +83,7 @@ dataSources: ``` - Arweave subgraphs introduce a new kind of data source (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave data sources introduce an optional source.owner field, which is the public key of an Arweave wallet Arweave data sources support two types of handlers: @@ -95,7 +95,7 @@ Arweave data sources support two types of handlers: > Transactions are the building blocks of the Arweave permaweb and they are objects created by end-users. -> Note: [Bundlr](https://bundlr.network/) transactions are not supported yet. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Schema Definition @@ -150,12 +150,12 @@ Block handlers receive a `Block`, while transactions receive a `Transaction`. Writing the mappings of an Arweave Subgraph is very similar to writing the mappings of an Ethereum Subgraph. For more information, click [here](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Querying an Arweave Subgraph From 5a8f819c5ba5415a820dbdd59a8ecaa6b7c47c99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:41 -0400 Subject: [PATCH 0132/2326] New translations arweave.mdx (Marathi) --- website/pages/mr/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/mr/cookbook/arweave.mdx b/website/pages/mr/cookbook/arweave.mdx index 556eb3d6b80d..b267a6d46869 100644 --- a/website/pages/mr/cookbook/arweave.mdx +++ b/website/pages/mr/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Arweave वर सबग्राफ तयार करणे --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! या मार्गदर्शकामध्ये, तुम्ही Arweave ब्लॉकचेन इंडेक्स करण्यासाठी सबग्राफ कसे तयार करावे आणि कसे तैनात करावे ते शिकाल. @@ -83,7 +83,7 @@ dataSources: ``` - आर्वीव्ह सबग्राफ नवीन प्रकारचे डेटा स्रोत सादर करतात (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave डेटा स्रोत पर्यायी source.owner फील्ड सादर करतात, जी Arweave वॉलेटची सार्वजनिक की आहे Arweave डेटा स्रोत दोन प्रकारच्या हँडलरला समर्थन देतात: @@ -95,7 +95,7 @@ Arweave डेटा स्रोत दोन प्रकारच्या > व्यवहार हे Arweave permaweb चे बिल्डिंग ब्लॉक्स आहेत आणि ते अंतिम वापरकर्त्यांनी तयार केलेल्या वस्तू आहेत. -> टीप: [Bundlr](https://bundlr.network/) व्यवहार अद्याप समर्थित नाहीत. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## स्कीमा व्याख्या @@ -150,12 +150,12 @@ class Transaction { Arweave Subgraph चे मॅपिंग लिहिणे हे Ethereum Subgraph चे मॅपिंग लिहिण्यासारखेच आहे. अधिक माहितीसाठी, क्लिक करा [येथे](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -आलेख उपयोजित --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## प्रश्न करत आहे Arweave सबग्राफ From e0fd6b10af2604ace7c94aede6349afd996d191b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:42 -0400 Subject: [PATCH 0133/2326] New translations arweave.mdx (Hindi) --- website/pages/hi/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/hi/cookbook/arweave.mdx b/website/pages/hi/cookbook/arweave.mdx index c9411377d829..3c79cdad4622 100644 --- a/website/pages/hi/cookbook/arweave.mdx +++ b/website/pages/hi/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: आरवीव पर सब-ग्राफ्र्स बनाना --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! इस गाइड में आप आरवीव ब्लॉकचेन पर सब ग्राफ्स बनाना और डेप्लॉय करना सीखेंगे! @@ -83,7 +83,7 @@ dataSources: ``` - आरवीव सब-ग्राफ्स के नए प्रकार का डाटा सोर्स लाते हैं (`आरवीव`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - अरवीव डाटा सोर्स द्वारा एक वैकल्पिक source.owner फील्ड लाया गया, जो की एक आरवीव वॉलेट का मपब्लिक key है| आरवीव डाटा सोर्स द्वारा दो प्रकार के हैंडलर्स उपयोग किये जा सकते हैं: @@ -95,7 +95,7 @@ dataSources: > ट्रांसक्शन आरवीव परमावेब के लिए निर्माण खंड (बिल्डिंग ब्लॉक्स) की तरह होते हैं और एन्ड-यूजर के द्वारा बनाये गए ऑब्जेक्ट होते हैं| -> नोट: [Bundlr](https://bundlr.network/) ट्रांसक्शन अभी सपोर्ट नहीं किये जाते हैं| +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## स्कीमा की परिभाषा @@ -150,12 +150,12 @@ class Transaction { आरवीवे सब-ग्राफ की मैपिंग लिखना एथेरेयम के लिए सब-ग्राफ लिखने जैसा ही है| अधिक जानकारी [यहां](/developing/creating-a-subgraph/#writing-mappings) क्लिक करें| -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## आरवीव सब-ग्राफ क्वेरी करना From c19bd033eb31fcf28caeb092308a8c66741ebf3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:43 -0400 Subject: [PATCH 0134/2326] New translations arweave.mdx (Yoruba) --- website/pages/yo/cookbook/arweave.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/yo/cookbook/arweave.mdx b/website/pages/yo/cookbook/arweave.mdx index f6fb3a8b2ce3..15538454e3ff 100644 --- a/website/pages/yo/cookbook/arweave.mdx +++ b/website/pages/yo/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Building Subgraphs on Arweave --- -> Arweave support in Graph Node and on the hosted service is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! In this guide, you will learn how to build and deploy Subgraphs to index the Arweave blockchain. @@ -83,7 +83,7 @@ dataSources: ``` - Arweave subgraphs introduce a new kind of data source (`arweave`) -- The network should correspond to a network on the hosting Graph Node. On the hosted service, Arweave's mainnet is `arweave-mainnet` +- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` - Arweave data sources introduce an optional source.owner field, which is the public key of an Arweave wallet Arweave data sources support two types of handlers: @@ -95,7 +95,7 @@ Arweave data sources support two types of handlers: > Transactions are the building blocks of the Arweave permaweb and they are objects created by end-users. -> Note: [Bundlr](https://bundlr.network/) transactions are not supported yet. +> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. ## Schema Definition @@ -150,12 +150,12 @@ Block handlers receive a `Block`, while transactions receive a `Transaction`. Writing the mappings of an Arweave Subgraph is very similar to writing the mappings of an Ethereum Subgraph. For more information, click [here](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph on the hosted service +## Deploying an Arweave Subgraph in Subgraph Studio -Once your subgraph has been created on the hosted service dashboard, you can deploy by using the `graph deploy` CLI command. +Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. ```bash -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph deploy --studio --access-token ``` ## Querying an Arweave Subgraph From 0540cf49f4f7d7fd35404d07bcceaa51c7979d66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:44 -0400 Subject: [PATCH 0135/2326] New translations near.mdx (Romanian) --- website/pages/ro/cookbook/near.mdx | 31 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/ro/cookbook/near.mdx b/website/pages/ro/cookbook/near.mdx index 1d3402482301..28486f8bb0be 100644 --- a/website/pages/ro/cookbook/near.mdx +++ b/website/pages/ro/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Building Subgraphs on NEAR --- -> NEAR support in Graph Node and on the Hosted Service is in beta: please contact near@thegraph.com with any questions about building NEAR subgraphs! - This guide is an introduction to building subgraphs indexing smart contracts on the [NEAR blockchain](https://docs.near.org/). ## What is NEAR? -[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/docs/concepts/new-to-near) for more information. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## What are NEAR subgraphs? @@ -19,7 +17,7 @@ Subgraphs are event-based, which means that they listen for and then process on- - Block handlers: these are run on every new block - Receipt handlers: run every time a message is executed at a specified account -[From the NEAR documentation](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > A Receipt is the only actionable object in the system. When we talk about "processing a transaction" on the NEAR platform, this eventually means "applying receipts" at some point. @@ -73,8 +71,8 @@ dataSources: ``` - NEAR subgraphs introduce a new `kind` of data source (`near`) -- The `network` should correspond to a network on the hosting Graph Node. On the Hosted Service, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` -- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/docs/concepts/account). This can be an account or a sub-account. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR data sources introduce an alternative optional `source.accounts` field, which contains optional suffixes and prefixes. At least prefix or suffix must be specified, they will match the any account starting or ending with the list of values respectively. The example below would match: `[app|good].*[morning.near|morning.testnet]`. If only a list of prefixes or suffixes is necessary the other field can be omitted. ```yaml @@ -90,7 +88,7 @@ accounts: NEAR data sources support two types of handlers: - `blockHandlers`: run on every new NEAR block. No `source.account` is required. -- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/docs/concepts/account#subaccounts) must be added as independent data sources). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Schema Definition @@ -175,34 +173,35 @@ This includes a new JSON parsing function - logs on NEAR are frequently emitted Once you have a built subgraph, it is time to deploy it to Graph Node for indexing. NEAR subgraphs can be deployed to any Graph Node `>=v0.26.x` (this version has not yet been tagged & released). -The Graph's Hosted Service currently supports indexing NEAR mainnet and testnet in beta, with the following network names: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -More information on creating and deploying subgraphs on the Hosted Service can be found [here](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On the Hosted Service, this can be done from [your Dashboard](https://thegraph.com/hosted-service/dashboard): "Add Subgraph". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` The node configuration will depend on where the subgraph is being deployed. -### Serviciu găzduit +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Local Graph Node (based on default configuration) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Once your subgraph has been deployed, it will be indexed by Graph Node. You can check its progress by querying the subgraph itself: @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## References -- [NEAR developer documentation](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR developer documentation](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 6b6fde1905dbf37252f53e32144ad2c3059cafaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:45 -0400 Subject: [PATCH 0136/2326] New translations near.mdx (French) --- website/pages/fr/cookbook/near.mdx | 83 +++++++++++++++--------------- 1 file changed, 41 insertions(+), 42 deletions(-) diff --git a/website/pages/fr/cookbook/near.mdx b/website/pages/fr/cookbook/near.mdx index b1e19c5a58e9..31474f17dad4 100644 --- a/website/pages/fr/cookbook/near.mdx +++ b/website/pages/fr/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Construction de subgraphs sur NEAR --- -> La prise en charge de NEAR dans Graph Node et sur le service hébergé est en version bêta : veuillez contacter near@thegraph.com pour toute question concernant la construction de subgraphs NEAR ! - Ce guide est une introduction à la construction de subgraphs indexant des contrats intelligents sur la [blockchain NEAR](https://docs.near.org/). ## Que signifie NEAR ? -[NEAR](https://near.org/) est une plateforme de contrats intelligents permettant de créer des applications décentralisées. Consultez la [documentation officielle](https://docs.near.org/docs/concepts/new-to-near) pour plus d'informations. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## Que sont les subgraphs NEAR ? @@ -19,7 +17,7 @@ Les subgraphs sont basés sur des événements, ce qui signifie qu'ils écoutent - Gestionnaires de blocs : ceux-ci sont exécutés à chaque nouveau bloc - Gestionnaires de reçus : exécutés à chaque fois qu'un message est exécuté sur un compte spécifié -[Dans la documentation NEAR](https://docs.near.org/docs/concepts/transaction#receipt) : +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > Un reçu est le seul objet actionnable dans le système. Lorsque nous parlons de "traitement d'une transaction" sur la plateforme NEAR, cela signifie en fin de compte "appliquer des reçus" à un moment ou à un autre. @@ -53,44 +51,44 @@ $ graph build # génère le Web Assembly à partir des fichiers AssemblyScript, Le manifeste de subgraph (`subgraph.yaml`) identifie les sources de données pour le subgraph, les déclencheurs d'intérêt et les fonctions qui doivent être exécutées en réponse à ces déclencheurs. Voici un exemple de manifeste de subgraph pour un subgraph NEAR: ```yaml -specVersion: 0.0.2 -schema: - file: ./src/schema.graphql # lien vers le fichier de schéma -dataSources: - - kind: near - network: near-mainnet - source: - account: app.good-morning.near # Cette source de données surveillera ce compte - startBlock: 10662188 # Requis pour NEAR - mapping: - apiVersion: 0.0.5 - language: wasm/assemblyscript - blockHandlers: - - handler: handleNewBlock # le nom de la fonction dans le fichier de mapping - receiptHandlers: - - handler: handleReceipt # le nom de la fonction dans le fichier de mappage - file: ./src/mapping.ts # lien vers le fichier contenant les mappings Assemblyscript +specVersion : 0.0.2 +schema : + file : ./src/schema.graphql # lien vers le fichier de schéma +dataSources : + - kind : near + network : near-mainnet + source : + account : app.good-morning.near # Cette source de données surveillera ce compte + startBlock : 10662188 # Requis pour NEAR + mapping : + apiVersion : 0.0.5 + language : wasm/assemblyscript + blockHandlers : + - handler : handleNewBlock # le nom de la fonction dans le fichier de mapping + receiptHandlers : + - handler : handleReceipt # le nom de la fonction dans le fichier de mappage + file : ./src/mapping.ts # lien vers le fichier contenant les mappings Assemblyscript ``` - Les subgraphs NEAR introduisent un nouveau `type` de source de données (`near`) -- Le `réseau` doit correspondre à un réseau sur le nœud The Graph d'hébergement. Sur le Service Hébergé, le mainnet de NEAR est `near-mainnet`, et le réseau de test de NEAR est `near-testnet` -- Les sources de données NEAR introduisent un champ facultatif `source.account`, qui est un identifiant lisible par l'homme correspondant à un [ Compte NEAR](https://docs.near.org/docs/concepts/account). Cela peut être un compte ou un sous-compte. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - Les sources de données NEAR introduisent un champ `source.accounts` facultatif alternatif, qui contient des suffixes et des préfixes facultatifs. Au moins un préfixe ou un suffixe doit être spécifié, ils correspondront respectivement à n'importe quel compte commençant ou se terminant par la liste de valeurs. L'exemple ci-dessous correspondrait : `[app|good].*[morning.near|morning.testnet]`. Si seule une liste de préfixes ou de suffixes est nécessaire, l'autre champ peut être omis. ```yaml comptes: - préfixes: - - application - - bien - suffixes: - - matin.près - - matin.testnet + préfixes : + - application + - bien + suffixes : + - matin.près + - matin.testnet ``` Les fichiers de données NEAR prennent en charge deux types de gestionnaires : - `blockHandlers` : s'exécute sur chaque nouveau bloc NEAR. Aucun `source.account` n'est requis. -- `receiptHandlers` : exécuté sur chaque reçu dont le `source.account` de la source de données est le destinataire. Notez que seules les correspondances exactes sont traitées (les [sous-comptes](https://docs.near.org/docs/concepts/account#subaccounts) doivent être ajoutés en tant que sources de données indépendantes). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### La Définition du schema @@ -175,34 +173,35 @@ Cela inclut une nouvelle fonction d'analyse JSON - les journaux sur NEAR sont fr Une fois que vous avez construit un subgraph, il est temps de le déployer sur Graph Node pour l'indexation. Les subgraphs NEAR peuvent être déployés sur n'importe quel nœud The Graph `>=v0.26.x` (cette version n'a pas encore été marquée & et publiée). -Le Service Hébergé The Graph supporte actuellement l'indexation du mainnet NEAR et réseau de test en version bêta, avec les noms de réseaux suivants : +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -Vous trouverez de plus amples d'informations sur la création et le déploiement de subgraphs sur le Service Hébergé [ici](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -En guise d'introduction rapide, la première étape consiste à "créer" votre subgraph, ce qui ne doit être fait qu'une seule fois. Sur le Service Hébergé, cela peut être fait à partir de votre [tableau de bord](https://thegraph.com/hosted-service/dashboard) : "Ajouter un subgraph". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Une fois votre subgraph créé, vous pouvez le déployer en utilisant la commande CLI `graph deploy` : ```sh -$ graph create --node subgraph/name # crée un subgraph sur un Graph Node local (sur le Service Hébergé, cela se fait via l'interface utilisateur) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # télécharge les fichiers de construction vers un point de terminaison IPFS spécifié, puis déploie le subgraph vers un Graph Node spécifié en fonction du hash IPFS du manifeste +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` La configuration du nœud dépend de l'endroit où le subgraph est déployé. -### Le Service hébergé +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Nœud Graph local ( en fonction de la configuration par défaut) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Une fois que votre subgraph a été déployé, il sera indexé par le nœud The Graph. Vous pouvez vérifier sa progression en interrogeant le subgraph lui-même : @@ -233,7 +232,7 @@ Le point de terminaison GraphQL pour les subgraphs NEAR est déterminé par la d ## Des exemples de subgraphs -Voici quelques exemples de subgraphs pour référence : +Here are some example subgraphs for reference: [NEAR Blocs](https://github.com/graphprotocol/graph-tooling/tree/main/examples/near-blocks) @@ -259,8 +258,8 @@ Si un `compte` est spécifié, il correspondra uniquement au nom exact du compte ```yaml comptes: - suffixes: - - mintbase1.near + suffixes : + - mintbase1.near ``` ### Les subgraphs NEAR peuvent-ils faire des appels de view aux comptes NEAR pendant les mappings? @@ -281,4 +280,4 @@ S'il s'agit d'une question générale sur le développement de subgraphs, il y a ## Les Références -- [Documentation du développeur NEAR](https://docs.near.org/docs/develop/basics/getting-started) +- [Documentation du développeur NEAR](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From b7f873f4af8b7c259e8611b759fef106b18a9a5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:46 -0400 Subject: [PATCH 0137/2326] New translations near.mdx (Spanish) --- website/pages/es/cookbook/near.mdx | 31 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/es/cookbook/near.mdx b/website/pages/es/cookbook/near.mdx index 98469fce2bc0..70f2110f6757 100644 --- a/website/pages/es/cookbook/near.mdx +++ b/website/pages/es/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Construcción de subgrafos en NEAR --- -> ¡El soporte NEAR en Graph Nueve y en el servicio alojado está en versión beta: comunícate con near@thegraph.com si tienes alguna pregunta sobre la creación de subgrafos NEAR! - Esta guía es una introducción a la construcción de subgrafos que indexan contratos inteligentes en la [blockchain NEAR ](https://docs.near.org/). ## ¿Qué es NEAR? -[NEAR](https://near.org/) es una plataforma de contrato inteligente para crear aplicaciones descentralizadas. Visita la [documentación oficial](https://docs.near.org/docs/concepts/new-to-near) para obtener más información. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## ¿Qué son los subgrafos NEAR? @@ -19,7 +17,7 @@ Los subgrafos se basan en eventos, lo que significa que escuchan y procesan los - Handlers de bloques: se ejecutan en cada nuevo bloque - Handlers de recibos: se realizan cada vez que se ejecuta un mensaje en una cuenta específica -[De la documentación de NEAR](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > Un recibo es el único objeto procesable del sistema. Cuando hablamos de "procesar una transacción" en la plataforma NEAR, esto significa eventualmente "aplicar recibos" en algún momento. @@ -73,8 +71,8 @@ dataSources: ``` - Los subgrafos NEAR introducen un nuevo `tipo` de fuente de datos (`near`) -- La `red` debe corresponder a una red en el Graph Node de alojamiento. En el servicio alojado, la red principal de NEAR es `near-mainnet`, y la red de prueba de NEAR es `near-testnet` -- Las fuentes de datos NEAR introducen un campo `source.account` opcional, que es una identificación legible por humanos correspondiente a una [ cuenta NEAR](https://docs.near.org/docs/concepts/account). Puede ser una cuenta o una subcuenta. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - Las fuentes de datos NEAR introducen un campo alternativo opcional `source.accounts`, que contiene sufijos y prefijos opcionales. Se debe especificar al menos el prefijo o el sufijo, coincidirán con cualquier cuenta que comience o termine con la lista de valores, respectivamente. El siguiente ejemplo coincidiría con: `[app|good].*[morning.near|morning.testnet]`. Si solo se necesita una lista de prefijos o sufijos, se puede omitir el otro campo. ```yaml @@ -90,7 +88,7 @@ accounts: Las fuentes de datos NEAR admiten dos tipos de handlers: - `blockHandlers`: se ejecuta en cada nuevo bloque NEAR. No se requiere `source.account`. -- `receiptHandlers`: se ejecuta en cada recibo donde la fuente de datos `source.account` es el destinatario. Tenga en cuenta que solo se procesan las coincidencias exactas (las [subcuentas](https://docs.near.org/docs/concepts/account#subaccounts) deben agregarse como fuentes de datos independientes). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Definición de esquema @@ -175,34 +173,35 @@ Esto incluye una nueva función de análisis de JSON: los registros en NEAR se e Una vez que hayas creado un subgrafo, es hora de implementarlo en Graph Node para indexarlo. Los subgrafos NEAR se pueden implementar en cualquier Graph Node `>=v0.26.x` (esta versión aún no se ha etiquetado & publicada). -El servicio alojado de The Graph actualmente admite la indexación de NEAR mainnet y testnet en versión beta, con los siguientes nombres de red: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -Puede encontrar más información sobre la creación y la implementación de subgrafos en el servicio alojado [aquí](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -Como introducción rápida, el primer paso es "crear" su subgrafo; esto solo debe hacerse una vez. En el Servicio alojado, esto se puede hacer desde [su dashboard](https://thegraph.com/hosted-service/dashboard): "Agregar subgrafo". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Una vez que se haya creado su subgrafo, puede implementar su subgrafo usando el comando CLI `graph deployment`: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # carga los archivos de compilación en un punto final de IPFS específico y luego implementa el subgrafo en un Graph Node específico en función del hash de IPFS del manifiesto +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` La configuración del nodo dependerá de dónde se implemente el subgrafo. -### Servicio Alojado +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Graph Node Local (basado en la configuración predeterminada) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Una vez que se haya implementado su subgrafo, Graph Node lo indexará. Puede comprobar su progreso consultando el propio subgrafo: @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## Referencias -- [Documentación para desarrolladores de NEAR](https://docs.near.org/docs/develop/basics/getting-started) +- [Documentación para desarrolladores de NEAR](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 02ecad6e670c832523675b7a456aa06a395223a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:47 -0400 Subject: [PATCH 0138/2326] New translations near.mdx (Arabic) --- website/pages/ar/cookbook/near.mdx | 39 +++++++++++++++--------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/ar/cookbook/near.mdx b/website/pages/ar/cookbook/near.mdx index 40e13f93cbd1..fc1d46596abe 100644 --- a/website/pages/ar/cookbook/near.mdx +++ b/website/pages/ar/cookbook/near.mdx @@ -2,13 +2,11 @@ title: بناء Subgraphs على NEAR --- -> يتوفر دعم NEAR في Graph Node وفي الخدمة المستضافة(Hosted Service) في مرحلة beta: يرجى التواصل بـ near@thegraph.com إذا كانت لديك أي أسئلة حول بناء subgraphs NEAR! - هذا الدليل عبارة عن مقدمة لبناء subgraphs تقوم بفهرسة العقود الذكية على [NEAR blockchain](https://docs.near.org/). ## ما هو NEAR؟ -[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/docs/concepts/new-to-near) for more information. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## ماهي NEAR subgraphs؟ @@ -19,7 +17,7 @@ title: بناء Subgraphs على NEAR - معالجات الكتل(Block handlers): يتم تشغيلها على كل كتلة جديدة - معالجات الاستلام (Receipt handlers): يتم تشغيلها في كل مرة يتم فيها تنفيذ رسالة على حساب محدد -[ من وثائق NEAR ](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > الاستلام (Receipt) هو الكائن الوحيد القابل للتنفيذ في النظام. عندما نتحدث عن "معالجة الإجراء" على منصة NEAR ، فإن هذا يعني في النهاية "تطبيق الاستلامات" في مرحلة ما. @@ -29,13 +27,13 @@ title: بناء Subgraphs على NEAR `graphprotocol/graph-ts@` هي مكتبة لأنواع خاصة بـ subgraph. -تطوير NEAR subgraph يتطلب `graph-cli` بإصدار أعلى من `0.23.0` و `graph-ts` بإصدار أعلى من `0.23.0`. +تطوير NEAR subgraph يتطلب `graph-cli` بإصدار أعلى من ` 0.23.0 ` و `graph-ts` بإصدار أعلى من ` 0.23.0 `. > Building a NEAR subgraph is very similar to building a subgraph that indexes Ethereum. هناك ثلاثة جوانب لتعريف الـ subgraph: -**subgraph.yaml:** الـ subgraph manifest ، وتحديد مصادر البيانات ذات الأهمية ، وكيف يجب أن تتم معالجتها.علما أن NEAR هو `نوع` جديد لمصدر البيانات. +**subgraph.yaml:** الـ subgraph manifest ، وتحديد مصادر البيانات ذات الأهمية ، وكيف يجب أن تتم معالجتها.علما أن NEAR هو ` نوع ` جديد لمصدر البيانات. **schema.graphql:** a schema file that defines what data is stored for your subgraph, and how to query it via GraphQL. The requirements for NEAR subgraphs are covered by [the existing documentation](/developing/creating-a-subgraph#the-graphql-schema). @@ -73,8 +71,8 @@ dataSources: ``` - NEAR subgraphs يقدم `نوعا ` جديدا من مصدر بيانات (`near`) -- يجب أن يتوافق الـ `network` مع شبكة على Graph Node المضيفة. في الخدمة المستضافة ، الشبكة الرئيسية لـ NEAR هي `near-mainnet` ، وشبكة NEAR's testnet هي `near-testnet` -- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/docs/concepts/account). This can be an account or a sub-account. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR data sources introduce an alternative optional `source.accounts` field, which contains optional suffixes and prefixes. At least prefix or suffix must be specified, they will match the any account starting or ending with the list of values respectively. The example below would match: `[app|good].*[morning.near|morning.testnet]`. If only a list of prefixes or suffixes is necessary the other field can be omitted. ```yaml @@ -90,7 +88,7 @@ accounts: مصادر بيانات NEAR تدعم نوعين من المعالجات: - `blockHandlers`: يتم تشغيلها على كل كتلة NEAR جديدة. لا يتطلب `source.account`. -- `receiptHandlers`: يتم تشغيلها في كل استلام حيث يكون مصدر البيانات`source.account` هو المستلم. لاحظ أنه تتم معالجة المطابقات التامة فقط (يجب إضافة حسابات فرعية [subaccounts](https://docs.near.org/docs/concepts/account#subaccounts) كمصادر بيانات مستقلة). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### تعريف المخطط @@ -165,7 +163,7 @@ class ReceiptWithOutcome { These types are passed to block & receipt handlers: - معالجات الكتلة ستتلقى`Block` -- معالجات الاستلام ستتلقى`ReceiptWithOutcome` +- معالجات الاستلام ستتلقى` ReceiptWithOutcome ` Otherwise, the rest of the [AssemblyScript API](/developing/assemblyscript-api) is available to NEAR subgraph developers during mapping execution. @@ -175,34 +173,35 @@ This includes a new JSON parsing function - logs on NEAR are frequently emitted بمجرد امتلاكك لـ subgraph، فقد حان الوقت لنشره في Graph Node للفهرسة. يمكن نشر NEAR subgraphs في اصدارات Graph Node `>=v0.26.x` (لم يتم وضع علامة(tag) على هذا الإصدار ولم يتم إصداره بعد). -تدعم Graph's Hosted Service حاليًا فهرسة NEAR mainnet و testnet في مرحلة beta، وذلك باستخدام أسماء الشبكات التالية: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -More information on creating and deploying subgraphs on the Hosted Service can be found [here](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -كتمهيد سريع - الخطوة الأولى هي "إنشاء" subgraph خاص بك - يجب القيام بذلك مرة واحدة فقط. على Hosted Service ، يمكن القيام بذلك من [Dashboard](https://thegraph.com/hosted-service/dashboard): الخاص بك "Add Subgraph". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". بمجرد إنشاء الـ subgraph الخاص بك ، يمكنك نشره باستخدام الأمر `graph deploy`: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` The node configuration will depend on where the subgraph is being deployed. -### الخدمة المستضافة +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Local Graph Node (based on default configuration) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` بمجرد نشر الـ subgraph الخاص بك ، سيتم فهرسته بواسطة Graph Node. يمكنك التحقق من تقدمه عن طريق الاستعلام عن الـ subgraph نفسه: @@ -233,7 +232,7 @@ The GraphQL endpoint for NEAR subgraphs is determined by the schema definition, ## أمثلة على الـ Subgraphs -فيما يلي بعض الأمثلة على الـ subgraphs للرجوع إليها: +Here are some example subgraphs for reference: [NEAR Blocks](https://github.com/graphprotocol/graph-tooling/tree/main/examples/near-blocks) @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## المراجع -- [وثائق مطور NEAR](https://docs.near.org/docs/develop/basics/getting-started) +- [وثائق مطور NEAR](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 07d6d7463e25da81766b91bd00753a9240db0cb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:48 -0400 Subject: [PATCH 0139/2326] New translations near.mdx (Czech) --- website/pages/cs/cookbook/near.mdx | 33 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/website/pages/cs/cookbook/near.mdx b/website/pages/cs/cookbook/near.mdx index 6eda57f33c43..2ad4a1deec4d 100644 --- a/website/pages/cs/cookbook/near.mdx +++ b/website/pages/cs/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Vytváření podgrafů v NEAR --- -> Podpora NEAR v Graph Node a v hostované službě je ve fázi beta: s případnými dotazy ohledně vytváření podgrafů NEAR se obracejte na near@thegraph.com! - Tato příručka je úvodem do vytváření subgrafů indexujících chytré kontrakty na [NEAR blockchain](https://docs.near.org/). ## Co je NEAR? -"[NEAR](https://near.org/) je platforma pro chytré kontrakty určená pro vytváření decentralizovaných aplikací. Navštivte [oficiální dokumentaci](https://docs.near.org/docs/concepts/new-to-near) pro více informací." +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## Co jsou podgrafy NEAR? @@ -19,7 +17,7 @@ Podgrafy jsou založeny na událostech, což znamená, že naslouchají událost - Obsluhy bloků: jsou spouštěny při každém novém bloku. - Obsluhy příjmu: spouštějí se pokaždé, když je zpráva provedena na zadaném účtu. -[Z dokumentace NEAR](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > Příjemka je jediným objektem, který lze v systému použít. Když na platformě NEAR hovoříme o "zpracování transakce", znamená to v určitém okamžiku "použití účtenky". @@ -73,8 +71,8 @@ dataSources: ``` - Podgrafy NEAR představují nový `druh` zdroje dat (`near`) -- `síť` by měla odpovídat síti na hostitelském uzlu grafu. V hostované službě je hlavní síť NEAR `near-mainnet` a testovací síť NEAR je `near-testnet` -- `síť` by měla odpovídat síti na hostitelském uzlu grafu. V hostované službě je hlavní síť NEAR `near-mainnet` a testovací síť NEAR je `near-testnet` +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR datové zdroje představují alternativní volitelné pole `source.accounts`, které obsahuje volitelné přípony a předpony. Musí být specifikována alespoň jedna z předpony nebo přípony, které odpovídají jakémukoli účtu začínajícímu nebo končícímu uvedenými hodnotami. Příklad níže by odpovídal: `[app|good].*[morning.near|morning.testnet]`. Pokud je potřeba pouze seznam předpon nebo přípon, druhé pole lze vynechat. ```yaml @@ -90,7 +88,7 @@ accounts: Zdroje dat NEAR podporují dva typy zpracovatelů: - `blockHandlers`: spustí se na každém novém bloku NEAR. Není vyžadován žádný `source.account`. -- `receiptHandlers`: spustí se u každé účtenky, kde je příjemcem `source.account` zdroje dat. Upozorňujeme, že jsou zpracovávány pouze přesné shody ([podúčty](https://docs.near.org/docs/concepts/account#subaccounts) musí být přidány jako nezávislé zdroje dat). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Definice schématu @@ -175,34 +173,35 @@ To zahrnuje novou funkci parsování JSON - záznamy na NEAR jsou často vysíl Jakmile máte sestavený podgraf, je čas jej nasadit do Graph Node k indexování. Podgrafy NEAR lze nasadit do libovolného Graph Node `>=v0.26.x` (tato verze ještě nebyla označena & vydána). -Hostovaná služba Graph's Hosted Service v současné době podporuje indexování NEAR mainnet a testnet v beta verzi s následujícími názvy sítí: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -Další informace o vytváření a nasazování subgrafů v hostované službě najdete [zde](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -Pro rychlou představu - prvním krokem je "vytvoření" podgrafu - to je třeba provést pouze jednou. V hostované službě to lze provést z [vého ovládacího panelu](https://thegraph.com/hosted-service/dashboard): "Přidat podgraf". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Po vytvoření podgrafu můžete podgraf nasadit pomocí příkazu `graph deploy` CLI: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` Konfigurace uzlů závisí na tom, kde je podgraf nasazen. -### Hostovaná služba +### Podgraf Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Místní uzel grafu (na základě výchozí konfigurace) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Jakmile je podgraf nasazen, bude indexován pomocí Graph Node. Jeho průběh můžete zkontrolovat dotazem na samotný podgraf: @@ -233,7 +232,7 @@ Koncový bod GraphQL pro podgrafy NEAR je určen definicí schématu se stávaj ## Příklady podgrafů -Zde je několik příkladů podgrafů: +Here are some example subgraphs for reference: [NEAR bloky](https://github.com/graphprotocol/graph-tooling/tree/main/examples/near-blocks) @@ -281,4 +280,4 @@ Pokud se jedná o obecnou otázku týkající se vývoje podgrafů, je zde mnohe ## Odkazy: -- [ Dokumentace pro vývojáře NEAR](https://docs.near.org/docs/develop/basics/getting-started) +- [ Dokumentace pro vývojáře NEAR](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 504cf24a4fcc1d7265cb83e24e213253e1548b25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:49 -0400 Subject: [PATCH 0140/2326] New translations near.mdx (German) --- website/pages/de/cookbook/near.mdx | 33 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/website/pages/de/cookbook/near.mdx b/website/pages/de/cookbook/near.mdx index 71a5a578b8a1..e571f7b79a4b 100644 --- a/website/pages/de/cookbook/near.mdx +++ b/website/pages/de/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Building Subgraphs on NEAR --- -> NEAR support in Graph Node and on the Hosted Service is in beta: please contact near@thegraph.com with any questions about building NEAR subgraphs! - This guide is an introduction to building subgraphs indexing smart contracts on the [NEAR blockchain](https://docs.near.org/). ## What is NEAR? -[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/docs/concepts/new-to-near) for more information. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## What are NEAR subgraphs? @@ -19,7 +17,7 @@ Subgraphs are event-based, which means that they listen for and then process on- - Block handlers: these are run on every new block - Receipt handlers: run every time a message is executed at a specified account -[From the NEAR documentation](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > A Receipt is the only actionable object in the system. When we talk about "processing a transaction" on the NEAR platform, this eventually means "applying receipts" at some point. @@ -73,8 +71,8 @@ dataSources: ``` - NEAR subgraphs introduce a new `kind` of data source (`near`) -- The `network` should correspond to a network on the hosting Graph Node. On the Hosted Service, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` -- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/docs/concepts/account). This can be an account or a sub-account. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR data sources introduce an alternative optional `source.accounts` field, which contains optional suffixes and prefixes. At least prefix or suffix must be specified, they will match the any account starting or ending with the list of values respectively. The example below would match: `[app|good].*[morning.near|morning.testnet]`. If only a list of prefixes or suffixes is necessary the other field can be omitted. ```yaml @@ -90,7 +88,7 @@ accounts: NEAR data sources support two types of handlers: - `blockHandlers`: run on every new NEAR block. No `source.account` is required. -- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/docs/concepts/account#subaccounts) must be added as independent data sources). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Schema-Definition @@ -175,34 +173,35 @@ This includes a new JSON parsing function - logs on NEAR are frequently emitted Once you have a built subgraph, it is time to deploy it to Graph Node for indexing. NEAR subgraphs can be deployed to any Graph Node `>=v0.26.x` (this version has not yet been tagged & released). -The Graph's Hosted Service currently supports indexing NEAR mainnet and testnet in beta, with the following network names: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -More information on creating and deploying subgraphs on the Hosted Service can be found [here](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On the Hosted Service, this can be done from [your Dashboard](https://thegraph.com/hosted-service/dashboard): "Add Subgraph". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` The node configuration will depend on where the subgraph is being deployed. -### Hosted Service +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Local Graph Node (based on default configuration) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Once your subgraph has been deployed, it will be indexed by Graph Node. You can check its progress by querying the subgraph itself: @@ -233,7 +232,7 @@ The GraphQL endpoint for NEAR subgraphs is determined by the schema definition, ## Beispiele von Subgrafen -Hier sind einige Beispiele von Subgrafen als Referenz: +Here are some example subgraphs for reference: [NEAR Blocks](https://github.com/graphprotocol/graph-tooling/tree/main/examples/near-blocks) @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## References -- [NEAR developer documentation](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR developer documentation](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 947495fbd26ba27189ce2bc9a6954efe38c6d873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:50 -0400 Subject: [PATCH 0141/2326] New translations near.mdx (Italian) --- website/pages/it/cookbook/near.mdx | 31 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/it/cookbook/near.mdx b/website/pages/it/cookbook/near.mdx index d76d97022e69..5336c8c0c1c3 100644 --- a/website/pages/it/cookbook/near.mdx +++ b/website/pages/it/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Building Subgraphs on NEAR --- -> NEAR support in Graph Node and on the Hosted Service is in beta: please contact near@thegraph.com with any questions about building NEAR subgraphs! - This guide is an introduction to building subgraphs indexing smart contracts on the [NEAR blockchain](https://docs.near.org/). ## What is NEAR? -[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/docs/concepts/new-to-near) for more information. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## What are NEAR subgraphs? @@ -19,7 +17,7 @@ Subgraphs are event-based, which means that they listen for and then process on- - Block handlers: these are run on every new block - Receipt handlers: run every time a message is executed at a specified account -[From the NEAR documentation](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > A Receipt is the only actionable object in the system. When we talk about "processing a transaction" on the NEAR platform, this eventually means "applying receipts" at some point. @@ -73,8 +71,8 @@ dataSources: ``` - NEAR subgraphs introduce a new `kind` of data source (`near`) -- The `network` should correspond to a network on the hosting Graph Node. On the Hosted Service, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` -- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/docs/concepts/account). This can be an account or a sub-account. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR data sources introduce an alternative optional `source.accounts` field, which contains optional suffixes and prefixes. At least prefix or suffix must be specified, they will match the any account starting or ending with the list of values respectively. The example below would match: `[app|good].*[morning.near|morning.testnet]`. If only a list of prefixes or suffixes is necessary the other field can be omitted. ```yaml @@ -90,7 +88,7 @@ accounts: NEAR data sources support two types of handlers: - `blockHandlers`: run on every new NEAR block. No `source.account` is required. -- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/docs/concepts/account#subaccounts) must be added as independent data sources). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Schema Definition @@ -175,34 +173,35 @@ This includes a new JSON parsing function - logs on NEAR are frequently emitted Once you have a built subgraph, it is time to deploy it to Graph Node for indexing. NEAR subgraphs can be deployed to any Graph Node `>=v0.26.x` (this version has not yet been tagged & released). -The Graph's Hosted Service currently supports indexing NEAR mainnet and testnet in beta, with the following network names: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -More information on creating and deploying subgraphs on the Hosted Service can be found [here](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On the Hosted Service, this can be done from [your Dashboard](https://thegraph.com/hosted-service/dashboard): "Add Subgraph". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` The node configuration will depend on where the subgraph is being deployed. -### Servizio di Hosting +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Local Graph Node (based on default configuration) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Once your subgraph has been deployed, it will be indexed by Graph Node. You can check its progress by querying the subgraph itself: @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## Riferimenti -- [NEAR developer documentation](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR developer documentation](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 693675eff29d4e5545e53b34c914d04ecfc1c5c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:51 -0400 Subject: [PATCH 0142/2326] New translations near.mdx (Japanese) --- website/pages/ja/cookbook/near.mdx | 33 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/website/pages/ja/cookbook/near.mdx b/website/pages/ja/cookbook/near.mdx index 926e1d9fa362..91dc4d55e87d 100644 --- a/website/pages/ja/cookbook/near.mdx +++ b/website/pages/ja/cookbook/near.mdx @@ -2,13 +2,11 @@ title: NEAR でサブグラフを作成する --- -> グラフノードおよびホステッドサービスにおける NEAR のサポートはベータ版です。NEAR サブグラフの構築に関するご質問は、near@thegraph.com までお問い合わせください。 - このガイドは、[NEAR blockchain](https://docs.near.org/)上のスマートコントラクトを索引するサブグラフを構築するための入門書です。 ## NEAR とは? -[NEAR](https://near.org/)は、非中央集権的なアプリケーションを構築するためのスマートコントラクトプラットフォームです。詳細は[公式ドキュメント](https://docs.near.org/docs/concepts/new-to-near)をご覧ください。 +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## NEAR サブグラフとは? @@ -19,7 +17,7 @@ Graph は、ブロックチェーンのイベントを処理し、その結果 - ブロックハンドラ:新しいブロックごとに実行されます - レシートハンドラ:指定されたアカウントでメッセージが実行されるたびに実行されます -[NEAR のドキュメントより](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > レシートは、システム内で唯一実行可能なオブジェクトです。NEAR プラットフォームで「トランザクションの処理」といえば、最終的にはどこかの時点で「レシートの適用」を意味します。 @@ -73,8 +71,8 @@ dataSources: ``` - NEAR サブグラフは、新しい`種類`のデータソース(`near`) を導入する -- ホスト側のグラフノード上の`ネットワーク`に対応している必要があります。ホスティングサービスでは、NEAR のメインネットは`near-mainnet`,、NEAR のテストネットは`near-testnet`です。 -- NEAR のデータソースには、オプションで`source.account`フィールドが用意されており、これは[NEAR account](https://docs.near.org/docs/concepts/account)に対応する人間が読める ID であり、アカウントまたはサブアカウントである可能性があります。 +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEARのデータソースは、オプションの `source.accounts` フィールドを導入し、オプションのサフィックスとプレフィックスを含んでいます。少なくともプレフィックスまたはサフィックスを指定する必要があり、それぞれ値のリストで始まるまたは終わる任意のアカウントにマッチします。以下の例では、以下のようにマッチします。`[app|good].*[morning.near|morning.testnet]`. リストだけが必要な場合は、他のフィールドを省略することができます。 ```yaml @@ -90,7 +88,7 @@ accounts: NEAR データソースは 2 種類のハンドラーをサポートしています: - `blockHandlers`: 新しい NEAR ブロックごとに実行され、`source.account` は必要ありません。 -- `receiptHandlers`:データソースの`source.account`が受信者であるすべてのレシートで実行されます。完全一致のみ処理されることに注意してください([subaccounts](https://docs.near.org/docs/concepts/account#subaccounts)は独立したデータソースとして追加する必要があります)。 +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### スキーマ定義 @@ -175,34 +173,35 @@ class ReceiptWithOutcome { サブグラフを作成したら、それをインデックス作成のためにグラフ ノードにデプロイします。 NEAR サブグラフは、`>=v0.26.x` 以降のグラフ ノードにデプロイできます (このバージョンはまだタグ付けされていないか、リリースされていません)。 -グラフのホステッドサービスは現在、NEAR mainnet と testnet のベータ版のインデックス作成をサポートしており、ネットワーク名は以下の通りです: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -ホステッドサービスでのサブグラフの作成と展開に関する詳細は[こちら](/deploying/deploying-a-subgraph-to-hosted)をご覧ください。 +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -簡単に説明すると、最初のステップはサブグラフを「作成」することです。ホスティングサービスでは、[ダッシュボード](https://thegraph.com/hosted-service/dashboard)から行います。"Add Subgraph "をクリックします。 +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". サブグラフが作成されたら、CLI コマンドの`graph deploy`を使ってサブグラフをデプロイすることができます。 ```sh -$ graph create --node subgraph/name # ローカルのグラフノードにサブグラフを作成します (Hosted Serviceでは、UI経由で実行) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # 指定したIPFSエンドポイントにビルドファイルをアップロードし、マニフェストのIPFSハッシュに基づいて指定したグラフノードにサブグラフをデプロイします。 +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` ノードの構成は、サブグラフがどこにディプロイされるかによって異なります。 -### Hosted Service +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### ローカル グラフ ノード (デフォルト構成に基づく) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` デプロイされたサブグラフは、Graph Node によってインデックス化され、その進捗状況は、サブグラフ自体にクエリして確認できます: @@ -233,7 +232,7 @@ NEAR サブグラフの GraphQL エンドポイントは、既存の API イン ## サブグラフの例 -参考までにサブグラフの例を紹介します: +Here are some example subgraphs for reference: [NEARブロック](https://github.com/graphprotocol/graph-tooling/tree/main/examples/near-blocks) @@ -281,4 +280,4 @@ accounts: ## 参考文献 -- [NEAR 開発者ドキュメント](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR 開発者ドキュメント](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 1239aca50160011b2547dee3c98d39aae34103ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:52 -0400 Subject: [PATCH 0143/2326] New translations near.mdx (Korean) --- website/pages/ko/cookbook/near.mdx | 31 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/ko/cookbook/near.mdx b/website/pages/ko/cookbook/near.mdx index ef4e22867469..28486f8bb0be 100644 --- a/website/pages/ko/cookbook/near.mdx +++ b/website/pages/ko/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Building Subgraphs on NEAR --- -> NEAR support in Graph Node and on the Hosted Service is in beta: please contact near@thegraph.com with any questions about building NEAR subgraphs! - This guide is an introduction to building subgraphs indexing smart contracts on the [NEAR blockchain](https://docs.near.org/). ## What is NEAR? -[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/docs/concepts/new-to-near) for more information. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## What are NEAR subgraphs? @@ -19,7 +17,7 @@ Subgraphs are event-based, which means that they listen for and then process on- - Block handlers: these are run on every new block - Receipt handlers: run every time a message is executed at a specified account -[From the NEAR documentation](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > A Receipt is the only actionable object in the system. When we talk about "processing a transaction" on the NEAR platform, this eventually means "applying receipts" at some point. @@ -73,8 +71,8 @@ dataSources: ``` - NEAR subgraphs introduce a new `kind` of data source (`near`) -- The `network` should correspond to a network on the hosting Graph Node. On the Hosted Service, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` -- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/docs/concepts/account). This can be an account or a sub-account. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR data sources introduce an alternative optional `source.accounts` field, which contains optional suffixes and prefixes. At least prefix or suffix must be specified, they will match the any account starting or ending with the list of values respectively. The example below would match: `[app|good].*[morning.near|morning.testnet]`. If only a list of prefixes or suffixes is necessary the other field can be omitted. ```yaml @@ -90,7 +88,7 @@ accounts: NEAR data sources support two types of handlers: - `blockHandlers`: run on every new NEAR block. No `source.account` is required. -- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/docs/concepts/account#subaccounts) must be added as independent data sources). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Schema Definition @@ -175,34 +173,35 @@ This includes a new JSON parsing function - logs on NEAR are frequently emitted Once you have a built subgraph, it is time to deploy it to Graph Node for indexing. NEAR subgraphs can be deployed to any Graph Node `>=v0.26.x` (this version has not yet been tagged & released). -The Graph's Hosted Service currently supports indexing NEAR mainnet and testnet in beta, with the following network names: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -More information on creating and deploying subgraphs on the Hosted Service can be found [here](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On the Hosted Service, this can be done from [your Dashboard](https://thegraph.com/hosted-service/dashboard): "Add Subgraph". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` The node configuration will depend on where the subgraph is being deployed. -### 호스팅 서비스 +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Local Graph Node (based on default configuration) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Once your subgraph has been deployed, it will be indexed by Graph Node. You can check its progress by querying the subgraph itself: @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## References -- [NEAR developer documentation](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR developer documentation](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From c0a7df27cc5781782dc8df0453bc16d54f3368da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:53 -0400 Subject: [PATCH 0144/2326] New translations near.mdx (Dutch) --- website/pages/nl/cookbook/near.mdx | 31 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/nl/cookbook/near.mdx b/website/pages/nl/cookbook/near.mdx index fed1e365a337..53d540caa987 100644 --- a/website/pages/nl/cookbook/near.mdx +++ b/website/pages/nl/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Building Subgraphs on NEAR --- -> NEAR support in Graph Node and on the Hosted Service is in beta: please contact near@thegraph.com with any questions about building NEAR subgraphs! - This guide is an introduction to building subgraphs indexing smart contracts on the [NEAR blockchain](https://docs.near.org/). ## What is NEAR? -[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/docs/concepts/new-to-near) for more information. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## What are NEAR subgraphs? @@ -19,7 +17,7 @@ Subgraphs are event-based, which means that they listen for and then process on- - Block handlers: these are run on every new block - Receipt handlers: run every time a message is executed at a specified account -[From the NEAR documentation](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > A Receipt is the only actionable object in the system. When we talk about "processing a transaction" on the NEAR platform, this eventually means "applying receipts" at some point. @@ -73,8 +71,8 @@ dataSources: ``` - NEAR subgraphs introduce a new `kind` of data source (`near`) -- The `network` should correspond to a network on the hosting Graph Node. On the Hosted Service, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` -- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/docs/concepts/account). This can be an account or a sub-account. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR data sources introduce an alternative optional `source.accounts` field, which contains optional suffixes and prefixes. At least prefix or suffix must be specified, they will match the any account starting or ending with the list of values respectively. The example below would match: `[app|good].*[morning.near|morning.testnet]`. If only a list of prefixes or suffixes is necessary the other field can be omitted. ```yaml @@ -90,7 +88,7 @@ accounts: NEAR data sources support two types of handlers: - `blockHandlers`: run on every new NEAR block. No `source.account` is required. -- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/docs/concepts/account#subaccounts) must be added as independent data sources). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Schema Definition @@ -175,34 +173,35 @@ This includes a new JSON parsing function - logs on NEAR are frequently emitted Once you have a built subgraph, it is time to deploy it to Graph Node for indexing. NEAR subgraphs can be deployed to any Graph Node `>=v0.26.x` (this version has not yet been tagged & released). -The Graph's Hosted Service currently supports indexing NEAR mainnet and testnet in beta, with the following network names: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -More information on creating and deploying subgraphs on the Hosted Service can be found [here](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On the Hosted Service, this can be done from [your Dashboard](https://thegraph.com/hosted-service/dashboard): "Add Subgraph". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` The node configuration will depend on where the subgraph is being deployed. -### Gehoste Dienst +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Local Graph Node (based on default configuration) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Once your subgraph has been deployed, it will be indexed by Graph Node. You can check its progress by querying the subgraph itself: @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## References -- [NEAR developer documentation](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR developer documentation](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From c1d1c0dc0bced5a2c8839328d6d761f837a6b5ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:54 -0400 Subject: [PATCH 0145/2326] New translations near.mdx (Polish) --- website/pages/pl/cookbook/near.mdx | 31 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/pl/cookbook/near.mdx b/website/pages/pl/cookbook/near.mdx index 304e1202e278..28486f8bb0be 100644 --- a/website/pages/pl/cookbook/near.mdx +++ b/website/pages/pl/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Building Subgraphs on NEAR --- -> NEAR support in Graph Node and on the Hosted Service is in beta: please contact near@thegraph.com with any questions about building NEAR subgraphs! - This guide is an introduction to building subgraphs indexing smart contracts on the [NEAR blockchain](https://docs.near.org/). ## What is NEAR? -[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/docs/concepts/new-to-near) for more information. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## What are NEAR subgraphs? @@ -19,7 +17,7 @@ Subgraphs are event-based, which means that they listen for and then process on- - Block handlers: these are run on every new block - Receipt handlers: run every time a message is executed at a specified account -[From the NEAR documentation](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > A Receipt is the only actionable object in the system. When we talk about "processing a transaction" on the NEAR platform, this eventually means "applying receipts" at some point. @@ -73,8 +71,8 @@ dataSources: ``` - NEAR subgraphs introduce a new `kind` of data source (`near`) -- The `network` should correspond to a network on the hosting Graph Node. On the Hosted Service, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` -- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/docs/concepts/account). This can be an account or a sub-account. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR data sources introduce an alternative optional `source.accounts` field, which contains optional suffixes and prefixes. At least prefix or suffix must be specified, they will match the any account starting or ending with the list of values respectively. The example below would match: `[app|good].*[morning.near|morning.testnet]`. If only a list of prefixes or suffixes is necessary the other field can be omitted. ```yaml @@ -90,7 +88,7 @@ accounts: NEAR data sources support two types of handlers: - `blockHandlers`: run on every new NEAR block. No `source.account` is required. -- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/docs/concepts/account#subaccounts) must be added as independent data sources). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Schema Definition @@ -175,34 +173,35 @@ This includes a new JSON parsing function - logs on NEAR are frequently emitted Once you have a built subgraph, it is time to deploy it to Graph Node for indexing. NEAR subgraphs can be deployed to any Graph Node `>=v0.26.x` (this version has not yet been tagged & released). -The Graph's Hosted Service currently supports indexing NEAR mainnet and testnet in beta, with the following network names: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -More information on creating and deploying subgraphs on the Hosted Service can be found [here](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On the Hosted Service, this can be done from [your Dashboard](https://thegraph.com/hosted-service/dashboard): "Add Subgraph". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` The node configuration will depend on where the subgraph is being deployed. -### Hosted Service +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Local Graph Node (based on default configuration) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Once your subgraph has been deployed, it will be indexed by Graph Node. You can check its progress by querying the subgraph itself: @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## References -- [NEAR developer documentation](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR developer documentation](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From b29790729cbd78e9630b10ed09b2c72bf39659c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:55 -0400 Subject: [PATCH 0146/2326] New translations near.mdx (Portuguese) --- website/pages/pt/cookbook/near.mdx | 31 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/pt/cookbook/near.mdx b/website/pages/pt/cookbook/near.mdx index 80327a26b57c..1cb394bb7da4 100644 --- a/website/pages/pt/cookbook/near.mdx +++ b/website/pages/pt/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Construção de Subgraphs na NEAR --- -> O apoio à NEAR no Graph Node e no Serviço Hospedado está em beta: por favor contacte near@thegraph.com com quaisquer questões sobre a construção de subgraphs no NEAR! - Este guia é uma introdução à construção de subgraphs a indexar contratos inteligentes na [blockchain NEAR](https://docs.near.org/). ## O que é NEAR? -[NEAR](https://near.org/) é uma plataforma de contratos inteligentes para a construção de aplicativos descentralizados. Mais informações na [documentação oficial](https://docs.near.org/docs/concepts/new-to-near). +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## O que são subgraphs na NEAR? @@ -19,7 +17,7 @@ Subgraphs são baseados em eventos; quer dizer, eles esperam e então processam - Handlers de blocos: executados em todos os blocos novos - Handlers de recibos: Executados sempre que uma mensagem é executada numa conta especificada -[Da documentação da NEAR](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > Um Recibo é o único objeto acionável no sistema. Quando falamos de "processar uma transação" na plataforma NEAR, em algum ponto isto eventualmente significa "aplicar recibos". @@ -73,8 +71,8 @@ dataSources: ``` - Subgraphs na NEAR introduzem um novo tipo (`kind`) de fonte de dados (`near`) -- A rede (`network`) deve corresponder a uma rede no Graph Node hospedeiro. No Serviço Hospedado, a mainnet da NEAR é `near-mainnet`, e a testnet é `near-testnet` -- Fontes de dados na NEAR introduzem um campo `source.account` opcional: um ID legível a humanos que corresponde a uma [conta na NEAR](https://docs.near.org/docs/concepts/account). Isto pode ser uma conta ou subconta. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - Fontes de dados na NEAR introduzem um campo `source.accounts` opcional, que contém sufixos e prefixos opcionais. No mínimo, deve ser especificado o prefixo ou o sufixo, já que eles procurarão qualquer conta que comece ou termine com a lista respectiva de valores. Combinaria o exemplo abaixo: `[app|good].*[morning.near|morning.testnet]`. Se só for necessária uma lista de prefixos ou sufixos, o outro campo pode ser omitido. ```yaml @@ -90,7 +88,7 @@ accounts: As fontes de dados na NEAR apoiam duas categorias de handlers: - `blockHandlers`: executado em cada novo bloco na NEAR. Não é necessário nenhum `source.account`. -- `receiptHandlers`: executados em todo recibo onde o `source.account` da fonte de dados é o recipiente. Note que só são processadas combinações exatas ([subcontas](https://docs.near.org/docs/concepts/account#subaccounts) devem ser adicionadas como fontes de dados independentes). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Definição de Schema @@ -175,34 +173,35 @@ Isto inclui uma nova função de análise em JSON: logs na NEAR são frequenteme Quando tiver um subgraph pronto, chegará a hora de lançá-lo no Graph Node para indexar. Subgraphs na NEAR podem ser lançados em qualquer Graph Node `>=v0.26.x` (esta versão ainda não foi marcada ou lançada). -O Serviço Hospedado do Graph atualmente apoia, em beta, a indexação da mainnet e testnet da NEAR com os seguintes nomes de rede: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -Saiba mais sobre a criação e lançamento de subgraphs no Serviço Hospedado [aqui](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -O primeiro passo é "criar" seu subgraph; isto só precisa ser feito uma vez. No Serviço Hospedado, isto é possível a partir do [seu Painel de Controle (Dashboard)](https://thegraph.com/hosted-service/dashboard): "Add Subgraph" (Adicionar Subgraph). +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Quando o seu subgraph estiver pronto, lance o seu subgraph com o comando de CLI `graph deploy`: ```sh -$ graph create --node subgraph/name # cria um subgraph em um Graph Node local (no Serviço Hospedado, isto é feito através da UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # envia os arquivos da construção a um ponto final IPFS especificado, e depois lança o subgraph a um Graph Node especificado baseado no hash IPFS do manifest +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` A configuração do nódulo dependerá de onde o subgraph será lançado. -### Serviço Hospedado +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Graph Node local (baseado na configuração padrão) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Quando o seu subgraph for lançado, ele será indexado pelo Graph Node. O seu progresso pode ser conferido com um query no próprio subgraph: @@ -281,4 +280,4 @@ Se esta for uma pergunta geral sobre desenvolvimento de subgraphs, há mais info ## Referências -- [Documentação para programadores da NEAR](https://docs.near.org/docs/develop/basics/getting-started) +- [Documentação para programadores da NEAR](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 93bf9284e624f63b2cb2d2ed094529cf142449ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:56 -0400 Subject: [PATCH 0147/2326] New translations near.mdx (Russian) --- website/pages/ru/cookbook/near.mdx | 37 +++++++++++++++--------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/website/pages/ru/cookbook/near.mdx b/website/pages/ru/cookbook/near.mdx index 8f64775949f2..8049424fcb39 100644 --- a/website/pages/ru/cookbook/near.mdx +++ b/website/pages/ru/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Создание субграфов на NEAR --- -> NEAR поддерживается в Graph Node и на размещенном сервисе находится в бета-версии: пожалуйста, свяжитесь near@thegraph.com по любым вопросам о создании субграфов на NEAR! - Это руководство представляет собой введение в построение подграфов, индексирующих смарт-контракты на [блокчейне NEAR](https://docs.near.org/). ## Что такое NEAR? -[NEAR](https://near.org/) - это платформа смарт-контрактов для создания децентрализованных приложений. Посетите [официальную документацию](https://docs.near.org/docs/concepts/new-to-near) для получения дополнительной информации. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## Что такое NEAR подграфы? @@ -19,7 +17,7 @@ The Graph предоставляет разработчикам инструме - Обработчики блоков: они запускаются для каждого нового блока - Обработчики квитанций: запускаются каждый раз, когда сообщение выполняется в указанной учетной записи -[Из документации NEAR](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > Квитанция - это единственный объект, к которому можно применить действие в системе. Когда мы говорим об "обработке транзакции" на платформе NEAR, это в конечном итоге означает "применение квитанций" в какой-то момент. @@ -41,11 +39,11 @@ The Graph предоставляет разработчикам инструме **Сопоставления AssemblyScript:** [Код AssemblyScript](/developing/assemblyscript-api), который преобразует данные события в объекты, определенные в вашей схеме. Поддержка NEAR вводит почти специфические типы данных и новые функции синтаксического анализа JSON. -Во время разработки подграфа есть две ключевые команды: +Во время разработки субграфа есть две ключевые команды: ```bash $ graph codegen # генерирует типы из файла схемы, указанного в манифесте -$ $ graph build # генерирует веб-сборку из файлов AssemblyScript и подготавливает все файлы подграфа в папке /build +$ graph build # генерирует Web Assembly из файлов AssemblyScript и подготавливает все файлы субграфа в папке /build ``` ### Определение манифеста подграфа @@ -73,8 +71,8 @@ dataSources: ``` - NEAR подграфы вводят новый ` вид` источника данных (`near`) -- `network` должна соответствовать сети на хостинге ноды Graph. В размещенной службе основная сеть NEAR - это `near-mainnet`, а тестовая сеть NEAR - это `near-testnet` -- Источники данных NEAR вводят необязательное поле `source.account`, которое представляет собой понятный для человека идентификатор, соответствующий [аккаунту NEAR](https://docs.near.org/docs/concepts/account). Это может быть учетная запись или субсчет. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - Источниками данных NEAR вводят альтернативное необязательное поле `source.accounts`, которое содержит необязательные суффиксы и префиксы. Необходимо указать по крайней мере префикс или суффикс, они будут соответствовать любой учетной записи, начинающейся или заканчивающейся списком значений соответственно. Приведенный ниже пример соответствовал бы: `[app|good].*[morning.near|morning.testnet]`. Если необходим только список префиксов или суффиксов, другое поле можно опустить. ```yaml @@ -90,7 +88,7 @@ accounts: Источники данных NEAR поддерживают два типа обработчиков: - `blockHandlers` запускаются при каждом новом ближайшем блоке. Не требуется `source.account`. -- `receiptHandlers`: запускаются для каждой квитанции, получателем которой является `source.account`. Обратите внимание, что обрабатываются только точные совпадения ([subaccounts](https://docs.near.org/docs/concepts/account#subaccounts) должны быть добавлены в качестве независимых источников данных). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Определение схемы @@ -175,34 +173,35 @@ class ReceiptWithOutcome { Как только у вас будет построенный субграф, пришло время развернуть его в Graph Node для индексации. NEAR субграфы могут быть развернуты на любой ноде Graph `>=v0.26.x` (эта версия еще не была помечена & выпущена). -Размещенный сервис The Graph в настоящее время поддерживает индексацию NEAR с mainnet и testnet в бета-версии со следующими сетевыми именами: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -Дополнительную информацию о создании и развертывании субграфов в размещенной службе можно найти [здесь](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -В качестве краткого примера - первым шагом является "создание" вашего подграфа - это нужно сделать только один раз. В размещенном сервисе это можно сделать в [вашем Dashboard](https://thegraph.com/hosted-service/dashboard): "Add Subgraph". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Как только ваш подграф создан, вы можете развернуть его с помощью команды `graph deploy` CLI: ```sh -$ graph create --node subgraph/name # создает подграф на локальной ноде Graph (в размещенном сервисе это делается через пользовательский интерфейс) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # загружает файлы сборки в указанную конечную точку IPFS, а затем развертывает подграф в указанной ноде Graph на основе хэша манифеста IPFS +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` Конфигурация ноды будет зависеть от того, где развертывается подграф. -### Hosted Service +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Local Graph Node (based on default configuration) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Как только ваш подграф будет развернут, он будет проиндексирован Graph Node. Вы можете проверить его прогресс, сделав запрос к самому субграфу: @@ -247,7 +246,7 @@ graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ### Can a subgraph index both NEAR and EVM chains? -Нет, подграф может поддерживать источники данных только из одной цепочки / сети. +Нет, субграф может поддерживать источники данных только из одного чейна/сети. ### Can subgraphs react to more specific triggers? @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## Ссылки -- [Документация разработчика NEAR](https://docs.near.org/docs/develop/basics/getting-started) +- [Документация разработчика NEAR](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From b1d8103463d1a292021d86316dc222e4982ce822 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:57 -0400 Subject: [PATCH 0148/2326] New translations near.mdx (Swedish) --- website/pages/sv/cookbook/near.mdx | 31 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/sv/cookbook/near.mdx b/website/pages/sv/cookbook/near.mdx index 8be252607366..7ff18330d655 100644 --- a/website/pages/sv/cookbook/near.mdx +++ b/website/pages/sv/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Bygger subgrafer på NEAR --- -> NEAR support i Graph Node och på Hosted Service är i beta: kontakta near@thegraph.com om du har frågor om att bygga NEAR subgrafer! - Den här guiden är en introduktion till att bygga subgrafer som indexerar smarta kontrakt på [NEAR blockchain](https://docs.near.org/). ## Vad är NEAR? -[NEAR](https://near.org/) är en smart kontraktsplattform för att bygga decentraliserade applikationer. Besök den [officiella dokumentationen](https://docs.near.org/docs/concepts/new-to-near) för mer information. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## Vad är NEAR subgrafer? @@ -19,7 +17,7 @@ Subgrafer är händelsebaserade, vilket innebär att de lyssnar efter och sedan - Blockhanterare: dessa körs på varje nytt block - Kvittohanterare: körs varje gång ett meddelande körs på ett angivet konto -[Från NEAR dokumentationen](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > Ett kvitto är det enda handlingsbara objektet i systemet. När vi pratar om att "bearbeta en transaktion" på NEAR plattformen betyder det så småningom att "tillämpa kvitton" någon gång. @@ -73,8 +71,8 @@ dataSources: ``` - NEAR undergrafer introducerar en ny `typ` av datakälla (`near`) -- `nätverket` bör motsvara ett nätverk på den värd Graph Node. På värdtjänsten är NEARs huvudnät `near-mainnet` och NEARs testnät är `near-testnet` -- NEAR datakällor introducerar ett valfritt `source.account`-fält, som är ett läsbart ID som motsvarar ett [ NEAR-konto](https://docs.near.org/docs/concepts/account). Detta kan vara ett konto eller ett underkonto. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR datakällor introducerar ett alternativt valfritt `source.accounts`-fält, som innehåller valfria suffix och prefix. Minst prefix eller suffix måste anges, de kommer att matcha alla konton som börjar eller slutar med värdelistan. Exemplet nedan skulle matcha: `[app|bra].*[morning.near|morning.testnet]`. Om endast en lista med prefix eller suffix är nödvändig kan det andra fältet utelämnas. ```yaml @@ -90,7 +88,7 @@ accounts: NEAR datakällor stöder två typer av hanterare: - `blockHandlers`: kör på varje nytt NEAR-block. Inget `source.account` krävs. -- `receiptHandlers`: körs på varje kvitto där datakällans `source.account` är mottagaren. Observera att endast exakta matchningar behandlas ([underkonton](https://docs.near.org/docs/concepts/account#subaccounts) måste läggas till som oberoende datakällor). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Schema Definition @@ -175,34 +173,35 @@ Detta inkluderar en ny JSON parsnings funktion - loggar på NEAR sänds ofta ut När du har en byggd subgraf är det dags att distribuera den till Graph Node för indexering. NEAR undergrafer kan distribueras till alla Graph Node `>=v0.26.x` (den här versionen har ännu inte taggats & släppts). -The Graph's Hosted Service stöder för närvarande indexering av NEAR mainnet och testnet i beta, med följande nätverks namn: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -Mer information om att skapa och distribuera subgrafer på värdtjänsten finns [här](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -Som en snabb primer - det första steget är att "skapa" din subgraf - detta behöver bara göras en gång. På värdtjänsten kan detta göras från [din instrumentpanel](https://thegraph.com/hosted-service/dashboard): "Lägg till subgraf". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". När din subgraf har skapats kan du distribuera din subgraf genom att använda `graph deploy` CLI kommandot: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` Nodkonfigurationen beror på var subgrafen distribueras. -### Värdtjänster +### Subgraf Studion ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Lokal graf nod (baserat på standardkonfiguration) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` När din subgraf har distribuerats kommer den att indexeras av Graph Node. Du kan kontrollera dess framsteg genom att fråga själva subgrafen: @@ -281,4 +280,4 @@ Om det är en generell fråga om subgraffutveckling finns det mycket mer informa ## Referenser -- [NEAR utvecklar dokumentation](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR utvecklar dokumentation](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 61df6729e46d7976c48bb36822dd611d8efec6ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:58 -0400 Subject: [PATCH 0149/2326] New translations near.mdx (Turkish) --- website/pages/tr/cookbook/near.mdx | 33 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/website/pages/tr/cookbook/near.mdx b/website/pages/tr/cookbook/near.mdx index d9e86609befa..5c6c584a52a0 100644 --- a/website/pages/tr/cookbook/near.mdx +++ b/website/pages/tr/cookbook/near.mdx @@ -2,13 +2,11 @@ title: NEAR Üzerinde Subgraphlar Oluşturma --- -> Graph Düğümü'nde ve Barındırılan Hizmette NEAR desteği beta aşamasındadır: NEAR'da subgraphlar oluşturmayla ilgili sorularınız için lütfen near@thegraph.com adresiyle iletişime geçin! - Bu rehber, [NEAR blok zincirinde](https://docs.near.org/) akıllı sözleşmeleri indeksleyen subgraphlar oluşturmaya giriş niteliğindedir. ## NEAR Nedir? -[NEAR](https://near.org/), merkeziyetsiz uygulamalar oluşturmak için akıllı bir sözleşme platformudur. Daha fazla bilgi için [resmi dökümantasyonu](https://docs.near.org/docs/concepts/new-to-near) ziyaret edin. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## NEAR subgraphları nedir? @@ -19,7 +17,7 @@ Subgraphlar olay tabanlıdır, yani zincir üzerindeki olayların etkinliklerini - Blok işleyicileri: Bunlar her yeni blokta çalışır - Makbuz işleyicileri: Belirli bir hesapta her mesaj yürütüldüğünde çalışır -[NEAR dokümantasyonundan](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > Makbuz, sistemdeki eyleme geçirilebilir tek nesnedir. NEAR platformunda "bir işlemin işlenmesinden" bahsettiğimizde, bu nihayetinde bir noktada "makbuzların uygulanması" anlamına gelir. @@ -73,8 +71,8 @@ dataSources: ``` - NEAR subgraphları yeni bir veri kaynağı türü(`kind`) olan `near`'ı sunar -- `network`, barındırılan Graph Düğümündeki bir ağa karşılık gelmelidir. Barındırılan Hizmette, NEAR'ın ana ağı `near-mainnet` ve NEAR'ın test ağı `near-testnet`'tir -- NEAR veri kaynakları, insan tarafından okunabilir bir [NEAR hesabına](https://docs.near.org/docs/concepts/account) ID olan opsiyonel `source.account` alanını sunar. Bu bir hesap veya alt hesap olabilir. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR veri kaynakları, opsiyonel son ekler ve ön ekler içeren alternatif bir opsiyonel `source.accounts` alanı sunar. En azından ön ek veya son ek belirtilmelidir, bunlar sırasıyla değer listesiyle başlayan veya biten herhangi bir hesapla eşleşecektir. Aşağıdaki örnek eşleşecektir: `[app|good].*[morning.near|morning.testnet]`. Yalnızca bir ön ek veya son ek listesi gerekliyse, diğer alan atlanabilir. ```yaml @@ -90,7 +88,7 @@ accounts: NEAR veri kaynakları iki tür işleyiciyi destekler: - `blockHandlers`: Her yeni NEAR bloğunda çalıştırılır. `source.account` gerekli değildir. -- `receiptHandlers`: Veri kaynağının `source.account`'unun alıcı olduğu her makbuz üzerinde çalıştırılır. Yalnızca tam eşleşmelerin işlendiğini unutmayın ([alt hesaplar](https://docs.near.org/docs/concepts/account#subaccounts) bağımsız veri kaynakları olarak eklenmelidir). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Şema Tanımı @@ -175,34 +173,35 @@ Buna yeni bir JSON ayrıştırma fonksiyonuda dahildir - NEAR'daki kayıtlar sı Bir subgraph oluşturduktan sonra, artık indeksleme için Graph Düğümü'ne dağıtma zamanı gelmiştir. NEAR subgraphları sürümü `>=v0.26.x` (bu sürüm henüz etiketlenmemiş & yayınlanmamıştır) olan herhangi bir Graph Düğümü'ne dağıtılabilir. -Graph'ın Barındırılan Hizmeti şu anda NEAR ana ağı ve test ağı'nı beta olarak aşağıdaki ağ adlarıyla indekslemeyi desteklemektedir: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -Barındırılan Hizmette subgraph oluşturma ve dağıtma hakkında daha fazla bilgiyi [burada](/deploying/deploying-a-subgraph-to-hosted) bulabilirsiniz. +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -Hızlı bir başlangıç olarak - ilk adım yalnızca bir kez yapılması geren, subgraph'ınızı "oluşturmaktır". Barındırılan Hizmette bu işlem [Kontrol Panelinizden](https://thegraph.com/hosted-service/dashboard) yapılabilir: "Subgraph Ekle". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Subgraph'ınız oluşturulduktan sonra, `graph deploy` CLI komutunu kullanarak subgraph'ınızı dağıtabilirsiniz: ```sh -$ graph create --node subgraph/name # yerel bir Graph Düğümü üzerinde bir subgraph oluşturur (Barındırılan Hizmet üzerinde bu işlem Kullanıcı Arayüzü üzerinden yapılır) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # derleme dosyalarını belirtilen bir IPFS uç noktasına yükler ve ardından subgraph'ı manifest IPFS hash'ına göre belirtilen bir Graph Düğümüne dağıtır +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` Düğüm yapılandırması, subgraph'ın nerede dağıtıldığına bağlı olacaktır. -### Barındırılan Hizmet +### Subgraph Stüdyosu ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Yerel Graph Düğümü (varsayılan yapılandırmaya göre) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Subgraph'ınız dağıtıldıktan sonra Graph Düğüme tarafından indekslenecektir. Subgraph'ın kendisini sorgulayarak ilerlemesini kontrol edebilirsiniz: @@ -233,7 +232,7 @@ NEAR subgraphları için GraphQL uç noktası, mevcut API arayüzü ile şema ta ## Örnek Subgraph'ler -İşte referans için bazı örnek subgraph'ler: +Here are some example subgraphs for reference: [NEAR Blokları](https://github.com/graphprotocol/graph-tooling/tree/main/examples/near-blocks) @@ -281,4 +280,4 @@ Subgraph geliştirme hakkında genel bir soruysa, [Geliştirici dökümantasyonu ## Referanslar -- [NEAR geliştirici dökümantasyonu](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR geliştirici dökümantasyonu](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 26e34ea66c92267b7f3df7281f3e80fa77f0b2ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:28:59 -0400 Subject: [PATCH 0150/2326] New translations near.mdx (Ukrainian) --- website/pages/uk/cookbook/near.mdx | 33 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/website/pages/uk/cookbook/near.mdx b/website/pages/uk/cookbook/near.mdx index 71137c7ce838..d1e79f20540a 100644 --- a/website/pages/uk/cookbook/near.mdx +++ b/website/pages/uk/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Building Subgraphs on NEAR --- -> NEAR support in Graph Node and on the Hosted Service is in beta: please contact near@thegraph.com with any questions about building NEAR subgraphs! - This guide is an introduction to building subgraphs indexing smart contracts on the [NEAR blockchain](https://docs.near.org/). ## What is NEAR? -[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/docs/concepts/new-to-near) for more information. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## What are NEAR subgraphs? @@ -19,7 +17,7 @@ Subgraphs are event-based, which means that they listen for and then process on- - Block handlers: these are run on every new block - Receipt handlers: run every time a message is executed at a specified account -[From the NEAR documentation](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > A Receipt is the only actionable object in the system. When we talk about "processing a transaction" on the NEAR platform, this eventually means "applying receipts" at some point. @@ -73,8 +71,8 @@ dataSources: ``` - NEAR subgraphs introduce a new `kind` of data source (`near`) -- The `network` should correspond to a network on the hosting Graph Node. On the Hosted Service, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` -- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/docs/concepts/account). This can be an account or a sub-account. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR data sources introduce an alternative optional `source.accounts` field, which contains optional suffixes and prefixes. At least prefix or suffix must be specified, they will match the any account starting or ending with the list of values respectively. The example below would match: `[app|good].*[morning.near|morning.testnet]`. If only a list of prefixes or suffixes is necessary the other field can be omitted. ```yaml @@ -90,7 +88,7 @@ accounts: NEAR data sources support two types of handlers: - `blockHandlers`: run on every new NEAR block. No `source.account` is required. -- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/docs/concepts/account#subaccounts) must be added as independent data sources). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Визначення схеми @@ -175,34 +173,35 @@ This includes a new JSON parsing function - logs on NEAR are frequently emitted Once you have a built subgraph, it is time to deploy it to Graph Node for indexing. NEAR subgraphs can be deployed to any Graph Node `>=v0.26.x` (this version has not yet been tagged & released). -The Graph's Hosted Service currently supports indexing NEAR mainnet and testnet in beta, with the following network names: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -More information on creating and deploying subgraphs on the Hosted Service can be found [here](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On the Hosted Service, this can be done from [your Dashboard](https://thegraph.com/hosted-service/dashboard): "Add Subgraph". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` The node configuration will depend on where the subgraph is being deployed. -### Хостинговий сервіс +### Субграф Студія ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Local Graph Node (based on default configuration) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Once your subgraph has been deployed, it will be indexed by Graph Node. You can check its progress by querying the subgraph itself: @@ -233,7 +232,7 @@ The GraphQL endpoint for NEAR subgraphs is determined by the schema definition, ## Приклади підграфів -Ось кілька прикладів підграфів для ознайомлення: +Here are some example subgraphs for reference: [NEAR Blocks](https://github.com/graphprotocol/graph-tooling/tree/main/examples/near-blocks) @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## References -- [NEAR developer documentation](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR developer documentation](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From a214a953fd41d3bddf67210672b706ac03503f46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:00 -0400 Subject: [PATCH 0151/2326] New translations near.mdx (Chinese Simplified) --- website/pages/zh/cookbook/near.mdx | 33 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/website/pages/zh/cookbook/near.mdx b/website/pages/zh/cookbook/near.mdx index 030d73032a7d..15d35a251427 100644 --- a/website/pages/zh/cookbook/near.mdx +++ b/website/pages/zh/cookbook/near.mdx @@ -2,13 +2,11 @@ title: 在 NEAR 上构建子图 --- -> Graph 节点和托管服务中对 NEAR 的支持目前处于测试阶段:任何有关构建 NEAR 子图的任何问题,请联系 near@thegraph.com! - 本指南介绍了如何在[NEAR 区块链](https://docs.near.org/)上构建索引智能合约的子图。 ## NEAR 是什么? -[NEAR ](https://near.org/)是一个用于构建去中心化应用程序的智能合约平台。更多信息,请访问[正式文档](https://docs.near.org/docs/concepts/new-to-near)。 +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## NEAR 子图是什么? @@ -19,7 +17,7 @@ Graph 为开发人员提供了一种被称为子图的工具,利用这个工 - 区块处理器: 这些处理程序在每个新区块上运行。 - 收据处理器: 每次在指定账户上一个消息被执行时运行。 -[NEAR 文档中](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > Receipt 是系统中唯一可操作的对象。 当我们在 NEAR 平台上谈论“处理交易”时,这最终意味着在某个时候“应用收据”。 @@ -73,8 +71,8 @@ dataSources: ``` - NEAR 子图引入了一种新的 `kind` 数据源(`near`)。 -- `network` 应该对应于托管Graph节点上的网络。 在托管服务上,NEAR 的主网是 `near-mainnet`,NEAR 的测试网是 `near-testnet`。 -- NEAR 数据源引入了一个可选的 `source. account `字段,这是一个对应于[ NEAR 账户](https://docs.near.org/docs/concepts/account)的人类可读的 ID。这可以是一个账户或子账户。 +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR 数据源引入了一个替代的可选 `source. account` 字段,其中包含可选的后缀和前缀。至少必须指定前缀或后缀,它们将分别与以值列表开始或结束的任何账户匹配。下面的例子将匹配: `[ app | good]。* [ morning.near | morning.testnet]`.如果只需要一个前缀或后缀列表,则可以省略其他字段。 ```yaml @@ -90,7 +88,7 @@ accounts: NEAR 数据源支持两种类型的处理程序: - `blockHandlers`:在每个新的 NEAR 区块上运行。 不需要 `source.account`。 -- `receiptHandlers`:在数据源账户上的 `source.account` 接收者的每一张收据上运行。 请注意,仅处理完全匹配([子帐户](https://docs.near.org/docs/concepts/account#subaccounts)必须作为独立数据源添加)。 +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### 模式定义 @@ -175,34 +173,35 @@ class ReceiptWithOutcome { 构建子图后,就可以将其部署到 Graph节点以进行索引了。 NEAR 子图可以部署到任何图节点 `>=v0.26.x`(此版本尚未标记和发布)。 -Graph 的托管服务目前支持索引 NEAR 主网和 beta 测试网,具有以下网络名称: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-主网` - `near-测试网` -有关在托管服务上创建和部署子图的更多信息可以在[这里](/deploying/deploying-a-subgraph-to-hosted)找到。 +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -作为一个快速入门 - 第一步是“创建”你的子图 - 这只需要完成一次。 在托管服务上,这可以通过[您的仪表板](https://thegraph.com/hosted-service/dashboard):“添加子图”来完成。 +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". 创建子图后,您可以使用 `graph deploy` CLI 命令部署子图: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` 节点配置将取决于子图的部署位置。 -### 托管服务 +### 子图工作室 ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### 本地Graph节点(基于默认配置) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` 部署子图后,它将由 Graph节点索引。 您可以通过查询子图本身来检查其进度: @@ -233,7 +232,7 @@ NEAR 子图的 GraphQL 端点由模式定义和现有的 API 接口决定。更 ## 示例子图 -以下是一些示例子图供参考: +Here are some example subgraphs for reference: [NEAR块](https://github.com/graphprotocol/graph-tooling/tree/main/examples/near-blocks) @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## 参考 -- [NEAR 开发者文档](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR 开发者文档](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 0a46eb34bc61a526fd633ce2fff515f443c7786c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:01 -0400 Subject: [PATCH 0152/2326] New translations near.mdx (Urdu (Pakistan)) --- website/pages/ur/cookbook/near.mdx | 37 +++++++++++++++--------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/website/pages/ur/cookbook/near.mdx b/website/pages/ur/cookbook/near.mdx index 5fe26e7fa413..201e396e3d25 100644 --- a/website/pages/ur/cookbook/near.mdx +++ b/website/pages/ur/cookbook/near.mdx @@ -2,13 +2,11 @@ title: سب گرافس کو NEAR پر بنانا --- -> NEAR کی گراف نوڈ میں سپورٹ اور ہوسٹڈ سروس بیٹا میں ہے: براہ مہربانی NEAR سب گراف بنانے کے بارے میں کسی بھی سوال کے ساتھ near@thegraph.com پر رابطہ کریں! - یہ گائیڈ [NEAR بلاکچین](https://docs.near.org/) پر سمارٹ کنٹریکٹ کو ترتیب دینے والے سب گراف کی تعمیر کا ایک تعارف ہے. ## NEAR کیا ہے؟ -[NEAR](https://near.org/) ایک سمارٹ کنٹریکٹ پلیٹ فارم ہے جو ڈیسینٹرالائزڈ ایپلیکیشنز بناتا ہے. مزید معلومات کے لۓ [سرکاری دستاویزات](https://docs.near.org/docs/concepts/new-to-near) دیکھیں. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## NEAR سب گراف کیا ہیں؟ @@ -19,7 +17,7 @@ title: سب گرافس کو NEAR پر بنانا - بلاک ہینڈلرز: یہ ہر نۓ بلاک پر چلتے ہیں - ریسیپٹ ہینڈلرز: ہر بار جب کسی مخصوص اکاؤنٹ پر کوئی پیغام عمل میں آۓ تو چلتا ہے -[NEAR دستاویزات میں سے](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > نظام میں ایک ریسیپٹ واحد قابل عمل شے ہے۔ جب ہم NEAR پلیٹ فارم پر "ایک ٹرانزیکشن پر کارروائی" کے بارے میں بات کرتے ہیں، تو اس کا مطلب بالآخر کسی وقت "ریسیپٹ لگانا" ہوتا ہے. @@ -72,9 +70,9 @@ dataSources: file: ./src/mapping.ts # link to the file with the Assemblyscript mappings ``` -- NEAR سب گراف ڈیٹا ماخذ کا ایک نیا `kind` متعارف کراتے ہیں (`near`) -- `network` ہوسٹنگ گراف نوڈ پر موجود نیٹ ورک کے مطابق ہونا چاہیے۔ ہوسٹڈ سروس پر، NEAR کا مین نیٹ `near-mainnet` ہے، اور NEAR کا ٹیسٹ نیٹ ہے `near-testnet` -- NEAR ڈیٹا کے ذرائع ایک اختیاری `source.account` فیلڈ متعارف کراتے ہیں، جو کہ ایک [ سے متعلق انسانی پڑھنے کے قابل ID ہے۔ اکاؤنٹ کے قریب](https://docs.near.org/docs/concepts/account)۔ یہ ایک اکاؤنٹ یا سب اکاؤنٹ ہو سکتا ہے. +- NEAR سب گراف ڈیٹا ماخذ کا ایک نیا ` kind ` متعارف کراتے ہیں (`near`) +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR ڈیٹا کے ذرائع ایک متبادل اختیاری `source.accounts` فیلڈ متعارف کراتے ہیں، جس میں اختیاری لاحقے اور سابقے ہوتے ہیں۔ کم از کم سابقہ ​​یا لاحقہ متعین ہونا ضروری ہے، وہ بالترتیب اقدار کی فہرست کے ساتھ شروع یا ختم ہونے والے کسی بھی اکاؤنٹ سے مماثل ہوں گے۔ نیچے دی گئی مثال مماثل ہوگی: `[app|good].*[morning.near|morning.testnet]`۔ اگر صرف سابقوں یا لاحقوں کی فہرست ضروری ہو تو دوسری فیلڈ کو چھوڑا جا سکتا ہے. ```yaml @@ -90,7 +88,7 @@ accounts: قریبی ڈیٹا ذرائع دو قسم کے ہینڈلرز کی حمایت کرتے ہیں: - `blockHandlers`: ہر نئے NEAR بلاک پر چلائیں۔ کسی `source.account` کی ضرورت نہیں ہے. -- `receiptHandlers`: ہر اس ریسیپٹ پر چلائیں جہاں ڈیٹا سورس کا `source.account` وصول کنندہ ہو۔ نوٹ کریں کہ صرف عین مطابق مماثلتوں پر کارروائی کی جاتی ہے ([سب اکاونٹس](https://docs.near.org/docs/concepts/account#subaccounts) کو ڈیٹا کے آزاد ذرائع کے طور پر شامل کیا جانا چاہیے). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### اسکیما کی تعریف @@ -175,34 +173,35 @@ class ReceiptWithOutcome { ایک بار جب آپ کے پاس بلٹ سب گراف ہو جاتا ہے، تو یہ وقت ہے کہ اسے انڈیکسنگ کے لیے گراف نوڈ میں تعینات کریں۔ NEAR سب گراف کو کسی بھی گراف نوڈ `>=v0.26.x` پر تعینات کیا جا سکتا ہے (اس ورژن کو ابھی تک ٹیگ اور ریلیز نہیں کیا گیا ہے). -گراف کی ہوسٹڈ سروس فی الحال بیٹا میں NEAR مین نیٹ اور ٹیسٹ نیٹ کو درج ذیل نیٹ ورک کے ناموں کے ساتھ انڈیکس کرنے کی حمایت کرتی ہے: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -ہوسٹڈ سروس پر سب گراف بنانے اور تعینات کرنے کی مزید جانکاری [یہاں](/deploying/deploying-a-subgraph-to-hosted) مل سکتی ہے. +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -ایک فوری پرائمر کے طور پر - پہلا قدم اپنے سب گراف کو "تخلیق" کرنا ہے - یہ صرف ایک بار کرنے کی ضرورت ہے۔ ہوسٹڈ سروس پر، یہ [آپ کے ڈیش بورڈ](https://thegraph.com/hosted-service/dashboard) سے کیا جا سکتا ہے: "سب گراف شامل کریں". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". ایک دفا آپ کا سب گراف بن گیا ہے، آپ اپنا سب گراف `graph deploy` کی CLI کمانڈ کا استعمال کرتے ہوۓ تعینات کر سکتے ہیں: ```sh -$ graph create --node subgraph/name # مقامی گراف نوڈ پر ایک سب گراف بناتا ہے (میزبان سروس پر، یہ UI کے ذریعے کیا جاتا ہے) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # بلڈ فائلوں کو ایک مخصوص IPFS اینڈ پوائنٹ پر اپ لوڈ کرتا ہے، اور پھر مینی فیسٹ IPFS ہیش کی بنیاد پر ایک مخصوص گراف نوڈ پر سب گراف کو تعینات کرتا ہے +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` نوڈ کنفیگریشن کا انحصار اس بات پر ہوگا کہ سب گراف کہاں تعینات کیا جا رہا ہے. -### ہوسٹڈ سروس +### سب گراف سٹوڈیو ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### مقامی گراف نوڈ (پہلے سے طے شدہ ترتیب پر مبنی) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` ایک دفعہ آپ کا سب گراف تعینات ہو جاۓ، گراف نوڈ اسے انڈیکس کرے گا. آپ سب گراف سے ہی کیوری کرکے اس کی پیشرفت چیک کرسکتے ہیں: @@ -233,7 +232,7 @@ NEAR سب گراف کے لیے GraphQL اینڈ پوائنٹ کا تعین مو ## سب گراف کی مثال -حوالہ کے لیے ذیل میں کچھ مثالیں ہیں: +Here are some example subgraphs for reference: [NEAR بلاکس](https://github.com/graphprotocol/graph-tooling/tree/main/examples/near-blocks) @@ -255,7 +254,7 @@ NEAR سپورٹ بیٹا میں ہے، جس کا مطلب ہے کہ API میں ### کیا رسید ہینڈلرز اکاؤنٹس اور ان کے سب اکاؤنٹس کو متحرک کریں گے؟ -اگر ایک `account` متعین کیا گیا ہے، تو وہ صرف صحیح اکاؤنٹ کے نام سے مماثل ہوگا۔ مثال کے طور پر، اکاؤنٹس اور سب اکاؤنٹس سے ملنے کے لیے مخصوص `prefixes` اور ` suffixes` کے ساتھ، `accounts` فیلڈ کی وضاحت کرکے سب اکاؤنٹس کو ملانا ممکن ہے۔ درج ذیل تمام `mintbase1.near` سب اکاؤنٹس سے مماثل ہوں گے: +اگر ایک ` account ` متعین کیا گیا ہے، تو وہ صرف صحیح اکاؤنٹ کے نام سے مماثل ہوگا۔ مثال کے طور پر، اکاؤنٹس اور سب اکاؤنٹس سے ملنے کے لیے مخصوص ` prefixes ` اور ` suffixes` کے ساتھ، `accounts` فیلڈ کی وضاحت کرکے سب اکاؤنٹس کو ملانا ممکن ہے۔ درج ذیل تمام `mintbase1.near` سب اکاؤنٹس سے مماثل ہوں گے: ```yaml accounts: @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## حوالہ جات -- [NEAR ڈویلپر دستاویزات](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR ڈویلپر دستاویزات](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 99b3d7c80cb2d710a1289d445117f2ae08024c64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:02 -0400 Subject: [PATCH 0153/2326] New translations near.mdx (Vietnamese) --- website/pages/vi/cookbook/near.mdx | 31 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/vi/cookbook/near.mdx b/website/pages/vi/cookbook/near.mdx index efdef2a007c7..bf0c1f2a0d92 100644 --- a/website/pages/vi/cookbook/near.mdx +++ b/website/pages/vi/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Building Subgraphs on NEAR --- -> NEAR support in Graph Node and on the Hosted Service is in beta: please contact near@thegraph.com with any questions about building NEAR subgraphs! - This guide is an introduction to building subgraphs indexing smart contracts on the [NEAR blockchain](https://docs.near.org/). ## What is NEAR? -[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/docs/concepts/new-to-near) for more information. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## What are NEAR subgraphs? @@ -19,7 +17,7 @@ Subgraphs are event-based, which means that they listen for and then process on- - Block handlers: these are run on every new block - Receipt handlers: run every time a message is executed at a specified account -[From the NEAR documentation](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > A Receipt is the only actionable object in the system. When we talk about "processing a transaction" on the NEAR platform, this eventually means "applying receipts" at some point. @@ -73,8 +71,8 @@ dataSources: ``` - NEAR subgraphs introduce a new `kind` of data source (`near`) -- The `network` should correspond to a network on the hosting Graph Node. On the Hosted Service, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` -- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/docs/concepts/account). This can be an account or a sub-account. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR data sources introduce an alternative optional `source.accounts` field, which contains optional suffixes and prefixes. At least prefix or suffix must be specified, they will match the any account starting or ending with the list of values respectively. The example below would match: `[app|good].*[morning.near|morning.testnet]`. If only a list of prefixes or suffixes is necessary the other field can be omitted. ```yaml @@ -90,7 +88,7 @@ accounts: NEAR data sources support two types of handlers: - `blockHandlers`: run on every new NEAR block. No `source.account` is required. -- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/docs/concepts/account#subaccounts) must be added as independent data sources). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Schema Definition @@ -175,34 +173,35 @@ This includes a new JSON parsing function - logs on NEAR are frequently emitted Once you have a built subgraph, it is time to deploy it to Graph Node for indexing. NEAR subgraphs can be deployed to any Graph Node `>=v0.26.x` (this version has not yet been tagged & released). -The Graph's Hosted Service currently supports indexing NEAR mainnet and testnet in beta, with the following network names: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -More information on creating and deploying subgraphs on the Hosted Service can be found [here](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On the Hosted Service, this can be done from [your Dashboard](https://thegraph.com/hosted-service/dashboard): "Add Subgraph". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` The node configuration will depend on where the subgraph is being deployed. -### Dịch vụ được lưu trữ +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Local Graph Node (based on default configuration) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Once your subgraph has been deployed, it will be indexed by Graph Node. You can check its progress by querying the subgraph itself: @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## References -- [NEAR developer documentation](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR developer documentation](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From ed72f602f331e2571ab802ca0f13bcf1b081e1c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:03 -0400 Subject: [PATCH 0154/2326] New translations near.mdx (Marathi) --- website/pages/mr/cookbook/near.mdx | 33 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/website/pages/mr/cookbook/near.mdx b/website/pages/mr/cookbook/near.mdx index 8d64528f6fe0..9280cf7c0ce5 100644 --- a/website/pages/mr/cookbook/near.mdx +++ b/website/pages/mr/cookbook/near.mdx @@ -2,13 +2,11 @@ title: NEAR वर सबग्राफ तयार करणे --- -> NEAR support in Graph Node and on the Hosted Service is in beta: please contact near@thegraph.com with any questions about building NEAR subgraphs! - This guide is an introduction to building subgraphs indexing smart contracts on the [NEAR blockchain](https://docs.near.org/). ## जवळ म्हणजे काय? -[NEAR](https://near.org/) विकेंद्रित अनुप्रयोग तयार करण्यासाठी एक स्मार्ट कॉन्ट्रॅक्ट प्लॅटफॉर्म आहे. अधिक माहितीसाठी [अधिकृत दस्तऐवज](https://docs.near.org/docs/concepts/new-to-near) ला भेट द्या. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## NEAR subgraphs म्हणजे काय? @@ -19,7 +17,7 @@ This guide is an introduction to building subgraphs indexing smart contracts on - ब्लॉक हँडलर: हे प्रत्येक नवीन ब्लॉकवर चालवले जातात - पावती हँडलर्स: निर्दिष्ट खात्यावर संदेश कार्यान्वित झाल्यावर प्रत्येक वेळी चालवा -[नजीकच्या दस्तऐवजीकरणातून](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > प्रणालीमध्ये पावती ही एकमेव क्रिया करण्यायोग्य वस्तू आहे. जेव्हा आम्ही जवळच्या प्लॅटफॉर्मवर "व्यवहारावर प्रक्रिया करणे" बद्दल बोलतो, तेव्हा याचा अर्थ शेवटी "पावत्या लागू करणे" असा होतो. @@ -73,8 +71,8 @@ dataSources: ``` - NEAR subgraphs डेटा स्रोताचा एक नवीन `प्रकार` सादर करतात (`जवळ`) -- `नेटवर्क` होस्टिंग ग्राफ नोडवरील नेटवर्कशी संबंधित असले पाहिजे. होस्ट केलेल्या सेवेवर, NEAR चे मेननेट हे `near-mainnet` आहे आणि NEAR चे testnet हे `near-testnet` आहे -- NEAR डेटा स्रोत पर्यायी `source.account` फील्ड सादर करतात, जो [ शी संबंधित मानवी वाचनीय आयडी आहे. खाते जवळ](https://docs.near.org/docs/concepts/account). हे खाते किंवा उप-खाते असू शकते. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR डेटा स्रोत पर्यायी पर्यायी `source.accounts` फील्ड सादर करतात, ज्यामध्ये पर्यायी प्रत्यय आणि उपसर्ग असतात. किमान उपसर्ग किंवा प्रत्यय निर्दिष्ट करणे आवश्यक आहे, ते अनुक्रमे मूल्यांच्या सूचीसह सुरू होणाऱ्या किंवा समाप्त होणाऱ्या कोणत्याही खात्याशी जुळतील. खालील उदाहरण जुळेल: `[app|good].*[morning.near|morning.testnet]`. जर फक्त उपसर्ग किंवा प्रत्ययांची यादी आवश्यक असेल तर इतर फील्ड वगळले जाऊ शकते. ```yaml @@ -90,7 +88,7 @@ accounts: जवळील डेटा स्रोत दोन प्रकारच्या हँडलरला समर्थन देतात: - `blockHandlers`: प्रत्येक नवीन NEAR ब्लॉकवर चालवा. कोणतेही `source.account` आवश्यक नाही. -- `receiptHandlers`: डेटा स्रोताचा `source.account` प्राप्तकर्ता आहे अशा प्रत्येक पावतीवर चालवा. लक्षात ठेवा की फक्त अचूक जुळण्यांवर प्रक्रिया केली जाते ([उपखाते](https://docs.near.org/docs/concepts/account#subaccounts) स्वतंत्र डेटा स्रोत म्हणून जोडले जाणे आवश्यक आहे). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### स्कीमा व्याख्या @@ -175,34 +173,35 @@ class ReceiptWithOutcome { एकदा तुमच्याकडे अंगभूत सबग्राफ आला की, तो अनुक्रमणिकासाठी ग्राफ नोडवर तैनात करण्याची वेळ आली आहे. जवळचे सबग्राफ कोणत्याही ग्राफ नोडवर तैनात केले जाऊ शकतात `>=v0.26.x` (&अद्याप टॅग केलेली नाही आणि रिलीज केलेली नाही). -ग्राफची होस्ट केलेली सेवा सध्या खालील नेटवर्क नावांसह, बीटामध्ये NEAR mainnet आणि testnet अनुक्रमित करण्यास समर्थन देते: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `जवळ-मेननेट` - `जवळ-टेस्टनेट` -होस्ट केलेल्या सेवेवर सबग्राफ तयार करणे आणि उपयोजित करणे याबद्दल अधिक माहिती [येथे](/deploying/deploying-a-subgraph-to-hosted) आढळू शकते. +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -द्रुत प्राइमर म्हणून - पहिली पायरी म्हणजे तुमचा सबग्राफ "तयार" करणे - हे फक्त एकदाच करणे आवश्यक आहे. होस्ट केलेल्या सेवेवर, हे [तुमच्या डॅशबोर्ड](https://thegraph.com/hosted-service/dashboard) वरून केले जाऊ शकते: "सबग्राफ जोडा". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". एकदा तुमचा सबग्राफ तयार झाला की, तुम्ही `graph deploy` CLI कमांड वापरून तुमचा सबग्राफ उपयोजित करू शकता: ```sh -$ ग्राफ तयार करा --node सबग्राफ/नाव # स्थानिक ग्राफ नोडवर सबग्राफ तयार करतो (होस्ट केलेल्या सेवेवर, हे UI द्वारे केले जाते) -$ ग्राफ तैनात --node --ipfs https://api.thegraph.com/ipfs/ # निर्दिष्ट IPFS एंडपॉइंटवर बिल्ड फाइल्स अपलोड करते आणि नंतर मॅनिफेस्ट IPFS हॅशवर आधारित निर्दिष्ट ग्राफ नोडवर सबग्राफ तैनात करते +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` नोड कॉन्फिगरेशन सबग्राफ कोठे तैनात केले जात आहे यावर अवलंबून असेल. -### होस्ट केलेली सेवा +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### स्थानिक आलेख नोड (डीफॉल्ट कॉन्फिगरेशनवर आधारित) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` एकदा तुमचा सबग्राफ तैनात केला गेला की, तो ग्राफ नोडद्वारे अनुक्रमित केला जाईल. तुम्ही सबग्राफवरच क्वेरी करून त्याची प्रगती तपासू शकता: @@ -233,7 +232,7 @@ NEAR subgraphs साठी GraphQL एंडपॉइंट विद्यम ## उदाहरणे सबग्राफ -संदर्भासाठी येथे काही उदाहरणे सबग्राफ आहेत: +Here are some example subgraphs for reference: [NEAR ब्लॉक](https://github.com/graphprotocol/graph-tooling/tree/main/examples/near-blocks) @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## संदर्भ -- [NEAR विकसक दस्तऐवजीकरण](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR विकसक दस्तऐवजीकरण](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 6de5e03393c77963543038cde95c2755ed7f7069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:04 -0400 Subject: [PATCH 0155/2326] New translations near.mdx (Hindi) --- website/pages/hi/cookbook/near.mdx | 31 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/hi/cookbook/near.mdx b/website/pages/hi/cookbook/near.mdx index 96ef313be0b4..196558fc8c2a 100644 --- a/website/pages/hi/cookbook/near.mdx +++ b/website/pages/hi/cookbook/near.mdx @@ -2,13 +2,11 @@ title: NEAR पर सबग्राफ बनाना --- -> ग्राफ़ नोड और होस्टेड सेवा में NEAR समर्थन बीटा में है: कृपया निकट सबग्राफ बनाने के बारे में किसी भी प्रश्न के लिए near@thegraph.com से संपर्क करें! - यह गाइड [NEAR ब्लॉकचेन](https://docs.near.org/) पर स्मार्ट कॉन्ट्रैक्ट्स को इंडेक्स करने वाले सबग्राफ बनाने का परिचय है। ## NEAR क्या है? -[NEAR](https://near.org/) विकेंद्रीकृत ऐप्स के निर्माण के लिए एक स्मार्ट कॉन्ट्रैक्ट् मंच है। अधिक जानकारी के लिए [आधिकारिक दस्तावेज](https://docs.near.org/docs/concepts/new-to-near) पर जाएं। +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## NEAR सबग्राफ क्या हैं? @@ -19,7 +17,7 @@ title: NEAR पर सबग्राफ बनाना - ब्लॉक हैंडलर्स: ये हर नए ब्लॉक पर चलते हैं - रसीद हैंडलर: किसी निर्दिष्ट खाते पर संदेश निष्पादित होने पर हर बार चलें -[NEAR दस्तावेज़ से](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > रसीद सिस्टम में एकमात्र कार्रवाई योग्य वस्तु है। जब हम NEAR प्लेटफॉर्म पर "एक लेन-देन को संसाधित करने" के बारे में बात करते हैं, तो अंततः इसका अर्थ किसी बिंदु पर "रसीदें लागू करना" होता है। @@ -73,8 +71,8 @@ dataSources: ``` - NEAR सबग्राफ डेटा स्रोत के एक नए `प्रकार` के साथ परिचित करता हैं (`near`) -- `नेटवर्क` को होस्टिंग ग्राफ़ नोड पर एक नेटवर्क के अनुरूप होना चाहिए। होस्ट की गई सेवा पर, NEAR का मेननेट `near-mainnet` है, और NEAR का टेस्टनेट `near-testnet` है -- NEAR डेटा स्रोत एक वैकल्पिक `source.account` फ़ील्ड प्रस्तुत करते हैं, जो एक [NEAR खाता](https://docs.near.org/docs/concepts/account) के अनुरूप एक मानव-पठनीय आईडी है। । यह एक खाता या उप-खाता हो सकता है। +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR डेटा स्रोत एक वैकल्पिक वैकल्पिक `source.accounts` फ़ील्ड प्रस्तुत करते हैं, जिसमें वैकल्पिक प्रत्यय और उपसर्ग होते हैं। कम से कम उपसर्ग या प्रत्यय निर्दिष्ट किया जाना चाहिए, वे क्रमशः मूल्यों की सूची के साथ शुरू या समाप्त होने वाले किसी भी खाते से मेल खाएंगे। नीचे दिया गया उदाहरण इससे मेल खाएगा: `[app|good].*[morning.near|morning.testnet]`। यदि केवल उपसर्गों या प्रत्ययों की सूची आवश्यक है तो अन्य फ़ील्ड को छोड़ा जा सकता है। ```yaml @@ -90,7 +88,7 @@ accounts: NEAR डेटा स्रोत दो प्रकार के हैंडलर का समर्थन करते हैं: - `blockHandlers`: हर नए NEAR ब्लॉक पर चलता है। कोई `source.account` आवश्यक नहीं है। -- `receiptHandlers`: प्रत्येक रसीद पर चलते हैं जहां डेटा स्रोत का `source.account` प्राप्तकर्ता होता है। ध्यान दें कि केवल सटीक मिलान संसाधित किए जाते हैं ([subaccounts](https://docs.near.org/docs/concepts/account#subaccounts) को स्वतंत्र डेटा स्रोतों के रूप में जोड़ा जाना चाहिए)। +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### स्कीमा परिभाषा @@ -175,34 +173,35 @@ class ReceiptWithOutcome { एक बार आपके पास एक निर्मित सबग्राफ हो जाने के बाद, इसे अनुक्रमण के लिए ग्राफ़ नोड पर तैनात करने का समय आ गया है। NEAR सबग्राफ को किसी भी ग्राफ़ नोड `>=v0.26.x` पर तैनात किया जा सकता है (यह संस्करण अभी तक टैग& और जारी नहीं किया गया है)। -ग्राफ़ की होस्ट की गई सेवा वर्तमान में निम्न नेटवर्क नामों के साथ बीटा में NEAR मेननेट और टेस्टनेट को इंडेक्स करने का समर्थन करती है: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -होस्ट की गई सेवा पर सबग्राफ बनाने और तैनात करने के बारे में अधिक जानकारी [यहां](/deploying/deploying-a-subgraph-to-hosted) मिल सकती है। +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -एक त्वरित प्राइमर के रूप में - पहला कदम अपना सबग्राफ "बनाना" है - इसे केवल एक बार करने की आवश्यकता है। होस्ट की गई सेवा पर, यह [आपके डैशबोर्ड](https://thegraph.com/hosted-service/dashboard): "Add Subgraph" से किया जा सकता है। +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". एक बार आपका सबग्राफ बन जाने के बाद, आप `graph deploy` CLI कमांड का उपयोग करके अपना सबग्राफ डिप्लॉय कर सकते हैं: ```sh -$ graph create --node subgraph/name #एक स्थानीय ग्राफ़ नोड पर एक सबग्राफ बनाता है (होस्टेड सेवा पर, यह UI के माध्यम से किया जाता है) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # बिल्ड फ़ाइलों को एक निर्दिष्ट IPFS समापन बिंदु पर अपलोड करता है, और फिर सबग्राफ को प्रकट IPFS हैश के आधार पर एक निर्दिष्ट ग्राफ़ नोड पर तैनात करता है +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` नोड कॉन्फ़िगरेशन इस बात पर निर्भर करेगा कि सबग्राफ को कहाँ तैनात किया जा रहा है। -### होस्टेड सेवा +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### स्थानीय ग्राफ़ नोड (डिफ़ॉल्ट कॉन्फ़िगरेशन पर आधारित) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` एक बार आपका सबग्राफ तैनात हो जाने के बाद, इसे ग्राफ़ नोड द्वारा अनुक्रमित किया जाएगा। आप सबग्राफ को क्वेरी करके इसकी प्रगति की जांच कर सकते हैं: @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## संदर्भ -- [NEAR डेवलपर दस्तावेज़ीकरण](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR डेवलपर दस्तावेज़ीकरण](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 43268c31c43850d8102a5d94a348069f5074d13d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:05 -0400 Subject: [PATCH 0156/2326] New translations near.mdx (Yoruba) --- website/pages/yo/cookbook/near.mdx | 31 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/yo/cookbook/near.mdx b/website/pages/yo/cookbook/near.mdx index 304e1202e278..28486f8bb0be 100644 --- a/website/pages/yo/cookbook/near.mdx +++ b/website/pages/yo/cookbook/near.mdx @@ -2,13 +2,11 @@ title: Building Subgraphs on NEAR --- -> NEAR support in Graph Node and on the Hosted Service is in beta: please contact near@thegraph.com with any questions about building NEAR subgraphs! - This guide is an introduction to building subgraphs indexing smart contracts on the [NEAR blockchain](https://docs.near.org/). ## What is NEAR? -[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/docs/concepts/new-to-near) for more information. +[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. ## What are NEAR subgraphs? @@ -19,7 +17,7 @@ Subgraphs are event-based, which means that they listen for and then process on- - Block handlers: these are run on every new block - Receipt handlers: run every time a message is executed at a specified account -[From the NEAR documentation](https://docs.near.org/docs/concepts/transaction#receipt): +[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > A Receipt is the only actionable object in the system. When we talk about "processing a transaction" on the NEAR platform, this eventually means "applying receipts" at some point. @@ -73,8 +71,8 @@ dataSources: ``` - NEAR subgraphs introduce a new `kind` of data source (`near`) -- The `network` should correspond to a network on the hosting Graph Node. On the Hosted Service, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` -- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/docs/concepts/account). This can be an account or a sub-account. +- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` +- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. - NEAR data sources introduce an alternative optional `source.accounts` field, which contains optional suffixes and prefixes. At least prefix or suffix must be specified, they will match the any account starting or ending with the list of values respectively. The example below would match: `[app|good].*[morning.near|morning.testnet]`. If only a list of prefixes or suffixes is necessary the other field can be omitted. ```yaml @@ -90,7 +88,7 @@ accounts: NEAR data sources support two types of handlers: - `blockHandlers`: run on every new NEAR block. No `source.account` is required. -- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/docs/concepts/account#subaccounts) must be added as independent data sources). +- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). ### Schema Definition @@ -175,34 +173,35 @@ This includes a new JSON parsing function - logs on NEAR are frequently emitted Once you have a built subgraph, it is time to deploy it to Graph Node for indexing. NEAR subgraphs can be deployed to any Graph Node `>=v0.26.x` (this version has not yet been tagged & released). -The Graph's Hosted Service currently supports indexing NEAR mainnet and testnet in beta, with the following network names: +Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: - `near-mainnet` - `near-testnet` -More information on creating and deploying subgraphs on the Hosted Service can be found [here](/deploying/deploying-a-subgraph-to-hosted). +More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). -As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On the Hosted Service, this can be done from [your Dashboard](https://thegraph.com/hosted-service/dashboard): "Add Subgraph". +As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". Once your subgraph has been created, you can deploy your subgraph by using the `graph deploy` CLI command: ```sh -$ graph create --node subgraph/name # creates a subgraph on a local Graph Node (on the Hosted Service, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash ``` The node configuration will depend on where the subgraph is being deployed. -### Hosted Service +### Subgraph Studio ```sh -graph deploy --node https://api.thegraph.com/deploy/ --ipfs https://api.thegraph.com/ipfs/ --access-token +graph auth --studio +graph deploy --studio ``` ### Local Graph Node (based on default configuration) ```sh -graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 +graph deploy --node http://localhost:8020/ --ipfs http://localhost:5001 ``` Once your subgraph has been deployed, it will be indexed by Graph Node. You can check its progress by querying the subgraph itself: @@ -281,4 +280,4 @@ If it is a general question about subgraph development, there is a lot more info ## References -- [NEAR developer documentation](https://docs.near.org/docs/develop/basics/getting-started) +- [NEAR developer documentation](https://docs.near.org/tutorials/crosswords/basics/set-up-skeleton) From 75cedeb2a18f0202d37e27ae20a6ef009e8755f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:06 -0400 Subject: [PATCH 0157/2326] New translations subgraph-debug-forking.mdx (Romanian) --- .../ro/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/ro/cookbook/subgraph-debug-forking.mdx b/website/pages/ro/cookbook/subgraph-debug-forking.mdx index 7ac3bf96ca10..6610f19da66d 100644 --- a/website/pages/ro/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/ro/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Quick and Easy Subgraph Debugging Using Forks --- -As with many systems processing large amounts of data, The Graph's Indexers (Graph nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Ok, what is it? @@ -12,9 +12,9 @@ In the context of debugging, **subgraph forking** allows you to debug your faile ## What?! How? -When you deploy a subgraph to a remote Graph node for indexing and it fails at block _X_, the good news is that the Graph node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Please, show me some code! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Oops, how unfortunate, when I deploy my perfect looking subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) it fails with the _"Gravatar not found!"_ error. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. The usual way to attempt a fix is: 1. Make a change in the mappings source, which you believe will solve the issue (while I know it won't). -2. Re-deploy the subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) (or another remote Graph node). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Wait for it to sync-up. 4. If it breaks again go back to 1, otherwise: Hooray! @@ -57,9 +57,9 @@ It is indeed pretty familiar to an ordinary debug process, but there is one step Using **subgraph forking** we can essentially eliminate this step. Here is how it looks: -0. Spin-up a local Graph node with the **_appropriate fork-base_** set. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Make a change in the mappings source, which you believe will solve the issue. -2. Deploy to the local Graph node, **_forking the failing subgraph_** and **_starting from the problematic block_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. If it breaks again, go back to 1, otherwise: Hooray! Now, you may have 2 questions: @@ -80,7 +80,7 @@ Also, don't forget to set the `dataSources.source.startBlock` field in the subgr So, here is what I do: -0. I spin-up a local graph node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from the [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. -2. After I made the changes I deploy my subgraph to the local Graph node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: +2. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. I inspect the logs produced by the local Graph node and, Hooray!, everything seems to be working. -4. I deploy my now bug-free subgraph to a remote Graph node and live happily ever after! (no potatoes tho) -5. The end... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From ed7329a9d2dbfe47345f8d431fcbb8a083f6445d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:07 -0400 Subject: [PATCH 0158/2326] New translations subgraph-debug-forking.mdx (French) --- .../fr/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/fr/cookbook/subgraph-debug-forking.mdx b/website/pages/fr/cookbook/subgraph-debug-forking.mdx index cc0020c8cb50..a8292c5b0d86 100644 --- a/website/pages/fr/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/fr/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Débogage rapide et facile des subgraph à l'aide de Forks --- -Comme c'est le cas pour de nombreux systèmes traitant de grandes quantités de données, les indexeurs The Graph (nœuds du The Graph) peuvent prendre un certain temps pour synchroniser votre subgraph avec la blockchain cible. Le décalage entre les modifications rapides dans le but de déboguer et les longs temps d'attente nécessaires à l'indexation est extrêmement contre-productif et nous en sommes bien conscients. C'est pourquoi nous introduisons le **subgraph forking**, développé par [LimeChain](https://limechain.tech/), et dans cet article, je vais vous montrer comment cette fonctionnalité peut être utilisée pour accélérer considérablement le débogage des subgraphs ! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## D'accord, qu'est-ce que c'est ? @@ -12,9 +12,9 @@ Dans le contexte du débogage, un **subgraph fork** vous permet de déboguer vot ## Quoi ? Comment ? -Lorsque vous déployez un subgraphe vers un nœud The Graph distant pour l'indexer et qu'il échoue au bloc _X_, la bonne nouvelle est que le nœud graphique continuera à servir les requêtes GraphQL en utilisant son magasin, qui est synchronisé avec le bloc _X_. C'est génial ! Cela signifie que nous pouvons tirer parti de ce magasin "à jour" pour corriger les bogues survenant lors de l'indexation du bloc _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -En bref, nous allons _fork le subgraph défaillant_ à partir d'un nœud The Graph distant qui est garanti d'avoir le subgraph indexé jusqu'au bloc _X_ afin de fournir au subgraph déployé localement et débogué au bloc _X_ une vue à jour de l'état de l'indexation. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## S'il vous plaît, montrez-moi du code ! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Oups, malheureusement, lorsque je déploie mon subgraph parfait vers le [Service Hébergé](https://thegraph.com/hosted-service/), il échoue avec l'erreur _"Gravatar not found_. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. La méthode habituelle pour tenter de résoudre le problème est la suivante : 1. Apportez une modification à la source des mappages, ce qui, selon vous, résoudra le problème (même si je sais que ce ne sera pas le cas). -2. Redéployez le subgraph vers le [Service Hébergé](https://thegraph.com/hosted-service/) (ou un autre nœud The Graph distant). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Attendez qu’il soit synchronisé. 4. S'il se casse à nouveau, revenez au point 1, sinon : Hourra ! @@ -57,9 +57,9 @@ C'est en effet assez familier avec un processus de débogage ordinaire, mais il En utilisant **le forçage de subgraphs**, nous pouvons essentiellement éliminer cette étape. Voici à quoi cela ressemble : -0. Lancez un nœud Graph local avec l'ensemble **_fork-base_** approprié. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Apportez une modification à la source des mappings qui, selon vous, résoudra le problème. -2. Déployez sur le nœud Graph local, en utilisant le **_fork pour le subgraph défaillant_** et en **_commençant par le bloc problématique_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. S'il casse à nouveau, revenez à 1, sinon : Hourra ! Maintenant, vous pouvez avoir 2 questions : @@ -80,7 +80,7 @@ N'oubliez pas non plus de définir le champ `dataSources.source.startBlock` dans Voici donc ce que je fais : -0. Je crée un nœud de The Graph local ([voici comment faire](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) avec l'option `fork-base` définie sur : `https://api.thegraph.com/subgraphs/id/`, puisque je vais forker un subgraph, le bogué que j'ai déployé plus tôt, à partir du [Service Hébergé](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. Après une inspection minutieuse, je remarque qu'il y a un décalage dans les représentations des `identifiants` utilisés lors de l'indexation des `Gravatars` dans mes deux gestionnaires. Alors que `handleNewGravatar` le convertit en hexadécimal (`event.params.id.toHex()`), `handleUpdatedGravatar` utilise un int32 (`event.params.id.toI32()`), ce qui provoque la panique de `handleUpdatedGravatar` avec "Gravatar not found!". J'ai fait en sorte que les deux convertissent l'`identifiant` en hexadécimal. -2. Après avoir effectué les changements, je déploie mon subgraph sur le nœud Graph local, **_en effectuant un fork du subgraphe défaillant_** et en définissant `dataSources.source.startBlock` à `6190343` dans `subgraph.yaml` : +2. Après une inspection minutieuse, je remarque qu'il y a un décalage dans les représentations des `identifiants` utilisés lors de l'indexation des `Gravatars` dans mes deux gestionnaires. Alors que `handleNewGravatar` le convertit en hexadécimal (`event.params.id.toHex()`), `handleUpdatedGravatar` utilise un int32 (`event.params.id.toI32()`), ce qui provoque la panique de `handleUpdatedGravatar` avec "Gravatar not found!". J'ai fait en sorte que les deux convertissent l'`identifiant` en hexadécimal. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. Je vérifie les journaux produits par le nœud local The Graph et, hourra, tout semble fonctionner. -4. Je déploie mon subgraph maintenant sans bogue sur un nœud The Graph distant et je vis heureux pour toujours ! (pas de pommes de terre cependant) -5. La fin... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From fa2e407eca997445225d66f9b8e329eedee3d16d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:08 -0400 Subject: [PATCH 0159/2326] New translations subgraph-debug-forking.mdx (Spanish) --- .../es/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/es/cookbook/subgraph-debug-forking.mdx b/website/pages/es/cookbook/subgraph-debug-forking.mdx index 1e2d42925fad..39633c0fbb49 100644 --- a/website/pages/es/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/es/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Debugging rápido y sencillo de subgrafos mediante Forks --- -Al igual que con muchos sistemas que procesan grandes cantidades de datos, los indexadores de The Graph (Graph Nodes) pueden tardar bastante en sincronizar su subgrafo con la blockchain de destino. La discrepancia entre los cambios rápidos con fines de debugging y los largos tiempos de espera necesarios para la indexación es extremadamente contraproducente y somos muy conscientes de ello. Por eso introducimos **subgraph forking**, desarrollados por [LimeChain](https://limechain.tech/), y en este artículo te mostramos cómo se puede utilizar esta función para acelerar sustancialmente el debugging del subgrafo! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## ¿Bien, qué es? @@ -12,9 +12,9 @@ En el contexto de la depuración, **subgraph forking** te permite depurar tu sub ## ¡¿Qué?! ¿Cómo? -Cuando implementas un subgrafo en un nodo Graph remoto para la indexación y falla en el bloque _X_, la buena noticia es que el nodo Graph seguirá atendiendo consultas de GraphQL usando su tienda, que está sincronizado para bloquear _X_. ¡Genial! Esto significa que podemos aprovechar esta tienda "actualizada" para corregir los errores que surgen al indexar el bloque _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -En pocas palabras, vamos a _bifurcar el subgrafo fallido_ desde un nodo de Graph remoto que garantiza que el subgrafo se indexe para bloquear _X_ para proporcionar al subgrafo implementado localmente que se está depurando en el bloque _X_ una vista actualizada del estado de indexación. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## ¡Por favor, muéstrame algo de código! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Uy, qué mala suerte, cuando despliego mi subgrafo de aspecto perfecto en el [Servicio Alojado](https://thegraph.com/hosted-service/) falla con el error _"¡Gravatar no encontrado!"_. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. La forma habitual de intentar una solución es: 1. Realiza un cambio en la fuente de mapeos, que crees que resolverá el problema (aunque sé que no lo hará). -2. Vuelve a desplegar el subgrafo en el [Servicio Alojado](https://thegraph.com/hosted-service/) (o en otro nodo Graph remoto). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Espera a que se sincronice. 4. Si se vuelve a romper vuelve a 1, de lo contrario: ¡Hurra! @@ -57,9 +57,9 @@ De hecho, es bastante familiar para un proceso de depuración ordinario, pero ha Usando **bifurcación de subgrafo** podemos eliminar esencialmente este paso. Así es como se ve: -0. Activa un nodo Graph local con el conjunto **_fork-base_** adecuado. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Realiza un cambio en la fuente de mapeos, que crees que resolverá el problema. -2. Implementa en el nodo Graph local, **_bifurcando el subgrafo defectuoso_** y ** _a partir del bloque problemático_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. Si se vuelve a romper, vuelve a 1, de lo contrario: ¡Hurra! Ahora, puedes tener 2 preguntas: @@ -80,7 +80,7 @@ Además, no olvides configurar el campo `dataSources.source.startBlock` en el ma Entonces, esto es lo que hago: -0. Hago girar un nodo graph local ([aquí se explica cómo hacerlo](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) con la opción `fork-base` establecida en: `https://api.thegraph.com/subgraphs/id/`, ya que bifurcaré un subgrafo, el buggy que implementé anteriormente, desde el [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. Después de una inspección cuidadosa, noté que hay una falta de coincidencia en las representaciones de `id` utilizadas al indexar `Gravatar` en mis dos handlers. Mientras que `handleNewGravatar` lo convierte en hexadecimal (`event.params.id.toHex()`), `handleUpdatedGravatar` usa un int32 (`event. params.id.toI32()`) que hace que `handleUpdatedGravatar` entre en pánico con "¡Gravatar no encontrado!". Hago que ambos conviertan el `id` en un hexadecimal. -2. Después de realizar los cambios, implemento mi subgrafo en el nodo Graph local, **_bifurcando el subgrafo defectuoso_** y configurando `dataSources.source.startBlock` a `6190343` en `subgraph.yaml`: +2. Después de una inspección cuidadosa, noté que hay una falta de coincidencia en las representaciones de `id` utilizadas al indexar `Gravatar` en mis dos handlers. Mientras que `handleNewGravatar` lo convierte en hexadecimal (`event.params.id.toHex()`), `handleUpdatedGravatar` usa un int32 (`event. params.id.toI32()`) que hace que `handleUpdatedGravatar` entre en pánico con "¡Gravatar no encontrado!". Hago que ambos conviertan el `id` en un hexadecimal. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. Inspecciono los registros producidos por el nodo Graph local y, ¡Hurra!, todo parece estar funcionando. -4. ¡Deployo mi subgrafo ahora libre de errores en un nodo Graph remoto y vivo feliz para siempre! (aunque sin papas) -5. Fin... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From e834ff4b902abc7458fde60377fbde33c91833d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:09 -0400 Subject: [PATCH 0160/2326] New translations subgraph-debug-forking.mdx (Arabic) --- .../ar/cookbook/subgraph-debug-forking.mdx | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/website/pages/ar/cookbook/subgraph-debug-forking.mdx b/website/pages/ar/cookbook/subgraph-debug-forking.mdx index 0d331deab109..44a8bfa28c2c 100644 --- a/website/pages/ar/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/ar/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Quick and Easy Subgraph Debugging Using Forks --- -كما هو الحال مع العديد من الأنظمة التي تعالج كميات كبيرة من البيانات ، قد يستغرق مفهرسو The Graph أو (Graph nodes) بعض الوقت لمزامنة الـ subgraph الخاص بك مع blockchain المستهدف. التناقض بين التغييرات السريعة بغرض تصحيح الأخطاء وأوقات الانتظار الطويلة اللازمة للفهرسة يؤدي إلى نتائج عكسية للغاية ونحن ندرك ذلك جيدًا. ولهذا السبب نقدم **subgraph forking ** ، الذي تم تطويره بواسطة [ LimeChain ](https://limechain.tech/) ، وفي هذه المقالة سنوضح لكم كيف يمكن استخدام هذه الميزة لتسريع تصحيح أخطاء الـ subgraph بشكل كبير! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## حسنا، ما هو؟ @@ -12,9 +12,9 @@ title: Quick and Easy Subgraph Debugging Using Forks ## ماذا؟! كيف؟ -عندما تنشر subgraph إلى Graph node بعيدة للقيام بالفهرسة ويفشل عند الكتلة _ X _ ، فإن الخبر الجيد هو أن Graph node ستظل تقدم استعلامات GraphQL باستخدام مخزنها(store)، والذي تمت مزامنته للكتلة(block) _ X _. هذا عظيم! هذا يعني أنه يمكننا الاستفادة من هذا المخزن "المحدث" لإصلاح الأخطاء التي تظهر عند فهرسة الكتلة _ X _. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -باختصار ، سنقوم _ بتفريع (fork) الـ subgraph الفاشل _ من Graph node بعيدة والتي تضمن فهرسة الـ subgraph للكتلة _ X _ وذلك من أجل توفير الـ subgraph المنشور محليًا والذي يتم تصحيحه عندالكتلة*X* مع عرض محدث لحالة الفهرسة. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## من فضلك ، أرني بعض الأكواد! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Oops, how unfortunate, when I deploy my perfect looking subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) it fails with the _"Gravatar not found!"_ error. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. الطريقة المعتادة لمحاولة الإصلاح هي: 1. إجراء تغيير في مصدر الـ mappings ، والذي تعتقد أنه سيحل المشكلة (وأنا أعلم أنه لن يحلها). -2. Re-deploy the subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) (or another remote Graph node). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. الانتظار حتى تتم المزامنة. 4. إذا حدثت المشكلة مرة أخرى ، فارجع إلى 1! @@ -57,9 +57,9 @@ Oops, how unfortunate, when I deploy my perfect looking subgraph to the [Hosted باستخدام **subgraph forking** يمكننا التخلص من تلك الخطوة. إليك كيف يبدو: -0. قم بتجهيز Graph node محلية بمجموعة **_fork-base_** مناسبة. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. قم بإجراء تغيير في مصدر الـ mappings ، والذي تعتقد أنه سيحل المشكلة. -2. قم بالنشر إلى Graph node محلية ، **_وقم بتفريع الـ subgraph الفاشل_**و**_ البدء من الكتلة التي بها المشكلة_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. إذا حدثت المشكلة مرة أخرى ، فارجع إلى 1! الآن ، قد يكون لديك سؤالان: @@ -69,18 +69,18 @@ Oops, how unfortunate, when I deploy my perfect looking subgraph to the [Hosted وأنا أجيب: -1. `fork-base` هو عنوان URL "الأساسي" ،فمثلا عند إلحاق _subgraph id_ ، يكون عنوان URL الناتج (`/`) هو GraphQL endpoint صالح لمخزن الـ subgraph. +1. ` fork-base ` هو عنوان URL "الأساسي" ،فمثلا عند إلحاق _subgraph id_ ، يكون عنوان URL الناتج (`/`) هو GraphQL endpoint صالح لمخزن الـ subgraph. 2. الـتفريع سهل ، فلا داعي للقلق: ```bash $ graph deploy --debug-fork --ipfs http://localhost:5001 --node http://localhost:8020 ``` -أيضًا ، لا تنس تعيين حقل `dataSources.source.startBlock` في subgraph manifest لرقم الكتلة(block) التي بها المشكلة، حتى تتمكن من تخطي فهرسة الكتل الغير ضرورية والاستفادة من التفريع! +أيضًا ، لا تنس تعيين حقل ` dataSources.source.startBlock ` في subgraph manifest لرقم الكتلة(block) التي بها المشكلة، حتى تتمكن من تخطي فهرسة الكتل الغير ضرورية والاستفادة من التفريع! لذلك ، هذا ما أفعله: -0. أقوم بتجهيز Graph Node محلية ([هنا كيف تقوم به](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) مع تعيين خيار `fork-base` إلى `https://api.thegraph.com/subgraphs/id/` ، نظرا لأنني سأقوم بتفريع(fork) الـ subgraph الذي به أخطاء والذي نشرته سابقا من الـ [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. بعد فحص دقيق ، لاحظت أن هناك عدم تطابق في تمثيلات الـ `id` المستخدمة عند فهرسة `Gravatar` في المعالجين الخاصين بي. بينما `handleNewGravatar` يحول (`event.params.id.toHex()`) إلى سداسي ، `handleUpdatedGravatar` يستخدم int32 (`event.params.id.toI32()`) مما يجعل `handleUpdatedGravatar` قلقا من "Gravatar not found!". أنا أجعلهم كلاهما يحولان `id` إلى سداسي. -2. بعد إجراء التغييرات ، قمت بنشر الـ subgraph الخاص بي على Graph node المحلية **_وتفريع الـsubgraph الفاشل_** وضبط `dataSources.source.startBlock` إلى `6190343` في `subgraph.yaml`: +2. بعد فحص دقيق ، لاحظت أن هناك عدم تطابق في تمثيلات الـ ` id ` المستخدمة عند فهرسة ` Gravatar ` في المعالجين الخاصين بي. بينما ` handleNewGravatar ` يحول (`event.params.id.toHex()`) إلى سداسي ، `handleUpdatedGravatar` يستخدم int32 (`event.params.id.toI32()`) مما يجعل ` handleUpdatedGravatar ` قلقا من "Gravatar not found!". أنا أجعلهم كلاهما يحولان ` id ` إلى سداسي. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. لقد قمت بفحص السجلات التي تنتجها Graph node المحلية ، ويبدو أن كل شيء يعمل بشكل جيد. -4. أقوم بنشر الـ subgraph الخاص بي الخالي من الأخطاء لـ Graph node بعيدة وأعيش في سعادة دائمة -5. النهاية... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From 970694f7ce5c99338ec0c25cf0cba655c02f2428 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:10 -0400 Subject: [PATCH 0161/2326] New translations subgraph-debug-forking.mdx (Czech) --- .../cs/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/cs/cookbook/subgraph-debug-forking.mdx b/website/pages/cs/cookbook/subgraph-debug-forking.mdx index a5bc7e36fb76..e0e3e2a69641 100644 --- a/website/pages/cs/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/cs/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Rychlé a snadné ladění podgrafů pomocí vidliček --- -Stejně jako u mnoha systémů zpracovávajících velké množství dat může indexerům grafu (Graph nodes) chvíli trvat, než synchronizují váš podgraf s cílovým blockchainem. Nesoulad mezi rychlými změnami za účelem ladění a dlouhými čekacími dobami potřebnými pro indexaci je extrémně kontraproduktivní a jsme si toho dobře vědomi. To je důvod, proč představujeme **rozvětvení podgrafů**, vyvinutý společností [LimeChain](https://limechain.tech/), a v tomto článku Ukážu vám, jak lze tuto funkci použít k podstatnému zrychlení ladění podgrafů! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Ok, co to je? @@ -12,9 +12,9 @@ V kontextu ladění vám ** vidličkování podgrafů** umožňuje ladit neúsp ## Co?! Jak? -Pokud nasadíte podgraf do vzdáleného uzlu Graph pro indexování a dojde k selhání bloku*X*, dobrou zprávou je, že uzel Graph bude stále obsluhovat dotazy GraphQL pomocí svého úložiště, které je synchronizováno s blokem*X*. skvělé! To znamená, že můžeme využít tohoto "aktuálního" úložiště k odstranění chyb vznikajících při indexování bloku _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -V kostce budeme _vidličkovat chybový podgraf_ z vzdáleného uzlu grafu, který je zaručeně indexován až do bloku _X_, aby poskytl lokálně nasazenému podgrafu, který je laděn v bloku _X_, aktuální pohled na stav indexace. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Ukažte mi prosím nějaký kód! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Ups, jak nešťastné, když jsem nasadil můj perfektně vypadající subgraf do [Hostované služby](https://thegraph.com/hosted-service/), selhalo to s chybou _"Gravatar nenalezen!"_. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. Obvyklý způsob, jak se pokusit o opravu, je: 1. Proveďte změnu ve zdroji mapování, která podle vás problém vyřeší (zatímco já vím, že ne). -2. Znovu nasaďte podgraf do [Hostované služby](https://thegraph.com/hosted-service/) (nebo jiného vzdáleného uzlu Graph). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Počkejte na synchronizaci. 4. Pokud se opět rozbije, vraťte se na 1, jinak: Hurá! @@ -57,9 +57,9 @@ Je to skutečně docela podobné běžnému procesu ladění, ale existuje jedna Pomocí **vidličkování podgrafů** můžeme tento krok v podstatě eliminovat. Takto to vypadá: -0. Vytvoření místního uzlu Graph s **_vhodnou sadou fork-base_**. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Proveďte změnu ve zdroji mapování, která podle vás problém vyřeší. -2. Nasaďte na lokální uzel grafu, **_vidličkující chybový podgraf_** a **_začínající od problémového bloku_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. Pokud se opět rozbije, vraťte se na 1, jinak: Hurá! Nyní můžete mít 2 otázky: @@ -80,7 +80,7 @@ Nezapomeňte také nastavit pole `dataSources.source.startBlock` v manifestu pod Takže to dělám takhle: -0. Nasaďte lokální uzel grafu ([zde je, jak na to](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) s možností `fork-base` nastavenou na: `https://api.thegraph.com/subgraphs/id/`, protože budu provádět vidličkování podgrafu, toho chybového, který jsem dříve nasadil ze služby [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. Po pečlivém prozkoumání si všímám, že existuje nesoulad v reprezentacích `id`, které se používají při indexaci `Gravatar` v mých dvou obslužných funkcích. Zatímco `handleNewGravatar` ho převede na hex (`event.params.id.toHex()`), `handleUpdatedGravatar` používá int32 (`event.params.id.toI32()`), což způsobuje, že `handleUpdatedGravatar` selže s chybou "Gravatar nenalezen!". Udělám, aby obě převedly `id` na hex. -2. Po provedení změn nasadím svůj podgraf na lokální uzel grafu, **_vidličkování chybového podgrafu_** a nastavení `dataSources.source.startBlock` na `6190343` v souboru `subgraph.yaml`: +2. Po pečlivém prozkoumání si všímám, že existuje nesoulad v reprezentacích `id`, které se používají při indexaci `Gravatar` v mých dvou obslužných funkcích. Zatímco `handleNewGravatar` ho převede na hex (`event.params.id.toHex()`), `handleUpdatedGravatar` používá int32 (`event.params.id.toI32()`), což způsobuje, že `handleUpdatedGravatar` selže s chybou "Gravatar nenalezen!". Udělám, aby obě převedly `id` na hex. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. Zkontroluji protokoly vytvořené místním uzel Graph a hurá, zdá se, že vše funguje. -4. Nasadím svůj nyní již bezchybný podgraf do vzdáleného uzlu Graph a žiji šťastně! (žádné brambory) -5. Konec... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From beab5be1d6dd9d99a453413da7fe4ec40209e36a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:11 -0400 Subject: [PATCH 0162/2326] New translations subgraph-debug-forking.mdx (German) --- .../de/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/de/cookbook/subgraph-debug-forking.mdx b/website/pages/de/cookbook/subgraph-debug-forking.mdx index 7ac3bf96ca10..6610f19da66d 100644 --- a/website/pages/de/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/de/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Quick and Easy Subgraph Debugging Using Forks --- -As with many systems processing large amounts of data, The Graph's Indexers (Graph nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Ok, what is it? @@ -12,9 +12,9 @@ In the context of debugging, **subgraph forking** allows you to debug your faile ## What?! How? -When you deploy a subgraph to a remote Graph node for indexing and it fails at block _X_, the good news is that the Graph node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Please, show me some code! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Oops, how unfortunate, when I deploy my perfect looking subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) it fails with the _"Gravatar not found!"_ error. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. The usual way to attempt a fix is: 1. Make a change in the mappings source, which you believe will solve the issue (while I know it won't). -2. Re-deploy the subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) (or another remote Graph node). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Wait for it to sync-up. 4. If it breaks again go back to 1, otherwise: Hooray! @@ -57,9 +57,9 @@ It is indeed pretty familiar to an ordinary debug process, but there is one step Using **subgraph forking** we can essentially eliminate this step. Here is how it looks: -0. Spin-up a local Graph node with the **_appropriate fork-base_** set. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Make a change in the mappings source, which you believe will solve the issue. -2. Deploy to the local Graph node, **_forking the failing subgraph_** and **_starting from the problematic block_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. If it breaks again, go back to 1, otherwise: Hooray! Now, you may have 2 questions: @@ -80,7 +80,7 @@ Also, don't forget to set the `dataSources.source.startBlock` field in the subgr So, here is what I do: -0. I spin-up a local graph node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from the [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. -2. After I made the changes I deploy my subgraph to the local Graph node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: +2. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. I inspect the logs produced by the local Graph node and, Hooray!, everything seems to be working. -4. I deploy my now bug-free subgraph to a remote Graph node and live happily ever after! (no potatoes tho) -5. The end... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From 230102fc4bb28e578f77de90cf2b0089e9aef652 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:11 -0400 Subject: [PATCH 0163/2326] New translations subgraph-debug-forking.mdx (Italian) --- .../it/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/it/cookbook/subgraph-debug-forking.mdx b/website/pages/it/cookbook/subgraph-debug-forking.mdx index 7ac3bf96ca10..6610f19da66d 100644 --- a/website/pages/it/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/it/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Quick and Easy Subgraph Debugging Using Forks --- -As with many systems processing large amounts of data, The Graph's Indexers (Graph nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Ok, what is it? @@ -12,9 +12,9 @@ In the context of debugging, **subgraph forking** allows you to debug your faile ## What?! How? -When you deploy a subgraph to a remote Graph node for indexing and it fails at block _X_, the good news is that the Graph node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Please, show me some code! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Oops, how unfortunate, when I deploy my perfect looking subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) it fails with the _"Gravatar not found!"_ error. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. The usual way to attempt a fix is: 1. Make a change in the mappings source, which you believe will solve the issue (while I know it won't). -2. Re-deploy the subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) (or another remote Graph node). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Wait for it to sync-up. 4. If it breaks again go back to 1, otherwise: Hooray! @@ -57,9 +57,9 @@ It is indeed pretty familiar to an ordinary debug process, but there is one step Using **subgraph forking** we can essentially eliminate this step. Here is how it looks: -0. Spin-up a local Graph node with the **_appropriate fork-base_** set. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Make a change in the mappings source, which you believe will solve the issue. -2. Deploy to the local Graph node, **_forking the failing subgraph_** and **_starting from the problematic block_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. If it breaks again, go back to 1, otherwise: Hooray! Now, you may have 2 questions: @@ -80,7 +80,7 @@ Also, don't forget to set the `dataSources.source.startBlock` field in the subgr So, here is what I do: -0. I spin-up a local graph node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from the [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. -2. After I made the changes I deploy my subgraph to the local Graph node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: +2. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. I inspect the logs produced by the local Graph node and, Hooray!, everything seems to be working. -4. I deploy my now bug-free subgraph to a remote Graph node and live happily ever after! (no potatoes tho) -5. The end... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From 1e2ea0534d90467c640141da3a753adf40d3bd7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:12 -0400 Subject: [PATCH 0164/2326] New translations subgraph-debug-forking.mdx (Japanese) --- .../ja/cookbook/subgraph-debug-forking.mdx | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/website/pages/ja/cookbook/subgraph-debug-forking.mdx b/website/pages/ja/cookbook/subgraph-debug-forking.mdx index 134e7b12cc1a..6fbb5070e2ec 100644 --- a/website/pages/ja/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/ja/cookbook/subgraph-debug-forking.mdx @@ -2,19 +2,19 @@ title: フォークを用いた迅速かつ容易なサブグラフのデバッグ --- -大量のデータを処理する多くのシステムと同様に、The GraphのIndexers(グラフノード)は、サブグラフとターゲットブロックチェーンの同期にかなりの時間がかかる場合があります。デバッグを目的とした素早い変更と、インデックス作成に必要な長い待ち時間の不一致は非常に逆効果であり、私たちはそれを十分に認識しています。そこで、[LimeChain](https://limechain.tech/)が開発した**subgraph forking**を導入し、今回はこの機能を使ってサブグラフのデバッグを大幅に高速化する方法を紹介します。 +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## さて、それは何でしょうか? -**サブグラフのフォーク**とは、*他*のサブグラフのストア(通常はリモート) からエンティティをフェッチするプロセスです。 +**サブグラフのフォーク**とは、_他_のサブグラフのストア(通常はリモート) からエンティティをフェッチするプロセスです。 -デバッグの文脈では、**サブグラフのフォーク**により、ブロック*X*への同期を待つことなく、ブロック*X*で失敗したサブグラフのデバッグを行うことができます。 +デバッグの文脈では、**サブグラフのフォーク**により、ブロック_X_への同期を待つことなく、ブロック_X_で失敗したサブグラフのデバッグを行うことができます。 ## その方法は? -インデックス作成のためにリモートのGraphノードにサブグラフをデプロイし、ブロック*X*で失敗した場合でも、ブロック*X*と同期しているストアを使用して GraphQL クエリを提供することができます。つまり、ブロック _X_ のインデックス作成時に発生するバグを修正するために、この最新のストアを利用できるのです。 +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -簡単に言うと、ブロック*X*でデバッグされているローカルにデプロイされたサブグラフにインデックス状態の最新のビューを提供するために、ブロック*X*までインデックスされたサブグラフを持つことが保証されているリモートGraphノードから *失敗したサブグラフをフォーク*しようとしているのです。 +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## コードを見てみましょう @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -この場合、残念なことに、この完璧に見えるサブグラフを[HostedService](https://thegraph.com/hosted-service/) にデプロイすると、*"Gravatar not found!"*というエラーで失敗してしまいます。 +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. 通常の試すであろう修正方法: 1. マッピングソースを変更して問題の解決を試す(解決されないことは分かっていても) -2. サブグラフを[HostedService](https://thegraph.com/hosted-service/)(または別のリモートGraphノード)に再デプロイする +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. 同期を待つ 4. 再び問題が発生した場合は、1に戻る @@ -57,9 +57,9 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { **サブグラフのフォーク**を利用することで、このステップを実質的に省略することができます。その方法は次の通りです: -0. **_適切なフォークベース_**セットを持つローカルのグラフ・ノードをスピンアップする +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. マッピングのソースを変更し、問題を解決する -2. ローカルGraphノードにデプロイし、**_失敗したサブグラフをフォーク_**して、**_問題のブロックから開始_**する +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. もし再度、壊れる場合1に戻る さて、ここで2つの疑問が生じます: @@ -69,7 +69,7 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { 回答: -1. `fork-base`は「ベース」URLで、*subgraph id*が追加されたときのURL (`/`) はサブグラフのストアに対する有効な GraphQL endpoint であることを示します。 +1. `fork-base`は「ベース」URLで、_subgraph id_が追加されたときのURL (`/`) はサブグラフのストアに対する有効な GraphQL endpoint であることを示します。 2. フォーキングは簡単であり煩雑な手間はありません ```bash @@ -80,7 +80,7 @@ $ graph deploy --debug-fork --ipfs http://localhos そこで、以下の通りです: -0. [こちらの方法](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)で、`fork-base` オプションをセットして、ローカルグラフノードをスピンアップします。[HostedService](https://thegraph.com/hosted-service/) から、先にデプロイしたバグのあるサブグラフをフォークするからです。 +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. よく調べてみると、2つのハンドラで `Gravatar` をインデックスする際に使用される `id` 表現にミスマッチがあることに気づきました。`handleNewGravatar` はそれを hex (`event.params.id.toHex()`) に変換しますが、`handleUpdatedGravatar` は int32 (`event.params.id.toI32()`) を使用するので `handleUpdatedGravatar` は "Gravatar not found!" でパニックになってしまうのです。両方とも`id`を16進数に変換するようにしています。 -2. 変更後、ローカルのGraphノードにサブグラフをデプロイし、**_失敗したサブグラフのフォーク_**と `subgraph.yaml` で `dataSources.source.startBlock` を `6190343` にセットしてください。 +2. よく調べてみると、2つのハンドラで `Gravatar` をインデックスする際に使用される `id` 表現にミスマッチがあることに気づきました。`handleNewGravatar` はそれを hex (`event.params.id.toHex()`) に変換しますが、`handleUpdatedGravatar` は int32 (`event.params.id.toI32()`) を使用するので `handleUpdatedGravatar` は "Gravatar not found!" でパニックになってしまうのです。両方とも`id`を16進数に変換するようにしています。 +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. ローカルのGraphノードが出力するログを調べてみると、すべてうまくいっていることがわかります。 -4. バグのないサブグラフをリモート グラフ ノードにデプロイし、その後ずっと幸せに暮らしています。 (じゃがいもはありません) -5. 終わり +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From 99c1081194e13a1e091a178cedab41dc66041237 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:13 -0400 Subject: [PATCH 0165/2326] New translations subgraph-debug-forking.mdx (Korean) --- .../ko/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/ko/cookbook/subgraph-debug-forking.mdx b/website/pages/ko/cookbook/subgraph-debug-forking.mdx index 7ac3bf96ca10..6610f19da66d 100644 --- a/website/pages/ko/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/ko/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Quick and Easy Subgraph Debugging Using Forks --- -As with many systems processing large amounts of data, The Graph's Indexers (Graph nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Ok, what is it? @@ -12,9 +12,9 @@ In the context of debugging, **subgraph forking** allows you to debug your faile ## What?! How? -When you deploy a subgraph to a remote Graph node for indexing and it fails at block _X_, the good news is that the Graph node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Please, show me some code! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Oops, how unfortunate, when I deploy my perfect looking subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) it fails with the _"Gravatar not found!"_ error. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. The usual way to attempt a fix is: 1. Make a change in the mappings source, which you believe will solve the issue (while I know it won't). -2. Re-deploy the subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) (or another remote Graph node). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Wait for it to sync-up. 4. If it breaks again go back to 1, otherwise: Hooray! @@ -57,9 +57,9 @@ It is indeed pretty familiar to an ordinary debug process, but there is one step Using **subgraph forking** we can essentially eliminate this step. Here is how it looks: -0. Spin-up a local Graph node with the **_appropriate fork-base_** set. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Make a change in the mappings source, which you believe will solve the issue. -2. Deploy to the local Graph node, **_forking the failing subgraph_** and **_starting from the problematic block_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. If it breaks again, go back to 1, otherwise: Hooray! Now, you may have 2 questions: @@ -80,7 +80,7 @@ Also, don't forget to set the `dataSources.source.startBlock` field in the subgr So, here is what I do: -0. I spin-up a local graph node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from the [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. -2. After I made the changes I deploy my subgraph to the local Graph node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: +2. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. I inspect the logs produced by the local Graph node and, Hooray!, everything seems to be working. -4. I deploy my now bug-free subgraph to a remote Graph node and live happily ever after! (no potatoes tho) -5. The end... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From e1605a27553df281dbbb5930115221d3a2bf0d63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:14 -0400 Subject: [PATCH 0166/2326] New translations subgraph-debug-forking.mdx (Dutch) --- .../nl/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/nl/cookbook/subgraph-debug-forking.mdx b/website/pages/nl/cookbook/subgraph-debug-forking.mdx index 7ac3bf96ca10..6610f19da66d 100644 --- a/website/pages/nl/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/nl/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Quick and Easy Subgraph Debugging Using Forks --- -As with many systems processing large amounts of data, The Graph's Indexers (Graph nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Ok, what is it? @@ -12,9 +12,9 @@ In the context of debugging, **subgraph forking** allows you to debug your faile ## What?! How? -When you deploy a subgraph to a remote Graph node for indexing and it fails at block _X_, the good news is that the Graph node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Please, show me some code! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Oops, how unfortunate, when I deploy my perfect looking subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) it fails with the _"Gravatar not found!"_ error. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. The usual way to attempt a fix is: 1. Make a change in the mappings source, which you believe will solve the issue (while I know it won't). -2. Re-deploy the subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) (or another remote Graph node). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Wait for it to sync-up. 4. If it breaks again go back to 1, otherwise: Hooray! @@ -57,9 +57,9 @@ It is indeed pretty familiar to an ordinary debug process, but there is one step Using **subgraph forking** we can essentially eliminate this step. Here is how it looks: -0. Spin-up a local Graph node with the **_appropriate fork-base_** set. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Make a change in the mappings source, which you believe will solve the issue. -2. Deploy to the local Graph node, **_forking the failing subgraph_** and **_starting from the problematic block_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. If it breaks again, go back to 1, otherwise: Hooray! Now, you may have 2 questions: @@ -80,7 +80,7 @@ Also, don't forget to set the `dataSources.source.startBlock` field in the subgr So, here is what I do: -0. I spin-up a local graph node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from the [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. -2. After I made the changes I deploy my subgraph to the local Graph node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: +2. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. I inspect the logs produced by the local Graph node and, Hooray!, everything seems to be working. -4. I deploy my now bug-free subgraph to a remote Graph node and live happily ever after! (no potatoes tho) -5. The end... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From 98fbba71b915c71d9b3841554e92adbf26ab6733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:15 -0400 Subject: [PATCH 0167/2326] New translations subgraph-debug-forking.mdx (Polish) --- .../pl/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/pl/cookbook/subgraph-debug-forking.mdx b/website/pages/pl/cookbook/subgraph-debug-forking.mdx index 7ac3bf96ca10..6610f19da66d 100644 --- a/website/pages/pl/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/pl/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Quick and Easy Subgraph Debugging Using Forks --- -As with many systems processing large amounts of data, The Graph's Indexers (Graph nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Ok, what is it? @@ -12,9 +12,9 @@ In the context of debugging, **subgraph forking** allows you to debug your faile ## What?! How? -When you deploy a subgraph to a remote Graph node for indexing and it fails at block _X_, the good news is that the Graph node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Please, show me some code! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Oops, how unfortunate, when I deploy my perfect looking subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) it fails with the _"Gravatar not found!"_ error. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. The usual way to attempt a fix is: 1. Make a change in the mappings source, which you believe will solve the issue (while I know it won't). -2. Re-deploy the subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) (or another remote Graph node). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Wait for it to sync-up. 4. If it breaks again go back to 1, otherwise: Hooray! @@ -57,9 +57,9 @@ It is indeed pretty familiar to an ordinary debug process, but there is one step Using **subgraph forking** we can essentially eliminate this step. Here is how it looks: -0. Spin-up a local Graph node with the **_appropriate fork-base_** set. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Make a change in the mappings source, which you believe will solve the issue. -2. Deploy to the local Graph node, **_forking the failing subgraph_** and **_starting from the problematic block_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. If it breaks again, go back to 1, otherwise: Hooray! Now, you may have 2 questions: @@ -80,7 +80,7 @@ Also, don't forget to set the `dataSources.source.startBlock` field in the subgr So, here is what I do: -0. I spin-up a local graph node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from the [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. -2. After I made the changes I deploy my subgraph to the local Graph node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: +2. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. I inspect the logs produced by the local Graph node and, Hooray!, everything seems to be working. -4. I deploy my now bug-free subgraph to a remote Graph node and live happily ever after! (no potatoes tho) -5. The end... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From 1630912fa18b6bf2a10104ebf7706c3a4b6dd44b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:16 -0400 Subject: [PATCH 0168/2326] New translations subgraph-debug-forking.mdx (Portuguese) --- .../pt/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/pt/cookbook/subgraph-debug-forking.mdx b/website/pages/pt/cookbook/subgraph-debug-forking.mdx index dafa1f3cebe2..61c44ef9dcf3 100644 --- a/website/pages/pt/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/pt/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Debugging de Subgraphs Rápido e Fácil Com Forks --- -Assim como vários sistemas que processam uma abundância de dados, os Indexadores do Graph (Graph nodes) podem levar um bom tempo para sincronizar o seu subgraph com a blockchain-alvo. A discrepância entre mudanças rápidas para fins de debugging e os longos tempos de espera necessários para o indexing é extremamente contraprodutiva, e nós sabemos muito bem disso. É por isso que introduzimos o **subgraph forking**, desenvolvido pela [LimeChain](https://limechain.tech/); neste artigo, veja como esta característica pode ser usada para acelerar consideravelmente o debugging de subgraphs! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Ok, o que é isso? @@ -12,9 +12,9 @@ No contexto do debugging, o **subgraph forking** permite debugar o seu subgraph ## O quê?! Como?! -Quando lanças um subgraph a um node do The Graph remoto para o indexing e ele falha no bloco _X_, a boa notícia é que o node do The Graph ainda servirá queries GraphQL com seu armazenamento, que é sincronizado até o bloco _X_. Ótimo! Isto significa que podemos aproveitar este armazenamento "atualizado" para consertar os bugs que surgem ao indexar o bloco _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -Resumindo, iremos _fazer um fork do subgraph falho_ de um node remoto do The Graph para garantir que o subgraph seja indexado até o bloco _X_, para prover ao subgraph lançado localmente uma visão atualizada do estado do indexing, sendo debugado no bloco _X_. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Por favor, quero ver códigos! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Ops, que pena! Quando eu lanço o meu subgraph lindinho ao [Serviço Hospedado](https://thegraph.com/hosted-service/), ele falha com o erro _"Gravatar not found"_ (Gravatar não encontrado). +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. A tentativa de solução mais comum é: 1. Fazer uma mudança na fonte dos mapeamentos, que talvez possa resolver o problema (mas é claro que não vai). -2. Relançar o subgraph ao [Serviço Hospedado](https://thegraph.com/hosted-service/) (ou outro node remoto do The Graph). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Esperar que ele se sincronize. 4. Se quebrar novamente, volte ao passo 1. Se não: Eba! @@ -57,9 +57,9 @@ A tentativa de solução mais comum é: Com o **subgraph forking**, podemos essencialmente eliminar este passo. Ele é algo assim: -0. Crie um node do The Graph local com o conjunto de **_fork-base apropriado_**. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Faça uma mudança na fonte dos mapeamentos, que talvez possa resolver o problema. -2. Lance ao node local do The Graph, **_forkando o subgraph falho_** e **_começando do bloco problemático_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. Se quebrar novamente, volte ao passo 1. Se não: Eba! Agora, você deve ter duas perguntas: @@ -80,7 +80,7 @@ Aliás, não esqueça de preencher o campo `dataSources.source.startBlock` no ma Aqui está o que eu faço: -0. Eu crio um graph node local ([aqui está como fazê-lo](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) com a opção `fork-base` de `https://api.thegraph.com/subgraphs/id/`, já que eu vou forkar um subgraph, o bugado que eu lancei anteriormente, do [Serviço Hospedado](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. Após vistoriar com cuidado, percebo uma discrepância nas representações de `id` usadas ao indexar `Gravatars` nos meus dois handlers. Enquanto `handleNewGravatar` o converte a um hex (`event.params.id.toHex()`), o `handleUpdatedGravatar` usa um int32 (`event.params.id.toI32()`). Assim, o `handleUpdatedGravatar` entra em pânico com o "Gravatar não encontrado!". Eu faço os dois converterem o `id` em um hex. -2. Após ter feito as mudanças, lanço o meu subgraph ao node local do The Graph, **_forkando o subgraph falho_** e programando o `dataSources.source.startBlock` em `6190343` no `subgraph.yaml`: +2. Após vistoriar com cuidado, percebo uma discrepância nas representações de `id` usadas ao indexar `Gravatars` nos meus dois handlers. Enquanto `handleNewGravatar` o converte a um hex (`event.params.id.toHex()`), o `handleUpdatedGravatar` usa um int32 (`event.params.id.toI32()`). Assim, o `handleUpdatedGravatar` entra em pânico com o "Gravatar não encontrado!". Eu faço os dois converterem o `id` em um hex. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. Eu inspeciono os logs produzidos pelo node The Graph local e... eba! Parece que deu tudo certo. -4. Lanço o meu subgraph, agora livre de bugs, a um node The Graph remoto e vivo feliz para sempre! (mas sem batatas) -5. Fim... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From 89dd7f6b953a3464d43a819abf57e533389b4bb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:17 -0400 Subject: [PATCH 0169/2326] New translations subgraph-debug-forking.mdx (Russian) --- .../ru/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/ru/cookbook/subgraph-debug-forking.mdx b/website/pages/ru/cookbook/subgraph-debug-forking.mdx index cf4a664e2f49..614980481ab6 100644 --- a/website/pages/ru/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/ru/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Быстрая и простая отладка подграфа с использованием форков --- -Как и во многих системах, обрабатывающих большие объемы данных, Индексаторам The Graph (Ноды Graph) может потребоваться довольно много времени для синхронизации вашего подграфа с целевой цепочкой блоков. Несоответствие между быстрыми изменениями с целью отладки и длительным временем ожидания, необходимым для индексации, крайне контрпродуктивное, и мы хорошо это осознаем. Вот почему мы представляем **subgraph forking**, разработанное [LimeChain](https://limechain.tech/), и в этой статье я покажу вам, как эту функцию можно использовать для существенного ускорения работы с отладкой подграфа! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## И так, что это? @@ -12,9 +12,9 @@ title: Быстрая и простая отладка подграфа с ис ## Что? Как? -Когда вы развертываете подграф на ноде Graph для индексации и происходит сбой в блоке _X_, хорошей новостью является то, что нода Graph по-прежнему будет обслуживать запросы GraphQL, используя свое хранилище, которое синхронизировано с блоком _X_. Это здорово! Это означает, что мы можем воспользоваться преимуществами этого "актуального" хранилища для исправления ошибок, возникающих при индексации блока _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -В двух словах, мы собираемся _ форкнуть неудачный подграф_ с удаленной ноды Graph, у которого гарантированно будет индексирован подграф до блока _X_ для того, чтобы предоставьте локально развернутому подграфу, отлаживаемому в блоке _X_ актуальное представление состояния индексации. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Пожалуйста, покажите мне какой-нибудь код! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Упс, как неудачно, когда я разворачиваю свой идеально выглядящий подграф в [Hosted Service](https://thegraph.com/hosted-service/) все завершается ошибкой _"Gravatar not found!"_. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. Обычный способ попытаться исправить это: 1. Внести изменения в источник сопоставлений, которые, по вашему мнению, решат проблему (в то время как я знаю, что это не так). -2. Повторно развернуть сабграф в [Hosted Service](https://thegraph.com/hosted-service/) (или другую ноду Graph). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Подождать, пока он синхронизируется. 4. Если он снова сломается, вернуться к пункту 1, в противном случае: Ура! @@ -57,9 +57,9 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { Используя **форк подграфа**, мы можем существенно исключить этот шаг. Вот как это выглядит: -0. Запустите локальную ноду Graph с помощью **_соответствующего набора fork-base_**. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Внесите изменения в источник сопоставлений, которые, по вашему мнению, решат проблему. -2. Разверните на локальной ноде Graph, **_форкнув неудачный подграф_** и **_начиная с проблемного блока_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. Если он снова сломается, вернитесь к пункту 1, в противном случае: Ура! Сейчас у вас может появиться 2 вопроса: @@ -80,7 +80,7 @@ $ graph deploy --debug-fork --ipfs http://localhos Итак, вот что я делаю: -0. Я запускаю локальную ноду Graph ([вот как это сделать](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) с параметром `fork-base`, установленным в значение: `https://api.thegraph.com/subgraphs/id /`, так как я буду форкать подграф, багнутый, который я развернул ранее, из [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. После тщательной проверки я замечаю, что существует несоответствие в представлениях `id`, используемых при индексации `Gravatar`s в моих двух обработчиках. В то время как `handleNewGravatar` преобразует его в шестнадцатеричное значение (`event.params.id.toHex()`), `handleUpdatedGravatar` использует int32 (`event.params.id.toI32()`), который вызывает `handleUpdatedGravatar` панику с сообщением "Gravatar not found!". Я заставляю их обоих преобразовать `идентификатор` в шестнадцатеричное значение. -2. После того как я внес изменения, я развертываю свой подграф на локальной ноде Graph, **_форкая неисправный подграф_** и устанавливая `DataSources.source.startBlock` значения `6190343` в `subgraph.yaml`: +2. После тщательной проверки я замечаю, что существует несоответствие в представлениях `id`, используемых при индексации `Gravatar`s в моих двух обработчиках. В то время как `handleNewGravatar` преобразует его в шестнадцатеричное значение (`event.params.id.toHex()`), `handleUpdatedGravatar` использует int32 (`event.params.id.toI32()`), который вызывает `handleUpdatedGravatar` панику с сообщением "Gravatar not found!". Я заставляю их обоих преобразовать `идентификатор` в шестнадцатеричное значение. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. Я проверяю логи, созданные локальной нодой Graph, и, ура!, кажется, все работает. -4. Я развертываю свой теперь свободный от ошибок подграф на удаленной ноде Graph и живу долго и счастливо -5. Конец... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From 1a59d55c18fa33584907d24e75c593cda3be3dc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:18 -0400 Subject: [PATCH 0170/2326] New translations subgraph-debug-forking.mdx (Swedish) --- .../sv/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/sv/cookbook/subgraph-debug-forking.mdx b/website/pages/sv/cookbook/subgraph-debug-forking.mdx index 0fdaaf7411c0..c9d3e5c2eb3e 100644 --- a/website/pages/sv/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/sv/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Snabb och enkel subgraf felsökning med gafflar --- -Som med många system som behandlar stora mängder data, kan det ta ganska lång tid för The Graphs indexerare (Graph-noder) att synkronisera din subgraf med målblockkedjan. Diskrepansen mellan snabba ändringar med syftet att felsöka och långa väntetider som behövs för indexering är extremt kontraproduktiv och vi är väl medvetna om det. Det är därför vi introducerar **subgraf forking**, utvecklad av [LimeChain](https://limechain.tech/), och i den här artikeln Jag kommer att visa dig hur den här funktionen kan användas för att avsevärt påskynda subgraffelsökning! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Ok, vad är det? @@ -12,9 +12,9 @@ I samband med felsökning låter **subgraf forking** dig felsöka din misslyckad ## Vad?! Hur? -När du distribuerar en subgraf till en avlägsen Graph-nod för indexering och den misslyckas vid block _X_, är den goda nyheten att Graph-noden fortfarande kommer att betjäna GraphQL-frågor med hjälp av sitt lager, som synkroniseras för att blockera _X_. Toppen! Det betyder att vi kan dra nytta av denna "up-to-date" butik för att fixa de buggar som uppstår vid indexering av block _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -I ett nötskal, vi ska _gaffla den misslyckade subgrafen_ från en avlägsen Graph-nod som garanterat har subgrafen indexerad upp till blocket _X_ för att ge den lokalt distribuerade subgrafen som felsöks i blocket _X_ en uppdaterad vy av indexeringstillståndet. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Snälla, visa mig lite kod! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Hoppsan, vad olyckligt, när jag distribuerar min perfekt snygga subgraf till [värdtjänsten](https://thegraph.com/hosted-service/) misslyckas den med _ "Gravatar inte hittat!"_ fel. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. Det vanliga sättet att försöka fixa är: 1. Gör en förändring i mappningskällan, som du tror kommer att lösa problemet (även om jag vet att det inte kommer att göra det). -2. Distribuera om subgrafen till [värdtjänsten](https://thegraph.com/hosted-service/) (eller en annan fjärrnod för Graph). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Vänta tills det synkroniseras. 4. Om den går sönder igen gå tillbaka till 1, annars: Hurra! @@ -57,9 +57,9 @@ Det är faktiskt ganska bekant med en vanlig felsökningsprocess, men det finns Genom att använda **subgraf forking** kan vi i princip eliminera detta steg. Så här ser det ut: -0. Snurra upp en lokal Graf nod med **_lämplig gaffelbas_**. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Gör en ändring i mappningskällan som du tror kommer att lösa problemet. -2. Distribuera till den lokala Graf-noden, **_fördelning av den misslyckade subgrafen_** och ** _med början från det problematiska blocket_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. Om den går sönder igen, gå tillbaka till 1, annars: Hurra! Nu kanske du har 2 frågor: @@ -80,7 +80,7 @@ Glöm inte heller att ställa in `dataSources.source.startBlock`-fältet i under Så här är vad jag gör: -0. Jag skapar en lokal grafnod ([så här gör du](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) med alternativet `fork-base` inställt på: `https://api.thegraph.com/subgraphs/id/`, eftersom jag kommer att dela en subgraf, den buggy jag distribuerade tidigare, från [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. Efter noggrann inspektion märker jag att det finns en oöverensstämmelse i `id`-representationerna som används vid indexering av `Gravatar`s i mina två hanterare. Medan `handleNewGravatar` konverterar den till en hex (`event.params.id.toHex()`), använder `handleUpdatedGravatar` en int32 (`händelse. params.id.toI32()`) vilket gör att `handleUpdatedGravatar` får panik med "Gravatar not found!". Jag får dem båda att konvertera `id` till en hexadecimal. -2. Efter att jag gjort ändringarna distribuerar jag min subgraf till den lokala Graf noden, **_fördelar den misslyckade subgrafen_** och ställer in `dataSources.source.startBlock` till `6190343` i `subgraph.yaml`: +2. Efter noggrann inspektion märker jag att det finns en oöverensstämmelse i `id`-representationerna som används vid indexering av `Gravatar`s i mina två hanterare. Medan `handleNewGravatar` konverterar den till en hex (`event.params.id.toHex()`), använder `handleUpdatedGravatar` en int32 (`händelse. params.id.toI32()`) vilket gör att `handleUpdatedGravatar` får panik med "Gravatar not found!". Jag får dem båda att konvertera `id` till en hexadecimal. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. Jag inspekterar loggarna som produceras av den lokala Graf-noden och, hurra!, allt verkar fungera. -4. Jag distribuerar min nu felfria subgraf till en avlägsen Graf-nod och lever lycklig i alla sina dagar! (ingen potatis dock) -5. Slutet... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From ccf21616dd0a194bb80ddbfa4f977229d3358fcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:19 -0400 Subject: [PATCH 0171/2326] New translations subgraph-debug-forking.mdx (Turkish) --- .../tr/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/tr/cookbook/subgraph-debug-forking.mdx b/website/pages/tr/cookbook/subgraph-debug-forking.mdx index 5cab228a3c86..121af4c5a33e 100644 --- a/website/pages/tr/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/tr/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Fork Kullanarak Hızlı ve Kolay Subgraph Hata Ayıklama --- -Büyük miktarda veriyi işleyen birçok sistemde olduğu gibi, Graph'ın İndeksleyicilerinin (Graph düğümleri) hedef blok zinciri ile subgraphınızı senkronize etmesi oldukça uzun süreler gerektirebilir. Hata ayıklama amaçlı hızlı değişiklikler için gereken kısa bekleme sürelerine karşın indeksleme için gereken uzun bekleme süreleri arasındaki fark son derece verimsiz ve bunun farkındayız. Bu nedenle, [LimeChain](https://limechain.tech/) tarafından geliştirilen **subgraph forklamayı** tanıtıyoruz ve bu makaledeseiz bu özelliğin subgraph hata ayıklamasını önemli ölçüde hızlandırmak için nasıl kullanılabileceğini göstereceğim! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Peki, nedir bu Subgraph Forklama? @@ -12,9 +12,9 @@ Hata ayıklama bağlamında, **subgraph forklama**, _X_ bloğunda başarısız o ## Ne?! Nasıl? -İndekslemek için bir subgraph'ı uzak bir Graph düğümüne dağıttığınızda ve bu, _X_ bloğunda başarısız olduğunda, iyi haber şu ki Graph düğümü _X_ bloğuna kadar senkronize edilmiş deposunu kullanarak GraphQL sorgularını sunmaya devam edecektir. Bu harika! Bu, _X_ bloğunu indeksleme sırasında ortaya çıkan hataları düzeltmek için "güncel" depodan yararlanabileceğimiz anlamına geliyor. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -Kısacası, _başarısız bir subgraph'ı_ _X_ bloğuna kadar indekslendiği garanti edilen başka uzaktaki bir Graph düğümünden, _X_ bloğunda hata ayıklanan yerel olarak dağıtılan subgraph'ın indeksleme durumundaki güncel bir görünümünü sağlamak adına _forklayacağız_. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Lütfen bana biraz kod göster! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Ah, ne şanssızlık, mükemmel görünen subgraph'ımı [Barındırılan Hizmete](https://thegraph.com/hosted-service/) dağıttığımda _"Gravatar not found!"_ hatasıyla karşılaştım. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. Genellikle düzeltmeyi denemek için yol şudur: 1. Eşleştirme kaynağında, sorunu çözeceğine inandığınız bir değişiklik yapın (ama ben çözmeyeceğini biliyorum). -2. Subgraph'ı [Barındırılan Hizmet'e](https://thegraph.com/hosted-service/) tekrar dağıtın (yada başka uzaktaki Graph Düğümüne). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Senkronize olması için bekleyin. 4. Tekrar sorunla karşılaşırsanız 1. aşamaya geri dönün, aksi takdirde: Yaşasın! @@ -57,9 +57,9 @@ Bu, sıradan bir hata ayıklama işlemine gerçekten oldukça benzerdir, fakat i Aslında **subgraph forklama** kullanarak bu adımı ortadan kaldırabiliriz. Nasıl göründüğüne bakalım: -0. **_Uygun fork temelli _** küme ile yerel bir Graph düğümünü başlatın. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Eşleştirme kaynağında, sorunu çözeceğine inandığınız bir değişiklik yapın. -2. **_Başarısız subgraph'ı forklayarak_** ve **_sorunlu bloktan başlayarak_** yerel Graph düğümüne dağıtın. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. Tekrar sorunla karşılaşırsanız 1. aşamaya geri dönün, aksi takdirde: Yaşasın! Şimdi, 2 sorunuz olabilir: @@ -80,7 +80,7 @@ Ayrıca, subgraph manifestindeki `dataSources.source.startBlock` alanını sorun İşte benim ne yaptığım: -0. [Barındırılan Hizmette](https://thegraph.com/hosted-service/) daha önceden dağıttığım hatalı olan bir subgraph'ı forklayacağım için `fork temelli` seçeneği `https://api.thegraph.com/subgraphs/id/` şeklinde ayarlanmış olan yerel bir graph düğümü başlatıyorum ([nasıl yapılacağına dair bilgiyi buradan bulabilirsiniz](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. Dikkatli bir inceleme sonrasında, iki işleyicimdeki `Gravatar`ları indekslerken kullanılan `kimlik(id)` temsillerinde bir uyuşmazlık oldupunu fark ettim. `handleNewGravatar` onu bir 16'lık sisteme (`event.params.id.toHex()`) dönüştürürken, `handleUpdatedGravatar`, `handleUpdatedGravatar`'ın "Gravatar not found!" hatası vermesine neden olan bir int32 (`event.params.id.toI32()`) kullanır. Her ikisinde de `kimliğin` 16'lık sisteme dönüştürülmesini sağlarım. -2. Değişiklikleri yaptıktan sonra **_başarısız olan subgraph'ı forklayarak_** ve `subgraph.yaml`'da `dataSources.source.startBlock`'u `6190343` olarak ayarlayarak subgraph'ımı yerel Graph düğümüne dağıtırım: +2. Dikkatli bir inceleme sonrasında, iki işleyicimdeki `Gravatar`ları indekslerken kullanılan `kimlik(id)` temsillerinde bir uyuşmazlık oldupunu fark ettim. `handleNewGravatar` onu bir 16'lık sisteme (`event.params.id.toHex()`) dönüştürürken, `handleUpdatedGravatar`, `handleUpdatedGravatar`'ın "Gravatar not found!" hatası vermesine neden olan bir int32 (`event.params.id.toI32()`) kullanır. Her ikisinde de `kimliğin` 16'lık sisteme dönüştürülmesini sağlarım. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. Yerel Graph düğümü tarafından sağlanan kayıtları incelerim ve Yaşasın! Her şey sorunsuz çalışıyor gibi. -4. Artık hatasız subgraph'ımı uzaktaki bir Graph düğümüne dağıtıyorum ve bundan sonra mutlu bir şekilde yaşamaya devam edeceğim! (patates olmadan) -5. Son... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From cc558b5b2381bbe3454c7745abdf1706436a1804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:20 -0400 Subject: [PATCH 0172/2326] New translations subgraph-debug-forking.mdx (Ukrainian) --- .../uk/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/uk/cookbook/subgraph-debug-forking.mdx b/website/pages/uk/cookbook/subgraph-debug-forking.mdx index 7ac3bf96ca10..6610f19da66d 100644 --- a/website/pages/uk/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/uk/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Quick and Easy Subgraph Debugging Using Forks --- -As with many systems processing large amounts of data, The Graph's Indexers (Graph nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Ok, what is it? @@ -12,9 +12,9 @@ In the context of debugging, **subgraph forking** allows you to debug your faile ## What?! How? -When you deploy a subgraph to a remote Graph node for indexing and it fails at block _X_, the good news is that the Graph node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Please, show me some code! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Oops, how unfortunate, when I deploy my perfect looking subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) it fails with the _"Gravatar not found!"_ error. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. The usual way to attempt a fix is: 1. Make a change in the mappings source, which you believe will solve the issue (while I know it won't). -2. Re-deploy the subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) (or another remote Graph node). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Wait for it to sync-up. 4. If it breaks again go back to 1, otherwise: Hooray! @@ -57,9 +57,9 @@ It is indeed pretty familiar to an ordinary debug process, but there is one step Using **subgraph forking** we can essentially eliminate this step. Here is how it looks: -0. Spin-up a local Graph node with the **_appropriate fork-base_** set. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Make a change in the mappings source, which you believe will solve the issue. -2. Deploy to the local Graph node, **_forking the failing subgraph_** and **_starting from the problematic block_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. If it breaks again, go back to 1, otherwise: Hooray! Now, you may have 2 questions: @@ -80,7 +80,7 @@ Also, don't forget to set the `dataSources.source.startBlock` field in the subgr So, here is what I do: -0. I spin-up a local graph node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from the [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. -2. After I made the changes I deploy my subgraph to the local Graph node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: +2. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. I inspect the logs produced by the local Graph node and, Hooray!, everything seems to be working. -4. I deploy my now bug-free subgraph to a remote Graph node and live happily ever after! (no potatoes tho) -5. The end... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From 66b172ab17c010e4079544702c765bc52a27786e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:21 -0400 Subject: [PATCH 0173/2326] New translations subgraph-debug-forking.mdx (Chinese Simplified) --- .../zh/cookbook/subgraph-debug-forking.mdx | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/website/pages/zh/cookbook/subgraph-debug-forking.mdx b/website/pages/zh/cookbook/subgraph-debug-forking.mdx index 9df8b35a7650..96fdd046a87f 100644 --- a/website/pages/zh/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/zh/cookbook/subgraph-debug-forking.mdx @@ -2,19 +2,19 @@ title: 使用分叉快速轻松地调试子图 --- -与许多处理大量数据的系统一样,Graph 的索引人(Graph 节点)可能需要相当长的时间才能实现子图从目标区块链的数据同步。 我们很清楚以调试为目的的快速更改与索引所需的长时间等待存在矛盾。 因此我们在本文中介绍由 [LimeChain](https://limechain.tech/) 开发的 **subgraph 分叉** ,并且展示如何使用此功能来加快子图调试! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## 首先,让我们来看什么是子图分叉 -**子图分叉** 是从*另一个* 子图的存储(通常是远程存储)中缓慢获取实体的过程。 +**子图分叉** 是从_另一个_ 子图的存储(通常是远程存储)中缓慢获取实体的过程。 在调试时,**subgraph forking** 允许您在固定的区块 _X_ 中调试失败的子图,而无需等待区块同步 _X_。 ## 让我们看看这是如何做到的? -当您将子图部署到远程 Graph 节点进行索引而它在区块 *X*上失败时,好消息是Graph 节点仍能以同步至区块 *X*的数据响应GraphQL 查询。这意味着我们可以基于区块 _X_ 最新的数据来修复索引时出现的错误。 +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -简而言之,我们将从远程 Graph 节点 _分叉失败的子图_,保证子图索引更新至区块 *X*的数据, 以便基于更新至区块 _X_ 的数据在本地部署的子图进行调试,以反映索引数据的最新状态。 +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## 下面让我们看一下代码示例 @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -糟糕,不幸的是,当我将完美的子图部署到 [托管服务](https://thegraph.com/hosted-service/) 时,它会报*“未找到 Gravatar!”* 的错误。 +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. 尝试修复的常用方法是: 1. 在映射源中进行更改,你认为这将解决问题(但我知道它不会)。 -2. 将子图重新部署到 [托管服务](https://thegraph.com/hosted-service/)(或另一个远程 Graph 节点)。 +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. 等待同步。 4. 如果它再次中断,则返回 第1步,否则:搞定! @@ -57,9 +57,9 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { 使用 **子图分叉** 我们可以从根本上解决这个问题。 如下: -0. 使用 **_适当的子分叉_** 集启动本地 Graph 节点。 +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. 按照你认为可以解决问题的方法,在映射源中进行更改。 -2. 部署到本地 Graph 节点,**_分叉失败的子图_** 并** _从有问题的区块开始_**。 +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. 如果它再次中断,则返回 第1步,否则:搞定! 现在,你可能有 2 个问题: @@ -80,7 +80,7 @@ $ graph 部署 --调试分叉 --ipfs地址 http:// 所以,我是这么做的: -0. 我启动一个本地Graph节点([这里是如何做到的](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) 将 `子分叉集` 选项设为:`https://api.thegraph.com/subgraphs/id/`,因为我将从 [托管服务](https://thegraph.com/hosted-service/)分叉子图,即之前部署有问题的子图。 +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. 经过仔细检查,我注意到在我的两个处理程序中索引 `Gravatar` 时使用的 `id` 不匹配。 `handleNewGravatar` 将其转换为十六进制 (`event.params.id.toHex()`),而 `handleUpdatedGravatar` 使用 int32格式 (`event. params.id.toI32()`) 这会导致 `handleUpdatedGravatar` 出现“未找到 Gravatar!”的错误。 于是我将他们都 `id` 转换为十六进制。 -2. 更改后,我将子图部署到本地 Graph 节点,**_分叉失败的子图_**并设置 `subgraph.yaml` 中的 `dataSources.source.startBlock` 到 `6190343`: +2. 经过仔细检查,我注意到在我的两个处理程序中索引 `Gravatar` 时使用的 `id` 不匹配。 `handleNewGravatar` 将其转换为十六进制 (`event.params.id.toHex()`),而 `handleUpdatedGravatar` 使用 int32格式 (`event. params.id.toI32()`) 这会导致 `handleUpdatedGravatar` 出现“未找到 Gravatar!”的错误。 于是我将他们都 `id` 转换为十六进制。 +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. 我检查了本地 Graph 节点生成的日志,万岁!一切正常。 -4. 我将没有问题的子图部署到远程 Graph 节点上,从此过上幸福的生活! (不担心缺衣少粮) -5. 结束 +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From ee2a4d273062f73ae4cc72763bf46d537ee09c9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:22 -0400 Subject: [PATCH 0174/2326] New translations subgraph-debug-forking.mdx (Urdu (Pakistan)) --- .../ur/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/ur/cookbook/subgraph-debug-forking.mdx b/website/pages/ur/cookbook/subgraph-debug-forking.mdx index 764a7294c0d6..8dec0d2c31d4 100644 --- a/website/pages/ur/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/ur/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: فورکس کا استعمال کرتے ہوۓ تیز اور آسان ڈیبگنگ --- -جیسا کہ بہت سے سسٹمز بڑی مقدار میں ڈیٹا پر کارروائی کرتے ہیں، گراف کے انڈیکسرز (گراف نوڈس) کو آپ کے سب گراف کو ٹارگٹ بلاکچین کے ساتھ ہم آہنگ کرنے میں کافی وقت لگ سکتا ہے۔ ڈیبگنگ کے مقصد کے ساتھ فوری تبدیلیوں اور انڈیکسنگ کے لیے درکار طویل انتظار کے اوقات کے درمیان فرق انتہائی غیر نتیجہ خیز ہے اور ہم اس سے بخوبی واقف ہیں۔ یہی وجہ ہے کہ ہم **سب گراف فورکنگ** متعارف کروا رہے ہیں، جسے [LimeChain](https://limechain.tech/) نے تیار کیا ہے، اور اس مضمون میں میں آپ کو دکھاؤں گا کہ کس طرح اس خصوصیت کو سب گراف ڈیبگنگ کو تیز کرنے کے لیے استعمال کیا جا سکتا ہے! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## ٹھیک ہے، یہ ہے کیا؟ @@ -12,9 +12,9 @@ title: فورکس کا استعمال کرتے ہوۓ تیز اور آسان ڈ ## کیا؟! کیسے؟ -جب آپ انڈیکسنگ کے لیے ریموٹ گراف نوڈ پر سب گراف کو تعینات کرتے ہیں اور یہ بلاک _X_ پر ناکام ہوجاتا ہے، تو اچھی خبر یہ ہے کہ گراف نوڈ اب بھی اپنے اسٹور کا استعمال کرتے ہوئے GraphQL کیوریز پیش کرے گا، جو _X_ کو بلاک کرنے کے لیے مطابقت پذیر ہے۔ یہ بہت اچھا ہے! اس کا مطلب ہے کہ ہم بلاک _X_ کو انڈیکس کرتے وقت پیدا ہونے والے بگ کو ٹھیک کرنے کے لیے اس "تازہ ترین" اسٹور کا فائدہ اٹھا سکتے ہیں. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -مختصر طور پر، ہم ریموٹ گراف نوڈ سے _ناکام سب گراف کو فورک کرنے جا رہے ہیں_ جس کی ضمانت دی گئی ہے کہ سب گراف کو بلاک کرنے کے لیے انڈیکس کیا جائے گا _X_ بلاک _X_ پر ڈی بگ کیے جانے والے مقامی طور پر تعینات سب گراف فراہم کرنے کے لیے انڈیکسنگ کی حالت کا تازہ ترین منظر. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## براۓ مہربانی، مجہے کچھ کوڈ دکھائیں! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -افوہ، کتنی بدقسمتی کی بات ہے، جب میں اپنے بہترین نظر آنے والے سب گراف کو [ہوسٹڈ سروس](https://thegraph.com/hosted-service/) میں تعینات کرتا ہوں تو یہ _"گراوتار نہیں ملا!"_ خرابی. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. درست کرنے کی کوشش کرنے کا معمول کا طریقہ یہ ہے: 1. میپنگ کے ماخذ میں تبدیلی کریں، جس کے بارے میں آپ کو یقین ہے کہ مسئلہ حل ہو جائے گا (جبکہ میں جانتا ہوں کہ ایسا نہیں ہوگا). -2. سب گراف کو [ہوسٹڈ سروس](https://thegraph.com/hosted-service/) (یا کسی اور ریموٹ گراف نوڈ) پر دوبارہ تعینات کریں. +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. اس کے مطابقت پذیر ہونے کا انتظار کریں. 4. اگر یہ دوبارہ ٹوٹ جاتا ہے تو 1 پر واپس جائیں، ورنہ: ہورے! @@ -57,9 +57,9 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { **سب گراف فورکنگ** کا استعمال کرتے ہوئے ہم بنیادی طور پر اس مرحلے کو ختم کر سکتے ہیں۔ یہاں یہ کیسا لگتا ہے: -0. **_مناسب فورک بیس_** سیٹ کے ساتھ ایک مقامی گراف نوڈ کو اسپن اپ کریں. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. میپنگ کے ماخذ میں تبدیلی کریں، جس سے آپ کو یقین ہے کہ مسئلہ حل ہو جائے گا. -2. مقامی گراف نوڈ پر تعینات کریں، **_ناکام سب گراف کو روکنا_** اور ** _مسائل والے بلاک سے شروع_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. اگر یہ دوبارہ ٹوٹ جاتا ہے، تو 1 پر واپس جائیں، ورنہ: ہورے! اب، آپ کے پاس 2 سوالات ہوسکتے ہیں: @@ -80,7 +80,7 @@ $ graph deploy --debug-fork --ipfs http://localhos تو، یہاں میں کیا کرتا ہوں: -0. میں ایک مقامی گراف نوڈ کو گھماتا ہوں ([یہ کیسے کرنا ہے](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) `fork-base` اختیار کے ساتھ اس پر سیٹ کیا گیا ہے: `https://api.thegraph.com/subgraphs/id/`، چونکہ میں ایک سب گراف کو فورک کروں گا، وہ چھوٹی چھوٹی جسے میں نے تعینات کیا ہے پہلے، [ہوسٹڈ سروس](https://thegraph.com/hosted-service/) سے. +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. محتاط معائنے کے بعد میں نے محسوس کیا کہ میرے دو ہینڈلرز میں `Gravatar` کو انڈیکس کرتے وقت استعمال ہونے والی `id` نمائندگیوں میں کوئی مماثلت نہیں ہے۔ جب کہ `handleNewGravatar` اسے ہیکس میں تبدیل کرتا ہے (`()event.params.id.toHex`)، ` handleUpdatedGravatar` int32 استعمال کرتا ہے (`()event.params.id.toI32`) جس کی وجہ سے `handleUpdatedGravatar` "Gravatar نہیں ملا!" سے گھبراتا ہے۔ میں ان دونوں کو `id` کو ہیکس میں تبدیل کرتا ہوں. -2. تبدیلیاں کرنے کے بعد میں اپنے سب گراف کو مقامی گراف نوڈ پر تعینات کرتا ہوں، **_ناکام سب گراف کو فورک کرنا_** اور ترتیب < `subgraph.yaml` میں `6190343` کو `dataSources.source.startBlock`: +2. محتاط معائنے کے بعد میں نے محسوس کیا کہ میرے دو ہینڈلرز میں `Gravatar` کو انڈیکس کرتے وقت استعمال ہونے والی `id` نمائندگیوں میں کوئی مماثلت نہیں ہے۔ جب کہ `handleNewGravatar` اسے ہیکس میں تبدیل کرتا ہے (`()event.params.id.toHex`)، ` handleUpdatedGravatar` int32 استعمال کرتا ہے (`()event.params.id.toI32`) جس کی وجہ سے `handleUpdatedGravatar` "Gravatar نہیں ملا!" سے گھبراتا ہے۔ میں ان دونوں کو `id` کو ہیکس میں تبدیل کرتا ہوں. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. میں مقامی گراف نوڈ کے ذریعہ تیار کردہ لاگز کا معائنہ کرتا ہوں اور ہورے!، ایسا لگتا ہے کہ سب کچھ کام کر رہا ہے. -4. میں اپنے اب بگ فری سب گراف کو ریموٹ گراف نوڈ پر تعینات کرتا ہوں اور اس کے بعد ہمیشہ خوشی سے جیتا ہوں! (کوئی آلو نہیں) -5. ختم شد... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From fa7e9e6de4daafd7925c292ed1636bc126114872 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:23 -0400 Subject: [PATCH 0175/2326] New translations subgraph-debug-forking.mdx (Vietnamese) --- .../vi/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/vi/cookbook/subgraph-debug-forking.mdx b/website/pages/vi/cookbook/subgraph-debug-forking.mdx index 7ac3bf96ca10..6610f19da66d 100644 --- a/website/pages/vi/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/vi/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Quick and Easy Subgraph Debugging Using Forks --- -As with many systems processing large amounts of data, The Graph's Indexers (Graph nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Ok, what is it? @@ -12,9 +12,9 @@ In the context of debugging, **subgraph forking** allows you to debug your faile ## What?! How? -When you deploy a subgraph to a remote Graph node for indexing and it fails at block _X_, the good news is that the Graph node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Please, show me some code! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Oops, how unfortunate, when I deploy my perfect looking subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) it fails with the _"Gravatar not found!"_ error. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. The usual way to attempt a fix is: 1. Make a change in the mappings source, which you believe will solve the issue (while I know it won't). -2. Re-deploy the subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) (or another remote Graph node). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Wait for it to sync-up. 4. If it breaks again go back to 1, otherwise: Hooray! @@ -57,9 +57,9 @@ It is indeed pretty familiar to an ordinary debug process, but there is one step Using **subgraph forking** we can essentially eliminate this step. Here is how it looks: -0. Spin-up a local Graph node with the **_appropriate fork-base_** set. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Make a change in the mappings source, which you believe will solve the issue. -2. Deploy to the local Graph node, **_forking the failing subgraph_** and **_starting from the problematic block_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. If it breaks again, go back to 1, otherwise: Hooray! Now, you may have 2 questions: @@ -80,7 +80,7 @@ Also, don't forget to set the `dataSources.source.startBlock` field in the subgr So, here is what I do: -0. I spin-up a local graph node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from the [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. -2. After I made the changes I deploy my subgraph to the local Graph node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: +2. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. I inspect the logs produced by the local Graph node and, Hooray!, everything seems to be working. -4. I deploy my now bug-free subgraph to a remote Graph node and live happily ever after! (no potatoes tho) -5. The end... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From fac0587d3c7d0908f7a8cca8ba845eb376287501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:24 -0400 Subject: [PATCH 0176/2326] New translations subgraph-debug-forking.mdx (Marathi) --- .../mr/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/mr/cookbook/subgraph-debug-forking.mdx b/website/pages/mr/cookbook/subgraph-debug-forking.mdx index ae08df06ed38..4b1bcc0ede21 100644 --- a/website/pages/mr/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/mr/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: फॉर्क्स वापरून जलद आणि सुलभ सबग्राफ डीबगिंग --- -बर्‍याच प्रणाली मोठ्या प्रमाणात डेटावर प्रक्रिया करतात त्याप्रमाणे, ग्राफचे इंडेक्सर्स (ग्राफ नोड्स) लक्ष्य ब्लॉकचेनसह तुमचा सबग्राफ समक्रमित करण्यासाठी थोडा वेळ लागू शकतात. डीबगिंगच्या उद्देशाने झटपट बदल आणि इंडेक्सिंगसाठी आवश्यक असलेली दीर्घ प्रतीक्षा वेळ यांच्यातील तफावत अत्यंत प्रतिकूल आहे आणि आम्हाला याची चांगली जाणीव आहे. म्हणूनच आम्ही **सबग्राफ फोर्किंग** सादर करत आहोत, जे [LimeChain](https://limechain.tech/) ने विकसित केले आहे आणि या लेखात मी तुम्हाला हे वैशिष्ट्य दाखवणार आहे की हे वैशिष्ट्य सबग्राफ डीबगिंगचा वेग वाढवण्यासाठी कसा वापरला जाऊ शकतो! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## ठीक आहे, ते काय आहे? @@ -12,9 +12,9 @@ title: फॉर्क्स वापरून जलद आणि सुलभ ## काय?! कसे? -जेव्हा तुम्ही इंडेक्सिंगसाठी रिमोट ग्राफ नोडवर सबग्राफ उपयोजित करता आणि तो ब्लॉक _X_ वर अयशस्वी होतो, तेव्हा चांगली बातमी अशी आहे की आलेख नोड अजूनही त्याचे स्टोअर वापरून GraphQL क्वेरी सर्व्ह करेल, जे _X_ अवरोधित करण्यासाठी समक्रमित केले आहे. खूप छान आहे! याचा अर्थ ब्लॉक _X_ अनुक्रमित करताना उद्भवणाऱ्या बगचे निराकरण करण्यासाठी आम्ही या "अप-टू-डेट" स्टोअरचा लाभ घेऊ शकतो. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -थोडक्यात, आम्ही एका रिमोट ग्राफ नोडवरून _अयशस्वी सबग्राफ फोर्क करणार आहोत_ ज्याला _X_ ब्लॉक _X_ वर डीबग केलेला स्थानिकरित्या उपयोजित सबग्राफ प्रदान करण्यासाठी अनुक्रमणिका स्थितीचे अद्ययावत दृश्य. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## कृपया, मला काही कोड दाखवा! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -अरेरे, किती दुर्दैवी आहे, जेव्हा मी माझा परिपूर्ण दिसणारा सबग्राफ [होस्टेड सर्व्हिस](https://thegraph.com/hosted-service/) वर तैनात करतो तेव्हा तो _"Gravatar आढळले नाही!"_ त्रुटी. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. निराकरण करण्याचा प्रयत्न करण्याचा नेहमीचा मार्ग आहे: 1. मॅपिंग स्त्रोतामध्ये बदल करा, जो तुम्हाला विश्वास आहे की समस्या सोडवेल (जेव्हा मला माहित आहे की ते होणार नाही). -2. [होस्टेड सर्व्हिस](https://thegraph.com/hosted-service/) (किंवा अन्य रिमोट ग्राफ नोड) वर सबग्राफ पुन्हा तैनात करा. +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. ते समक्रमित होण्याची प्रतीक्षा करा. 4. तो पुन्हा खंडित झाल्यास 1 वर परत जा, अन्यथा: हुर्रे! @@ -57,9 +57,9 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { **सबग्राफ फोर्किंग** वापरून आम्ही मूलत: ही पायरी काढून टाकू शकतो. ते कसे दिसते ते येथे आहे: -0. **_योग्य फोर्क-बेस_** सेटसह स्थानिक आलेख नोड स्पिन-अप करा. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. मॅपिंग स्त्रोतामध्ये बदल करा, जो तुम्हाला विश्वास आहे की समस्या सोडवेल. -2. स्थानिक ग्राफ नोडवर तैनात करा, **_अयशस्वी सबग्राफ फोर्किंग_** आणि ** _समस्याग्रस्त ब्लॉकपासून सुरू होत आहे_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. तो पुन्हा खंडित झाल्यास, 1 वर परत जा, अन्यथा: हुर्रे! आता, तुमच्याकडे 2 प्रश्न असू शकतात: @@ -80,7 +80,7 @@ $ आलेख तैनात --debug-fork --ipfs तर, मी काय करतो ते येथे आहे: -0. मी स्थानिक आलेख नोड स्पिन-अप करतो ([हे कसे करायचे ते येथे आहे](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) `फोर्क-बेस` पर्याय यावर सेट केला आहे: `https://api.thegraph.com/subgraphs/id/`, कारण मी सबग्राफ फोर्क करीन, मी तैनात केलेली बग्गी पूर्वी, [HostedService](https://thegraph.com/hosted-service/) वरून. +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. -2. मी बदल केल्यानंतर मी माझा सबग्राफ स्थानिक ग्राफ नोडवर तैनात करतो,**_अयशस्वी सबग्राफ फोर्किंग_** आणि सेटिंग `dataSources.source.startBlock``subgraph.yaml` मध्ये `6190343` ला: +2. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. मी स्थानिक ग्राफ नोडद्वारे तयार केलेल्या लॉगची तपासणी करतो आणि हुर्रे!, सर्वकाही कार्य करत असल्याचे दिसते. -4. मी माझा आता बग-मुक्त सबग्राफ रिमोट ग्राफ नोडवर उपयोजित करतो आणि आनंदाने जगतो! (बटाटे नाहीत) -5. शेवट... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From 98537839649d4db89c939b9cced37a35b5d6d9f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:25 -0400 Subject: [PATCH 0177/2326] New translations subgraph-debug-forking.mdx (Hindi) --- .../hi/cookbook/subgraph-debug-forking.mdx | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/website/pages/hi/cookbook/subgraph-debug-forking.mdx b/website/pages/hi/cookbook/subgraph-debug-forking.mdx index 60d88d3f07c9..89d0d58605ff 100644 --- a/website/pages/hi/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/hi/cookbook/subgraph-debug-forking.mdx @@ -2,19 +2,19 @@ title: फोर्क्स का उपयोग करके त्वरित और आसान सबग्राफ डिबगिंग --- -बड़ी मात्रा में डेटा को संसाधित करने वाली कई प्रणालियों के साथ, ग्राफ़ के इंडेक्सर्स (ग्राफ़ नोड्स) को लक्ष्य ब्लॉकचेन के साथ आपके सबग्राफ़ को सिंक-अप करने में कुछ समय लग सकता है। डिबगिंग के उद्देश्य से त्वरित परिवर्तन और अनुक्रमण के लिए आवश्यक लंबे प्रतीक्षा समय के बीच विसंगति अत्यंत प्रतिकूल है और हम इसके बारे में अच्छी तरह से जानते हैं। यही कारण है कि हम [LimeChain](https://limechain.tech/) द्वारा विकसित **सबग्राफ फोर्किंग** की शुरुआत कर रहे हैं, और इस लेख में मैं आपको दिखाऊंगा कि कैसे इस सुविधा का उपयोग सबग्राफ डिबगिंग में तेजी लाने के लिए किया जा सकता है! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## ठीक है वो क्या है? **सबग्राफ फोर्किंग** आलसी ढंग से _दूसरे_ सबग्राफ के स्टोर (आमतौर पर एक परोक्ष सबग्राफ) से इकाइयां को लाने की प्रक्रिया है। -डिबगिंग के संदर्भ में, **सबग्राफ फोर्किंग** आपको ब्लॉक*X* को सिंक-अप करने के लिए बिना प्रतीक्षा किए ब्लॉक _X_ पर अपने विफल सबग्राफ को डीबग करने की अनुमति देता है । +डिबगिंग के संदर्भ में, **सबग्राफ फोर्किंग** आपको ब्लॉक_X_ को सिंक-अप करने के लिए बिना प्रतीक्षा किए ब्लॉक _X_ पर अपने विफल सबग्राफ को डीबग करने की अनुमति देता है । ## क्या?! कैसे? -जब आप अनुक्रमण के लिए एक दूरस्थ ग्राफ़ नोड पर एक सबग्राफ तैनात करते हैं और यह ब्लॉक _X_ करने में विफल रहता है, तो अच्छी खबर यह है कि ग्राफ़ नोड अभी भी अपने स्टोर का उपयोग करके ग्राफ़क्यूएल क्वेरी को सर्व करेगा, जो ब्लॉक*X* में सिंक-अप है। एक दम बढ़िया! इसका मतलब यह है कि ब्लॉक _X_ को अनुक्रमित करते समय उत्पन्न होने वाली बग को ठीक करने के लिए हम इस "अप-टू-डेट" स्टोर का लाभ उठा सकते हैं। +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -संक्षेप में, हम एक दूरस्थ ग्राफ नोड से _असफल सबग्राफ को फोर्क करने जा रहे हैं_ जो सबग्राफ को ब्लॉक _X_ तक अनुक्रमित होने की गारंटी देता है ताकि ब्लॉक _X_ पर डिबग किए जा रहे स्थानीय रूप से तैनात सबग्राफ को इंडेक्सिंग स्थिति का एक अप-टू-डेट दृश्य प्रदान हो सकें। +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## कृपया मुझे कुछ कोड दिखाओ! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -ओह, कितना दुर्भाग्यपूर्ण है, जब मैं [होस्टेड सेवा](https://thegraph.com/hosted-service/) पर अपना सटीक दिखने वाला सबग्राफ तैनात करता हूं, तो यह _"ग्रेवटार नहीं मिला!"_ त्रुटि के साथ विफल हो जाता है| +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. फिक्स का प्रयास करने का सामान्य तरीका है: 1. मैपिंग सोर्स में बदलाव करें, जो आपको लगता है कि समस्या का समाधान करेगा (जबकि मुझे पता है कि यह नहीं होगा)। -2. सबग्राफ को [होस्टेड सेवा](https://thegraph.com/hosted-service/) (या अन्य दूरस्थ ग्राफ़ नोड) में फिर से तैनात करें। +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. इसके सिंक-अप होने की प्रतीक्षा करें। 4. यदि यह फिर से टूट जाता है तो 1 पर वापस जाएँ, अन्यथा: हुर्रे! @@ -57,9 +57,9 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { **सबग्राफ फोर्किंग** का उपयोग करके हम अनिवार्य रूप से इस चरण को समाप्त कर सकते हैं। यहाँ यह कैसा दिखता है: -0. **_उपयुक्त फ़ोर्क-बेस_** सेट के साथ स्थानीय ग्राफ़ नोड को स्पिन-अप करें। +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. मैपिंग सोर्स में परिवर्तन करें, जिसके बारे में आपको लगता है कि इससे समस्या हल हो जाएगी. -2. स्थानीय ग्राफ़ नोड में तैनात करें, **_असफल सबग्राफ़ को फोर्क करना_** और ** _समस्याग्रस्त ब्लॉक से शुरू_**। +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. यदि यह फिर से ब्रेक जाता है, तो 1 पर वापस जाएँ, अन्यथा: हुर्रे! अब, आपके 2 प्रश्न हो सकते हैं: @@ -80,7 +80,7 @@ $ graph deploy --debug-fork --ipfs http://localhos तो, यहाँ मैं क्या करता हूँ: -0. मैं एक स्थानीय ग्राफ नोड को स्पिन-अप करता हूं ([यह कैसे करना है](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) `fork-base` विकल्प के साथ: `https://api.thegraph.com/subgraphs/id/` पर सेट किया गया है, क्यों की मैं एक सबग्राफ को फोर्क करूंगा, जिस बग्गी को मैंने तैनात किया है पहले, [HostedService](https://thegraph.com/hosted-service/) से। +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. सावधानीपूर्वक निरीक्षण के बाद मैंने देखा कि मेरे दो हैंडलर में `Gravatar` को अनुक्रमित करते समय उपयोग किए जाने वाले `id` अभ्यावेदन में एक बेमेल है। जबकि `handleNewGravatar` इसे हेक्स (`event.params.id.toHex()`) में बदल देता है, `handleUpdatedGravatar` एक int32 (`event. params.id.toI32()`) जो "Gravatar नहीं मिला!" से घबराने के लिए `handleUpdatedGravatar` का कारण बनता है। मैं उन दोनों को `आईडी` को हेक्स में बदलने के लिए तैयार करता हूं। -2. परिवर्तन करने के बाद मैंने अपने सबग्राफ को स्थानीय ग्राफ़ नोड में तैनात किया, **_असफल सबग्राफ़ को फोर्क करना_** और `dataSources.source.startBlock` से `6190343` को `subgraph.yaml`में सेटिंग किया: +2. सावधानीपूर्वक निरीक्षण के बाद मैंने देखा कि मेरे दो हैंडलर में `Gravatar` को अनुक्रमित करते समय उपयोग किए जाने वाले `id` अभ्यावेदन में एक बेमेल है। जबकि `handleNewGravatar` इसे हेक्स (`event.params.id.toHex()`) में बदल देता है, `handleUpdatedGravatar` एक int32 (`event. params.id.toI32()`) जो "Gravatar नहीं मिला!" से घबराने के लिए `handleUpdatedGravatar` का कारण बनता है। मैं उन दोनों को `आईडी` को हेक्स में बदलने के लिए तैयार करता हूं। +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. मैं स्थानीय ग्राफ़ नोड द्वारा निर्मित लॉग का निरीक्षण करता हूं और, हुर्रे!, सब कुछ काम करने लगता है। -4. मैं अपने अब बग-मुक्त सबग्राफ को एक दूरस्थ ग्राफ़ नोड पर तैनात करता हूं और हमेशा के बाद खुशी से रहता हूं! (कोई आलू नहीं) -5. समाप्त... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From 3ac4ad6ab02c957d2742394b474b81546aef693f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:25 -0400 Subject: [PATCH 0178/2326] New translations subgraph-debug-forking.mdx (Yoruba) --- .../yo/cookbook/subgraph-debug-forking.mdx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/website/pages/yo/cookbook/subgraph-debug-forking.mdx b/website/pages/yo/cookbook/subgraph-debug-forking.mdx index 7ac3bf96ca10..6610f19da66d 100644 --- a/website/pages/yo/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/yo/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Quick and Easy Subgraph Debugging Using Forks --- -As with many systems processing large amounts of data, The Graph's Indexers (Graph nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! +As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! ## Ok, what is it? @@ -12,9 +12,9 @@ In the context of debugging, **subgraph forking** allows you to debug your faile ## What?! How? -When you deploy a subgraph to a remote Graph node for indexing and it fails at block _X_, the good news is that the Graph node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. +When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. -In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. +In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. ## Please, show me some code! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Oops, how unfortunate, when I deploy my perfect looking subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) it fails with the _"Gravatar not found!"_ error. +Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. The usual way to attempt a fix is: 1. Make a change in the mappings source, which you believe will solve the issue (while I know it won't). -2. Re-deploy the subgraph to the [Hosted Service](https://thegraph.com/hosted-service/) (or another remote Graph node). +2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). 3. Wait for it to sync-up. 4. If it breaks again go back to 1, otherwise: Hooray! @@ -57,9 +57,9 @@ It is indeed pretty familiar to an ordinary debug process, but there is one step Using **subgraph forking** we can essentially eliminate this step. Here is how it looks: -0. Spin-up a local Graph node with the **_appropriate fork-base_** set. +0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. 1. Make a change in the mappings source, which you believe will solve the issue. -2. Deploy to the local Graph node, **_forking the failing subgraph_** and **_starting from the problematic block_**. +2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. 3. If it breaks again, go back to 1, otherwise: Hooray! Now, you may have 2 questions: @@ -80,7 +80,7 @@ Also, don't forget to set the `dataSources.source.startBlock` field in the subgr So, here is what I do: -0. I spin-up a local graph node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from the [HostedService](https://thegraph.com/hosted-service/). +1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -90,13 +90,12 @@ $ cargo run -p graph-node --release -- \ --fork-base https://api.thegraph.com/subgraphs/id/ ``` -1. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. -2. After I made the changes I deploy my subgraph to the local Graph node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: +2. After careful inspection I notice that there is a mismatch in the `id` representations used when indexing `Gravatar`s in my two handlers. While `handleNewGravatar` converts it to a hex (`event.params.id.toHex()`), `handleUpdatedGravatar` uses an int32 (`event.params.id.toI32()`) which causes the `handleUpdatedGravatar` to panic with "Gravatar not found!". I make them both convert the `id` to a hex. +3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -3. I inspect the logs produced by the local Graph node and, Hooray!, everything seems to be working. -4. I deploy my now bug-free subgraph to a remote Graph node and live happily ever after! (no potatoes tho) -5. The end... +4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. +5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) From 0024b8ef3fc73ef6082f81219a398e2dc1d25593 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:26 -0400 Subject: [PATCH 0179/2326] New translations deploying-a-subgraph-to-hosted.mdx (Romanian) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx index 621f6321a0d4..422a2c73c7bf 100644 --- a/website/pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Deploying a Subgraph to the Hosted Service --- -> If a network is not supported on the Hosted Service, you can run your own [graph-node](https://github.com/graphprotocol/graph-node) to index it. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -This page explains how to deploy a subgraph to the Hosted Service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Create a Hosted Service account +## Create a hosted service account -Before using the Hosted Service, create an account in our Hosted Service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [Hosted Service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Store the Access Token After creating an account, navigate to your [dashboard](https://thegraph.com/hosted-service/dashboard). Copy the access token displayed on the dashboard and run `graph auth --product hosted-service `. This will store the access token on your computer. You only need to do this once, or if you ever regenerate the access token. -## Create a Subgraph on the Hosted Service +## Create a Subgraph on the hosted service -Before deploying the subgraph, you need to create it in The Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _'Add Subgraph'_ button and fill in the information below as appropriate: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Select an image to be used as a preview image and thumbnail for the subgraph. @@ -30,17 +30,17 @@ Before deploying the subgraph, you need to create it in The Graph Explorer. Go t **GitHub URL** - Link to the subgraph repository on GitHub. -**Hide** - Switching this on hides the subgraph in the Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Defining a Subgraph section](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Deploy a Subgraph on the Hosted Service +## Deploy a Subgraph on the hosted service -Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell the Graph Explorer to start indexing your subgraph using these files. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. You deploy the subgraph by running `yarn deploy` -After deploying the subgraph, the Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. The subgraph status switches to `Synced` once the Graph Node has extracted all data from historical blocks. The Graph Node will continue inspecting blocks for your subgraph as these blocks are mined. @@ -243,7 +243,7 @@ A working example of this can be found [here](https://github.com/graphprotocol/e If a subgraph syncs successfully, that is a good sign that it will continue to run well forever. However, new triggers on the network might cause your subgraph to hit an untested error condition or it may start to fall behind due to performance issues or issues with the node operators. -Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the Hosted Service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ This will give you the `chainHeadBlock` which you can compare with the `latestBl ## Hosted service subgraph archive policy -The Hosted Service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -To improve the performance of the service for active subgraphs, the Hosted Service will archive subgraphs that are inactive. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**A subgraph is defined as "inactive" if it was deployed to the Hosted Service more than 45 days ago, and if it has received 0 queries in the last 45 days.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's Hosted Service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Subgraph Studio subgraph archive policy From 1ab4e8962f4856df803e3189c2fb9da8678e06fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:27 -0400 Subject: [PATCH 0180/2326] New translations deploying-a-subgraph-to-hosted.mdx (French) --- .../deploying-a-subgraph-to-hosted.mdx | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/website/pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx index 2a9f63ada4c2..586f64ec1a91 100644 --- a/website/pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Déploiement d'un subgraph dans le service hébergé --- -> Si un réseau n'est pas pris en charge sur le service hébergé, vous pouvez exécuter votre propre [graph-node](https://github.com/graphprotocol/graph-node) pour l'indexer. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -Cette page explique comment déployer un subgraph dans le service hébergé. Pour déployer un subgraph, vous devez d'abord installer le [Graph CLI](https://github.com/graphprotocol/graph-cli). Si vous n'avez pas encore créé de subgraph, consultez [créer un subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Créer un compte de service hébergé +## Create a hosted service account -Avant d'utiliser le service hébergé, créez un compte dans notre service hébergé. Vous aurez besoin d'un compte [Github](https://github.com/) pour cela ; si vous n’en avez pas, vous devez d’abord le créer. Ensuite, accédez au [Service hébergé](https://thegraph.com/hosted-service/), cliquez sur _'Inscrivez-vous avec Github'. _ et terminez le flux d'autorisation de Github. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Stocker le jeton d'accès Après avoir créé un compte, accédez à votre [tableau de bord](https://thegraph.com/hosted-service/dashboard). Copiez le jeton d'accès affiché sur le tableau de bord et exécutez `graph auth --product hosted-service `. Le jeton d'accès sera ainsi stocké sur votre ordinateur. Vous ne devez effectuer cette opération qu'une seule fois, ou si vous régénérez le jeton d'accès. -## Créer un subgraph sur le service hébergé +## Create a Subgraph on the hosted service -Avant de déployer le subgraph, vous devez le créer dans The Graph Explorer. Accédez au [tableau de bord](https://thegraph.com/hosted-service/dashboard), cliquez sur le bouton _'Ajouter un subgraph'_ et remplissez les informations ci-dessous, le cas échéant : +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Sélectionnez une image à utiliser comme image de prévisualisation et comme vignette pour le subgraph. @@ -30,17 +30,17 @@ Avant de déployer le subgraph, vous devez le créer dans The Graph Explorer. Ac **GitHub URL** - Lien vers le dépôt du subgraph sur GitHub. -**Cacher** - Cette option permet de cacher le subgraph dans the Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -Après avoir enregistré le nouveau subgraph, un écran s'affiche avec de l'aide sur la façon d'installer la CLI Graph, de générer l'échafaudage pour un nouveau subgraph et de déployer votre subgraph. Les deux premières étapes ont été couvertes dans la section [Définition d'un subgraph](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Déployer un subgraph sur le service hébergé +## Deploy a Subgraph on the hosted service -Le déploiement de votre subgraph téléchargera les fichiers du subgraph que vous avez construit avec `yarn build` vers IPFS et indiquera à the Graph Explorer de commencer à indexer votre subgraph à l'aide de ces fichiers. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. Vous déployez le subgraph en exécutant `yarn deploy` -Après avoir déployé le subgraph, the Graph Explorer affichera l'état de synchronisation de votre subgraph. Selon la quantité de données et le nombre d'événements qui doivent être extraits des blocs historiques, en commençant par le bloc Genesis, la synchronisation peut prendre de quelques minutes à plusieurs heures. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. L'état du subgraph passe à `Synced` une fois que le nœud the Graph a extrait toutes les données des blocs historiques. Le nœud de the Graph continuera à inspecter les blocs de votre subgraph au fur et à mesure que ces blocs seront exploités. @@ -186,8 +186,8 @@ et ```json { - "réseau": "goerli", - "adresse": "0xabc..." + "réseau": "goerli", + "adresse": "0xabc..." } ``` @@ -243,7 +243,7 @@ Un exemple concret de ce type d'action peut être trouvé [ici](https://github.c Si un subgraph se synchronise avec succès, c'est un bon signe qu'il continuera à bien fonctionner pour toujours. Cependant, de nouveaux déclencheurs sur le réseau peuvent amener votre subgraph à rencontrer une condition d'erreur non testée ou il peut commencer à prendre du retard en raison de problèmes de performances ou de problèmes avec les opérateurs de nœuds. -Graph Node expose un point de terminaison graphql que vous pouvez interroger pour vérifier l'état de votre subgraph. Sur le service hébergé, il est disponible sur `https://api.thegraph.com/index-node/graphql`. Sur un nœud local, il est disponible sur le port `8030/graphql` par défaut. Le schéma complet de ce point de terminaison peut être trouvé [ici](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql) . Voici un exemple de requête qui vérifie l'état de la version actuelle d'un subgraph : +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ Cela vous donnera le `chainHeadBlock` que vous pouvez comparer avec le `latestBl ## Politique d'archivage des subgraphs des services hébergés -Le service hébergé est un indexeur de Graph Node gratuit. Les développeurs peuvent déployer des subgraphs indexant une gamme de réseaux, qui seront indexés et mis à disposition pour interrogation via graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -Afin d'améliorer les performances du service pour les subgraphs actifs, le service hébergé archivera les subgraphs inactifs. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**Un subgraph est défini comme "inactif" s'il a été déployé dans le service hébergé il y a plus de 45 jours et s'il n'a reçu aucune requête au cours des 45 derniers jours.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Les développeurs seront avertis par courriel si l'un de leurs subgraphs a été marqué comme inactif 7 jours avant qu'il ne soit supprimé. S'ils souhaitent "activer" leur subgraph, ils peuvent le faire en effectuant une requête dans le terrain de jeu graphQL du service hébergé de leur subgraph. Les développeurs peuvent toujours redéployer un subgraph archivé s'il est à nouveau nécessaire. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Politique d'archivage des subgraphs de Subgraph Studio From 4787187be12f445cbeb8d880b6e66ab76fd50300 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:28 -0400 Subject: [PATCH 0181/2326] New translations deploying-a-subgraph-to-hosted.mdx (Spanish) --- .../deploying-a-subgraph-to-hosted.mdx | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/website/pages/es/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/es/deploying/deploying-a-subgraph-to-hosted.mdx index 70c75d3049ef..23f756a3093a 100644 --- a/website/pages/es/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/es/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Despliegue de un subgrafo en el Servicio Alojado --- -> Si una cadena no es compatible con el Servicio Alojado, puedes ejecutar tu propio [graph-node](https://github.com/graphprotocol/graph-node) para indexarlo. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -Esta página explica cómo deployar un subgrafo en el Servicio Alojado. Para deployar un subgrafo, primero debes instalar la [Graph CLI](https://github.com/graphprotocol/graph-cli). Si aún no has creado un subgrafo, consulta [creating a subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Crear una cuenta en el Servicio Alojado +## Create a hosted service account -Antes de utilizar el Servicio Alojado, crea una cuenta en nuestro Servicio Alojado. Necesitarás una cuenta de [Github](https://github.com/) para eso; si no tienes una, primero debes crearla. Luego, navega hasta el [Servicio Alojado](https://thegraph.com/hosted-service/), haz clic en _'Registrarse con Github' _ y completa el flujo de autorización de Github. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Guardar el Token de Acceso Luego de crear la cuenta, navega a tu [dashboard](https://thegraph.com/hosted-service/dashboard). Copia el token de acceso que aparece en el dashboard y ejecuta `graph auth --product hosted-service `. Esto almacenará el token de acceso en tu computadora. Sólo tienes que hacerlo una vez, o si alguna vez regeneras el token de acceso. -## Crear un Subgrafo en el Servicio Alojado +## Create a Subgraph on the hosted service -Antes de deployar el subgrafo, es necesario crearlo en The Graph Explorer. Ve a [dashboard](https://thegraph.com/hosted-service/dashboard) y haz clic en el botón _'Add Subgraph'_ y completa la información siguiente según corresponda: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Selecciona una imagen que se utilizará como imagen de vista previa y miniatura para el subgrafo. @@ -30,17 +30,17 @@ Antes de deployar el subgrafo, es necesario crearlo en The Graph Explorer. Ve a **GitHub URL** Enlace al repositorio de subgrafos en GitHub. -**Hide** - Al activar esta opción se oculta el subgrafo en the Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -Después de guardar el nuevo subgrafo, se muestra una pantalla con ayuda sobre cómo instalar The Graph CLI, cómo generar el andamiaje para un nuevo subgrafo, y cómo deployar tu subgrafo. Los dos primeros pasos fueron cubiertos en la sección [Definiendo un Subgrafo](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Deploya un Subgrafo en el Servicio Alojado +## Deploy a Subgraph on the hosted service -El deploy de tu subgrafo subirá los archivos del subgrafo que has construido con `yarn build` a IPFS y le dirá a Graph Explorer que empiece a indexar tu subgrafo usando estos archivos. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. El subgrafo lo deployas ejecutando `yarn deploy` -Después de desplegar el subgrafo, el Graph Explorer pasará a mostrar el estado de sincronización de tu subgrafo. Dependiendo de la cantidad de datos y del número de eventos que haya que extraer de los bloques históricos, empezando por el bloque génesis, la sincronización puede tardar desde unos minutos hasta varias horas. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. El estado del subgrafo cambia a `Synced` una vez que el Graph Node ha extraído todos los datos de los bloques históricos. El Graph Node continuará inspeccionando los bloques para tu subgrafo a medida que estos bloques sean minados. @@ -157,7 +157,7 @@ dataSources: kind: ethereum/events ``` -Ahora está listo para `yarn deploy`. +Ahora está listo para ` yarn deploy `. **Nota:** como se mencionó anteriormente, desde `graph-cli 0.32.0` puedes ejecutar directamente `yarn deploy` con la opción`--network`: @@ -243,7 +243,7 @@ Un ejemplo práctico de esto se puede encontrar [aqui](https://github.com/graphp Si un subgrafo se sincroniza con éxito, es una buena señal de que seguirá funcionando bien para siempre. Sin embargo, los nuevos activadores en la red pueden hacer que tu subgrafo alcance una condición de error no probada o puede comenzar a retrasarse debido a problemas de rendimiento o problemas con los operadores de nodos. -Graph Node expone un punto final de graphql que puedes consultar para verificar el estado de tu subgrafo. En el Servicio Alojado, está disponible en `https://api.thegraph.com/index-node/graphql`. En un nodo local, está disponible en el puerto `8030/graphql` de forma predeterminada. El esquema completo para este punto final se puede encontrar [aquí](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Aquí hay una consulta de ejemplo que verifica el estado de la versión actual de un subgrafo: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ Esto te dará el `chainHeadBlock` que puedes comparar con el `latestBlock` en tu ## Política de archivo de subgrafos en el servicio alojado -El Servicio Alojado es un indexador de Graph Node gratuito. Los desarrolladores pueden deployar subgrafos que indexen una variedad de redes, que se indexarán y estarán disponibles para consultar a través de graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -Para mejorar el rendimiento del servicio para los subgrafos activos, el Servicio Alojado archivará los subgrafos que estén inactivos. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**Un subgrafo se define como "inactivo" si fue deployado en el Servicio alojado hace más de 45 días y si no recibió consultas en los últimos 45 días.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Los desarrolladores serán notificados por correo electrónico si uno de sus subgrafos ha sido marcado como inactivo 7 días antes de ser eliminado. Si desean "activar" su subgrafo, pueden hacerlo haciendo una consulta en el campo de juego graphQL de su subgrafo. Los developers siempre pueden volver a deployar un subgrafo archivado si lo necesitan de nuevo. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Política de archivo de subgrafos en Subgraph Studio From d61605d88cbeab148bd9e40d9462f519d2e58e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:29 -0400 Subject: [PATCH 0182/2326] New translations deploying-a-subgraph-to-hosted.mdx (Arabic) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx index d73262114e2e..9e09fc38e9a7 100644 --- a/website/pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Deploying a Subgraph to the Hosted Service --- -> If a network is not supported on the Hosted Service, you can run your own [graph-node](https://github.com/graphprotocol/graph-node) to index it. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -This page explains how to deploy a subgraph to the Hosted Service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Create a Hosted Service account +## Create a hosted service account -Before using the Hosted Service, create an account in our Hosted Service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [Hosted Service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Store the Access Token After creating an account, navigate to your [dashboard](https://thegraph.com/hosted-service/dashboard). Copy the access token displayed on the dashboard and run `graph auth --product hosted-service `. This will store the access token on your computer. You only need to do this once, or if you ever regenerate the access token. -## Create a Subgraph on the Hosted Service +## Create a Subgraph on the hosted service -قبل نشر الـ subgraph ، تحتاج إلى إنشائه في Graph Explorer. انتقل إلى [لوحة القيادة](https://thegraph.com/hosted-service/dashboard) وانقر على _'Add Subgraph'_ واملأ المعلومات أدناه حسب الحاجة: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Select an image to be used as a preview image and thumbnail for the subgraph. @@ -30,17 +30,17 @@ After creating an account, navigate to your [dashboard](https://thegraph.com/hos **GitHub URL** - Link to the subgraph repository on GitHub. -**Hide** - Switching this on hides the subgraph in the Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Defining a Subgraph section](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Deploy a Subgraph on the Hosted Service +## Deploy a Subgraph on the hosted service -Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell the Graph Explorer to start indexing your subgraph using these files. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. You deploy the subgraph by running `yarn deploy` -After deploying the subgraph, the Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. The subgraph status switches to `Synced` once the Graph Node has extracted all data from historical blocks. The Graph Node will continue inspecting blocks for your subgraph as these blocks are mined. @@ -243,7 +243,7 @@ A working example of this can be found [here](https://github.com/graphprotocol/e If a subgraph syncs successfully, that is a good sign that it will continue to run well forever. However, new triggers on the network might cause your subgraph to hit an untested error condition or it may start to fall behind due to performance issues or issues with the node operators. -Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the Hosted Service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ This will give you the `chainHeadBlock` which you can compare with the `latestBl ## Hosted service subgraph archive policy -The Hosted Service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -To improve the performance of the service for active subgraphs, the Hosted Service will archive subgraphs that are inactive. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**A subgraph is defined as "inactive" if it was deployed to the Hosted Service more than 45 days ago, and if it has received 0 queries in the last 45 days.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's Hosted Service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Subgraph Studio subgraph archive policy From 950e6ba2e54e109dcb1b193279c29099e7bbb4ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:30 -0400 Subject: [PATCH 0183/2326] New translations deploying-a-subgraph-to-hosted.mdx (Czech) --- .../deploying-a-subgraph-to-hosted.mdx | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/website/pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx index 3a3288005c46..f63b8f3f1cd9 100644 --- a/website/pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,13 +2,13 @@ title: Nasazení podgrafu do hostované služby --- -> Pokud síť není v hostované službě podporována, můžete pro její indexování spustit vlastní [grafů-uzel](https://github.com/graphprotocol/graph-node). +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -Tato stránka vysvětluje, jak nasadit podgraf do hostované služby. Chcete-li nasadit podgraf, musíte nejprve nainstalovat [Graph CLI](https://github.com/graphprotocol/graph-cli). Pokud jste ještě nevytvořili podgraf, přečtěte si část [vytvoření podgrafu](/developing/creating-a-subgraph). +Tato stránka vysvětluje, jak nasadit podgraf do hostované služby. K nasazení podgrafu je nejprve potřeba nainstalovat [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). Pokud jste již podgraf nevytvořili, podívejte se na [vytvoření podgrafu](/developing/creating-a-subgraph). ## Vytvoření účtu hostované služby -Před použitím hostované služby si vytvořte účet v naší hostované službě. K tomu budete potřebovat účet [Github](https://github.com/); pokud žádný nemáte, musíte jej nejprve vytvořit. Poté přejděte na [Hostovanou službu](https://thegraph.com/hosted-service/) a klikněte na _Zaregistrovat se pomocí Githubu _ a dokončete autorizační proces Github. +Před použitím hostované služby si vytvořte účet v naší hostované službě. K tomu budete potřebovat účet [Github](https://github.com/); pokud jej nemáte, musíte si jej nejprve vytvořit. Poté přejděte do [hostované služby](https://thegraph.com/hosted-service/), klikněte na tlačítko _"Zaregistrovat se u Githubu"_ a dokončete autorizační proces Githubu. ## Uložení přístupového tokenu @@ -16,7 +16,7 @@ Po vytvoření účtu přejděte do svého [nástěnky](https://thegraph.com/hos ## Vytvoření podgrafu v hostované službě -Před nasazením podgrafu jej musíte vytvořit v Průzkumníku grafů. Přejděte na [hlavní panel](https://thegraph.com/hosted-service/dashboard) a klikněte na _'Add Subgraph'_ a podle potřeby vyplňte níže uvedené informace: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Obrázek** - Vyberte obrázek, který se použije jako náhledový obrázek a miniatura podgrafu. @@ -30,17 +30,17 @@ Před nasazením podgrafu jej musíte vytvořit v Průzkumníku grafů. Přejdě **GitHub URL** - Odkaz na repozitář subgrafu na GitHubu. -**Skrýt** - Zapnutím této funkce se podgraf v Průzkumníku grafu skryje. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -Po uložení nového podgrafu se zobrazí obrazovka s nápovědou, jak nainstalovat Graf CLI, jak vygenerovat lešení pro nový podgraf a jak podgraf nasadit. První dva kroky byly popsány v části [Definování podgrafu](/developing/defining-a-subgraph). +Po uložení nového podgrafu se zobrazí obrazovka s nápovědou, jak nainstalovat Graf CLI, jak vygenerovat lešení pro nový podgraf a jak podgraf nasadit. První dva kroky byly popsány v části [Vytvoření podgrafu](/developing/creating-a-subgraph/). ## Nasazení podgrafu v hostované službě -Nasazení vašeho podgrafu nahraje soubory podgrafu, které jste vytvořili pomocí `yarn build`, do systému IPFS a řekne Průzkumníku grafů, aby začal indexovat váš podgraf pomocí těchto souborů. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. Podgraf nasadíte příkazem `yarn deploy`. -Po nasazení podgrafu se Průzkumník grafu přepne na zobrazení stavu synchronizace podgrafu. V závislosti na množství dat a počtu událostí, které je třeba extrahovat z historických bloků, počínaje blokem geneze, může synchronizace trvat od několika minut až po několik hodin. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. Stav podgrafu se přepne na `Synchronizováno`, jakmile uzel grafu extrahuje všechna data z historických bloků. Uzel Graph Node bude pokračovat v kontrole bloků pro váš podgraf, jakmile budou tyto bloky vytěženy. @@ -54,7 +54,7 @@ Pokud je váš dříve nasazený podgraf stále ve stavu `Synchronizuje se`, bud V některých případech budete chtít nasadit stejný podgraf do více sítí, aniž byste museli duplikovat celý jeho kód. Hlavním problémem, který s tím souvisí, je skutečnost, že smluvní adresy v těchto sítích jsou různé. -### Using graph-cli +### Použití graph-cli `sestavení grafu` (od `v0.29.0`) i `nasazení grafu` (od `v0.32.0`) přijímají dvě nové možnosti : @@ -243,7 +243,7 @@ Funkční příklad najdete [zde](https://github.com/graphprotocol/example-subgr Pokud se podgraf úspěšně synchronizuje, je to dobré znamení, že bude dobře fungovat navždy. Nové spouštěče v síti však mohou způsobit, že se podgraf dostane do neověřeného chybového stavu, nebo může začít zaostávat kvůli problémům s výkonem či operátory uzlů. -Graph Node vystavuje koncový bod GraphQL, který můžete dotazovat, abyste zkontrolovali stav svého podgrafu. Na hostované službě je k dispozici na adrese `https://api.thegraph.com/index-node/graphql`. Na lokálním uzlu je obvykle dostupný na výchozím portu `8030/graphql`. Úplný schéma pro tento koncový bod najdete [zde](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Zde je příklad dotazu, který zkontroluje stav aktuální verze podgrafu: +Uzel Grafu vystavuje koncový bod graphql, na který se můžete zeptat a zkontrolovat stav svého podgrafu. V hostované službě je k dispozici na adrese `https://api.thegraph.com/index-node/graphql`. V místním uzlu je ve výchozím nastavení k dispozici na portu `8030/graphql`. Úplné schéma tohoto koncového bodu naleznete [zde](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Zde je příklad dotazu, který zjišťuje stav aktuální verze podgrafu: ```graphql { @@ -274,18 +274,18 @@ Toto vám poskytne hodnotu `chainHeadBlock`, kterou můžete porovnat s `latestB ## Zásady archivace podgrafů hostovaných služeb -Hostovaná služba je bezplatný indexer grafických uzlů. Vývojáři mohou nasadit subgrafy indexující řadu sítí, které budou indexovány a zpřístupněny pro dotazování prostřednictvím jazyka graphQL. +Hostovaná služba je bezplatný indexer graf uzlů. Vývojáři mohou nasadit podgrafy indexující řadu sítí, které budou indexovány a zpřístupněny pro dotazování prostřednictvím graphQL. Pro zlepšení výkonu služby pro aktivní podgrafy bude hostovaná služba archivovat podgrafy, které jsou neaktivní. -**Podgraf je definován jako "neaktivní", pokud byl do hostované služby nasazen před více než 45 dny a pokud za posledních 45 dní obdržel 0 dotazů.** +**Podgraf je definován jako "neaktivní", pokud byl do hostované služby nasazen před více než 45 dny a pokud v posledních 45 dnech obdržel 0 dotazů.** -Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's Hosted Service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. +Vývojáři budou upozorněni e-mail, pokud byl některý z jejich podgrafů označen jako neaktivní, a to 7 dní před jeho odstraněním. Pokud si přejí svůj podgraf "aktivovat", mohou tak učinit dotazem v hřišti graphQL hostované služby svého podgrafu. Vývojáři mohou archivovaný podgraf kdykoli znovu nasadit, pokud je znovu potřeba. -## Subgraph Studio subgraph archive policy +## Zásady archivace subgrafů Subgraph Studio -When a new version of a subgraph is deployed, the previous version is archived (deleted from the graph-node DB). This only happens if the previous version is not published to The Graph's decentralized network. +Při nasazení nové verze podgrafu je předchozí verze archivována (odstraněna z DB grafových uzlů). K tomu dojde pouze v případě, že předchozí verze není zveřejněna v decentralizované síti a graf. -When a subgraph version isn’t queried for over 45 days, that version is archived. +Pokud není verze podgrafu dotazována déle než 45 dní, je tato verze archivována. -Every subgraph affected with this policy has an option to bring the version in question back. +Každý podgraf ovlivněný touto zásadou má možnost vrátit danou verzi zpět. From 530aea777df4e2a244f68fba867bc346044da53d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:31 -0400 Subject: [PATCH 0184/2326] New translations deploying-a-subgraph-to-hosted.mdx (German) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/de/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/de/deploying/deploying-a-subgraph-to-hosted.mdx index 621f6321a0d4..422a2c73c7bf 100644 --- a/website/pages/de/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/de/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Deploying a Subgraph to the Hosted Service --- -> If a network is not supported on the Hosted Service, you can run your own [graph-node](https://github.com/graphprotocol/graph-node) to index it. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -This page explains how to deploy a subgraph to the Hosted Service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Create a Hosted Service account +## Create a hosted service account -Before using the Hosted Service, create an account in our Hosted Service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [Hosted Service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Store the Access Token After creating an account, navigate to your [dashboard](https://thegraph.com/hosted-service/dashboard). Copy the access token displayed on the dashboard and run `graph auth --product hosted-service `. This will store the access token on your computer. You only need to do this once, or if you ever regenerate the access token. -## Create a Subgraph on the Hosted Service +## Create a Subgraph on the hosted service -Before deploying the subgraph, you need to create it in The Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _'Add Subgraph'_ button and fill in the information below as appropriate: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Select an image to be used as a preview image and thumbnail for the subgraph. @@ -30,17 +30,17 @@ Before deploying the subgraph, you need to create it in The Graph Explorer. Go t **GitHub URL** - Link to the subgraph repository on GitHub. -**Hide** - Switching this on hides the subgraph in the Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Defining a Subgraph section](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Deploy a Subgraph on the Hosted Service +## Deploy a Subgraph on the hosted service -Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell the Graph Explorer to start indexing your subgraph using these files. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. You deploy the subgraph by running `yarn deploy` -After deploying the subgraph, the Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. The subgraph status switches to `Synced` once the Graph Node has extracted all data from historical blocks. The Graph Node will continue inspecting blocks for your subgraph as these blocks are mined. @@ -243,7 +243,7 @@ A working example of this can be found [here](https://github.com/graphprotocol/e If a subgraph syncs successfully, that is a good sign that it will continue to run well forever. However, new triggers on the network might cause your subgraph to hit an untested error condition or it may start to fall behind due to performance issues or issues with the node operators. -Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the Hosted Service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ This will give you the `chainHeadBlock` which you can compare with the `latestBl ## Hosted service subgraph archive policy -The Hosted Service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -To improve the performance of the service for active subgraphs, the Hosted Service will archive subgraphs that are inactive. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**A subgraph is defined as "inactive" if it was deployed to the Hosted Service more than 45 days ago, and if it has received 0 queries in the last 45 days.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's Hosted Service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Subgraph Studio subgraph archive policy From c1354ed98e60a37b6604542d1e525ff4dc3d3ca6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:32 -0400 Subject: [PATCH 0185/2326] New translations deploying-a-subgraph-to-hosted.mdx (Italian) --- .../deploying-a-subgraph-to-hosted.mdx | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/website/pages/it/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/it/deploying/deploying-a-subgraph-to-hosted.mdx index 91d5b46913fe..526ae1235191 100644 --- a/website/pages/it/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/it/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Distribuzione di un subgraph al Hosted Service --- -> Se una rete non è supportata dal Hosted Service, è possibile eseguire il proprio [graph-node](https://github.com/graphprotocol/graph-node) per indicizzarlo. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -Questa pagina spiega come distribuire un subgraph al Hosted Service. Per distribuire un subgraph è necessario installare prima il programma [Graph CLI](https://github.com/graphprotocol/graph-cli). Se non si è già creato un subgraph, si veda la sezione [creating a subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Creare un account del Hosted Service +## Create a hosted service account -Prima di utilizzare il Hosted Service, creare un account nel nostro Hosted Service. Per questo è necessario un account [Github](https://github.com/); se non ne avete uno, dovete prima crearlo. Quindi, navigare nella sezione [Hosted Service](https://thegraph.com/hosted-service/), cliccare sul pulsante _'Iscriviti con Github'_ e completare il flusso di autorizzazione di Github. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Memorizzare il token di accesso Dopo aver creato un account, accedere alla propria [dashboard](https://thegraph.com/hosted-service/dashboard). Copiare il token di accesso visualizzato nella dashboard ed eseguire `graph auth --product hosted-service `. In questo modo il token di accesso verrà memorizzato sul computer. È necessario farlo solo una volta, o se si rigenera il token di accesso. -## Creare un subgraph sul Hosted Service +## Create a Subgraph on the hosted service -Prima di distribuire il subgraph, è necessario crearlo in Graph Explorer. Andare alla pagina [dashboard](https://thegraph.com/hosted-service/dashboard) e fare clic sul pulsante _'Aggiungi subgraph_ e compilare le informazioni sottostanti in base alle esigenze: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Selezionare un'immagine da utilizzare come anteprima e miniatura per il subgraph. @@ -30,17 +30,17 @@ Prima di distribuire il subgraph, è necessario crearlo in Graph Explorer. Andar **GitHub URL** - Link al repository del subgraph su GitHub. -**Hide** - L'attivazione di questa opzione nasconde il subgraph nel the Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -Dopo aver salvato il nuovo subgraph, viene visualizzata una schermata di aiuto su come installare la Graph CLI, come generare lo scaffolding per un nuovo subgraph e come distribuire il subgraph. I primi due passi sono stati coperti nella sezione [Definizione di un subgraph](/sviluppo/definizione di un subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Distribuire un subgraph sul Hosted Service +## Deploy a Subgraph on the hosted service -Il deploy del subgraph caricherà i file del subgraph costruiti con `yarn build` su IPFS e dirà a Graph Explorer di iniziare l'indicizzazione del subgraph usando questi file. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. Si distribuisce il subgraph eseguendo `yarn deploy` -Dopo aver distribuito il subgraph, the Graph Explorer mostrerà lo stato di sincronizzazione del subgraph. A seconda della quantità di dati e del numero di eventi da estrarre dai blocchi storici, a partire dal blocco genesi, la sincronizzazione può richiedere da pochi minuti a diverse ore. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. Lo stato del subgraph passa a `Synced` una volta che il Graph Node ha estratto tutti i dati dai blocchi storici. Il Graph Node continuerà a ispezionare i blocchi del subgraph mentre questi blocchi vengono estratti. @@ -135,7 +135,7 @@ Questo è l'aspetto del file di configurazione delle reti: Ora possiamo eseguire uno dei seguenti comandi: ```sh -# Utilizzo di un file predefinito networks.json +# Utilizzo di un file predefinito networks.json yarn build --network goerli # Utilizzo di un file con nome personalizzato @@ -162,7 +162,7 @@ Ora si è pronti per `yarn deploy`. **Nota:** Come già menzionato, da `graph-cli 0.32.0` è possibile eseguire direttamente `yarn deploy` con l'opzione `--network`: ```sh -# Utilizzo di un file predefinito networks.json +# Utilizzo di un file predefinito networks.json yarn deploy --network goerli # Utilizzo di un file con nome personalizzato @@ -243,7 +243,7 @@ Un esempio funzionante di questo può essere trovato [qui](https://github.com/gr Se un subgraph si sincronizza con successo, è un buon segno che continuerà a funzionare bene per sempre. Tuttavia, nuovi trigger sulla rete potrebbero far sì che il subgraph si trovi in una condizione di errore non testata o che inizi a rimanere indietro a causa di problemi di prestazioni o di problemi con gli operatori dei nodi. -Graph Node espone un endpoint graphql che può essere interrogato per controllare lo stato del subgraph. Sul Hosted Service, è disponibile all'indirizzo `https://api.thegraph.com/index-node/graphql`. Su un nodo locale, è disponibile sul porto `8030/graphql` per impostazione predefinita. Lo schema completo di questo endpoint è disponibile [qui](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Ecco un esempio di query che controlla lo stato della versione corrente di un subgraph: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ In questo modo si ottiene il `chainHeadBlock` che può essere confrontato con il ## Politica di archiviazione dei subgraph dei hosted service -Il Hosted Service è un Indexer gratuito di Graph Node. Gli sviluppatori possono distribuire subgraph che indicizzano una serie di reti, che saranno indicizzati e resi disponibili per query tramite graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -Per migliorare le prestazioni del servizio per i subgraph attivi, il Hosted Service archivia i subgraph inattivi. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**Un subgraph è definito "inattivo" se è stato distribuito al Hosted Service più di 45 giorni fa e se ha ricevuto 0 query negli ultimi 45 giorni.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Gli sviluppatori riceveranno una notifica via e-mail se uno dei loro subgraph è stato contrassegnato come inattivo 7 giorni prima della sua rimozione. Se desiderano "attivare" il loro subgraph, possono farlo effettuando una query nel playground graphQL del loro Hosted Service. Gli sviluppatori possono sempre distribuire nuovamente un subgraph archiviato se è necessario. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Politica di archiviazione dei subgraph di Subgraph Studio From b16c6857099554d68ec301825f48be3cc3521ed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:33 -0400 Subject: [PATCH 0186/2326] New translations deploying-a-subgraph-to-hosted.mdx (Japanese) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx index 5d2f0a1ebdc4..f587089e7ecd 100644 --- a/website/pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: サブグラフをホスティングサービスにデプロイする --- -> Hosted Service でネットワークがサポートされていない場合は、独自の [graph-node](https://github.com/graphprotocol/graph-node) を実行してインデックスを作成できます。 +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -このページでは、ホスティングサービスにサブグラフをデプロイする方法について説明します。サブグラフを配置するためには、まず[Graph CLI](https://github.com/graphprotocol/graph-cli)をインストールする必要があります。まだサブグラフを作成していない場合は、[サブグラフを作成する](/developing/creating-a-subgraph)を参照してください。 +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## ホスティングサービスのアカウントを作成する +## Create a hosted service account -ホスティングサービスを使用する前に、ホスティングサービスのアカウントを作成します。そのためには[Github](https://github.com/)アカウントが必要です。アカウントをお持ちでない場合は、まずそれを作成する必要があります。その後、[ホスティングサービス](https://thegraph.com/hosted-service/)に移動し、「_'Sign up with Github'_」ボタンをクリックして、Github の認証フローを完了させます。 +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## アクセストークンの保存 アカウントの作成後、[dashboard](https://thegraph.com/hosted-service/dashboard)に移動します。ダッシュボードに表示されているアクセストークンをコピーし、`graph auth --product hosted-service `を実行します。これでアクセストークンがあなたのコンピュータに保存されます。この作業は 1 回だけ行う必要がありますが、アクセストークンを再生成する場合も同様です。 -## ホステッドサービスでのサブグラフの作成 +## Create a Subgraph on the hosted service -サブグラフをデプロイする前に、グラフエクスプローラーでサブグラフを作成する必要がある。[ダッシュボード](https://thegraph.com/hosted-service/dashboard)にアクセスし、「 _'Add Subgraph'_ 」ボタンをクリックして、以下の情報を適宜入力してください。 +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - サブグラフのプレビュー画像やサムネイルとして使用する画像を選択します。 @@ -30,17 +30,17 @@ title: サブグラフをホスティングサービスにデプロイする **GitHub URL** - GitHub 上のサブグラフのリポジトリへのリンクです。 -**Hide** - これをオンにすると、Graph Explorer でサブグラフが非表示になります。 +**Hide** - Switching this on hides the subgraph in Graph Explorer. -新しいサブグラフを保存すると、Graph CLI のインストール方法、新しいサブグラフの足場の生成方法、サブグラフのデプロイ方法についてのヘルプ画面が表示されます。最初の 2 つのステップは、「[Define a Subgraph section](/developing/defining-a-subgraph)」で説明しました。 +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## ホステッドサービス上でのサブグラフのデプロイ +## Deploy a Subgraph on the hosted service -サブグラフのデプロイでは、`yarn build`で構築したサブグラフ・ファイルを IPFS にアップロードし、これらのファイルを使用してサブグラフのインデックス作成を開始するようグラフ・エクスプローラーに指示します。 +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. サブグラフのデプロイは、`yarn deploy`を実行して行います。 -サブグラフをデプロイした後、Graph Explorer はサブグラフの同期ステータスを表示するように切り替わります。ジェネシスブロックから始めて、履歴ブロックから抽出する必要があるデータの量とイベントの数に応じて、同期には数分から数時間かかる場合があります。 +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. グラフ ノードが履歴ブロックからすべてのデータを抽出すると、サブグラフのステータスは `Synced` に切り替わります。これらのブロックがマイニングされると、グラフ ノードはサブグラフのブロックを検査し続けます。 @@ -243,7 +243,7 @@ yarn prepare:goerli && yarn deploy サブグラフが正常に同期された場合、それはそれが永久に正常に動作し続けることを示す良い兆候です。ただし、ネットワーク上の新しいトリガーにより、サブグラフがテストされていないエラー状態に陥ったり、パフォーマンスの問題やノード オペレーターの問題により遅れが生じたりする可能性があります。 -グラフノードは、サブグラフの状態をチェックするためにクエリを実行できる graphql エンドポイントを公開しています。ホステッドサービスでは `https://api.thegraph.com/index-node/graphql`で利用できます。ローカルノードでは、デフォルトではポート`8030/graphql`で利用できます。このエンドポイントの完全なスキーマは[こちら](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql)にあります。以下は、サブグラフの現在のバージョンのステータスをチェックするクエリの例です: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ yarn prepare:goerli && yarn deploy ## ホスティングサービス・サブグラフ・アーカイブポリシー -ホステッドサービスは、無料の Graph Node Indexer です。開発者は、さまざまなネットワークをインデックス化したサブグラフを配置することができます。サブグラフはインデックス化され、GraphQL を介したクエリで利用できるようになります。 +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -アクティブなサブグラフに対するサービスのパフォーマンスを向上させるために、ホステッドサービスは非アクティブなサブグラフをアーカイブします。 +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**サブグラフが45日以上前にホステッドサービスにデプロイされ、過去45日間に0回のクエリを受けた場合、そのサブグラフは「非アクティブ」と定義されます。** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -サブグラフが削除される 7 日前に「非アクティブ」と判定されると、開発者にメールで通知されます。サブグラフを「アクティブ」にしたい場合は、サブグラフの Hosted Service graphQL playground でクエリを実行することで可能です。開発者は、アーカイブされたサブグラフが再び必要になった場合、いつでも再デプロイすることができます。 +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Subgraph Studio・サブグラフ・アーカイブポリシー From 9e61fdd7a8d5248698c1b3c408ccc4d10b649a97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:34 -0400 Subject: [PATCH 0187/2326] New translations deploying-a-subgraph-to-hosted.mdx (Korean) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx index 621f6321a0d4..422a2c73c7bf 100644 --- a/website/pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Deploying a Subgraph to the Hosted Service --- -> If a network is not supported on the Hosted Service, you can run your own [graph-node](https://github.com/graphprotocol/graph-node) to index it. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -This page explains how to deploy a subgraph to the Hosted Service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Create a Hosted Service account +## Create a hosted service account -Before using the Hosted Service, create an account in our Hosted Service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [Hosted Service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Store the Access Token After creating an account, navigate to your [dashboard](https://thegraph.com/hosted-service/dashboard). Copy the access token displayed on the dashboard and run `graph auth --product hosted-service `. This will store the access token on your computer. You only need to do this once, or if you ever regenerate the access token. -## Create a Subgraph on the Hosted Service +## Create a Subgraph on the hosted service -Before deploying the subgraph, you need to create it in The Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _'Add Subgraph'_ button and fill in the information below as appropriate: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Select an image to be used as a preview image and thumbnail for the subgraph. @@ -30,17 +30,17 @@ Before deploying the subgraph, you need to create it in The Graph Explorer. Go t **GitHub URL** - Link to the subgraph repository on GitHub. -**Hide** - Switching this on hides the subgraph in the Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Defining a Subgraph section](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Deploy a Subgraph on the Hosted Service +## Deploy a Subgraph on the hosted service -Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell the Graph Explorer to start indexing your subgraph using these files. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. You deploy the subgraph by running `yarn deploy` -After deploying the subgraph, the Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. The subgraph status switches to `Synced` once the Graph Node has extracted all data from historical blocks. The Graph Node will continue inspecting blocks for your subgraph as these blocks are mined. @@ -243,7 +243,7 @@ A working example of this can be found [here](https://github.com/graphprotocol/e If a subgraph syncs successfully, that is a good sign that it will continue to run well forever. However, new triggers on the network might cause your subgraph to hit an untested error condition or it may start to fall behind due to performance issues or issues with the node operators. -Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the Hosted Service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ This will give you the `chainHeadBlock` which you can compare with the `latestBl ## Hosted service subgraph archive policy -The Hosted Service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -To improve the performance of the service for active subgraphs, the Hosted Service will archive subgraphs that are inactive. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**A subgraph is defined as "inactive" if it was deployed to the Hosted Service more than 45 days ago, and if it has received 0 queries in the last 45 days.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's Hosted Service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Subgraph Studio subgraph archive policy From 6f29466361e956a752c00070a1f06f3a3910e9a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:35 -0400 Subject: [PATCH 0188/2326] New translations deploying-a-subgraph-to-hosted.mdx (Dutch) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx index 621f6321a0d4..422a2c73c7bf 100644 --- a/website/pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Deploying a Subgraph to the Hosted Service --- -> If a network is not supported on the Hosted Service, you can run your own [graph-node](https://github.com/graphprotocol/graph-node) to index it. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -This page explains how to deploy a subgraph to the Hosted Service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Create a Hosted Service account +## Create a hosted service account -Before using the Hosted Service, create an account in our Hosted Service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [Hosted Service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Store the Access Token After creating an account, navigate to your [dashboard](https://thegraph.com/hosted-service/dashboard). Copy the access token displayed on the dashboard and run `graph auth --product hosted-service `. This will store the access token on your computer. You only need to do this once, or if you ever regenerate the access token. -## Create a Subgraph on the Hosted Service +## Create a Subgraph on the hosted service -Before deploying the subgraph, you need to create it in The Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _'Add Subgraph'_ button and fill in the information below as appropriate: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Select an image to be used as a preview image and thumbnail for the subgraph. @@ -30,17 +30,17 @@ Before deploying the subgraph, you need to create it in The Graph Explorer. Go t **GitHub URL** - Link to the subgraph repository on GitHub. -**Hide** - Switching this on hides the subgraph in the Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Defining a Subgraph section](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Deploy a Subgraph on the Hosted Service +## Deploy a Subgraph on the hosted service -Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell the Graph Explorer to start indexing your subgraph using these files. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. You deploy the subgraph by running `yarn deploy` -After deploying the subgraph, the Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. The subgraph status switches to `Synced` once the Graph Node has extracted all data from historical blocks. The Graph Node will continue inspecting blocks for your subgraph as these blocks are mined. @@ -243,7 +243,7 @@ A working example of this can be found [here](https://github.com/graphprotocol/e If a subgraph syncs successfully, that is a good sign that it will continue to run well forever. However, new triggers on the network might cause your subgraph to hit an untested error condition or it may start to fall behind due to performance issues or issues with the node operators. -Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the Hosted Service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ This will give you the `chainHeadBlock` which you can compare with the `latestBl ## Hosted service subgraph archive policy -The Hosted Service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -To improve the performance of the service for active subgraphs, the Hosted Service will archive subgraphs that are inactive. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**A subgraph is defined as "inactive" if it was deployed to the Hosted Service more than 45 days ago, and if it has received 0 queries in the last 45 days.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's Hosted Service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Subgraph Studio subgraph archive policy From c1e28a77b61de0ca3d30a0f1fa6ad53b08612b79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:36 -0400 Subject: [PATCH 0189/2326] New translations deploying-a-subgraph-to-hosted.mdx (Polish) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx index 621f6321a0d4..422a2c73c7bf 100644 --- a/website/pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Deploying a Subgraph to the Hosted Service --- -> If a network is not supported on the Hosted Service, you can run your own [graph-node](https://github.com/graphprotocol/graph-node) to index it. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -This page explains how to deploy a subgraph to the Hosted Service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Create a Hosted Service account +## Create a hosted service account -Before using the Hosted Service, create an account in our Hosted Service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [Hosted Service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Store the Access Token After creating an account, navigate to your [dashboard](https://thegraph.com/hosted-service/dashboard). Copy the access token displayed on the dashboard and run `graph auth --product hosted-service `. This will store the access token on your computer. You only need to do this once, or if you ever regenerate the access token. -## Create a Subgraph on the Hosted Service +## Create a Subgraph on the hosted service -Before deploying the subgraph, you need to create it in The Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _'Add Subgraph'_ button and fill in the information below as appropriate: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Select an image to be used as a preview image and thumbnail for the subgraph. @@ -30,17 +30,17 @@ Before deploying the subgraph, you need to create it in The Graph Explorer. Go t **GitHub URL** - Link to the subgraph repository on GitHub. -**Hide** - Switching this on hides the subgraph in the Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Defining a Subgraph section](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Deploy a Subgraph on the Hosted Service +## Deploy a Subgraph on the hosted service -Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell the Graph Explorer to start indexing your subgraph using these files. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. You deploy the subgraph by running `yarn deploy` -After deploying the subgraph, the Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. The subgraph status switches to `Synced` once the Graph Node has extracted all data from historical blocks. The Graph Node will continue inspecting blocks for your subgraph as these blocks are mined. @@ -243,7 +243,7 @@ A working example of this can be found [here](https://github.com/graphprotocol/e If a subgraph syncs successfully, that is a good sign that it will continue to run well forever. However, new triggers on the network might cause your subgraph to hit an untested error condition or it may start to fall behind due to performance issues or issues with the node operators. -Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the Hosted Service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ This will give you the `chainHeadBlock` which you can compare with the `latestBl ## Hosted service subgraph archive policy -The Hosted Service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -To improve the performance of the service for active subgraphs, the Hosted Service will archive subgraphs that are inactive. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**A subgraph is defined as "inactive" if it was deployed to the Hosted Service more than 45 days ago, and if it has received 0 queries in the last 45 days.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's Hosted Service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Subgraph Studio subgraph archive policy From f3044219cb20f95c58e1738dafdd52a49c028c29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:37 -0400 Subject: [PATCH 0190/2326] New translations deploying-a-subgraph-to-hosted.mdx (Portuguese) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx index df78ff3569c1..4b764c47124d 100644 --- a/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Como Lançar um Subgraph no Serviço Hospedado --- -> Se o Serviço Hospedado não apoiar uma rede, execute o seu próprio [graph-node](https://github.com/graphprotocol/graph-node) para indexá-la. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -Esta página explica como lançar um subgraph no Serviço Hospedado. Para lançar um subgraph, primeiramente instale o [Graph CLI](https://github.com/graphprotocol/graph-cli). Se ainda não criou um subgraph, veja a seção [Como Criar um Subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Como criar uma conta no Serviço Hospedado +## Create a hosted service account -Antes de usar o Serviço Hospedado, crie uma conta nele. Para isto, faça uma conta no [Github](https://github.com/); se não tiver, crie uma primeiro; depois, navegue ao [Serviço Hospedado](https://thegraph.com/hosted-service/), clique no botão _'Sign up with Github'_ (cadastrar com Github) e complete o fluxo de autorização do Github. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Como Armazenar o Token de Acesso Após criar uma conta, navegue até o seu [painel de controle](https://thegraph.com/hosted-service/dashboard). Copie o token de acesso (access token) exibido no painel e execute `graph auth --product hosted-service ` para armazenar o token de acesso no seu computador. Isto só precisa ser feito uma vez, a não ser que tenha que gerar o token de acesso novamente. -## Como Criar um Subgraph no Serviço Hospedado +## Create a Subgraph on the hosted service -Antes de lançar o subgraph, ele tem que ser criado no The Graph Explorer. Vá até o [painel de controle](https://thegraph.com/hosted-service/dashboard), clique no botão _'Add Subgraph'_ (Adicionar Subgraph) e preencha a informação abaixo com as informações adequadas: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** (Imagem) — Selecione uma imagem para ser usada como foto de prévia e thumbnail (miniatura) para o subgraph. @@ -30,17 +30,17 @@ Antes de lançar o subgraph, ele tem que ser criado no The Graph Explorer. Vá a **GitHub URL** — Atalho ao repositório do subgraph no GitHub. -**Hide** (Esconder) — Opção alternável que oculta o subgraph no Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -Após salvar o novo subgraph, aparecerão instruções sobre como instalar o Graph CLI; como gerar estruturas para um novo subgraph; e como lançar o seu subgraph. Os primeiros dois passos foram abordados na seção [Como Definir um Subgraph](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Como Lançar um Subgraph no Serviço Hospedado +## Deploy a Subgraph on the hosted service -O lançamento do seu subgraph enviará os arquivos do subgraph construído com `yarn build` ao IPFS, e mandará que o Graph Explorer comece a indexar o seu subgraph com estes arquivos. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. Lance o subgraph com o comando `yarn deploy` -Após lançar o subgraph, o Graph Explorer mostrará o estado da sincronização do mesmo. Dependendo da quantia de dados e eventos que devem ser extraídos de blocos históricos, a começar do bloco-génese, a sincronização pode levar de alguns minutos a várias horas. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. O estado do subgraph é mostrado como `Synced` (sincronizado) quando o Graph Node extrai todos os dados de blocos históricos. O Graph Node continuará a inspecionar blocos para o seu subgraph enquanto estes blocos são minerados. @@ -243,7 +243,7 @@ Veja um exemplo funcional disto [aqui](https://github.com/graphprotocol/example- Se um subgraph for sincronizado com sucesso, isto indica que ele continuará a rodar bem para sempre. Porém, novos gatilhos na rede podem revelar uma condição de erro não testada, ou ele pode começar a se atrasar por problemas de desempenho ou com os operadores de nodes. -O Graph Node expõe um endpoint do GraphQL que pode consultar em query, para conferir o status do seu subgraph. No Serviço Hospedado, ele está disponível no `https://api.thegraph.com/index-node/graphql`; em um node local, no port `8030/graphql`. Encontre o schema completo para este endpoint [aqui](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Veja um exemplo de query sobre o estado da versão atual de um subgraph: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ Isto rendará o `chainHeadBlock`, que pode ser comparado com o `latestBlock` no ## Política de arquivamento de subgraphs no serviço hospedado -O Serviço Hospedado é um Graph Node Indexer gratuito. Os programadores podem lançar subgraphs e indexar uma gama de redes, que serão indexadas e disponibilizadas para consulta via graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -Para melhorar o desempenho do serviço para subgraphs ativos, o Serviço Hospedado arquivará subgraphs inativos. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**Um subgraph é definido como "inativo" se tiver sido lançado ao Serviço Hospedado há mais de 45 dias e tiver recebido 0 queries nos últimos 45 dias.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Os desenvolvedores serão notificados por email se um dos seus subgraphs for marcado como inativo, e será removido após 7 dias. Caso queiram "ativar" o seu subgraph, podem fazê-lo com um query no playground graphQL, no Serviço Hospedado do seu subgraph. Os programadores sempre podem relançar um subgraph arquivado caso necessitem-no novamente. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Política de arqivamento do Subgraph Studio From 21f520c6eacf040dd0188d4ee5e3693d634761f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:38 -0400 Subject: [PATCH 0191/2326] New translations deploying-a-subgraph-to-hosted.mdx (Russian) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx index 4bc7bb995a1e..20aa3e72fa6b 100644 --- a/website/pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Развертывание подграфа Arweave в Hosted Service --- -> Если сеть не поддерживается в Hosted Service, вы можете запустить собственную [graph-node](https://github.com/graphprotocol/graph-node) для ее индексации. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -На этой странице объясняется, как развернуть подграф в Hosted Service. Чтобы развернуть подграф, вам необходимо сначала установить [Graph CLI](https://github.com/graphprotocol/graph-cli). Если вы еще не создали подграф, см. раздел [создание подграфа](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Создание учетной записи Hosted Service +## Create a hosted service account -Прежде чем использовать Hosted Service, создайте учетную запись в нашем Hosted Service. Вам понадобится учетная запись [Github](https://github.com/) для этого; если у вас ее нет, вам нужно сначала создать ее. Затем перейдите в [Hosted Service](https://thegraph.com/hosted-service/), нажмите на кнопку _'Sign up with Github'_ и завершите процедуру авторизации через Github. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Хранение идентификатора доступа После создания учетной записи перейдите к своему [дашборду](https://thegraph.com/hosted-service/dashboard). Скопируйте идентификатор доступа, отображаемый на панели, и запустите `graph auth --product hosted-service `. Это сохранит идентификатор на вашем компьютере. Вам нужно сделать это только один раз, или если вы когда-либо повторно создадите идентификатор доступа. -## Создание подграфа в Hosted Service +## Create a Subgraph on the hosted service -Перед развертыванием подграфа вам необходимо создать его в The Graph Explorer. Перейдите в [дашборд](https://thegraph.com/hosted-service/dashboard) и нажмите на кнопку _ 'Add Subgraph'_ и соответствующим образом заполните приведенную ниже информацию: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Выберите изображение, которое будет использоваться в качестве изображения предварительного просмотра и миниатюры для подграфа. @@ -30,17 +30,17 @@ title: Развертывание подграфа Arweave в Hosted Service **URL GitHub** - ссылка на subgraph репозиторий на GitHub. -** Hide ** - включение этого параметра скрывает подграф в The Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -После сохранения нового подграфа вы увидите экран с информацией о том, как установить Graph CLI, как сгенерировать scaffolding для нового подграфа и как запустить ваш подграф. Первые два шага были рассмотрены в разделе [Defining a Subgraph](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Развертывание подграфа в Hosted Service +## Deploy a Subgraph on the hosted service -Развертывание вашего подграфа загрузит файлы подграфа, которые вы создали с помощью `yarn build`, в IPFS и попросит Graph Explorer начать индексирование вашего подграфа с использованием этих файлов. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. Для развертывания подграфа выполните команду `yarn deploy` -После развертывания подграфа Graph Explorer переключится на отображение статуса синхронизации вашего подграфа. В зависимости от объема данных и количества событий, которые необходимо извлечь из исторических блоков, начиная с genesis блока, синхронизация может занять от нескольких минут до нескольких часов. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. Статус подграфа переключается на `Synced`, как только Graph Node извлечет все данные из исторических блоков. The Graph Node будет продолжать проверять блоки для вашего подграфа по мере добывания этих блоков. @@ -241,7 +241,7 @@ yarn prepare:goerli && yarn deploy Если подграф успешно синхронизируется, это хороший признак того, что он будет работать надёжно. Однако новые триггеры в сети могут привести к тому, что ваш подграф попадет в состояние непроверенной ошибки, или он может начать отставать из-за проблем с производительностью или проблем с операторами нод. -Graph Node предоставляет эндпоинт graphql, к которому вы можете обратиться для проверки состояния вашего подграфа. В Hosted Service он доступен по адресу `https://api.thegraph.com/index-node/graphql`. На локальной ноде он доступен по умолчанию через порт `8030/graphql`. Полную схему для этого эндпоинта можно найти [здесь](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Вот пример запроса, который проверяет статус текущей версии подграфа: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -272,13 +272,13 @@ Graph Node предоставляет эндпоинт graphql, к которо ## Политика архивирования подграфов в Hosted Service -The Hosted Service представляет собой бесплатного Индексатора ноды Graph. Разработчики могут развернуть подграфы, индексирующие ряд сетей, которые будут проиндексированы и станут доступными для запросов через GraphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -Чтобы повысить производительность службы для активных подграфов, The Hosted Service будет архивировать неактивные подграфы. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**Подграф определяется как "неактивный", если он был развернут в Hosted Service более 45 дней назад, и если за последние 45 дней он получил 0 запросов.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Разработчики получат уведомление по электронной почте, если один из их подграфов будет помечен как неактивный за 7 дней до его удаления. Если они захотят "активировать" свой подграф, они могут сделать это, выполнив запрос на площадке graphQL в Hosted Service их подграфа. Разработчики всегда могут развернуть архивированный подграф, если он снова понадобится. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Политика архивирования подграфов в Subgraph Studio From a2cd5b885ecfa0cb62028a137694716e76c3b729 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:39 -0400 Subject: [PATCH 0192/2326] New translations deploying-a-subgraph-to-hosted.mdx (Swedish) --- .../deploying-a-subgraph-to-hosted.mdx | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/website/pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx index 07d5bc4775ec..13d2ed4d79c8 100644 --- a/website/pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Distribuera en subgraf till värdtjänsten --- -> Om ett nätverk inte stöds på värdtjänsten kan du köra din egen [grafnod](https://github.com/graphprotocol/graph-node) för att indexera den. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -Den här sidan förklarar hur man distribuerar en subgraf till värdtjänsten. För att distribuera en subgraf måste du först installera [Graph CLI](https://github.com/graphprotocol/graph-cli). Om du inte redan har skapat en subgraf, se [skapa en subgraf](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Skapa ett värdtjänst konto +## Create a hosted service account -Innan du använder värdtjänsten, skapa ett konto i vår värdtjänst. Du behöver ett [Github](https://github.com/)-konto för det; om du inte har en måste du skapa den först. Navigera sedan till [värdtjänsten](https://thegraph.com/hosted-service/), klicka på _"Registrera dig med Github" _-knappen och slutför Githubs auktoriseringsflöde. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Lagra åtkomsttoken När du har skapat ett konto navigerar du till din [instrumentpanel](https://thegraph.com/hosted-service/dashboard). Kopiera åtkomsttoken som visas på instrumentpanelen och kör `graph auth --product hosted-service `. Detta kommer att lagra åtkomsttoken på din dator. Du behöver bara göra detta en gång, eller om du någonsin återskapar åtkomsttoken. -## Skapa en subgraf på värdtjänsten +## Create a Subgraph on the hosted service -Innan du distribuerar subgrafen måste du skapa den i The Graph Explorer. Gå till [instrumentpanelen](https://thegraph.com/hosted-service/dashboard) och klicka på _"Lägg till subgraf"_ knappen och fyll i informationen nedan efter behov: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Bild** – Välj en bild som ska användas som förhandsgranskningsbild och miniatyrbild för subgrafen. @@ -30,19 +30,19 @@ Innan du distribuerar subgrafen måste du skapa den i The Graph Explorer. Gå ti **GitHub URL** – Länk till subgraf förrådet på GitHub. -**Göm** - Om du slår på detta döljs subgrafen i Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -När du har sparat den nya subgrafen visas en skärm med hjälp om hur du installerar Graph CLI, hur du skapar ställningen för en ny subgraf och hur du distribuerar din subgraf. De två första stegen behandlades i avsnittet [Definiera en subgraf sektion](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Distribuera en subgraf på värdtjänsten +## Deploy a Subgraph on the hosted service -Genom att distribuera din subgraf laddar du upp subgraf filerna som du har byggt med `yarn build` till IPFS och säger till Graph Explorer att börja indexera din subgraf med dessa filer. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. Du distribuerar subgrafen genom att köra `yarn deploy` -Efter att ha distribuerat subgrafen kommer Graph Explorer att växla till att visa synkroniseringsstatusen för din subgraf. Beroende på mängden data och antalet händelser som måste extraheras från historiska block, från och med genesisblocket, kan synkronisering ta från några minuter till flera timmar. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. -Undergrafens status växlar till `Synced` när Graph Node har extraherat alla data från historiska block. Graph Node fortsätter att inspektera block för din undergraf när dessa block minas. +Undergrafens status växlar till ` Synced ` när Graph Node har extraherat alla data från historiska block. Graph Node fortsätter att inspektera block för din undergraf när dessa block minas. ## Omdistribuera en subgraf @@ -243,7 +243,7 @@ Ett fungerande exempel på detta hittar du [här](https://github.com/graphprotoc Om en subgraf synkroniseras framgångsrikt är det ett gott tecken på att den kommer att fortsätta att fungera bra för alltid. Nya triggers i nätverket kan dock göra att din subgraf stöter på ett otestat feltillstånd eller så kan den börja halka efter på grund av prestandaproblem eller problem med nodoperatörerna. -Graf Nod visar en graphql-slutpunkt som du kan fråga för att kontrollera statusen för din subgraf. På värdtjänsten är den tillgänglig på `https://api.thegraph.com/index-node/graphql`. På en lokal nod är den tillgänglig på port `8030/graphql` som standard. Det fullständiga schemat för denna slutpunkt finns [här](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Här är ett exempel på en fråga som kontrollerar statusen för den aktuella versionen av en subgraf: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -270,17 +270,17 @@ Graf Nod visar en graphql-slutpunkt som du kan fråga för att kontrollera statu } ``` -Detta kommer att ge dig `chainHeadBlock` som du kan jämföra med `latestBlock` på din subgraf för att kontrollera om den körs efter. `synced` informerar om subgrafen någonsin har kommit ikapp kedjan. `health` kan för närvarande ta värdena `healthy` om inga fel inträffade, eller `failed` om det fanns ett fel som stoppade subgrafens framsteg. I det här fallet kan du kontrollera fältet `fatalError` för detaljer om detta fel. +Detta kommer att ge dig `chainHeadBlock` som du kan jämföra med `latestBlock` på din subgraf för att kontrollera om den körs efter. ` synced ` informerar om subgrafen någonsin har kommit ikapp kedjan. `health` kan för närvarande ta värdena `healthy` om inga fel inträffade, eller `failed` om det fanns ett fel som stoppade subgrafens framsteg. I det här fallet kan du kontrollera fältet `fatalError` för detaljer om detta fel. ## Policy för arkivering av undergrafer för värdtjänster -Värdtjänsten är en kostnadsfri Graf Nod Indexer. Utvecklare kan distribuera undergrafer som indexerar en rad nätverk, som kommer att indexeras och göras tillgängliga för frågor via graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -För att förbättra tjänstens prestanda för aktiva undergrafer kommer värddatatjänsten att arkivera undergrafer som är inaktiva. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**En undergraf definieras som "inaktiv" om den distribuerades till värdtjänsten för mer än 45 dagar sedan och om den har fått 0 förfrågningar under de senaste 45 dagarna.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Utvecklare kommer att meddelas via e-post om en av deras subgrafer har markerats som inaktiv 7 dagar innan den tas bort. Om de vill "aktivera" sin subgraf kan de göra det genom att ställa en fråga i sin subgrafs Hosted Service graphQL playground. Utvecklare kan alltid omplacera en arkiverad undergraf om den behövs igen. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Subgraph Studio subgraf arkivpolitik From 35cfc10f9ad68dce5a6e5f964021ae668ba1697f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:40 -0400 Subject: [PATCH 0193/2326] New translations deploying-a-subgraph-to-hosted.mdx (Turkish) --- .../deploying-a-subgraph-to-hosted.mdx | 122 +++++++++--------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/website/pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx index a10ee956bc14..80976ac5c3c5 100644 --- a/website/pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,75 +2,75 @@ title: Barındırılan Hizmet Üzerinde Subgraph Oluşturun --- -> Barındırılan hizmette bir ağ desteklenmiyorsa, indekslemek için kendi [graph-node](https://github.com/graphprotocol/graph-node)'unuzu çalıştırabilirsiniz. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -Bu sayfada barındırılan hizmete bir subgraph'in nasıl deploy edileceği açıklanmaktadır. Bir subgraph'ı deploy etmek için önce [Graph CLI](https://github.com/graphprotocol/graph-cli)'ı yüklemeniz gerekir. Henüz bir subgraph oluşturmadıysanız [subgraph oluşturma](/developing/creating-a-subgraph) kısmına bir göz atın. +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Bir barındırılan hizmet hesabı oluşturun +## Create a hosted service account -Barındırılan hizmeti kullanmadan önce, barındırılan hizmetimizde bir hesap oluşturun. Bunun için bir [Github](https://github.com/) hesabına ihtiyacınız olacak; Eğer sahip değilseniz, önce onu oluşturmanız gerekir. Ardından, [Hosted Service](https://thegraph.com/hosted-service/)'e gidin, _'Github ile Kaydolun'_ düğmesine tıklayın ve Github'ın yetkilendirme akışını tamamlayın. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. -## Erişim Belirtecinizi Saklayın +## Store the Access Token -Bir hesap oluşturduktan sonra, [dashboard](https://thegraph.com/hosted-service/dashboard)'unuza gidin. Dashboard üzerinde görüntülenen erişim belirtecini kopyalayın ve `graph auth --product hosted-service `'yi çalıştırın. Bu, erişim belirtecini bilgisayarınızda saklayacaktır. Bunu yalnızca bir kez veya erişim belirtecini yeniden oluşturursanız yapmanız gerekir. +After creating an account, navigate to your [dashboard](https://thegraph.com/hosted-service/dashboard). Copy the access token displayed on the dashboard and run `graph auth --product hosted-service `. This will store the access token on your computer. You only need to do this once, or if you ever regenerate the access token. -## Barındırılan Hizmet Üzerinde Subgraph Oluşturun +## Create a Subgraph on the hosted service -Subgraph deploy etmeden önce, onu Graph Explorer'da oluşturmanız gerekir. [dashboard](https://thegraph.com/hosted-service/dashboard)'e gidin ve _'Subgraph Ekle'_ düğmesini tıklayın ve aşağıdaki bilgileri uygun şekilde doldurun: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: -**Resim** - Subgraph için önizleme resmi ve küçük resmi olarak kullanılacak bir resim seçin. +**Image** - Select an image to be used as a preview image and thumbnail for the subgraph. -**Subgraph Adı** - Subgraph'in altında oluşturulduğu hesap adıyla birlikte bu, dağıtımlar ve GraphQL uç noktaları için kullanılan `account-name/subgraph-name` stili adı da tanımlar. _Bu alan daha sonra değiştirilemez._ +**Subgraph Name** - Together with the account name that the subgraph is created under, this will also define the `account-name/subgraph-name`-style name used for deployments and GraphQL endpoints. _This field cannot be changed later._ -**Hesap** - Subgraph'in altında oluşturulduğu hesap. Bu, bir kişinin veya kuruluşun hesabı olabilir. _Subgraph'ler daha sonra hesaplar arasında taşınamaz._ +**Account** - The account that the subgraph is created under. This can be the account of an individual or organization. _Subgraphs cannot be moved between accounts later._ -**Altyazı** -Subgraph kartlarında görünecek metin. +**Subtitle** - Text that will appear in subgraph cards. -**Açıklama** - Subgraph'in açıklaması, subgraph ayrıntıları sayfasında görünür. +**Description** - Description of the subgraph, visible on the subgraph details page. -**GitHub URL** - GitHub'daki subgraph deposuna bağlantı. +**GitHub URL** - Link to the subgraph repository on GitHub. -**Gizle** - Bunu açmak, Graph Gezgini'ndeki subgraph'i gizler. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -Yeni subgraph'i kaydettikten sonra, Graph CLI'yi nasıl kuracağınız, yeni bir subgraph için yapı iskelesini nasıl oluşturacağınız ve subgraph'inizi nasıl deploy edeceğiniz konusunda yardım içeren bir ekran gösterilir. İlk iki adım [Bir Subgraph Tanımlama bölümünde](/developing/defining-a-subgraph) ele alındı. +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Barındırılan Hizmette Bir Subgraph Deploy Edin +## Deploy a Subgraph on the hosted service -Subgraph'inizi deploy etmek, `yarn build` ile oluşturduğunuz subgraph dosyalarını IPFS'ye yükleyecek ve Graph Gezgini'ne bu dosyaları kullanarak subgraph'inizi indekslemeye başlamasını söyleyecektir. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. -`yarn deploy`'ı çalıştırarak subgraph'i deploy edersiniz +You deploy the subgraph by running `yarn deploy` -Subgraph'i deploy ettikten sonra, Graph Gezgini, subgraph'inizin senkronizasyon durumunu göstermeye geçiş yapacaktır. Genesis bloğundan başlayarak geçmiş bloklardan çıkarılması gereken veri miktarına ve etkinlik sayısına bağlı olarak senkronizasyon birkaç dakikadan birkaç saate kadar sürebilir. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. -Graph node'u tarihsel bloklardan tüm verileri çıkardıktan sonra subgraph durumu `Synced`'e geçer. Graph node'u, bu bloklar çıkarılırken subgraph'iniz için blokları incelemeye devam edecektir. +The subgraph status switches to `Synced` once the Graph Node has extracted all data from historical blocks. The Graph Node will continue inspecting blocks for your subgraph as these blocks are mined. -## Bir Subgraph'i Yeniden Deploy Etmek +## Redeploying a Subgraph -Örneğin varlık eşlemelerindeki bir sorunu düzeltmek için subgraph tanımınızda değişiklik yaparken, subgraph'inizin güncellenmiş sürümünü deploy etmek için yukarıdaki `yarn deploy` komutunu tekrar çalıştırın. Bir subgraph'in herhangi bir güncellemesi, Graph node'unun yine genesis bloğundan başlayarak tüm subgraph'inizi yeniden indekslemesi gerektirir. +When making changes to your subgraph definition, for example, to fix a problem in the entity mappings, run the `yarn deploy` command above again to deploy the updated version of your subgraph. Any update of a subgraph requires that Graph Node reindexes your entire subgraph, again starting with the genesis block. -Önceden deploy edilen subgraph'iniz hala `Syncing` durumundaysa, hemen yeni deploy edilen sürümle değiştirilecektir. Daha önce deploy edilen subgraph zaten tam olarak senkronize edilmişse, Graph node'u yeni deploy edilen sürümü `Pending Version` olarak işaretler, arka planda senkronize eder ve yalnızca yeni sürümün senkronizasyonu bittiğinde mevcut deploy edilen sürümü yenisiyle değiştirir. Bu, yeni sürüm eşitlenirken üzerinde çalışabileceğiniz bir subgraph'inizin olmasını sağlar. +If your previously deployed subgraph is still in status `Syncing`, it will be immediately replaced with the newly deployed version. If the previously deployed subgraph is already fully synced, Graph Node will mark the newly deployed version as the `Pending Version`, sync it in the background, and only replace the currently deployed version with the new one once syncing the new version has finished. This ensures that you have a subgraph to work with while the new version is syncing. -## Subgraph'i birden çok ağa deploy etmek +## Deploying the subgraph to multiple networks -Bazı durumlarda, tüm kodunu çoğaltmadan aynı subgraph'i birden çok ağa deploy etmek isteyeceksiniz. Bununla birlikte gelen temel zorluk, bu ağlardaki sözleşme adreslerinin farklı olmasıdır. +In some cases, you will want to deploy the same subgraph to multiple networks without duplicating all of its code. The main challenge that comes with this is that the contract addresses on these networks are different. -### Graph-cli Kullanımı +### Using graph-cli -Hem `graph build` (`v0.29.0`'dan beri) hem de `graph deploy` (`v0.32.0`'dan beri) iki yeni seçeneği kabul eder: +Both `graph build` (since `v0.29.0`) and `graph deploy` (since `v0.32.0`) accept two new options: ```sh -Seçenekler: +Options: ... --network Network configuration to use from the networks config file --network-file Networks config file path (default: "./networks.json") ``` -Geliştirme sırasında subgraph'inizi kolayca güncellemek için bir `json` standart dosyasından (varsayılan olarak `networks.json`'dir) bir ağ yapılandırması belirtmek için `--network` seçeneğini kullanabilirsiniz. +You can use the `--network` option to specify a network configuration from a `json` standard file (defaults to `networks.json`) to easily update your subgraph during development. -**Not:** `init` komutu artık sağlanan bilgilere göre otomatik olarak bir `networks.json` oluşturacaktır. Ardından mevcut ağları güncelleyebilir veya ek ağlar ekleyebilirsiniz. +**Note:** The `init` command will now auto-generate a `networks.json` based on the provided information. You will then be able to update existing or add additional networks. -Bir `networks.json` dosyanız yoksa, aşağıdaki yapıya sahip bir dosyayı el ile oluşturmanız gerekir: +If you don't have a `networks.json` file, you'll need to manually create one with the following structure: ```json { @@ -98,9 +98,9 @@ Bir `networks.json` dosyanız yoksa, aşağıdaki yapıya sahip bir dosyayı el } ``` -**Not:** Yapılandırma dosyasında herhangi bir `templates` (eğer varsa) belirtmeniz gerekmez, yalnızca `dataSources`'ü belirtmeniz gerekir. `subgraph.yaml` dosyasında bildirilen herhangi bir `templates` varsa, ağları otomatik olarak `--network` seçeneği ile belirtilene güncellenir. +**Note:** You don't have to specify any of the `templates` (if you have any) in the config file, only the `dataSources`. If there are any `templates` declared in the `subgraph.yaml` file, their network will be automatically updated to the one specified with the `--network` option. -Şimdi, subgraph'inizi `mainnet` ve `goerli` ağlarına deploy etmek istediğinizi varsayalım ve bu sizin `subgraph.yaml`'iniz: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `goerli` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -115,7 +115,7 @@ dataSources: kind: ethereum/events ``` -Ağ yapılandırma dosyanız şöyle görünmelidir: +This is what your networks config file should look like: ```json { @@ -132,7 +132,7 @@ Ağ yapılandırma dosyanız şöyle görünmelidir: } ``` -Artık aşağıdaki komutlardan birini çalıştırabiliriz: +Now we can run one of the following commands: ```sh # Using default networks.json file @@ -142,7 +142,7 @@ yarn build --network goerli yarn build --network goerli --network-file path/to/config ``` -`build` komutu, `subgraph.yaml` dosyanızı `goerli` yapılandırmasıyla güncelleyecek ve ardından subgraph'i yeniden derleyecektir. `subgraph.yaml` dosyanız artık şöyle görünmelidir: +The `build` command will update your `subgraph.yaml` with the `goerli` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... @@ -157,9 +157,9 @@ dataSources: kind: ethereum/events ``` -Artık `yarn deploy` için hazırsınız. +Now you are ready to `yarn deploy`. -**Note:** Daha önce de belirtildiği gibi, `graph-cli 0.32.0`'dan beri `yarn deploy`'u `--network` seçeneğiyle doğrudan çalıştırabilirsiniz: +**Note:** As mentioned earlier, since `graph-cli 0.32.0` you can directly run `yarn deploy` with the `--network` option: ```sh # Using default networks.json file @@ -169,11 +169,11 @@ yarn deploy --network goerli yarn deploy --network goerli --network-file path/to/config ``` -### subgraph.yaml şablonunu kullanma +### Using subgraph.yaml template -Sözleşme adresleri gibi yönleri parametreleştirmeye izin veren eski graph-cli sürümleri için bir çözüm, [Mustache](https://mustache.github.io/) veya [Handlebars](https://handlebarsjs.com/) gibi bir şablonlama sistemi kullanarak bunun parçalarını oluşturmaktır. +One solution for older graph-cli versions that allows to parameterize aspects like contract addresses is to generate parts of it using a templating system like [Mustache](https://mustache.github.io/) or [Handlebars](https://handlebarsjs.com/). -Bu yaklaşımı göstermek için, farklı sözleşme adresleri kullanılarak mainnet ve Goerli'ye bir subgraph'in deploy edilmesi gerektiğini varsayalım. Daha sonra, her ağ için adresleri sağlayan iki yapılandırma dosyası tanımlayabilirsiniz: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Goerli using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -182,7 +182,7 @@ Bu yaklaşımı göstermek için, farklı sözleşme adresleri kullanılarak mai } ``` -ve +and ```json { @@ -191,7 +191,7 @@ ve } ``` -Bununla birlikte, bildirimdeki ağ adını ve adreslerini `{{network}}` ve `{{address}}` değişken yer tutucularıyla değiştirir ve ve bildirimi örnek `subgraph.template.yaml` olarak yeniden adlandırın: +Along with that, you would substitute the network name and addresses in the manifest with variable placeholders `{{network}}` and `{{address}}` and rename the manifest to e.g. `subgraph.template.yaml`: ```yaml # ... @@ -208,7 +208,7 @@ dataSources: kind: ethereum/events ``` -Her iki ağa da bildirim oluşturmak için `package.json` dosyasına, `mustache` bağımlılığıyla birlikte iki ek komut ekleyebilirsiniz: +In order to generate a manifest to either network, you could add two additional commands to `package.json` along with a dependency on `mustache`: ```json { @@ -225,7 +225,7 @@ Her iki ağa da bildirim oluşturmak için `package.json` dosyasına, `mustache` } ``` -Bu subgraph'i mainnet veya Goerli için deploy etmek için şimdi aşağıdaki iki komuttan birini çalıştırmanız yeterlidir: +To deploy this subgraph for mainnet or Goerli you would now simply run one of the two following commands: ```sh # Mainnet: @@ -235,15 +235,15 @@ yarn prepare:mainnet && yarn deploy yarn prepare:goerli && yarn deploy ``` -Bunun çalışan bir örneğini [burada](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759) bulabilirsiniz. +A working example of this can be found [here](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). -**Not:** Bu yaklaşım, sözleşme adresleri ve ağ adlarından daha fazlasını değiştirmenin gerekli olduğu veya şablonlardan eşlemeler veya ABI'ler üretildiği daha karmaşık durumlara da uygulanabilir. +**Note:** This approach can also be applied to more complex situations, where it is necessary to substitute more than contract addresses and network names or where generating mappings or ABIs from templates as well. -## Subgraph Sağlığını Kontrol Etme +## Checking subgraph health -Bir subgraph başarılı bir şekilde eşitlenirse, bu, sonsuza kadar iyi çalışmaya devam edeceğine dair iyi bir işarettir. Bununla birlikte, ağdaki yeni tetikleyiciler, subgraph'inizin test edilmemiş bir hata durumuna düşmesine neden olabilir veya performans sorunları veya node operatörleriyle ilgili sorunlar nedeniyle geride kalmaya başlayabilir. +If a subgraph syncs successfully, that is a good sign that it will continue to run well forever. However, new triggers on the network might cause your subgraph to hit an untested error condition or it may start to fall behind due to performance issues or issues with the node operators. -Graph node'u, subgraph'inizin durumunu kontrol etmek için sorgulayabileceğiniz bir graphql bitiş noktası sunar. Barındırılan hizmette, `https://api.thegraph.com/index-node/graphql`'de kullanılabilir. Yerel bir node, varsayılan olarak `8030/graphql` bağlantı noktasında bulunur. Bu uç nokta için tam şema [burada](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql)'de bulunabilir. Aşağıda, bir subgraph'in geçerli sürümünün durumunu kontrol eden örnek bir sorgu verilmiştir: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -270,22 +270,22 @@ Graph node'u, subgraph'inizin durumunu kontrol etmek için sorgulayabileceğiniz } ``` -Bu size, geride olup olmadığını kontrol etmek için subgraph'inizdeki `latestBlock` ile karşılaştırabileceğiniz `chainHeadBlock`'u verecektir. `synced`, subgraph'in zincire yetişip yetişmediğini bildirir. `health`, şu anda hiçbir hata oluşmazsa `healthy`'nin veya subgraph'in ilerlemesini durduran bir hata varsa `failed`'ın değerlerini alabilir. Bu durumda, bu hatayla ilgili ayrıntılar için `fatalError` alanını kontrol edebilirsiniz. +This will give you the `chainHeadBlock` which you can compare with the `latestBlock` on your subgraph to check if it is running behind. `synced` informs if the subgraph has ever caught up to the chain. `health` can currently take the values of `healthy` if no errors occurred, or `failed` if there was an error which halted the progress of the subgraph. In this case, you can check the `fatalError` field for details on this error. -## Barındırılan Hizmet Subgraph Arşiv Politikası +## Hosted service subgraph archive policy -Barındırılan hizmet, ücretsiz bir Graph Node İndeksleyicisi'dir. Geliştiriciler, indekslenecek ve graphQL aracılığıyla sorgulanmak üzere hazır hale getirilecek bir dizi ağı indeksleyen subgraph'leri deploy edebilir. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -Etkin subgraph'ler için hizmetin performansını iyileştirmek amacıyla barındırılan hizmet, etkin olmayan subgraph'leri arşivleyecektir. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**Bir subgraph, barındırılan hizmete 45 günden daha uzun bir süre önce deploy edildiyse ve son 45 gün içinde 0 sorgu aldıysa "etkin değil" olarak tanımlanır.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Subgraph'lerinden biri kaldırılmadan 7 gün önce etkin değil olarak işaretlendiyse, geliştiriciler e-posta ile bilgilendirilecektir. Subgraph'ini "etkinleştirmek" isterlerse, bunu subgraph'inin barındırılan hizmet graphQL oyun alanında bir sorgu yaparak yapabilirler. Geliştiriciler, tekrar gerekirse arşivlenmiş bir subgraph'i her zaman yeniden deploy edilebilir. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. -## Subgraph Studio Subgraph Arşiv Politikası +## Subgraph Studio subgraph archive policy -Bir subgraph'in yeni bir sürümü deploy edildiğinde, önceki sürüm arşivlenir (graph node'u DB'inden silinir). Bu, yalnızca önceki sürüm Graph'ın merkeziyetsiz ağında yayınlanmadığında gerçekleşir. +When a new version of a subgraph is deployed, the previous version is archived (deleted from the graph-node DB). This only happens if the previous version is not published to The Graph's decentralized network. -Bir subgraph versiyonu 45 günden fazla sorgulanmadığında, o versiyon arşivlenir. +When a subgraph version isn’t queried for over 45 days, that version is archived. -Bu politikadan etkilenen her subgraph'in, söz konusu sürümü geri getirme seçeneği vardır. +Every subgraph affected with this policy has an option to bring the version in question back. From d23a7457494015eb49a252ec24d10a23e056df78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:41 -0400 Subject: [PATCH 0194/2326] New translations deploying-a-subgraph-to-hosted.mdx (Ukrainian) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx index 621f6321a0d4..422a2c73c7bf 100644 --- a/website/pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Deploying a Subgraph to the Hosted Service --- -> If a network is not supported on the Hosted Service, you can run your own [graph-node](https://github.com/graphprotocol/graph-node) to index it. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -This page explains how to deploy a subgraph to the Hosted Service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Create a Hosted Service account +## Create a hosted service account -Before using the Hosted Service, create an account in our Hosted Service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [Hosted Service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Store the Access Token After creating an account, navigate to your [dashboard](https://thegraph.com/hosted-service/dashboard). Copy the access token displayed on the dashboard and run `graph auth --product hosted-service `. This will store the access token on your computer. You only need to do this once, or if you ever regenerate the access token. -## Create a Subgraph on the Hosted Service +## Create a Subgraph on the hosted service -Before deploying the subgraph, you need to create it in The Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _'Add Subgraph'_ button and fill in the information below as appropriate: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Select an image to be used as a preview image and thumbnail for the subgraph. @@ -30,17 +30,17 @@ Before deploying the subgraph, you need to create it in The Graph Explorer. Go t **GitHub URL** - Link to the subgraph repository on GitHub. -**Hide** - Switching this on hides the subgraph in the Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Defining a Subgraph section](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Deploy a Subgraph on the Hosted Service +## Deploy a Subgraph on the hosted service -Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell the Graph Explorer to start indexing your subgraph using these files. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. You deploy the subgraph by running `yarn deploy` -After deploying the subgraph, the Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. The subgraph status switches to `Synced` once the Graph Node has extracted all data from historical blocks. The Graph Node will continue inspecting blocks for your subgraph as these blocks are mined. @@ -243,7 +243,7 @@ A working example of this can be found [here](https://github.com/graphprotocol/e If a subgraph syncs successfully, that is a good sign that it will continue to run well forever. However, new triggers on the network might cause your subgraph to hit an untested error condition or it may start to fall behind due to performance issues or issues with the node operators. -Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the Hosted Service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ This will give you the `chainHeadBlock` which you can compare with the `latestBl ## Hosted service subgraph archive policy -The Hosted Service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -To improve the performance of the service for active subgraphs, the Hosted Service will archive subgraphs that are inactive. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**A subgraph is defined as "inactive" if it was deployed to the Hosted Service more than 45 days ago, and if it has received 0 queries in the last 45 days.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's Hosted Service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Subgraph Studio subgraph archive policy From cf05536e9e2e34f57be056326f0e6ec1c096a3b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:42 -0400 Subject: [PATCH 0195/2326] New translations deploying-a-subgraph-to-hosted.mdx (Chinese Simplified) --- .../deploying-a-subgraph-to-hosted.mdx | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/website/pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx index ba8ae0f97b38..76deae1c9d0b 100644 --- a/website/pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: 将子图部署到托管服务上 --- -> 如果托管服务上不支持某网络,您可以运行自己的[graph 节点](https://github.com/graphprotocol/graph-node)对其进行索引。 +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -本页介绍如何将子图部署到托管服务。要部署子图,需要首先安装[Graph CLI](https://github.com/graphprotocol/graph-cli)。如果尚未创建子图,请参见[创建子图](/developing/creating-a-subgraph)。 +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## 创建托管服务账户 +## Create a hosted service account -在使用托管服务之前,在我们的托管服务中创建一个账户。您将需要一个 [Github 账户](https://github.com/); 如果您没有账户,则需要首先创建该账户。然后,导航到 [托管服务](https://thegraph.com/hosted-service/),单击*“ 注册Github”*按钮,完成 Github 的授权流程。 +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## 存储访问令牌 创建帐户后,导航到您的 [仪表板](https://thegraph.com/hosted-service/dashboard)。 复制仪表板上显示的访问令牌并运行 `graph auth --product hosted-service `。 这会将访问令牌存储在您的计算机上。 如果您不需要重新生成访问令牌,您就只需要这样做一次。 -## 在托管服务上创建子图 +## Create a Subgraph on the hosted service -在部署子图之前,您需要在 Graph 浏览器中创建它。 转到 [dashboard](https://thegraph.com/hosted-service/dashboard) ,单击 _'Add Subgraph'_ 按钮,并根据需要填写以下信息: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - 选择要用作子图的预览图和缩略图的图像。 @@ -30,19 +30,19 @@ title: 将子图部署到托管服务上 **GitHub URL** - 存储在 GitHub 上的子图代码的链接。 -**Hide** - 打开此选项可隐藏 Graph浏览器中的子图。 +**Hide** - Switching this on hides the subgraph in Graph Explorer. -在保存新的子图之后,将显示一个屏幕,其中有关于如何安装 Graph CLI、如何为新的子图生成脚手架以及如何部署子图的帮助。前两个步骤在[定义子图](/developing/defining-a-subgraph)章节中介绍。 +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## 在托管服务上部署子图 +## Deploy a Subgraph on the hosted service -一旦部署您的子图,您使用`yarn build` 命令构建的子图文件将被上传到 IPFS,并告诉 Graph浏览器开始使用这些文件索引您的子图。 +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. 您可以通过运行 `yarn deploy`来部署子图。 -部署子图后,Graph浏览器将切换到显示子图的同步状态。根据需要从历史区块中提取的数据量和事件数量,从genesis区块开始,同步可能需要几分钟到几个小时。 +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. -一旦Graph节点从历史区块中提取了所有数据,子图状态就会切换到`Synced`。在挖掘这些区块时,Graph节点将继续检查子图的区块。 +一旦Graph节点从历史区块中提取了所有数据,子图状态就会切换到` Synced `。在挖掘这些区块时,Graph节点将继续检查子图的区块。 ## 重新部署子图 @@ -244,7 +244,7 @@ yarn prepare:goerli && yarn deploy 如果子图成功同步,这是一个好信号,表明它将永远运行良好。然而,网络上的新触发器可能会导致子图遇到未经测试的错误条件,或者由于性能问题或节点操作符的问题,子图开始落后。 -子图节点公开了一个 Graphql 端点,您可以查询该端点来检查子图的状态。在“托管服务”上,可以在 `https://api.thegraph.com/index-node/graphql` 上使用。在本地节点上,默认情况下它在端口`8030/Graphql` 上可用。这个端点的完整模式可以在[这里](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql)找到。下面是一个检查子图当前版本状态的查询示例: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -275,13 +275,13 @@ yarn prepare:goerli && yarn deploy ## 托管服务子图封存策略 -托管服务是一个免费的Graph节点索引人。开发人员可以部署子图索引一系列网络,这些网络将被索引,并可以通过 GraphQL 进行查询。 +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -为了提高活动子图服务的性能,托管服务将对不活跃子图进行封存。 +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**如果子图在45天前被部署到托管服务,并且在过去的45天内没有收到查询,则该子图被定义为“不活跃”。** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -如果他们的子图之一已被标记为不活跃,在将被删除的7天前,将通过电子邮件通知开发人员。如果他们希望“激活”他们的子图,他们可以通过在其子图的托管服务图形 graphQL playground中进行查询来实现。如果需要的话,开发人员能重新部署已封存子图。 +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## 子图工作室子图封存策略 From 63a947cca7e434c7692997448a328dde6a139af1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:43 -0400 Subject: [PATCH 0196/2326] New translations deploying-a-subgraph-to-hosted.mdx (Urdu (Pakistan)) --- .../deploying-a-subgraph-to-hosted.mdx | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx index e4b3f587760d..6f86f1f74241 100644 --- a/website/pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,25 +2,25 @@ title: سب گراف کو ہوسٹڈ سروس پر تعینات کرنا --- -> اگر کوئی نیٹ ورک ہوسٹڈ سروس پر تعاون یافتہ نہیں ہے، تو آپ اسے انڈیکس کرنے کے لیے اپنا اپنا [گراف-نوڈ](https://github.com/graphprotocol/graph-node) چلا سکتے ہیں. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -یہ صفحہ بتاتا ہے کہ ہوسٹڈ سروس میں سب گراف کو کیسے تعینات کیا جائے۔ سب گراف کو تعینات کرنے کے لیے آپ کو پہلے [Graph CLI](https://github.com/graphprotocol/graph-cli) کو انسٹال کرنا ہوگا۔ اگر آپ نے پہلے سے سب گراف نہیں بنایا ہے تو دیکھیں [سب گراف بنانا](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## ہوسٹڈ سروس اکاؤنٹ بنائیں +## Create a hosted service account -ہوسٹڈ سروس استعمال کرنے سے پہلے، ہماری ہوسٹڈ سروس میں ایک اکاؤنٹ بنائیں۔ اس کے لیے آپ کو ایک [گٹ ہب](https://github.com/) اکاؤنٹ کی ضرورت ہوگی۔ اگر آپ کے پاس نہیں ہے تو آپ کو پہلے اسے بنانے کی ضرورت ہے۔ پھر، [ہوسٹڈ سروس](https://thegraph.com/hosted-service/) پر جائیں، *'گٹ ہب کے ساتھ سائن اپ کریں' پر کلک کریں۔ *بٹن، اور گٹ ہب کی اجازت کے بہاؤ کو مکمل کریں. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## ایکسیس ٹوکن سٹور کریں اکاؤنٹ بنانے کے بعد، اپنے [ڈیش بورڈ](https://thegraph.com/hosted-service/dashboard) پر جائیں۔ ڈیش بورڈ پر دکھائے گئے رسائی ٹوکن کو کاپی کریں اور `graph auth --product hosted-service ` چلائیں۔ یہ ایکسیس ٹوکن کو آپ کے کمپیوٹر پر محفوظ کر دے گا۔ آپ کو یہ صرف ایک بار کرنے کی ضرورت ہے، یا اگر آپ کبھی ایکسیس ٹوکن کو دوبارہ تخلیق کرتے ہیں. -## ہوسٹڈ سروس پر سب گراف بنائیں +## Create a Subgraph on the hosted service -سب گراف کو تعینات کرنے سے پہلے، آپ کو اسے گراف ایکسپلورر میں بنانا ہوگا۔ [ڈیش بورڈ](https://thegraph.com/hosted-service/dashboard) پر جائیں اور _'سب گراف شامل کریں'_ پر کلک کریں۔ بٹن دبائیں اور نیچے دی گئی معلومات کو مناسب طریقے سے بھریں: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **تصویر** - سب گراف کے لیے پیش نظارہ تصویر اور تھمب نیل کے طور پر استعمال کرنے کے لیے ایک تصویر منتخب کریں. -**سب گراف کا نام** - اکاؤنٹ کے نام کے ساتھ جس کے تحت سب گراف بنایا گیا ہے، یہ `account-name/subgraph-name`-سٹائل نام کی بھی وضاحت کرے گا جو تعیناتیوں اور گراف کیو ایل اینڈ پوائنٹس کے لیے استعمال ہوتا ہے۔ _اس فیلڈ کو بعد میں تبدیل نہیں کیا جاسکتا۔_ +**سب گراف کا نام** - اکاؤنٹ کے نام کے ساتھ جس کے تحت سب گراف بنایا گیا ہے، یہ `account-name/subgraph-name`-سٹائل نام کی بھی وضاحت کرے گا جو تعیناتیوں اور گراف کیو ایل اینڈ پوائنٹس کے لیے استعمال ہوتا ہے۔ _اس فیلڈ کو بعد میں تبدیل نہیں کیا جاسکتا۔_ **اکاونٹ** - وہ اکاؤنٹ جس کے تحت سب گراف بنایا گیا ہے۔ یہ کسی فرد یا تنظیم کا اکاؤنٹ ہو سکتا ہے۔ _سب گرافس کو بعد میں اکاؤنٹس کے درمیان منتقل نہیں کیا جا سکتا۔_ @@ -30,17 +30,17 @@ title: سب گراف کو ہوسٹڈ سروس پر تعینات کرنا **گٹ ہب URL** - گٹ ہب پر سب گراف ریپوزٹری سے لنک کریں. -**چھپائیں** - اسے آن کرنے سے گراف ایکسپلورر میں سب گراف چھپا جاتا ہے. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -نیا سب گراف محفوظ کرنے کے بعد، آپ کو گراف CLI کو انسٹال کرنے، نئے سب گراف کے لیے سہاروں کو کیسے تیار کیا جائے، اور اپنے سب گراف کو کیسے تعینات کیا جائے اس بارے میں مدد کے ساتھ ایک اسکرین دکھائی جاتی ہے۔ پہلے دو مراحل کا احاطہ [سب گراف سیکشن کی تعریف](/developing/defining-a-subgraph) میں کیا گیا تھا. +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## ہوسٹڈ سروس پر سب گراف تعینات کریں +## Deploy a Subgraph on the hosted service -آپ کے سب گراف کو تعینات کرنے سے وہ سب گراف فائلیں اپ لوڈ ہو جائیں گی جو آپ نے `yarn build` کے ساتھ آئی پی ایف ایس میں بنائی ہیں اور گراف ایکسپلورر کو کہیں گے کہ وہ ان فائلوں کو استعمال کرتے ہوئے اپنے سب گراف کو انڈیکس کرنا شروع کرے. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. آپ `yarn deploy` چلا کر سب گراف کو تعینات کرتے ہیں -سب گراف کی تعیناتی کے بعد، گراف ایکسپلورر آپ کے سب گراف کی مطابقت پذیری کی حیثیت کو دکھانے کے لیے سوئچ کر دے گا۔ ڈیٹا کی مقدار اور واقعات کی تعداد پر منحصر ہے جنہیں تاریخی بلاکس سے نکالنے کی ضرورت ہے، جینیسس بلاک سے شروع کرتے ہوئے، مطابقت پذیری میں چند منٹ سے کئی گھنٹے لگ سکتے ہیں. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. ایک بار جب گراف نوڈ تاریخی بلاکس سے تمام ڈیٹا نکال لیتا ہے تو سب گراف کی حیثیت `Synced` میں بدل جاتی ہے۔ گراف نوڈ آپ کے سب گراف کے لیے بلاکس کا معائنہ کرتا رہے گا کیونکہ ان بلاکس کی کان کنی کی گئی ہے. @@ -48,7 +48,7 @@ title: سب گراف کو ہوسٹڈ سروس پر تعینات کرنا اپنے سب گراف کی تعریف میں تبدیلی کرتے وقت، مثال کے طور پر، ہستی میپنگ میں کسی مسئلے کو حل کرنے کے لیے، اپنے سب گراف کے اپ ڈیٹ شدہ ورژن کو تعینات کرنے کے لیے اوپر `yarn deploy` کمانڈ دوبارہ چلائیں۔ سب گراف کی کسی بھی اپڈیٹ کے لیے ضروری ہے کہ گراف نوڈ آپ کے پورے سب گراف کو دوبارہ ترتیب دے، دوبارہ جینیسس بلاک سے شروع ہو. -اگر آپ کا پہلے سے تعینات کردہ سب گراف اب بھی حالت میں ہے `Syncing`، تو اسے فوری طور پر نئے تعینات کردہ ورژن سے بدل دیا جائے گا۔ اگر پہلے سے تعینات کیا گیا سب گراف پہلے سے ہی مکمل طور پر مطابقت پذیر ہے، تو گراف نوڈ نئے تعینات شدہ ورژن کو `Pending Version` کے بطور نشان زد کرے گا، اسے بیک گراؤنڈ میں ہم آہنگ کرے گا، اور ایک بار مطابقت پذیر ہونے کے بعد صرف موجودہ تعینات کردہ ورژن کو نئے سے بدل دے گا۔ نیا ورژن ختم ہو گیا ہے. یہ یقینی بناتا ہے کہ نیا ورژن مطابقت پذیر ہونے کے دوران آپ کے پاس کام کرنے کے لیے ایک سب گراف موجود ہے. +اگر آپ کا پہلے سے تعینات کردہ سب گراف اب بھی حالت میں ہے ` Syncing `، تو اسے فوری طور پر نئے تعینات کردہ ورژن سے بدل دیا جائے گا۔ اگر پہلے سے تعینات کیا گیا سب گراف پہلے سے ہی مکمل طور پر مطابقت پذیر ہے، تو گراف نوڈ نئے تعینات شدہ ورژن کو ` Pending Version ` کے بطور نشان زد کرے گا، اسے بیک گراؤنڈ میں ہم آہنگ کرے گا، اور ایک بار مطابقت پذیر ہونے کے بعد صرف موجودہ تعینات کردہ ورژن کو نئے سے بدل دے گا۔ نیا ورژن ختم ہو گیا ہے. یہ یقینی بناتا ہے کہ نیا ورژن مطابقت پذیر ہونے کے دوران آپ کے پاس کام کرنے کے لیے ایک سب گراف موجود ہے. ## سب گراف کو متعدد نیٹ ورکس پر تعینات کرنا @@ -98,7 +98,7 @@ title: سب گراف کو ہوسٹڈ سروس پر تعینات کرنا } ``` -**نوٹ:** آپ کو تشکیل فائل میں کسی بھی `templates` (اگر آپ کے پاس کوئی ہے) کی وضاحت کرنے کی ضرورت نہیں ہے، صرف `dataSources`۔ اگر `subgraph.yaml` فائل میں کوئی بھی `templates` کا اعلان کیا گیا ہے، تو ان کا نیٹ ورک خود بخود `--network` اختیار کے ساتھ مخصوص کردہ سے اپ ڈیٹ ہوجائے گا. +**نوٹ:** آپ کو تشکیل فائل میں کسی بھی `templates` (اگر آپ کے پاس کوئی ہے) کی وضاحت کرنے کی ضرورت نہیں ہے، صرف ` dataSources `۔ اگر `subgraph.yaml` فائل میں کوئی بھی `templates` کا اعلان کیا گیا ہے، تو ان کا نیٹ ورک خود بخود `--network` اختیار کے ساتھ مخصوص کردہ سے اپ ڈیٹ ہوجائے گا. اب، فرض کریں کہ آپ اپنے سب گراف کو `mainnet` اور `goerli` نیٹ ورکس پر تعینات کرنے کے قابل ہونا چاہتے ہیں، اور یہ آپ کا `subgraph.yaml` ہے: @@ -208,7 +208,7 @@ dataSources: kind: ethereum/events ``` -کسی بھی نیٹ ورک پر مینی فیسٹ بنانے کے لیے، آپ `package.json` میں دو اضافی کمانڈز شامل کر سکتے ہیں اور ساتھ ہی `mustache` پر انحصار: +کسی بھی نیٹ ورک پر مینی فیسٹ بنانے کے لیے، آپ `package.json` میں دو اضافی کمانڈز شامل کر سکتے ہیں اور ساتھ ہی ` mustache ` پر انحصار: ```json { @@ -243,7 +243,7 @@ yarn prepare:goerli && yarn deploy اگر ایک سب گراف کامیابی کے ساتھ مطابقت پذیر ہوتا ہے، تو یہ ایک اچھی علامت ہے کہ یہ ہمیشہ کے لیے اچھی طرح چلتا رہے گا۔ تاہم، نیٹ ورک پر نئے محرکات آپ کے سب گراف کو بغیر جانچ کی خرابی کی حالت کو نشانہ بنا سکتے ہیں یا کارکردگی کے مسائل یا نوڈ آپریٹرز کے ساتھ مسائل کی وجہ سے یہ پیچھے پڑنا شروع کر سکتا ہے. -گراف نوڈ ایک GraphQL اختتامی نقطہ کو ظاہر کرتا ہے جس سے آپ اپنے سب گراف کی حیثیت کو چیک کرنے کے لیے کیوری کر سکتے ہیں۔ ہوسٹڈ سروس پر، یہ `https://api.thegraph.com/index-node/graphql` پر دستیاب ہے۔ مقامی نوڈ پر، یہ پورٹ `8030/graphql` پر بطور ڈیفالٹ دستیاب ہے۔ اس اختتامی نقطہ کے لیے مکمل اسکیما [یہاں](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql) پایا جا سکتا ہے. یہاں ایک مثالی کیوری ہے جو سب گراف کے موجودہ ورژن کی حیثیت کو چیک کرتا ہے: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ yarn prepare:goerli && yarn deploy ## ہوسٹڈ سروس سب گراف آرکائیو پالیسی -ہوسٹڈ سروس ایک مفت گراف نوڈ انڈیکسر ہے۔ ڈویلپرز نیٹ ورکس کی ایک رینج کو انڈیکس کرنے والے سب گرافس کو تعینات کر سکتے ہیں، جن کو انڈیکس کیا جاۓ گا، اور GraphQL کے ذریعے کیوری کے لیے دستیاب کرایا جائے گا. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -فعال سب گراف کے لیے سروس کی کارکردگی کو بہتر بنانے کے لیے، ہوسٹڈ سروس ان سب گرافس کو محفوظ کرے گی جو غیر فعال ہیں. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**ایک سب گراف کی تعریف "غیر فعال" کے طور پر کی جاتی ہے اگر اسے ہوسٹڈ سروس میں 45 دن سے زیادہ پہلے تعینات کیا گیا تھا، اور اگر اسے پچھلے 45 دنوں میں 0 کیوریز موصول ہوئے ہوں.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -ڈیولپرز کو ای میل کے ذریعے مطلع کیا جائے گا اگر ان کے سب گراف میں سے کسی کو ہٹانے سے 7 دن پہلے غیر فعال کے طور پر نشان زد کیا گیا ہو۔ اگر وہ اپنے سب گراف کو "فعال" کرنا چاہتے ہیں، تو وہ اپنے سب گراف کی ہوسٹڈ سروس گراف کیو ایل پلے گراؤنڈ میں کیوری کر کے ایسا کر سکتے ہیں۔ اگر دوبارہ ضرورت ہو تو ڈویلپرز ہمیشہ محفوظ شدہ سب گراف کو دوبارہ تعینات کر سکتے ہیں. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## سب گراف سٹوڈیو سب گراف آرکائیو پالیسی From 74a14bc0285789ed0bea56f7fe3625e38af5aa00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:44 -0400 Subject: [PATCH 0197/2326] New translations deploying-a-subgraph-to-hosted.mdx (Vietnamese) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx index 621f6321a0d4..422a2c73c7bf 100644 --- a/website/pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Deploying a Subgraph to the Hosted Service --- -> If a network is not supported on the Hosted Service, you can run your own [graph-node](https://github.com/graphprotocol/graph-node) to index it. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -This page explains how to deploy a subgraph to the Hosted Service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Create a Hosted Service account +## Create a hosted service account -Before using the Hosted Service, create an account in our Hosted Service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [Hosted Service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Store the Access Token After creating an account, navigate to your [dashboard](https://thegraph.com/hosted-service/dashboard). Copy the access token displayed on the dashboard and run `graph auth --product hosted-service `. This will store the access token on your computer. You only need to do this once, or if you ever regenerate the access token. -## Create a Subgraph on the Hosted Service +## Create a Subgraph on the hosted service -Before deploying the subgraph, you need to create it in The Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _'Add Subgraph'_ button and fill in the information below as appropriate: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Select an image to be used as a preview image and thumbnail for the subgraph. @@ -30,17 +30,17 @@ Before deploying the subgraph, you need to create it in The Graph Explorer. Go t **GitHub URL** - Link to the subgraph repository on GitHub. -**Hide** - Switching this on hides the subgraph in the Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Defining a Subgraph section](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Deploy a Subgraph on the Hosted Service +## Deploy a Subgraph on the hosted service -Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell the Graph Explorer to start indexing your subgraph using these files. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. You deploy the subgraph by running `yarn deploy` -After deploying the subgraph, the Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. The subgraph status switches to `Synced` once the Graph Node has extracted all data from historical blocks. The Graph Node will continue inspecting blocks for your subgraph as these blocks are mined. @@ -243,7 +243,7 @@ A working example of this can be found [here](https://github.com/graphprotocol/e If a subgraph syncs successfully, that is a good sign that it will continue to run well forever. However, new triggers on the network might cause your subgraph to hit an untested error condition or it may start to fall behind due to performance issues or issues with the node operators. -Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the Hosted Service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ This will give you the `chainHeadBlock` which you can compare with the `latestBl ## Hosted service subgraph archive policy -The Hosted Service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -To improve the performance of the service for active subgraphs, the Hosted Service will archive subgraphs that are inactive. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**A subgraph is defined as "inactive" if it was deployed to the Hosted Service more than 45 days ago, and if it has received 0 queries in the last 45 days.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's Hosted Service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Subgraph Studio subgraph archive policy From 9521c71da7569e38327ff1700e07ea88f78f4ee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:45 -0400 Subject: [PATCH 0198/2326] New translations deploying-a-subgraph-to-hosted.mdx (Marathi) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx index ef5d4a07489c..d1131a2ae454 100644 --- a/website/pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: होस्ट केलेल्या सेवेसाठी सबग्राफ तैनात करणे --- -> होस्ट केलेल्या सेवेवर नेटवर्क समर्थित नसल्यास, तुम्ही ते अनुक्रमित करण्यासाठी तुमचे स्वतःचे [graph-node](https://github.com/graphprotocol/graph-node) चालवू शकता. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -होस्ट केलेल्या सेवेसाठी सबग्राफ कसा उपयोजित करायचा हे हे पृष्ठ स्पष्ट करते. सबग्राफ उपयोजित करण्यासाठी तुम्हाला प्रथम [ग्राफ CLI](https://github.com/graphprotocol/graph-cli) स्थापित करणे आवश्यक आहे. जर तुम्ही आधीच सबग्राफ तयार केला नसेल, तर [सबग्राफ तयार करणे](/developing/creating-a-subgraph) पहा. +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## होस्ट केलेले सेवा खाते तयार करा +## Create a hosted service account -होस्ट केलेली सेवा वापरण्यापूर्वी, आमच्या होस्ट केलेल्या सेवेमध्ये खाते तयार करा. त्यासाठी तुम्हाला [Github](https://github.com/) खात्याची आवश्यकता असेल; जर तुमच्याकडे नसेल, तर तुम्हाला ते प्रथम तयार करावे लागेल. त्यानंतर, [होस्टेड सर्व्हिस](https://thegraph.com/hosted-service/) वर नेव्हिगेट करा, *'Github सह साइन अप करा' वर क्लिक करा *बटण, आणि Github चा अधिकृतता प्रवाह पूर्ण करा. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## प्रवेश टोकन साठवा खाते तयार केल्यानंतर, तुमच्या [डॅशबोर्ड](https://thegraph.com/hosted-service/dashboard) वर नेव्हिगेट करा. डॅशबोर्डवर प्रदर्शित केलेले प्रवेश टोकन कॉपी करा आणि `graph auth --product hosted-service ` चालवा. हे आपल्या संगणकावर प्रवेश टोकन संचयित करेल. तुम्हाला हे फक्त एकदाच करावे लागेल, किंवा तुम्ही कधीही ऍक्सेस टोकन पुन्हा निर्माण केल्यास. -## होस्ट केलेल्या सेवेवर सबग्राफ तयार करा +## Create a Subgraph on the hosted service -सबग्राफ उपयोजित करण्यापूर्वी, तुम्हाला तो ग्राफ एक्सप्लोररमध्ये तयार करणे आवश्यक आहे. [डॅशबोर्ड](https://thegraph.com/hosted-service/dashboard) वर जा आणि _'सबग्राफ जोडा'_ वर क्लिक करा बटण दाबा आणि योग्य ती माहिती भरा: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **प्रतिमा** - पूर्वावलोकन प्रतिमा आणि सबग्राफसाठी लघुप्रतिमा म्हणून वापरण्यासाठी प्रतिमा निवडा. @@ -30,17 +30,17 @@ title: होस्ट केलेल्या सेवेसाठी सब **GitHub URL** - GitHub वरील सबग्राफ रेपॉजिटरीशी लिंक. -**लपवा** - हे चालू केल्याने ग्राफ एक्सप्लोररमधील सबग्राफ लपविला जातो. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -नवीन सबग्राफ सेव्ह केल्यानंतर, तुम्हाला ग्राफ सीएलआय कसा स्थापित करायचा, नवीन सबग्राफसाठी मचान कसा तयार करायचा आणि तुमचा सबग्राफ कसा उपयोजित करायचा यावरील मदतीसह स्क्रीन दर्शविली जाते. पहिल्या दोन चरणांचा समावेश [सबग्राफ विभाग परिभाषित करणे](/developing/defining-a-subgraph) मध्ये केला होता. +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## होस्ट केलेल्या सेवेवर सबग्राफ तैनात करा +## Deploy a Subgraph on the hosted service -तुमचा सबग्राफ उपयोजित केल्याने तुम्ही `यार्न बिल्ड` सह तयार केलेल्या सबग्राफ फाइल्स IPFS वर अपलोड केल्या जातील आणि ग्राफ एक्सप्लोररला या फाइल्स वापरून तुमचा सबग्राफ अनुक्रमित करण्यास सुरुवात करण्यास सांगेल. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. तुम्ही `यार्न डिप्लॉय` चालवून सबग्राफ उपयोजित करता -सबग्राफ उपयोजित केल्यानंतर, ग्राफ एक्सप्लोरर तुमच्या सबग्राफची सिंक्रोनायझेशन स्थिती दर्शवण्यासाठी स्विच करेल. जेनेसिस ब्लॉकपासून सुरुवात करून, ऐतिहासिक ब्लॉक्समधून किती डेटा आणि इव्हेंट काढण्याची आवश्यकता आहे यावर अवलंबून, सिंक होण्यास काही मिनिटांपासून कित्येक तास लागू शकतात. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. एकदा ग्राफ नोडने ऐतिहासिक ब्लॉक्समधून सर्व डेटा काढल्यानंतर सबग्राफ स्थिती `सिंक` वर स्विच होते. ग्राफ नोड तुमच्या सबग्राफसाठी ब्लॉक्सची तपासणी करणे सुरू ठेवेल कारण हे ब्लॉक्स खनन केले जातात. @@ -243,7 +243,7 @@ yarn prepare:goerli && yarn deploy जर सबग्राफ यशस्वीरित्या समक्रमित झाला, तर ते कायमचे चांगले चालत राहण्याचे चांगले चिन्ह आहे. तथापि, नेटवर्कवरील नवीन ट्रिगर्समुळे तुमच्या सबग्राफची चाचणी न केलेली त्रुटी स्थिती येऊ शकते किंवा कार्यप्रदर्शन समस्यांमुळे किंवा नोड ऑपरेटरमधील समस्यांमुळे ते मागे पडू शकते. -ग्राफ नोड एक graphql एंडपॉइंट उघड करतो जो तुम्ही तुमच्या सबग्राफची स्थिती तपासण्यासाठी क्वेरी करू शकता. होस्ट केलेल्या सेवेवर, ते `https://api.thegraph.com/index-node/graphql` वर उपलब्ध आहे. स्थानिक नोडवर, ते डीफॉल्टनुसार `8030/graphql` पोर्टवर उपलब्ध आहे. या एंडपॉइंटसाठी संपूर्ण स्कीमा [येथे](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql) आढळू शकते. येथे एक उदाहरण क्वेरी आहे जी सबग्राफच्या वर्तमान आवृत्तीची स्थिती तपासते: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ yarn prepare:goerli && yarn deploy ## होस्ट केलेले सेवा सबग्राफ संग्रहण धोरण -होस्ट केलेली सेवा एक विनामूल्य ग्राफ नोड इंडेक्सर आहे. डेव्हलपर नेटवर्कच्या श्रेणीचे अनुक्रमित करणारे सबग्राफ उपयोजित करू शकतात, जे अनुक्रमित केले जातील आणि graphQL द्वारे क्वेरीसाठी उपलब्ध केले जातील. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -सक्रिय सबग्राफसाठी सेवेचे कार्यप्रदर्शन सुधारण्यासाठी, होस्ट केलेली सेवा निष्क्रिय असलेले सबग्राफ संग्रहित करेल. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**सबग्राफ "निष्क्रिय" म्हणून परिभाषित केला जातो जर तो होस्ट केलेल्या सेवेमध्ये 45 दिवसांपेक्षा जास्त पूर्वी तैनात केला गेला असेल आणि जर त्याला गेल्या 45 दिवसांत 0 क्वेरी प्राप्त झाल्या असतील.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -विकसकांना ईमेलद्वारे सूचित केले जाईल जर त्यांच्या सबग्राफ्सपैकी एक काढून टाकण्याच्या 7 दिवस आधी निष्क्रिय म्हणून चिन्हांकित केले असेल. जर त्यांना त्यांचा सबग्राफ "सक्रिय" करायचा असेल, तर ते त्यांच्या सबग्राफच्या होस्ट केलेल्या सर्व्हिस ग्राफक्यूएल प्लेग्राउंडमध्ये क्वेरी करून तसे करू शकतात. पुन्हा आवश्यक असल्यास विकसक नेहमी संग्रहित सबग्राफ पुनर्नियुक्त करू शकतात. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## सबग्राफ स्टुडिओ सबग्राफ संग्रहण धोरण From a81ed8249148b559993630b9c4df3bac6057a4ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:46 -0400 Subject: [PATCH 0199/2326] New translations deploying-a-subgraph-to-hosted.mdx (Hindi) --- .../deploying-a-subgraph-to-hosted.mdx | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/website/pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx index 6d3eca9af3bf..3555413d9bf1 100644 --- a/website/pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: होस्ट की गई सेवा में एक सबग्राफ तैनात करना --- -> यदि होस्ट की गई सेवा पर नेटवर्क समर्थित नहीं है, तो आप इसे अनुक्रमित करने के लिए अपना स्वयं का [ग्राफ़-नोड](https://github.com/graphprotocol/graph-node) चला सकते हैं। +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -यह पृष्ठ बताता है कि होस्ट की गई सेवा में सबग्राफ कैसे तैनात किया जाए। एक सबग्राफ को तैनात करने के लिए आपको पहले [ग्राफ़ सीएलआई](https://github.com/graphprotocol/graph-cli) स्थापित करना होगा। यदि आपने पहले से सबग्राफ नहीं बनाया है, तो [सबग्राफ बनाना](/developing/creating-a-subgraph) देखें। +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## एक होस्टेड सेवा खाता बनाएँ +## Create a hosted service account -होस्टेड सेवा का उपयोग करने से पहले, हमारी होस्टेड सेवा में एक खाता बनाएं। उसके लिए आपको एक [Github](https://github.com/) खाते की आवश्यकता होगी; यदि आपके पास एक नहीं है, तो आपको पहले उसे बनाना होगा। फिर, [होस्टेड सेवा](https://thegraph.com/hosted-service/) पर जाएं, _'Sign up with Github' _ बटन पर क्लिक करें, और Github के प्राधिकरण प्रवाह को पूरा करें। +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## एक्सेस टोकन स्टोर करें खाता बनाने के बाद, अपने [डैशबोर्ड](https://thegraph.com/hosted-service/dashboard) पर नेविगेट करें। डैशबोर्ड पर प्रदर्शित एक्सेस टोकन को कॉपी करें और `ग्राफ़ ऑथ --प्रोडक्ट होस्टेड-सर्विस ` चलाएँ। यह आपके कंप्यूटर पर एक्सेस टोकन स्टोर करेगा। आपको केवल एक बार ऐसा करने की आवश्यकता है, या यदि आप कभी भी एक्सेस टोकन को पुन: उत्पन्न करते हैं। -## होस्टेड सेवा पर एक सबग्राफ बनाएं +## Create a Subgraph on the hosted service -सबग्राफ को तैनात करने से पहले, आपको इसे द ग्राफ़ एक्सप्लोरर में बनाना होगा। [डैशबोर्ड](https://thegraph.com/hosted-service/dashboard) पर जाएं और _'Add Subgraph'_ बटन पर क्लिक करें और नीचे उपयुक्त जानकारी भरें: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - प्रीव्यू इमेज और सबग्राफ के लिए थंबनेल के तौर पर इस्तेमाल करने के लिए इमेज चुनें। @@ -30,17 +30,17 @@ title: होस्ट की गई सेवा में एक सबग् **GitHub URL** - GitHub पर सबग्राफ रिपॉजिटरी का लिंक है। -**Hide** - इसे चालू करने से ग्राफ़ एक्सप्लोरर में सबग्राफ छिप जाता है। +**Hide** - Switching this on hides the subgraph in Graph Explorer. -नए सबग्राफ को सेव करने के बाद, आपको ग्राफ़ सीएलआई को कैसे स्थापित करना है, नए सबग्राफ के लिए मचान कैसे उत्पन्न करना है, और अपने सबग्राफ को कैसे तैनात करना है, इस पर मदद के साथ एक स्क्रीन दिखाई देगा। पहले दो चरणों को [Defining a Subgraph section](/Developing/defining-a-subgraph) में शामिल किया गया था। +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## होस्टेड सेवा पर एक सबग्राफ तैनात करें +## Deploy a Subgraph on the hosted service -आपके सबग्राफ को तैनात करने से वे सबग्राफ फाइलें अपलोड हो जाएंगी जिन्हें आपने `yarn build` के साथ IPFS में बनाया है और ग्राफ एक्सप्लोरर को इन फाइलों का उपयोग करके अपने सबग्राफ को इंडेक्स करना शुरू करने के लिए कहेंगे। +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. आप `yarn deploy` चलाकर सबग्राफ तैनात करते हैं -सबग्राफ को परिनियोजित करने के बाद, ग्राफ़ एक्सप्लोरर आपके सबग्राफ़ की सिंक्रनाइज़ेशन स्थिति दिखाने के लिए स्विच हो जाएगा। डेटा की मात्रा और घटनाओं की संख्या के आधार पर, जिन्हें ऐतिहासिक ब्लॉक से निकालने की आवश्यकता होती है, उत्पत्ति ब्लॉक से शुरू होकर, सिंकिंग में कुछ मिनट से लेकर कई घंटे लग सकते हैं। +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. वह सबग्राफ स्थिति पर स्विच करता है `Synced` एक बार ग्राफ़ नोड ने ऐतिहासिक ब्लॉकों से सभी डेटा निकाल लिए। ग्राफ़ नोड आपके सबग्राफ के लिए ब्लॉकों का निरीक्षण करना जारी रखेगा क्योंकि इन ब्लॉकों का खनन किया जाता है। @@ -98,9 +98,9 @@ Options: } ``` -**ध्यान दें:** कॉन्फ़िग फ़ाइल में आपको कोई `टेम्प्लेट` (यदि आपके पास है) निर्दिष्ट करने की आवश्यकता नहीं है, केवल `डेटा सोर्स`। यदि `subgraph.yaml` फ़ाइल में कोई `टेम्प्लेट` घोषित है, तो उनका नेटवर्क स्वचालित रूप से `--network` विकल्प के साथ निर्दिष्ट एक में अपडेट हो जाएगा. +**ध्यान दें:** कॉन्फ़िग फ़ाइल में आपको कोई `टेम्प्लेट` (यदि आपके पास है) निर्दिष्ट करने की आवश्यकता नहीं है, केवल ` डेटा सोर्स `। यदि `subgraph.yaml` फ़ाइल में कोई `टेम्प्लेट` घोषित है, तो उनका नेटवर्क स्वचालित रूप से `--network` विकल्प के साथ निर्दिष्ट एक में अपडेट हो जाएगा. -अब, मान लें कि आप अपने सबग्राफ को `mainnet` और `goerli` नेटवर्क पर तैनात करना चाहते हैं, और यह आपका `subgraph.yaml` है: +अब, मान लें कि आप अपने सबग्राफ को ` mainnet ` और `goerli` नेटवर्क पर तैनात करना चाहते हैं, और यह आपका `subgraph.yaml` है: ```yaml # ... @@ -159,7 +159,7 @@ dataSources: अब आप `yarn deploy` करने के लिए तैयार हैं| -**ध्यान दें:** जैसा कि पहले उल्लेख किया गया है, `graph-cli 0.32.0` के बाद से आप सीधे `yarn deploy` चला सकते हैं `--नेटवर्क` विकल्प के साथ: +**ध्यान दें:** जैसा कि पहले उल्लेख किया गया है, `graph-cli 0.32.0` के बाद से आप सीधे `yarn deploy` चला सकते हैं ` --नेटवर्क ` विकल्प के साथ: ```sh # Using default networks.json file @@ -243,7 +243,7 @@ yarn prepare:goerli && yarn deploy यदि एक सबग्राफ सफलतापूर्वक सिंक हो जाता है, तो यह एक अच्छा संकेत है कि यह हमेशा के लिए अच्छी तरह से चलता रहेगा। हालांकि, नेटवर्क पर नए ट्रिगर्स के कारण आपका सबग्राफ एक अनुपयोगी त्रुटि स्थिति में आ सकता है या यह प्रदर्शन समस्याओं या नोड ऑपरेटरों के साथ समस्याओं के कारण पीछे पड़ना शुरू हो सकता है। -ग्राफ़ नोड एक ग्राफ़क्यूएल एंडपॉइंट को उजागर करता है जिसे आप अपने सबग्राफ की स्थिति की जांच करने के लिए क्वेरी कर सकते हैं। होस्टेड सेवा पर, यह `https://api.thegraph.com/index-node/graphql` पर उपलब्ध है। स्थानीय नोड पर, यह डिफ़ॉल्ट रूप से `8030/graphql` पोर्ट पर उपलब्ध है। इस एंडपॉइंट के लिए पूरा स्कीमा [यहां](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql) पाया जा सकता है। यहां एक उदाहरण क्वेरी है जो सबग्राफ के वर्तमान संस्करण की स्थिति की जांच करती है: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ yarn prepare:goerli && yarn deploy ## होस्टेड सर्विस सबग्राफ आर्काइव नीति -होस्‍ट की गई सेवा एक नि: शुल्‍क ग्राफ नोड इंडेक्सेर है। डेवलपर्स नेटवर्क की एक श्रृंखला को इंडेक्स करने वाले सबग्राफ को तैनात कर सकते हैं, जिसे इंडेक्स किया जाएगा, और ग्राफ़क्यूएल के माध्यम से क्वेरी के लिए उपलब्ध कराया जाएगा। +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -सक्रिय सबग्राफ के लिए सेवा के प्रदर्शन को बेहतर बनाने के लिए, होस्टेड सेवा उन सबग्राफ को संग्रहीत करेगा जो निष्क्रिय हैं। +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**एक सबग्राफ को "निष्क्रिय" के रूप में परिभाषित किया गया है यदि इसे 45 दिनों से अधिक समय पहले होस्ट की गई सेवा में तैनात किया गया था, और यदि इसे पिछले 45 दिनों में 0 क्वेरी प्राप्त हुए हैं।** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -डेवलपर्स को ईमेल द्वारा सूचित किया जाएगा यदि उनके सबग्राफ को हटाए जाने से 7 दिन पहले निष्क्रिय के रूप में चिह्नित किया गया है। यदि वे अपने सबग्राफ को "सक्रिय" करना चाहते हैं, तो वे अपने सबग्राफ के होस्टेड सर्विस ग्राफक्यूएल प्लेग्राउंड में एक क्वेरी बनाकर ऐसा कर सकते हैं। यदि पुन: आवश्यकता हो तो डेवलपर्स हमेशा एक संग्रहीत सबग्राफ को फिर से तैनात कर सकते हैं। +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## सबग्राफ स्टूडियो सबग्राफ संग्रह नीति From 51ced0946f6e16cbb3f438a8dbc2034f9c8e82dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:47 -0400 Subject: [PATCH 0200/2326] New translations deploying-a-subgraph-to-hosted.mdx (Yoruba) --- .../deploying-a-subgraph-to-hosted.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx index 621f6321a0d4..422a2c73c7bf 100644 --- a/website/pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Deploying a Subgraph to the Hosted Service --- -> If a network is not supported on the Hosted Service, you can run your own [graph-node](https://github.com/graphprotocol/graph-node) to index it. +> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). -This page explains how to deploy a subgraph to the Hosted Service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). +This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). -## Create a Hosted Service account +## Create a hosted service account -Before using the Hosted Service, create an account in our Hosted Service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [Hosted Service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. +Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. ## Store the Access Token After creating an account, navigate to your [dashboard](https://thegraph.com/hosted-service/dashboard). Copy the access token displayed on the dashboard and run `graph auth --product hosted-service `. This will store the access token on your computer. You only need to do this once, or if you ever regenerate the access token. -## Create a Subgraph on the Hosted Service +## Create a Subgraph on the hosted service -Before deploying the subgraph, you need to create it in The Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _'Add Subgraph'_ button and fill in the information below as appropriate: +Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: **Image** - Select an image to be used as a preview image and thumbnail for the subgraph. @@ -30,17 +30,17 @@ Before deploying the subgraph, you need to create it in The Graph Explorer. Go t **GitHub URL** - Link to the subgraph repository on GitHub. -**Hide** - Switching this on hides the subgraph in the Graph Explorer. +**Hide** - Switching this on hides the subgraph in Graph Explorer. -After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Defining a Subgraph section](/developing/defining-a-subgraph). +After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). -## Deploy a Subgraph on the Hosted Service +## Deploy a Subgraph on the hosted service -Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell the Graph Explorer to start indexing your subgraph using these files. +Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. You deploy the subgraph by running `yarn deploy` -After deploying the subgraph, the Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. +After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. The subgraph status switches to `Synced` once the Graph Node has extracted all data from historical blocks. The Graph Node will continue inspecting blocks for your subgraph as these blocks are mined. @@ -243,7 +243,7 @@ A working example of this can be found [here](https://github.com/graphprotocol/e If a subgraph syncs successfully, that is a good sign that it will continue to run well forever. However, new triggers on the network might cause your subgraph to hit an untested error condition or it may start to fall behind due to performance issues or issues with the node operators. -Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the Hosted Service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: +Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: ```graphql { @@ -274,13 +274,13 @@ This will give you the `chainHeadBlock` which you can compare with the `latestBl ## Hosted service subgraph archive policy -The Hosted Service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. +The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. -To improve the performance of the service for active subgraphs, the Hosted Service will archive subgraphs that are inactive. +To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. -**A subgraph is defined as "inactive" if it was deployed to the Hosted Service more than 45 days ago, and if it has received 0 queries in the last 45 days.** +**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** -Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's Hosted Service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. +Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. ## Subgraph Studio subgraph archive policy From 481591b7453fad8a2fb604bc22ed38b583dfdda8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:48 -0400 Subject: [PATCH 0201/2326] New translations deploying-a-subgraph-to-studio.mdx (Romanian) --- .../ro/deploying/deploying-a-subgraph-to-studio.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ro/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/ro/deploying/deploying-a-subgraph-to-studio.mdx index d6f0f891c6cc..65902f1bb587 100644 --- a/website/pages/ro/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/ro/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Deploying a Subgraph to the Subgraph Studio +title: Deploying a Subgraph to Subgraph Studio --- > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -These are the steps to deploy your subgraph to the Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) -- Create your Subgraph in the Subgraph Studio +- Create your Subgraph in Subgraph Studio - Authenticate your account from the CLI -- Deploying a Subgraph to the Subgraph Studio +- Deploying a Subgraph to Subgraph Studio ## Installing Graph CLI -We are using the same CLI to deploy subgraphs to our [hosted service](https://thegraph.com/hosted-service/) and to the [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install graph-cli. This can be done using npm or yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Install with yarn:** From cf26f81c6f6a80ed8a8090601c771f9bc3e5d217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:48 -0400 Subject: [PATCH 0202/2326] New translations deploying-a-subgraph-to-studio.mdx (French) --- .../fr/deploying/deploying-a-subgraph-to-studio.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/fr/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/fr/deploying/deploying-a-subgraph-to-studio.mdx index cbd0370b3e08..4eed65015f92 100644 --- a/website/pages/fr/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/fr/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Déploiement d'un subgraphe dans le Studio Subgraph +title: Déploiement d'un subgraph dans Subgraph Studio --- > Découvrez comment vous pouvez déployer des subgraphs à taux non limité dans Subgraph Studio [ici](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -Voici les étapes à suivre pour déployer votre subgraph dans le Subgraph Studio : +These are the steps to deploy your subgraph to Subgraph Studio: - Faire l'installation de The Graph CLI (avec yarn ou npm) -- Créer votre sous-graphe dans le Subgraph Studio +- Créez votre subgraph dans Subgraph Studio - Authentifier votre compte à partir de l'interface CLI -- Déploiement d'un subgraph dans le Studio Subgraph +- Déploiement d'un subgraph dans Subgraph Studio ## Installation de Graph CLI -Nous utilisons la même CLI pour déployer des subgraphs vers notre [Service Hébergé](https://thegraph.com/hosted-service/) et le [Subgraph Studio](https://thegraph.com/studio/). Voici les commandes pour installer graph-cli. Ceci peut être fait en utilisant npm ou yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Installer avec yarn :** @@ -67,4 +67,4 @@ graph deploy --studio Après avoir exécuté cette commande, le CLI vous demandera un label de version, vous pouvez le nommer comme vous le souhaitez, vous pouvez utiliser des labels tels que `0.1` et `0.2` ou utiliser également des lettres telles que `uniswap-v2-0.1`. Ces étiquettes seront visibles dans Graph Explorer et peuvent être utilisées par les curateurs pour décider s'ils veulent signaler cette version ou non, alors choisissez-les judicieusement. -Once deployed, you can test your subgraph in Subgraph Studio using the playground, deploy another version if needed, update the metadata, and when you are ready, publish your subgraph to Graph Explorer. +Une fois déployé, vous pouvez tester votre subgraph dans le Subgraph Studio en utilisant le playground, déployer une autre version si nécessaire, mettre à jour les métadonnées et, lorsque vous êtes prêt, publier votre subgraph sur le Graph Explorer. From 0bf3b5404cc2d46d861d6ab7581629675a5e8eb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:49 -0400 Subject: [PATCH 0203/2326] New translations deploying-a-subgraph-to-studio.mdx (Spanish) --- .../pages/es/deploying/deploying-a-subgraph-to-studio.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/es/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/es/deploying/deploying-a-subgraph-to-studio.mdx index 556143ce8fe4..0ff5ba401d84 100644 --- a/website/pages/es/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/es/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Deployar un Subgrafo en Subgraph Studio +title: Implementación de un Subgrafo en Subgraph Studio --- > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -Estos son los pasos para deployar tu subgrafo en Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Instala The Graph CLI (con yarn o npm) - Crea tu Subgrafo en Subgraph Studio - Autentica tu cuenta desde la CLI -- Deployar un Subgrafo en Subgraph Studio +- Implementación de un Subgrafo en Subgraph Studio ## Instalación de la CLI de Graph -Usamos la misma CLI para implementar subgrafos en nuestro [servicio alojado](https://thegraph.com/hosted-service/) y en el [Subgraph Studio](https://thegraph.com/studio/). Aquí están los comandos para instalar graph-cli. Esto se puede hacer usando npm o yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Instalar con yarn:** From 6ae5847365935d55c9acc3b0933fadaad9d46a9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:50 -0400 Subject: [PATCH 0204/2326] New translations deploying-a-subgraph-to-studio.mdx (Arabic) --- .../ar/deploying/deploying-a-subgraph-to-studio.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ar/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/ar/deploying/deploying-a-subgraph-to-studio.mdx index f8771a01ea33..1c1463b377e6 100644 --- a/website/pages/ar/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/ar/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Deploying a Subgraph to the Subgraph Studio +title: Deploying a Subgraph to Subgraph Studio --- > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -These are the steps to deploy your subgraph to the Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) -- Create your Subgraph in the Subgraph Studio +- Create your Subgraph in Subgraph Studio - Authenticate your account from the CLI -- Deploying a Subgraph to the Subgraph Studio +- Deploying a Subgraph to Subgraph Studio ## Installing Graph CLI -We are using the same CLI to deploy subgraphs to our [hosted service](https://thegraph.com/hosted-service/) and to the [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install graph-cli. This can be done using npm or yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **التثبيت بواسطة yarn:** From e997f98552abba6727d675fa7775236e62dd813a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:51 -0400 Subject: [PATCH 0205/2326] New translations deploying-a-subgraph-to-studio.mdx (Czech) --- .../cs/deploying/deploying-a-subgraph-to-studio.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/cs/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/cs/deploying/deploying-a-subgraph-to-studio.mdx index 9471b236e54c..51cd9ac3cb68 100644 --- a/website/pages/cs/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/cs/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Nasazení podgrafu do Studio podgrafů +title: Nasazení podgraf do podgraf Studio --- > Zjistěte, jak můžete nasadit subgrafy bez omezení rychlosti podgraf Studia [zde](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -Následující kroky slouží k nasazení podfrafu do aplikace podgraf Studio: +Toto jsou kroky k nasazení podgrafu do aplikace Podgraf Studio: - Instalace Graph CLI (pomocí yarn nebo npm) -- Vytvoření subgrafu ve Studio podgraf +- Vytvoření podgrafu v aplikaci podgraf Studio - Ověření účtu pomocí CLI -- Nasazení podgrafu do Studio podgrafů +- Nasazení podgraf do podgraf Studio ## Instalace Graph CLI -Stejné CLI používáme k nasazení subgrafů do naší [hostované služby](https://thegraph.com/hosted-service/) a do [Subgraph Studia](https://thegraph.com/studio/). Zde jsou příkazy pro instalaci graph-cli. To lze provést pomocí npm nebo yarn. +K dispozici je CLI pro nasazení podgrafů do [Podgraf Studio](https://thegraph.com/studio/). Zde jsou příkazy pro instalaci `graph-cli`. To lze provést pomocí npm nebo yarn. **Instalace pomocí yarn:** From 1fb330fb24fffd6e85b76693930fcec542d7e7c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:52 -0400 Subject: [PATCH 0206/2326] New translations deploying-a-subgraph-to-studio.mdx (German) --- .../de/deploying/deploying-a-subgraph-to-studio.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/de/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/de/deploying/deploying-a-subgraph-to-studio.mdx index d6f0f891c6cc..65902f1bb587 100644 --- a/website/pages/de/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/de/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Deploying a Subgraph to the Subgraph Studio +title: Deploying a Subgraph to Subgraph Studio --- > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -These are the steps to deploy your subgraph to the Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) -- Create your Subgraph in the Subgraph Studio +- Create your Subgraph in Subgraph Studio - Authenticate your account from the CLI -- Deploying a Subgraph to the Subgraph Studio +- Deploying a Subgraph to Subgraph Studio ## Installing Graph CLI -We are using the same CLI to deploy subgraphs to our [hosted service](https://thegraph.com/hosted-service/) and to the [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install graph-cli. This can be done using npm or yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Install with yarn:** From c66f7a1b8649d1d65411e71404c7e0279f8b84fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:53 -0400 Subject: [PATCH 0207/2326] New translations deploying-a-subgraph-to-studio.mdx (Italian) --- website/pages/it/deploying/deploying-a-subgraph-to-studio.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/it/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/it/deploying/deploying-a-subgraph-to-studio.mdx index 75bc63a0bfc5..1da8bb48f765 100644 --- a/website/pages/it/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/it/deploying/deploying-a-subgraph-to-studio.mdx @@ -4,7 +4,7 @@ title: Distribuzione di un subgraph nel Subgraph Studio > Imparare a distribuire subgraph senza limiti di velocità nel Subgraph Studio [qui](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -Questi sono i passi per distribuire il subgraph nel Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Installare il Graph CLI (con yarn oppure npm) - Creare il subgraph nel Subgraph Studio @@ -13,7 +13,7 @@ Questi sono i passi per distribuire il subgraph nel Subgraph Studio: ## Installazione di Graph CLI -Stiamo usando la stessa CLI per distribuire i subgraph al nostro [hosted service](https://thegraph.com/hosted-service/) e nel [Subgraph Studio](https://thegraph.com/studio/). Ecco i comandi per installare graph-cli. Questa operazione può essere eseguita con npm oppure yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Installare con yarn:** From b3c7ddbcfd464b60d5d7ce5fe06a25df732bfaf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:54 -0400 Subject: [PATCH 0208/2326] New translations deploying-a-subgraph-to-studio.mdx (Japanese) --- .../pages/ja/deploying/deploying-a-subgraph-to-studio.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/ja/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/ja/deploying/deploying-a-subgraph-to-studio.mdx index 1ef47fab06d0..249780946b9c 100644 --- a/website/pages/ja/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/ja/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Subgraph Studio にサブグラフをデプロイする +title: Subgraph Studio へのサブグラフのデプロイ --- > レート制限のないサブグラフを Subgraph Studio にデプロイする方法を学習します [ ここ](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294)にあります。 -こちらがSubgraph Studioにサブグラフをデプロイする手順です: +These are the steps to deploy your subgraph to Subgraph Studio: - Graph CLIをインストールする(yarnまたはnpmを使用) - Subgraph Studio でサブグラフを作成する - CLI から自分のアカウントを認証する -- Subgraph Studio にサブグラフをデプロイする +- Subgraph Studio へのサブグラフのデプロイ ## Graph CLI のインストール -ホステッドサービス[hosted service](https://thegraph.com/hosted-service/)へのサブグラフのデプロイと、[Subgraph Studio](https://thegraph.com/studio/)へのサブグラフのデプロイに、同じ CLI を使用しています。以下は、graph-cli をインストールするためのコマンドです。これは、npm または yarn を使って行うことができます。 +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **yarn でインストールします:** From 786c0bdf92d5474d2cdbc46998aa0e504ca156ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:55 -0400 Subject: [PATCH 0209/2326] New translations deploying-a-subgraph-to-studio.mdx (Korean) --- .../ko/deploying/deploying-a-subgraph-to-studio.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ko/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/ko/deploying/deploying-a-subgraph-to-studio.mdx index d6f0f891c6cc..65902f1bb587 100644 --- a/website/pages/ko/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/ko/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Deploying a Subgraph to the Subgraph Studio +title: Deploying a Subgraph to Subgraph Studio --- > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -These are the steps to deploy your subgraph to the Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) -- Create your Subgraph in the Subgraph Studio +- Create your Subgraph in Subgraph Studio - Authenticate your account from the CLI -- Deploying a Subgraph to the Subgraph Studio +- Deploying a Subgraph to Subgraph Studio ## Installing Graph CLI -We are using the same CLI to deploy subgraphs to our [hosted service](https://thegraph.com/hosted-service/) and to the [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install graph-cli. This can be done using npm or yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Install with yarn:** From 3cc775bbd0b9473da859766bd6286808a83d730d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:56 -0400 Subject: [PATCH 0210/2326] New translations deploying-a-subgraph-to-studio.mdx (Dutch) --- .../nl/deploying/deploying-a-subgraph-to-studio.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/nl/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/nl/deploying/deploying-a-subgraph-to-studio.mdx index d6f0f891c6cc..65902f1bb587 100644 --- a/website/pages/nl/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/nl/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Deploying a Subgraph to the Subgraph Studio +title: Deploying a Subgraph to Subgraph Studio --- > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -These are the steps to deploy your subgraph to the Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) -- Create your Subgraph in the Subgraph Studio +- Create your Subgraph in Subgraph Studio - Authenticate your account from the CLI -- Deploying a Subgraph to the Subgraph Studio +- Deploying a Subgraph to Subgraph Studio ## Installing Graph CLI -We are using the same CLI to deploy subgraphs to our [hosted service](https://thegraph.com/hosted-service/) and to the [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install graph-cli. This can be done using npm or yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Install with yarn:** From 3112a77891ad30522a79a3514ee45152ae55f4b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:57 -0400 Subject: [PATCH 0211/2326] New translations deploying-a-subgraph-to-studio.mdx (Polish) --- .../pl/deploying/deploying-a-subgraph-to-studio.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/pl/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/pl/deploying/deploying-a-subgraph-to-studio.mdx index d6f0f891c6cc..65902f1bb587 100644 --- a/website/pages/pl/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/pl/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Deploying a Subgraph to the Subgraph Studio +title: Deploying a Subgraph to Subgraph Studio --- > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -These are the steps to deploy your subgraph to the Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) -- Create your Subgraph in the Subgraph Studio +- Create your Subgraph in Subgraph Studio - Authenticate your account from the CLI -- Deploying a Subgraph to the Subgraph Studio +- Deploying a Subgraph to Subgraph Studio ## Installing Graph CLI -We are using the same CLI to deploy subgraphs to our [hosted service](https://thegraph.com/hosted-service/) and to the [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install graph-cli. This can be done using npm or yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Install with yarn:** From 72a0383b5644e78c6f7bf597bc472d8cad1c09e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:57 -0400 Subject: [PATCH 0212/2326] New translations deploying-a-subgraph-to-studio.mdx (Portuguese) --- .../pt/deploying/deploying-a-subgraph-to-studio.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx index 531ab452adeb..56bcfa9fbd09 100644 --- a/website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Como lançar um Subgraph no Subgraph Studio +title: Como lançar um Subgraph ao Subgraph Studio --- > Aprenda como editar subgraphs sem rate limit ao Subgraph Studio [aqui](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -Estes são os passos para lançar o seu subgraph no Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Instale o The Graph CLI (com yarn ou npm) -- Crie o seu subgraph no Subgraph Studio +- Como criar o seu subgraph no Subgraph Studio - Autentique a sua conta da CLI -- Lance o subgraph no Subgraph Studio +- Como lançar um Subgraph ao Subgraph Studio ## Como instalar o Graph CLI -Usaremos a mesma CLI para lançar subgraphs ao nosso [serviço hospedado](https://thegraph.com/hosted-service/) e ao [Subgraph Studio](https://thegraph.com/studio/). Aqui estão os comandos para instalar o graph-cli, possível com npm ou yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Instalação com o yarn:** From 4a5fe7cde991980480b88ba6ddf45dfd7d7ab0e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:58 -0400 Subject: [PATCH 0213/2326] New translations deploying-a-subgraph-to-studio.mdx (Russian) --- .../pages/ru/deploying/deploying-a-subgraph-to-studio.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ru/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/ru/deploying/deploying-a-subgraph-to-studio.mdx index 3f28de521fb1..8b81959427b8 100644 --- a/website/pages/ru/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/ru/deploying/deploying-a-subgraph-to-studio.mdx @@ -4,16 +4,16 @@ title: Развертывание подграфа в Subgraph Studio > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -Вот шаги для развертывания вашего подграфа в Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Установите The Graph CLI (либо с помощью yarn, либо с npm) -- Создайте свой подграф в Subgraph Studio +- Создайте ваш подграф в Subgraph Studio - Аутентифицируйте свою учетную запись с помощью CLI - Развертывание подграфа в Subgraph Studio ## Установка Graph CLI -Мы используем тот же CLI для развертывания подграфов в нашем [hosted service](https://thegraph.com/hosted-service/) и в [Subgraph Studio](https://thegraph.com/studio/). Вот команды для установки graph-cli. Это можно сделать с помощью npm или yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Установка с помощью yarn:** From 9cca56c699ce39d36726f15e0ed8605264038b0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:29:59 -0400 Subject: [PATCH 0214/2326] New translations deploying-a-subgraph-to-studio.mdx (Swedish) --- website/pages/sv/deploying/deploying-a-subgraph-to-studio.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/sv/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/sv/deploying/deploying-a-subgraph-to-studio.mdx index 66c01e909c75..b40e1d2c4ac5 100644 --- a/website/pages/sv/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/sv/deploying/deploying-a-subgraph-to-studio.mdx @@ -4,7 +4,7 @@ title: Distribuera en undergraf till Subgraph Studio > Lär dig hur du kan distribuera subgrafer utan begränsning av hastighet till Subgraf Studio [här](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -Detta är stegen för att distribuera din subgraf till Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Installera Graph CLI (med antingen yarn eller npm) - Skapa din subgraf i Subgraph Studio @@ -13,7 +13,7 @@ Detta är stegen för att distribuera din subgraf till Subgraph Studio: ## Installera Graph CLI -Vi använder samma CLI för att distribuera undergrafer till vår [hostade tjänst](https://thegraph.com/hosted-service/) och till [Subgraph Studio](https://thegraph.com/studio/). Här är kommandona för att installera graph-cli. Detta kan göras med hjälp av npm eller yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Installera med yarn:** From ac25f00b2ba22a9e2938866414fa8119db85d08d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:00 -0400 Subject: [PATCH 0215/2326] New translations deploying-a-subgraph-to-studio.mdx (Turkish) --- .../deploying-a-subgraph-to-studio.mdx | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/website/pages/tr/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/tr/deploying/deploying-a-subgraph-to-studio.mdx index f0d76c22315a..92228d476fab 100644 --- a/website/pages/tr/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/tr/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,70 +1,70 @@ --- -title: Subgraph Stüdyo'ya bir Subgraph Deploy Etme +title: Deploying a Subgraph to Subgraph Studio --- > Hız sınırlaması olmayan subgraph'ları Subgraph Stüdyo'ya nasıl dağıtabileceğinizi [buradan](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294) öğrenin. -Subgraph'inizi Subgraph Stüdyo'ya deploy etme adımları şunlardır: +These are the steps to deploy your subgraph to Subgraph Studio: -- Graph CLI'ı Kurun (yarn veya npm ile) -- Subgraph'inizi Subgraph Stüdyo'da oluşturun -- CLI'den hesabınızın kimliğini doğrulayın -- Subgraph Stüdyo'ya bir subgraph deploy edin +- Install The Graph CLI (with either yarn or npm) +- Create your Subgraph in Subgraph Studio +- Authenticate your account from the CLI +- Deploying a Subgraph to Subgraph Studio -## Graph CLI'ı Yükleme +## Installing Graph CLI -Subgraph'leri [barındırılan hizmet](https://thegraph.com/hosted-service/)'imize ve [Subgraph Stüdyo](https://thegraph.com/studio/)'ya deploy etmek için aynı CLI'yi kullanıyoruz. İşte graph-cli'ı kurma komutları. Bu, npm veya yarn kullanılarak yapılabilir. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. -**yarn ile yükleme:** +**Install with yarn:** ```bash yarn global add @graphprotocol/graph-cli ``` -**npm ile yükleme:** +**Install with npm:** ```bash npm install -g @graphprotocol/graph-cli ``` -## Subgraph'inizi Subgraph Stüdyo'da Oluşturun +## Create your Subgraph in Subgraph Studio -Gerçek subgraph'inizi deploy etmeden önce, [Subgraph Stüdyo](https://thegraph.com/studio/)'da bir subgraph oluşturmanız gerekir. Bu konuda daha fazla bilgi edinmek için [Studio dökümanları](/deploying/subgraph-studio) başlıklı yazımızı okumanızı öneririz. +Before deploying your actual subgraph you need to create a subgraph in [Subgraph Studio](https://thegraph.com/studio/). We recommend you read our [Studio documentation](/deploying/subgraph-studio) to learn more about this. -## Subgraph'inizi Başlatın +## Initialize your Subgraph -Subgraph'iniz Subgraph Stüdyo'da oluşturulduktan sonra, bu komutu kullanarak subgraph kodunu başlatabilirsiniz: +Once your subgraph has been created in Subgraph Studio you can initialize the subgraph code using this command: ```bash graph init --studio ``` -`` değeri, Subgraph Stüdyo'daki subgraph ayrıntıları sayfanızda bulunabilir: +The `` value can be found on your subgraph details page in Subgraph Studio: -![Subgraph Stüdyo - Slug](/img/doc-subgraph-slug.png) +![Subgraph Studio - Slug](/img/doc-subgraph-slug.png) -`graph init`'i çalıştırdıktan sonra, sorgulamak istediğiniz sözleşme adresini, ağı ve ABI'ı girmeniz istenecektir. Bunu yapmak, subgraph'iniz üzerinde çalışmaya başlamak için bazı temel kodlarla birlikte yerel makinenizde yeni bir klasör oluşturacaktır. Ardından, beklendiği gibi çalıştığından emin olmak için subgraph'inizi sonlandırabilirsiniz. +After running `graph init`, you will be asked to input the contract address, network, and ABI that you want to query. Doing this will generate a new folder on your local machine with some basic code to start working on your subgraph. You can then finalize your subgraph to make sure it works as expected. -## Graph Kimlik Doğrulaması +## Graph Auth -Subgraph'inizi Subgraph Stüdyo'ya deploy etmeden önce, CLI'da hesabınıza giriş yapmanız gerekir. Bunu yapmak için, "Subgraph'lerim" sayfanızda veya subgraph ayrıntıları sayfanızda bulabileceğiniz deploy anahtarınıza ihtiyacınız olacak. +Before being able to deploy your subgraph to Subgraph Studio, you need to login into your account within the CLI. To do this, you will need your deploy key that you can find on your "My Subgraphs" page or your subgraph details page. -CLI'dan kimlik doğrulaması yapmak için kullanmanız gereken komut şu şekildedir: +Here is the command that you need to use to authenticate from the CLI: ```bash graph auth --studio ``` -## Subgraph Stüdyo'ya Subgraph Deploy Etme +## Deploying a Subgraph to Subgraph Studio -Hazır olduğunuzda, subgraph'inizi Subgraph Stüdyo'ya deploy edebilirsiniz. Bunu yapmak, subgraph'inizi merkeziyetsiz ağda yayınlamaz, yalnızca onu test edebileceğiniz ve meta verileri güncelleyebileceğiniz Stüdyo hesabınıza deploy eder. +Once you are ready, you can deploy your subgraph to Subgraph Studio. Doing this won't publish your subgraph to the decentralized network, it will only deploy it to your Studio account where you will be able to test it and update the metadata. -İşte subgraph'inizi deploy etmek için kullanmanız gereken CLI komutu. +Here is the CLI command that you need to use to deploy your subgraph. ```bash graph deploy --studio ``` -Bu komutu çalıştırdıktan sonra, CLI bir sürüm etiketi isteyecektir, onu istediğiniz gibi adlandırabilirsiniz, `0.1` and `0.2` gibi etiketler kullanabilir veya `uniswap-v2-0.1` gibi harfleri de kullanabilirsiniz. Bu etiketler Graph Gezgini'nde görünür olacak ve kullanılabilir. Küratörler tarafından bu sürümde sinyal vermek isteyip istemediklerine karar vermek için, bu yüzden onları akıllıca seçin. +After running this command, the CLI will ask for a version label, you can name it however you want, you can use labels such as `0.1` and `0.2` or use letters as well such as `uniswap-v2-0.1`. Those labels will be visible in Graph Explorer and can be used by curators to decide if they want to signal on this version or not, so choose them wisely. -Deploy edildikten sonra subgraph'inizi playground'ı kullanarak Subgraph Stüdyo'da test edebilir, gerekirse başka bir sürümü deploy edilebilir, meta verileri güncelleyebilir ve hazır olduğunuzda subgraph'inizi Graph Gezgini'nde yayınlayabilirsiniz. +Once deployed, you can test your subgraph in Subgraph Studio using the playground, deploy another version if needed, update the metadata, and when you are ready, publish your subgraph to Graph Explorer. From c4304e37694adc71e809796b2491032ecd569ae9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:01 -0400 Subject: [PATCH 0216/2326] New translations deploying-a-subgraph-to-studio.mdx (Ukrainian) --- .../uk/deploying/deploying-a-subgraph-to-studio.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/uk/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/uk/deploying/deploying-a-subgraph-to-studio.mdx index d6f0f891c6cc..65902f1bb587 100644 --- a/website/pages/uk/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/uk/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Deploying a Subgraph to the Subgraph Studio +title: Deploying a Subgraph to Subgraph Studio --- > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -These are the steps to deploy your subgraph to the Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) -- Create your Subgraph in the Subgraph Studio +- Create your Subgraph in Subgraph Studio - Authenticate your account from the CLI -- Deploying a Subgraph to the Subgraph Studio +- Deploying a Subgraph to Subgraph Studio ## Installing Graph CLI -We are using the same CLI to deploy subgraphs to our [hosted service](https://thegraph.com/hosted-service/) and to the [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install graph-cli. This can be done using npm or yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Install with yarn:** From 3fd209315ed23671d540ca1339b31ff4ffffb596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:03 -0400 Subject: [PATCH 0217/2326] New translations deploying-a-subgraph-to-studio.mdx (Chinese Simplified) --- website/pages/zh/deploying/deploying-a-subgraph-to-studio.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/zh/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/zh/deploying/deploying-a-subgraph-to-studio.mdx index 7b02c5b7534a..a4276eb7efab 100644 --- a/website/pages/zh/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/zh/deploying/deploying-a-subgraph-to-studio.mdx @@ -4,7 +4,7 @@ title: 将子图部署到子图工作室 > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -以下是将子图部署到子图工作室的步骤: +These are the steps to deploy your subgraph to Subgraph Studio: - 安装 Graph CLI(同时使用 yarn 和 npm) - 在子图工作室中创建你的子图 @@ -13,7 +13,7 @@ title: 将子图部署到子图工作室 ## 安装 Graph CLI -我们使用相同的 CLI 将子图部署到我们的 [托管服务](https://thegraph.com/hosted-service/) 和[子图工作室](https://thegraph.com/studio/)中。 以下是安装 graph-cli 的命令。 这可以用 npm 或 yarn 来完成。 +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **用 yarn 安装:** From f3f258363a6c706b54e9ebdd63c15c2e8a270c1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:04 -0400 Subject: [PATCH 0218/2326] New translations deploying-a-subgraph-to-studio.mdx (Urdu (Pakistan)) --- .../ur/deploying/deploying-a-subgraph-to-studio.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ur/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/ur/deploying/deploying-a-subgraph-to-studio.mdx index fcf3b70e080e..68709e661e4c 100644 --- a/website/pages/ur/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/ur/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: سب گراف سٹوڈیو پر سب گراف تعینات کرنا +title: سب گراف کو سب گراف سٹوڈیو پر تعینات کرنا --- > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -اپنے سب گراف کو سب گراف سٹوڈیو میں تعینات کرنے کے یہ اقدامات ہیں: +These are the steps to deploy your subgraph to Subgraph Studio: - گراف CLI انسٹال کریں (یارن یا این پی ایم کے ساتھ) -- اپنا سب گراف سب گراف سٹوڈیو میں بنائیں +- اپنے سب گراف سب گراف سٹوڈیو میں بنائیں - CLI سے اپنے اکاؤنٹ کی تصدیق کریں -- سب گراف سٹوڈیو پر سب گراف تعینات کرنا +- سب گراف کو سب گراف سٹوڈیو پر تعینات کرنا ## گراف CLI انسٹال کرنا -ہم اسی CLI کو اپنی [ہوسٹڈ سروس](https://thegraph.com/hosted-service/) اور [سب گراف اسٹوڈیو](https://thegraph میں سب گراف تعینات کرنے کے لیے استعمال کر رہے ہیں۔ com/studio/)۔ گراف-کلی کو انسٹال کرنے کے لیے یہ کمانڈز ہیں۔ یہ npm یا yarn کا استعمال کرتے ہوئے کیا جا سکتا ہے. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **yarn سے انسٹال کریں:** From 75968a213700c9935052bd431ed94a1ed23871e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:05 -0400 Subject: [PATCH 0219/2326] New translations deploying-a-subgraph-to-studio.mdx (Vietnamese) --- .../vi/deploying/deploying-a-subgraph-to-studio.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/vi/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/vi/deploying/deploying-a-subgraph-to-studio.mdx index d97ed9412312..9fd14ceb328c 100644 --- a/website/pages/vi/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/vi/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Deploying a Subgraph to the Subgraph Studio +title: Deploying a Subgraph to Subgraph Studio --- > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -These are the steps to deploy your subgraph to the Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) -- Create your Subgraph in the Subgraph Studio +- Create your Subgraph in Subgraph Studio - Authenticate your account from the CLI -- Deploying a Subgraph to the Subgraph Studio +- Deploying a Subgraph to Subgraph Studio ## Installing Graph CLI -We are using the same CLI to deploy subgraphs to our [hosted service](https://thegraph.com/hosted-service/) and to the [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install graph-cli. This can be done using npm or yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Cài đặt bằng yarn:** From 6701f59ca2aafe465ca4e674bc5ed7bbcdd288ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:05 -0400 Subject: [PATCH 0220/2326] New translations deploying-a-subgraph-to-studio.mdx (Marathi) --- website/pages/mr/deploying/deploying-a-subgraph-to-studio.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/mr/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/mr/deploying/deploying-a-subgraph-to-studio.mdx index affbbf51215f..7a356fd3506d 100644 --- a/website/pages/mr/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/mr/deploying/deploying-a-subgraph-to-studio.mdx @@ -4,7 +4,7 @@ title: सबग्राफ स्टुडिओमध्ये सबग् > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -सबग्राफ स्टुडिओमध्ये तुमचा सबग्राफ उपयोजित करण्यासाठी या चरण आहेत: +These are the steps to deploy your subgraph to Subgraph Studio: - ग्राफ सीएलआय स्थापित करा (यार्न किंवा एनपीएमसह) - सबग्राफ स्टुडिओमध्ये तुमचा सबग्राफ तयार करा @@ -13,7 +13,7 @@ title: सबग्राफ स्टुडिओमध्ये सबग् ## आलेख CLI स्थापित करत आहे -आमच्या [होस्ट केलेल्या सेवेत](https://thegraph.com/hosted-service/) आणि [सबग्राफ स्टुडिओ](https://thegraph.com/studio/) मध्ये सबग्राफ उपयोजित करण्यासाठी आम्ही समान CLI वापरत आहोत. येथे ग्राफ-क्ली स्थापित करण्यासाठी आज्ञा आहेत. हे एनपीएम किंवा सूत वापरून केले जाऊ शकते. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **यार्नसह स्थापित करा:** From 2740c44180d22f0eae28ca148e6fb094d451c639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:06 -0400 Subject: [PATCH 0221/2326] New translations deploying-a-subgraph-to-studio.mdx (Hindi) --- .../pages/hi/deploying/deploying-a-subgraph-to-studio.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/hi/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/hi/deploying/deploying-a-subgraph-to-studio.mdx index 28fc2c1b043e..0d0752e85a25 100644 --- a/website/pages/hi/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/hi/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: सबग्राफ स्टूडियो में सबग्राफ तैनात करना +title: सबग्राफ स्टूडियो में एक सबग्राफ तैनात करना --- > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -ये आपके सबग्राफ को सबग्राफ स्टूडियो में तैनात करने के चरण हैं: +These are the steps to deploy your subgraph to Subgraph Studio: - ग्राफ सीएलआई स्थापित करें (या तो यार्न या एनपीएम के साथ) - सबग्राफ स्टूडियो में अपना सबग्राफ बनाएं - सीएलआई से अपने खाते को प्रमाणित करें -- सबग्राफ स्टूडियो में सबग्राफ तैनात करना +- सबग्राफ स्टूडियो में एक सबग्राफ तैनात करना ## ग्राफ सीएलआई स्थापित करना -हम अपनी [होस्ट की गई सेवा](https://thegraph.com/hosted-service/) और [सबग्राफ स्टूडियो](https://thegraph.com/studio/) में सबग्राफ तैनात करने के लिए उसी सीएलआई का उपयोग कर रहे हैं। यहाँ ग्राफ़-क्ली को स्थापित करने के आदेश दिए गए हैं। यह एनपीएम या यार्न का उपयोग करके किया जा सकता है। +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **यार्न के साथ स्थापित करें:** From 10d05ad1f1d761afb3314feb2b9aa015072e4e13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:07 -0400 Subject: [PATCH 0222/2326] New translations deploying-a-subgraph-to-studio.mdx (Yoruba) --- .../yo/deploying/deploying-a-subgraph-to-studio.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/yo/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/yo/deploying/deploying-a-subgraph-to-studio.mdx index d6f0f891c6cc..65902f1bb587 100644 --- a/website/pages/yo/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/yo/deploying/deploying-a-subgraph-to-studio.mdx @@ -1,19 +1,19 @@ --- -title: Deploying a Subgraph to the Subgraph Studio +title: Deploying a Subgraph to Subgraph Studio --- > Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -These are the steps to deploy your subgraph to the Subgraph Studio: +These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) -- Create your Subgraph in the Subgraph Studio +- Create your Subgraph in Subgraph Studio - Authenticate your account from the CLI -- Deploying a Subgraph to the Subgraph Studio +- Deploying a Subgraph to Subgraph Studio ## Installing Graph CLI -We are using the same CLI to deploy subgraphs to our [hosted service](https://thegraph.com/hosted-service/) and to the [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install graph-cli. This can be done using npm or yarn. +There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. **Install with yarn:** From 19e8fa4785829a0c1a4c932765bd24e71919c82f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:08 -0400 Subject: [PATCH 0223/2326] New translations hosted-service.mdx (Romanian) --- website/pages/ro/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ro/deploying/hosted-service.mdx b/website/pages/ro/deploying/hosted-service.mdx index 9403f847d26c..1242d8fec248 100644 --- a/website/pages/ro/deploying/hosted-service.mdx +++ b/website/pages/ro/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: What is the Hosted Service? --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ For a comprehensive list, see [Supported Networks](/developing/supported-network ## Creează un Subgraf -First follow the instructions [here](/developing/defining-a-subgraph) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### From an Existing Contract If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Additionally, you can use the following optional arguments. If the ABI cannot be fetched from Etherscan, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Supported Networks on the hosted service -You can find the list of the supported networks [Here](/developing/supported-networks). +You can find the list of the supported networks [here](/developing/supported-networks). From 65c07d52388a0557fd0468b4b5852658c6218c6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:09 -0400 Subject: [PATCH 0224/2326] New translations hosted-service.mdx (French) --- website/pages/fr/deploying/hosted-service.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/fr/deploying/hosted-service.mdx b/website/pages/fr/deploying/hosted-service.mdx index 1cdaafd2258a..0d566466e0e2 100644 --- a/website/pages/fr/deploying/hosted-service.mdx +++ b/website/pages/fr/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: Qu'est-ce que le Service Héberge ? --- -> Veuillez noter que le service hébergé prendra fin en 2023, mais il restera disponible pour les réseaux qui ne sont pas pris en charge sur le réseau décentralisé. Les développeurs sont encouragés à [mettre à niveau leurs subgraphs vers The Graph Network](/cookbook/upgrading-a-subgraph) à mesure que davantage de réseaux sont pris en charge. Chaque réseau verra ses équivalents de service hébergé disparaître progressivement pour garantir que les développeurs disposent de suffisamment de temps pour mettre à niveau les subgraphs vers le réseau décentralisé. En savoir plus sur la cessation du service hébergé [ici](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) Cette section vous guidera dans le déploiement d'un subgraph sur le [service hébergé](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ Pour une liste complète, voir [Réseaux pris en charge](/developing/supported-n ## Créer un subgraph -Suivez d'abord les instructions [ici](/developing/defining-a-subgraph) pour installer la CLI Graph. Créez un subraph en passant `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### À partir d'un contrat existant Si vous disposez déjà d'un contrat intelligent déployé sur le réseau de votre choix, l'amorçage d'un nouveau subgraph à partir de ce contrat peut être un bon moyen de commencer à utiliser le service hébergé. -Utilisez cette commande pour créer un subgraph qui indexe tous les événements d'un contrat existant.Cela tentera de récupérer le contrat ABI depuis [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -En outre, vous pouvez utiliser les arguments optionnels suivants. Si l'ABI ne peut pas être extrait d'Etherscan, il revient à demander un chemin de fichier local. S'il manque des arguments facultatifs dans la commande, celle-ci vous guide dans un formulaire interactif. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ From bd69bd85a529bbbca76bc50d7d44550574a6b4b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:10 -0400 Subject: [PATCH 0225/2326] New translations hosted-service.mdx (Spanish) --- website/pages/es/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/es/deploying/hosted-service.mdx b/website/pages/es/deploying/hosted-service.mdx index ac6b2dcda468..3d5d34dc3995 100644 --- a/website/pages/es/deploying/hosted-service.mdx +++ b/website/pages/es/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: '¿Qué es el Servicio Alojado?' --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ Para una lista completa, consulta [Redes Soportadas](/developing/supported-netwo ## Crear un Subgrafo -Primero sigue las instrucciones [aquí](/developing/defining-a-subgraph) para instalar Graph CLI. Crea un subgrafo pasando `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### Desde un Contrato Existente If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -Puedes utilizar este comando para crear un subgrafo que indexe todos los eventos de un contrato existente. Esto intentará obtener el contrato ABI de [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Además, puedes utilizar los siguientes argumentos opcionales. Si la ABI no puede ser obtenida de Etherscan, vuelve a solicitar una ruta de archivo local. Si falta algún argumento opcional en el comando, éste te lleva a través de un formulario interactivo. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Supported Networks on the hosted service -Puedes encontrar la lista de las redes admitidas [Aquí](/developing/supported-networks). +Puedes encontrar la lista de redes admitidas [aquí](/developing/supported-networks). From 4ce7a3c824237645354ac2167a0515cbb6cde20e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:11 -0400 Subject: [PATCH 0226/2326] New translations hosted-service.mdx (Arabic) --- website/pages/ar/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ar/deploying/hosted-service.mdx b/website/pages/ar/deploying/hosted-service.mdx index 2dc9334a219c..73e4e778675c 100644 --- a/website/pages/ar/deploying/hosted-service.mdx +++ b/website/pages/ar/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: ما هي الخدمة المستضافة (Hosted Service)؟ --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ For a comprehensive list, see [Supported Networks](/developing/supported-network ## إنشاء الـ Subgraph -First follow the instructions [here](/developing/defining-a-subgraph) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### من عقد موجود If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -يمكنك استخدام هذا الأمر لإنشاء subgraph يقوم بفهرسة جميع الأحداث من عقد موجود. هذا سيحاول جلب ABI العقد من [ Etherscan ](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -بالإضافة إلى ذلك ، يمكنك استخدام الوسيطات (arguments) الاختيارية التالية. وإذا تعذر جلب ABI من Etherscan ، فإنه يعود إلى طلب مسار ملف محلي. إذا كان في الأمر أية وسيطات اختيارية مفقودة ، فسيأخذك عبر نموذج تفاعلي. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Supported Networks on the hosted service -You can find the list of the supported networks [Here](/developing/supported-networks). +You can find the list of the supported networks [here](/developing/supported-networks). From 85215be5d8f2031db6141753373c75dd5422181d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:12 -0400 Subject: [PATCH 0227/2326] New translations hosted-service.mdx (Czech) --- website/pages/cs/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/cs/deploying/hosted-service.mdx b/website/pages/cs/deploying/hosted-service.mdx index a2a588561745..0c8384271c1f 100644 --- a/website/pages/cs/deploying/hosted-service.mdx +++ b/website/pages/cs/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: Co je hostovaná služba? --- -> Vezměte prosím na vědomí, že hostovaná služba začne zanikat v roce 2023, ale bude i nadále k dispozici pro sítě, které nejsou podporovány v decentralizované síti. Vývojářům doporučujeme, aby [upgradovali své subgrafy na The Graph Network](/cookbook/upgrading-a-subgraph), jakmile bude podporováno více sítí. Jednotlivé sítě budou mít své ekvivalenty hostovaných služeb postupně ukončovány, aby měli vývojáři dostatek času na aktualizaci podgrafů na decentralizovanou síť. Více informací o zániku hostované služby se dozvíte [zde](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) Tato část vás provede nasazením podgrafu do [hostované služby](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ Pokud nemáte účet v hostované službě, můžete se zaregistrovat pomocí ú ## Vytvoření podgrafu -Nejprve podle pokynů [zde](/developing/defining-a-subgraph) nainstalujte Graf CLI. Vytvořte podgraf předáním příkazu `graph init --produkt hostovaná služba`. +Nejprve podle pokynů [zde](/developing/creating-a-subgraph/#install-the-graph-cli) nainstalujte Graf CLI. Vytvořte podgraf předáním příkazu `graph init --produkt hostovaná služba` ### Ze stávající smlouvy Pokud již máte na vybrané síti nasazený inteligentní smlouva, může být bootstrapování nového podgrafu z tohoto kontraktu dobrým způsobem, jak začít využívat hostovanou službu. -Pomocí tohoto příkazu můžete vytvořit podgraf, který indexuje všechny události z existující smlouvy. Pokusí se načíst ABI smlouvy z [Etherscan](https://etherscan.io/). +Pomocí tohoto příkazu můžete vytvořit podgraf, který indexuje všechny události z existující smlouvy. Pokusí se načíst ABI smlouvy z průzkumníka bloků. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Kromě toho můžete použít následující nepovinné argumenty. Pokud nelze ABI načíst z aplikace Etherscan, vrátí se k požadavku na cestu k místnímu souboru. Pokud v příkazu chybí některý z nepovinných argumentů, projde příkaz interaktivním formulářem. +Kromě toho můžete použít následující nepovinné argumenty. Pokud nelze ABI načíst z průzkumníka bloků, vrátí se k požadavku na místní cestu k souboru. Pokud v příkazu chybí některý z nepovinných argumentů, projde příkaz interaktivním forma. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Podporované sítě v hostované službě -Seznam podporovaných sítí najdete [Zde](/developing/supported-networks). +Seznam podporovaných sítí najdete [zde](/developing/supported-networks). From 4acd830864766f01c4d14919c7402b8a948e037d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:13 -0400 Subject: [PATCH 0228/2326] New translations hosted-service.mdx (German) --- website/pages/de/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/de/deploying/hosted-service.mdx b/website/pages/de/deploying/hosted-service.mdx index 3b65cfbccdf0..1ea86b96a573 100644 --- a/website/pages/de/deploying/hosted-service.mdx +++ b/website/pages/de/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: What is the Hosted Service? --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ For a comprehensive list, see [Supported Networks](/developing/supported-network ## Create a Subgraph -First follow the instructions [here](/developing/defining-a-subgraph) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### From an Existing Contract If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Additionally, you can use the following optional arguments. If the ABI cannot be fetched from Etherscan, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Supported Networks on the hosted service -You can find the list of the supported networks [Here](/developing/supported-networks). +You can find the list of the supported networks [here](/developing/supported-networks). From 78711829f50789df9f0ab2cbd8ae90b46a175180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:14 -0400 Subject: [PATCH 0229/2326] New translations hosted-service.mdx (Italian) --- website/pages/it/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/it/deploying/hosted-service.mdx b/website/pages/it/deploying/hosted-service.mdx index c5e1452d698d..8124661a2c7c 100644 --- a/website/pages/it/deploying/hosted-service.mdx +++ b/website/pages/it/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: Che cos'è il Hosted Service? --- -> Si noti che il hosted service inizierà a scomparire nel 2023, ma rimarrà disponibile per le reti che non sono supportate dalla rete decentralizzata. Gli sviluppatori sono incoraggiati ad [aggiornare i loro subgraph al Graph Network](/cookbook/upgrading-a-subgraph) con il supporto di un maggior numero di reti. Ogni rete avrà gli equivalenti hosted service che tramonteranno gradualmente per garantire agli sviluppatori il tempo sufficiente per aggiornare i subgraph alla rete decentralizzata. Per saperne di più sul tramonto del hosted service leggere [qui](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) Questa sezione illustra come distribuire un subgraph nel [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ Per un elenco completo, vedere [Reti supportate](/developing/supported-networks/ ## Crea un Subgraph -Per prima cosa seguire le istruzioni [qui](/developing/defining-a-subgraph) per installare la Graph CLI. Creare un subgraph passando sul `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### Da un contratto esistente Se si dispone già di uno smart contract distribuito sulla rete scelta, l'avvio di un nuovo subgraph da questo contratto può essere un buon modo per iniziare a utilizzare l'hosted service. -Si può usare questo comando per creare un subgraph che indicizzi tutti gli eventi di un contratto esistente. Si cercherà di recuperare l'ABI del contratto da [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Inoltre, è possibile utilizzare i seguenti argomenti opzionali. Se l'ABI non può essere recuperato da Etherscan, viene richiesto un percorso di file locale. Se il comando non contiene alcun argomento opzionale, viene visualizzato un modulo interattivo. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Reti supportate sul hosted service -È possibile trovare l'elenco delle reti supportate [qui](/developing/supported-networks). +You can find the list of the supported networks [here](/developing/supported-networks). From 249250653d1dcce99d3b7f88e92667d83375f0fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:15 -0400 Subject: [PATCH 0230/2326] New translations hosted-service.mdx (Japanese) --- website/pages/ja/deploying/hosted-service.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/ja/deploying/hosted-service.mdx b/website/pages/ja/deploying/hosted-service.mdx index 4fb7cc718838..e4e0c5017f5e 100644 --- a/website/pages/ja/deploying/hosted-service.mdx +++ b/website/pages/ja/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: とはホストされたサービス? --- -> ホスト型サービスは 2023 年に廃止されますが、分散型ネットワークでサポートされていないネットワークでも引き続き利用できることに注意してください。より多くのネットワークがサポートされているため、開発者は[サブグラフを The Graph Network にアップグレードする](/cookbook/upgrading-a-subgraph)ことをお勧めします。各ネットワークでは、開発者がサブグラフを分散型ネットワークにアップグレードするのに十分な時間を確保できるように、ホスト型サービスと同等のサービスが段階的に廃止されます。ホスト型サービスの終了について詳しくは、[こちら](https://thegraph.com/blog/sunsetting-hosted-service)をご覧ください。 +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) このセクションでは、[ホストされたサービス](https://thegraph.com/hosted-service/)にサブグラフをデプロイする手順を説明します。 @@ -12,13 +12,13 @@ title: とはホストされたサービス? ## サブグラフの作成 -まず[こちら](/developing/defining-a-subgraph)の指示に従って、Graph CLI をインストールします。`graph init --product hosted service`を渡してサブグラフを作成します。 +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### 既存のコントラクトから 選択したネットワークにスマート コントラクトを既に展開している場合は、このコントラクトから新しいサブグラフをブートストラップすることが、ホストされるサービスを開始するための良い方法となる可能性があります。 -このコマンドを使用して、既存のコントラクトからすべてのイベントにインデックスを付けるサブグラフを作成できます。これは、[Etherscan](https://etherscan.io/)からコントラクト ABI をフェッチしようとします。 +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -さらに、以下のオプション引数を使用することもできます。ABI が Etherscan から取得できない場合は、ローカルファイルのパスを要求するようにフォールバックします。コマンドにオプション引数がない場合は、対話形式になります。 +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ From 37e68f2abf5687fa3c9a4bec47c585cee030908b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:16 -0400 Subject: [PATCH 0231/2326] New translations hosted-service.mdx (Korean) --- website/pages/ko/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ko/deploying/hosted-service.mdx b/website/pages/ko/deploying/hosted-service.mdx index 3b65cfbccdf0..1ea86b96a573 100644 --- a/website/pages/ko/deploying/hosted-service.mdx +++ b/website/pages/ko/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: What is the Hosted Service? --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ For a comprehensive list, see [Supported Networks](/developing/supported-network ## Create a Subgraph -First follow the instructions [here](/developing/defining-a-subgraph) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### From an Existing Contract If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Additionally, you can use the following optional arguments. If the ABI cannot be fetched from Etherscan, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Supported Networks on the hosted service -You can find the list of the supported networks [Here](/developing/supported-networks). +You can find the list of the supported networks [here](/developing/supported-networks). From 6befcae00833ecda75bcc05abcbe35ec0e33d717 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:17 -0400 Subject: [PATCH 0232/2326] New translations hosted-service.mdx (Dutch) --- website/pages/nl/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/nl/deploying/hosted-service.mdx b/website/pages/nl/deploying/hosted-service.mdx index 4b939303d796..3264d39b8c3c 100644 --- a/website/pages/nl/deploying/hosted-service.mdx +++ b/website/pages/nl/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: What is the Hosted Service? --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ For a comprehensive list, see [Supported Networks](/developing/supported-network ## Creëer een Subgraph -First follow the instructions [here](/developing/defining-a-subgraph) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### From an Existing Contract If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Additionally, you can use the following optional arguments. If the ABI cannot be fetched from Etherscan, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Supported Networks on the hosted service -You can find the list of the supported networks [Here](/developing/supported-networks). +You can find the list of the supported networks [here](/developing/supported-networks). From cf9747e3dd183951eec21304d08b5a5159476ab4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:18 -0400 Subject: [PATCH 0233/2326] New translations hosted-service.mdx (Polish) --- website/pages/pl/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/pl/deploying/hosted-service.mdx b/website/pages/pl/deploying/hosted-service.mdx index f46d0b235964..627b265a17f8 100644 --- a/website/pages/pl/deploying/hosted-service.mdx +++ b/website/pages/pl/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: What is the Hosted Service? --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ For a comprehensive list, see [Supported Networks](/developing/supported-network ## Jak stworzyć subgraf -First follow the instructions [here](/developing/defining-a-subgraph) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### From an Existing Contract If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Additionally, you can use the following optional arguments. If the ABI cannot be fetched from Etherscan, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Supported Networks on the hosted service -You can find the list of the supported networks [Here](/developing/supported-networks). +You can find the list of the supported networks [here](/developing/supported-networks). From c997e6da2f8e8efcb41ee5a288e414695eca2c9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:19 -0400 Subject: [PATCH 0234/2326] New translations hosted-service.mdx (Portuguese) --- website/pages/pt/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/pt/deploying/hosted-service.mdx b/website/pages/pt/deploying/hosted-service.mdx index 3710576c9136..a27cca8e0652 100644 --- a/website/pages/pt/deploying/hosted-service.mdx +++ b/website/pages/pt/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: O que é o Serviço Hospedado? --- -> Favor lembrar que o Serviço Hospedado começou a ser desativado no primeiro trimestre de 2023, mas permanecerá disponível para redes não apoiadas na rede descentralizada. Recomendamos que os programadores [migrem seus subgraphs](/cookbook/upgrading-a-subgraph) à medida que mais redes recebem apoio. Cada rede gradualmente terá seus equivalentes ao serviço hospedado desativados, para garantir que os programadores tenham tempo para migrar subgraphs à rede descentralizada. Leia mais sobre a desativação do Serviço Hospedado [aqui](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) Esta seção guiará-lhe pelo processo de lançar um subgraph ao [Serviço Hospedado](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ Para uma lista compreensiva, veja [Redes Apoiadas](/developing/supported-network ## Como Criar um Subgraph -Primeiro, siga as instruções [aqui](/developing/defining-a-subgraph) para instalar o Graph CLI. Crie um subgraph com um passe de `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### De um Contrato Existente Se já tem um contrato inteligente lançado na sua rede de escolha, iniciar um novo subgraph a partir deste contrato já é um bom começo para usar o serviço hospedado. -Podes usar este comando para criar um subgraph que indexa todos os eventos de um contrato existente. Isto tentará retirar o ABI do contrato do [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Além disso, também pode usar os seguintes argumentos opcionais. Se a ABI não puder ser retirada do Etherscan, ela pede por um local de arquivo. Se quaisquer argumentos opcionais estiveram a faltar no comando, ele levanta um formulário interativo. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Redes apoiadas no Serviço Hospedado -Confira a lista de redes apoiadas [aqui](/developing/supported-networks). +Veja a lista das redes apoiadas [aqui](/developing/supported-networks). From 5f32bc46cefe21819421e2f20f7f606f8d44320d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:19 -0400 Subject: [PATCH 0235/2326] New translations hosted-service.mdx (Russian) --- website/pages/ru/deploying/hosted-service.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/ru/deploying/hosted-service.mdx b/website/pages/ru/deploying/hosted-service.mdx index c9a8397ade4a..6a241099f9c0 100644 --- a/website/pages/ru/deploying/hosted-service.mdx +++ b/website/pages/ru/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: Что такое Hosted Service? --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ For a comprehensive list, see [Supported Networks](/developing/supported-network ## Создать подграф -Сначала следуйте инструкциям [здесь](/developing/defining-a-subgraph), чтобы установить Graph CLI. Создайте подграф, передав в `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### Из существующего контракта If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -Вы можете использовать эту команду для создания подграфа, который индексирует все события из существующего контракта. При этом будет сделана попытка получить ABI контракта от [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Кроме того, вы можете использовать следующие необязательные аргументы. Если ABI не может быть извлечен из Etherscan, он возвращается к запросу локального пути к файлу. Если в команде отсутствуют какие-либо необязательные аргументы, она проведет вас через интерактивную форму. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ From bc6810eaf9e3b63e4fdb316cb11bf1d0e7f57b82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:20 -0400 Subject: [PATCH 0236/2326] New translations hosted-service.mdx (Swedish) --- website/pages/sv/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/sv/deploying/hosted-service.mdx b/website/pages/sv/deploying/hosted-service.mdx index 62ca46568cfd..fdfd6ef85911 100644 --- a/website/pages/sv/deploying/hosted-service.mdx +++ b/website/pages/sv/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: Vad är värdtjänsten? --- -> Observera att den hostade tjänsten kommer att börja avvecklas 2023, men den kommer att förbli tillgänglig för nätverk som inte stöds av det decentraliserade nätverket. Utvecklare uppmuntras att [uppgradera sina undergrafer till The Graf Nätverk ](/cookbook/upgrading-a-subgraph) när fler nätverk stöds. Varje nätverk kommer att ha sina hostade tjänsteekvivalenter gradvis solnedgång för att säkerställa att utvecklare har tillräckligt med tid att uppgradera undergrafer till det decentraliserade nätverket. Läs mer om avvecklingen av den hostade tjänsten [här](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) I det här avsnittet går vi igenom hur du distribuerar en undergraf till [hostad tjänst](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ För en fullständig lista, se [Nätverk som stöds](/developing/supported-netwo ## Skapa en Subgraf -Följ först instruktionerna [ här](/developing/defining-a-subgraph) för att installera Graph CLI. Skapa en subgraf genom att skicka in `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### Från ett befintligt avtal Om du redan har ett smart kontrakt distribuerat till ditt nätverk kan det vara ett bra sätt att komma igång med värdtjänsten genom att starta upp en ny subgraf från detta kontrakt. -Du kan använda detta kommando för att skapa en subgraf som indexerar alla händelser från ett befintligt kontrakt. Detta kommer att försöka hämta kontraktets ABI från [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Dessutom kan du använda följande valfria argument. Om ABI inte kan hämtas från Etherscan återgår kommandot till att begära en lokal filsökväg. Om något valfritt argument saknas i kommandot kommer du att gå igenom ett interaktivt formulär. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Nätverk som stöds av den hostade tjänsten -Du hittar listan över de nätverk som stöds [Här](/developing/supported-networks). +Du kan hitta listan över de stödda nätverken [här](/developing/supported-networks). From 01f43389451c93702591e4fee1116100e1c0bb46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:21 -0400 Subject: [PATCH 0237/2326] New translations hosted-service.mdx (Turkish) --- website/pages/tr/deploying/hosted-service.mdx | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/website/pages/tr/deploying/hosted-service.mdx b/website/pages/tr/deploying/hosted-service.mdx index 017f73f29030..7e56d003f6f1 100644 --- a/website/pages/tr/deploying/hosted-service.mdx +++ b/website/pages/tr/deploying/hosted-service.mdx @@ -1,24 +1,24 @@ --- -title: Barındırılan Hizmet Nedir? +title: What is the Hosted Service? --- -> Barındırılan hizmetin 2023 yılı içerisinde kullanımdan kalkacağını, ancak merkeziyetsiz ağda desteklenmeyen ağlar için kullanılabilir kalacağını lütfen unutmayın. Daha fazla ağ desteklendikçe geliştiricilerin [subgraphlar'ını The Graph Ağı'na yükseltmeleri](/cookbook/upgrading-a-subgraph) teşvik edilmektedir. Geliştiricilerin subgraphları merkeziyetsiz ağa yükseltmek için yeterli zamana sahip olmalarını sağlamak adına her ağın barındırılan hizmet eşdeğerleri kademeli olarak sonlandırılacaktır. Barındırılan hizmetin kullanımdan kaldırılması hakkında daha fazla bilgiyi [buradan](https://thegraph.com/blog/sunsetting-hosted-service) edinebilirsiniz. +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) Bu bölüm, [barındırılan hizmet](https://thegraph.com/hosted-service/)'e bir subgraph dağıtma konusunda size yol gösterecektir. Barındırılan hizmette bir hesabınız yoksa, GitHub hesabınızla kaydolabilirsiniz. Kimliğinizi doğruladıktan sonra, kullanıcı arayüzü aracılığıyla subgraphlar oluşturmaya ve bunları terminalinizden dağıtmaya başlayabilirsiniz. Barındırılan hizmet Polygon, Gnosis Chain, BNB Chain, Optimism, Arbitrum ve daha fazlası gibi bir dizi ağı desteklemektedir. -Kapsamlı bir liste için [Desteklenen ağlar](/developing/supported-networks/#hosted-service)'a bir göz atın. +For a comprehensive list, see [Supported Networks](/developing/supported-networks/#hosted-service). ## Subgraph Oluştur -Graph CLI'yi yüklemek için önce [buradaki](/developing/defining-a-subgraph) talimatları izleyin. `graph init --product hosted-service` ile geçerek bir subgraph oluşturun +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` -### Mevcut Bir Sözleşmeden +### From an Existing Contract Tercih ettiğiniz ağa halihazırda dağıtılmış bir akıllı sözleşmeniz varsa, bu sözleşmeden yeni bir subgraph'ı önyüklemek, barındırılan hizmete başlamak için iyi bir yol olabilir. -Mevcut bir sözleşmedeki tüm olayları indeksleyen bir subgraph oluşturmak için bu komutu kullanabilirsiniz. Bu, sözleşme ABI'sini [Etherscan](https://etherscan.io/)'den almaya çalışacak. +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,24 +27,24 @@ graph init \ / [] ``` -Ek olarak, aşağıdaki isteğe bağlı bağımsız değişkenleri kullanabilirsiniz. ABI, Etherscan'den getirilemezse, yerel bir dosya yolu istemeye geri döner. Komutta herhangi bir isteğe bağlı argüman eksikse, sizi etkileşimli bir forma götürür. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ --abi \ ``` -Bu durumda ``, GitHub kullanıcı veya kuruluş adınızdır, `` subgraph'inizin adıdır ve ``, `graph init`'in örnek subgraph bildirimini koyacağı dizinin isteğe bağlı adıdır. ``, mevcut sözleşmenizin adresidir. ``, sözleşmenin üzerinde yaşadığı ağın adıdır. ``, bir sözleşme ABI dosyasına giden yerel bir yoldur. **`--network` ve `--abi` ikisi de isteğe bağlıdır.** +The `` in this case is your GitHub user or organization name, `` is the name for your subgraph, and `` is the optional name of the directory where `graph init` will put the example subgraph manifest. The `` is the address of your existing contract. `` is the name of the network that the contract lives on. `` is a local path to a contract ABI file. **Both `--network` and `--abi` are optional.** -### Örnek Bir Subgraph'ten +### From an Example Subgraph -`graph init`'in desteklediği ikinci mod, örnek bir subgraph'ten yeni bir proje yaratmaktır. Aşağıdaki komut bunu yapar: +The second mode `graph init` supports is creating a new project from an example subgraph. The following command does this: ``` graph init --from-example --product hosted-service / [] ``` -Örnek subgraph, kullanıcı avatarlarını yöneten ve avatarlar oluşturulduğunda veya güncellendiğinde `NewGravatar` veya `UpdateGravatar` etkinliklerini yayınlayan Dani Grant'in Gravity sözleşmesine dayanmaktadır. Subgraph, bu olayları `Gravatar` varlıklarını Graph Node depolama alanına yazarak ve bunların olaylara göre güncellenmesini sağlayarak işler. Aşağıdaki bölümlerde, bu örnek için subgraph manifest'ini oluşturan dosyaların üzerinden geçilecektir. Akıllı sözleşmelerinizden hangi olaylara, eşlemelere ve daha fazlasına dikkat etmeniz gerektiğini daha iyi anlamak için [subgraph manifestosu](/developing/creating-a-subgraph#the-subgraph-manifest) ile devam edin. +The example subgraph is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. Continue on to the [subgraph manifest](/developing/creating-a-subgraph#the-subgraph-manifest) to better understand which events from your smart contracts to pay attention to, mappings, and more. ### Bir Proxy Sözleşmesinden @@ -59,4 +59,4 @@ graph init \ ## Barındırılan Hizmette Desteklenen Ağlar -Desteklenen ağların listesini [burada](/developing/supported-networks) bulabilirsiniz. +You can find the list of the supported networks [here](/developing/supported-networks). From 4e69dc1ad373bc9e1197dfceb15a57c1554932f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:22 -0400 Subject: [PATCH 0238/2326] New translations hosted-service.mdx (Ukrainian) --- website/pages/uk/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/uk/deploying/hosted-service.mdx b/website/pages/uk/deploying/hosted-service.mdx index 0d5df683852a..82afd7c2c5dd 100644 --- a/website/pages/uk/deploying/hosted-service.mdx +++ b/website/pages/uk/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: What is the Hosted Service? --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ For a comprehensive list, see [Supported Networks](/developing/supported-network ## Створення субграфа -First follow the instructions [here](/developing/defining-a-subgraph) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### From an Existing Contract If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Additionally, you can use the following optional arguments. If the ABI cannot be fetched from Etherscan, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Supported Networks on the hosted service -You can find the list of the supported networks [Here](/developing/supported-networks). +You can find the list of the supported networks [here](/developing/supported-networks). From 16606679be7f5522dfd958fea03225228161dfb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:24 -0400 Subject: [PATCH 0239/2326] New translations hosted-service.mdx (Chinese Simplified) --- website/pages/zh/deploying/hosted-service.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/zh/deploying/hosted-service.mdx b/website/pages/zh/deploying/hosted-service.mdx index 59ea9c75df0e..3f8f65646c02 100644 --- a/website/pages/zh/deploying/hosted-service.mdx +++ b/website/pages/zh/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: 什么是托管服务? --- -> 请注意,托管服务将于2023年第1个季度开始关闭,但它仍将适用于去中心化网络不支持的网络。随着更多网络的支持,鼓励开发人员[迁移其子图](https://thegraph.com/blog/how-to-migrate-ethereum-subgraph)。每一个网络都会让它们的托管服务逐渐消失,以确保开发人员有足够的时间将子图迁移到去中心化网络。在这里阅读有关[托管服务](https://thegraph.com/blog/sunsetting-hosted-service)关闭的更多信息。 +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) 本节将引导您完成将子图部署到[托管服务](https://thegraph.com/hosted-service/)的过程。 @@ -12,13 +12,13 @@ title: 什么是托管服务? ## 创建子图 -首先按照[这里](/developing/defining-a-subgraph)的说明安装 Graph CLI。通过传入`graph init--产品托管服务`创建子图。 +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### 基于现有合约 如果您已经将智能合约部署到以太坊主网或其中一个测试网,那么从该合约中引导一个新的子图可能是开始使用托管服务的好方法。 -您可以使用此命令创建一个子图,为现有合约中的所有事件编制索引。 这将尝试从 [Etherscan](https://etherscan.io/) 获取合约 ABI。 +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -此外,您可以使用以下可选参数。 如果无法从 Etherscan 获取 ABI,它会退回到请求本地文件路径。 如果命令中缺少任何可选参数,它会带您进入交互式表单。 +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ From c0d3f80a622cb8a1f2949d202309cb06b04f1c8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:25 -0400 Subject: [PATCH 0240/2326] New translations hosted-service.mdx (Urdu (Pakistan)) --- website/pages/ur/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ur/deploying/hosted-service.mdx b/website/pages/ur/deploying/hosted-service.mdx index f9fafebee077..a5c7f1ea9e33 100644 --- a/website/pages/ur/deploying/hosted-service.mdx +++ b/website/pages/ur/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: ہوسٹڈ سروس کیا ہے؟ --- -> براہ کرم نوٹ کریں، ہوسٹڈ سروس 2023 میں غروب ہونا شروع ہو جائے گی، لیکن یہ ان نیٹ ورکس کے لیے دستیاب رہے گی جن کو ڈیسینٹرالائزڈ نیٹ ورک سپورٹ نہیں کرتا۔ ڈویلپرز کی حوصلہ افزائی کی جاتی ہے کہ وہ [ گراف نیٹ ورک پر اپنے سب گرافس کو اپ گریڈ کریں](/cookbook/upgrading-a-subgraph) کیونکہ مزید نیٹ ورکس سپورٹ کیے جاتے ہیں۔ ہر نیٹ ورک کے پاس ان کی ہوسٹڈ سروس کے مساوی بتدریج غروب آفتاب ہو گا تاکہ یہ یقینی بنایا جا سکے کہ ڈویلپرز کے پاس ڈیسینٹرالائزڈ نیٹ ورک میں سب گراف کو اپ گریڈ کرنے کے لیے کافی وقت ہے۔ ہوسٹڈ سروس کے غروب کے بارے میں مزید [یہاں](https://thegraph.com/blog/sunsetting-hosted-service) پڑھیں۔ +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) یہ سیکشن آپ کو [ہوسٹڈ سروس](https://thegraph.com/hosted-service/) میں سب گراف کی تعیناتی میں لے جائے گا۔ @@ -12,13 +12,13 @@ title: ہوسٹڈ سروس کیا ہے؟ ## سب گراف بنائیں -پہلے گراف CLI انسٹال کرنے کے لیے [یہاں](/developing/defining-a-subgraph) ہدایات پر عمل کریں۔ `graph init --product hosted-service` پاس کرکے ایک سب گراف بنائیں +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### ایک موجودہ کنٹریکٹ سے اگر آپ کے پاس پہلے سے ہی اپنی پسند کے نیٹ ورک پر ایک سمارٹ کنٹریکٹ تعینات ہے، تو اس کنٹریکٹ سے ایک نیا سب گراف بوٹسٹریپ کرنا ہوسٹڈ سروس شروع کرنے کا ایک اچھا طریقہ ہو سکتا ہے۔ -آپ اس کمانڈ کو ایک سب گراف بنانے کے لیے استعمال کر سکتے ہیں جو موجودہ کنٹریکٹ سے تمام واقعات کو انڈیکس کرتا ہے۔ یہ [ایتھر سکین](https://etherscan.io/) سے کنٹریکٹ ABI حاصل کرنے کی کوشش کرے گا. +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -مزید برآں، آپ درج ذیل اختیاری دلائل استعمال کر سکتے ہیں۔ اگر ABI ایتھر سکین سے حاصل نہیں کیا جا سکتا ہے، تو یہ مقامی فائل پاتھ کی درخواست پر واپس آتا ہے۔ اگر کمانڈ سے کوئی اختیاری دلائل غائب ہیں، تو یہ آپ کو ایک انٹرایکٹو فارم میں لے جاتا ہے. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## ہوسٹڈ سروس پر سپورٹڈ نیٹ ورکس -آپ سپورٹڈ نیٹ ورکس کی فہرست [یہاں](/developing/supported-networks) تلاش کر سکتے ہیں. +آپ کو تعاون یافتہ نیٹ ورکس کی فہرست [یہاں](/developing/supported-networks) مل سکتی ہے. From f8d0e4f7bef776db86cdba1d199348e3157697b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:26 -0400 Subject: [PATCH 0241/2326] New translations hosted-service.mdx (Vietnamese) --- website/pages/vi/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/vi/deploying/hosted-service.mdx b/website/pages/vi/deploying/hosted-service.mdx index 5c052c198b7b..a275dcb7b958 100644 --- a/website/pages/vi/deploying/hosted-service.mdx +++ b/website/pages/vi/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: What is the Hosted Service? --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ For a comprehensive list, see [Supported Networks](/developing/supported-network ## Tạo một Subgraph -First follow the instructions [here](/developing/defining-a-subgraph) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### From an Existing Contract If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Additionally, you can use the following optional arguments. If the ABI cannot be fetched from Etherscan, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Supported Networks on the hosted service -You can find the list of the supported networks [Here](/developing/supported-networks). +You can find the list of the supported networks [here](/developing/supported-networks). From 9087f0f85410ae37764240420be19542844f83f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:27 -0400 Subject: [PATCH 0242/2326] New translations hosted-service.mdx (Marathi) --- website/pages/mr/deploying/hosted-service.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/mr/deploying/hosted-service.mdx b/website/pages/mr/deploying/hosted-service.mdx index d46269587b69..8906fff59659 100644 --- a/website/pages/mr/deploying/hosted-service.mdx +++ b/website/pages/mr/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: होस्ट केलेली सेवा काय आहे? --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ If you don't have an account on the hosted service, you can sign up with your Gi ## सबग्राफ तयार करा -ग्राफ CLI स्थापित करण्यासाठी प्रथम [येथे](/developing/defining-a-subgraph) सूचनांचे अनुसरण करा. `graph init --product hosted-service` पास करून सबग्राफ तयार करा +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### विद्यमान करारातून If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -तुम्ही ही कमांड सबग्राफ तयार करण्यासाठी वापरू शकता जे विद्यमान करारातील सर्व इव्हेंट्स अनुक्रमित करते. हे [Etherscan](https://etherscan.io/) वरून करार ABI आणण्याचा प्रयत्न करेल. +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -याव्यतिरिक्त, तुम्ही खालील पर्यायी युक्तिवाद वापरू शकता. जर एबीआय इथरस्कॅनमधून आणले जाऊ शकत नसेल, तर ते स्थानिक फाइल मार्गाची विनंती करण्यासाठी परत येते. कमांडमधून कोणतेही पर्यायी वितर्क गहाळ असल्यास, ते तुम्हाला परस्परसंवादी फॉर्ममधून घेऊन जाते. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --नेटवर्क \ From 7b37ef2a5984ed7d1293489ba09597803a823092 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:28 -0400 Subject: [PATCH 0243/2326] New translations hosted-service.mdx (Hindi) --- website/pages/hi/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/hi/deploying/hosted-service.mdx b/website/pages/hi/deploying/hosted-service.mdx index 795e9de62df6..f2d769cb959b 100644 --- a/website/pages/hi/deploying/hosted-service.mdx +++ b/website/pages/hi/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: होस्टेड सेवा क्या है? --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ If you don't have an account on the hosted service, you can sign up with your Gi ## एक सबग्राफ बनाएं -ग्राफ़ सीएलआई स्थापित करने के लिए सबसे पहले [यहां](/Developing/defining-a-subgraph) निर्देशों का पालन करें। `graph init --product hosted-service` को पास करके एक सबग्राफ़ बनाएं +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### एक मौजूदा कॉन्ट्रैक्ट से If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -आप इस आदेश का उपयोग एक सबग्राफ बनाने के लिए कर सकते हैं जो मौजूदा कॉन्ट्रैक्ट से सभी घटनाओं को अनुक्रमित करता है। यह [Etherscan](https://etherscan.io/) से कॉन्ट्रैक्ट ABI प्राप्त करने का प्रयास करेगा। +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -इसके अतिरिक्त, आप निम्नलिखित वैकल्पिक तर्कों का उपयोग कर सकते हैं। यदि ABI को एथरस्कैन से प्राप्त नहीं किया जा सकता है, तो यह स्थानीय फ़ाइल पथ का अनुरोध करने के लिए वापस आ जाता है। यदि कमांड से कोई वैकल्पिक तर्क गायब है, तो यह आपको एक इंटरएक्टिव फॉर्म के माध्यम से ले जाता है। +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Supported Networks on the hosted service -आप समर्थित नेटवर्क की सूची पा सकते हैं [Here](/developing/supported-networks). +आप समर्थित नेटवर्क की सूची [यहां](/Developing/supported-networks) प्राप्त कर सकते हैं। From a4616fe5861f17d58e6dfc4d9cddbd6eb70ebe0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:29 -0400 Subject: [PATCH 0244/2326] New translations hosted-service.mdx (Yoruba) --- website/pages/yo/deploying/hosted-service.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/yo/deploying/hosted-service.mdx b/website/pages/yo/deploying/hosted-service.mdx index 71a7fb23bdf5..3c11045a8e44 100644 --- a/website/pages/yo/deploying/hosted-service.mdx +++ b/website/pages/yo/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: What is the Hosted Service? --- -> Please note, the hosted service will begin sunsetting in 2023, but it will remain available to networks that are not supported on the decentralized network. Developers are encouraged to [upgrade their subgraphs to The Graph Network](/cookbook/upgrading-a-subgraph) as more networks are supported. Each network will have their hosted service equivalents gradually sunset to ensure developers have enough time to upgrade subgraphs to the decentralized network. Read more about the sunsetting of the hosted service [here](https://thegraph.com/blog/sunsetting-hosted-service). +> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) This section will walk you through deploying a subgraph to the [hosted service](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ For a comprehensive list, see [Supported Networks](/developing/supported-network ## Ṣẹda Subgraph kan -First follow the instructions [here](/developing/defining-a-subgraph) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` +First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` ### From an Existing Contract If you already have a smart contract deployed to your network of choice, bootstrapping a new subgraph from this contract can be a good way to get started on the hosted service. -You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from [Etherscan](https://etherscan.io/). +You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Additionally, you can use the following optional arguments. If the ABI cannot be fetched from Etherscan, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. +Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. ```sh --network \ @@ -59,4 +59,4 @@ graph init \ ## Supported Networks on the hosted service -You can find the list of the supported networks [Here](/developing/supported-networks). +You can find the list of the supported networks [here](/developing/supported-networks). From 6b58b929035e89a6cfc4e879858e950432cc1e61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:30 -0400 Subject: [PATCH 0245/2326] New translations subgraph-studio-faqs.mdx (Romanian) --- website/pages/ro/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ro/deploying/subgraph-studio-faqs.mdx b/website/pages/ro/deploying/subgraph-studio-faqs.mdx index 65217d4b7741..8761f7a31bf6 100644 --- a/website/pages/ro/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/ro/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: Subgraph Studio FAQs ## 2. How do I create an API Key? -To create an API, navigate to the Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Can I create multiple API Keys? @@ -20,12 +20,12 @@ After creating an API Key, in the Security section, you can define the domains t ## 5. Can I transfer my subgraph to another owner? -Yes, subgraphs that have been published to Mainnet can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Note that you will no longer be able to see or edit the subgraph in Studio once it has been transferred. ## 6. How do I find query URLs for subgraphs if I’m not the developer of the subgraph I want to use? -You can find the query URL of each subgraph in the Subgraph Details section of The Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in the Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Remember that you can create an API key and query any subgraph published to the network, even if you build a subgraph yourself. These queries via the new API key, are paid queries as any other on the network. From 69bc786172f062f03e13ad0b868ada8f74c0a858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:31 -0400 Subject: [PATCH 0246/2326] New translations subgraph-studio-faqs.mdx (French) --- website/pages/fr/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/fr/deploying/subgraph-studio-faqs.mdx b/website/pages/fr/deploying/subgraph-studio-faqs.mdx index 7c64254635a2..ae6da600254d 100644 --- a/website/pages/fr/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/fr/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: Subgraph Studio FAQ ## 2. Comment créer une clé API ? -Pour créer une API, naviguez vers Subgraph Studio et connectez votre portefeuille. Vous pourrez cliquer sur l'onglet clés API en haut. Là, vous pourrez créer une clé API. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Puis-je créer plusieurs clés API ? @@ -20,12 +20,12 @@ Après avoir créé une clé API, dans la section Sécurité, vous pouvez défin ## Puis-je transférer mon subgraph à un autre propriétaire ? -Oui, les subgraphes qui ont été publiés sur le réseau principal peuvent être transférés vers un nouveau portefeuille ou un Multisig. Vous pouvez le faire en cliquant sur les trois points à côté du bouton "Publier" sur la page de détails du subgraphe et en sélectionnant "Transférer la propriété". +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Notez que vous ne pourrez plus voir ou modifier le subgraph dans Studio une fois qu'il aura été transféré. ## Comment trouver les URL de requête pour les sugraphs si je ne suis pas le développeur du subgraph que je veux utiliser ? -Vous pouvez trouver l'URL de requête de chaque subgraph dans la section Détails du subgraph de the Graph Explorer. Lorsque vous cliquez sur le bouton « Requête », vous serez dirigé vers un volet dans lequel vous pourrez visualiser l'URL de requête du subgraph qui vous intéresse. Vous pouvez ensuite remplacer l'espace réservé ``. avec la clé API que vous souhaitez exploiter dans Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. N'oubliez pas que vous pouvez créer une clé API et interroger n'importe quel subgraph publié sur le réseau, même si vous créez vous-même un subgraph. Ces requêtes via la nouvelle clé API, sont des requêtes payantes comme n'importe quelle autre sur le réseau. From 97b4df0bdac3cdeb2bf57d47b7ffce6ee37aa99c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:32 -0400 Subject: [PATCH 0247/2326] New translations subgraph-studio-faqs.mdx (Spanish) --- website/pages/es/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/es/deploying/subgraph-studio-faqs.mdx b/website/pages/es/deploying/subgraph-studio-faqs.mdx index 06129efb5bff..0c7b9c4610e1 100644 --- a/website/pages/es/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/es/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: Preguntas Frecuentes sobre Subgraph Studio ## 2. ¿Cómo creo una clave API? -Para crear una API, ve a Subgraph Studio y conecta tu wallet. Podrás hacer click en la pestaña de claves API en la parte superior. Allí, podrás crear una clave API. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. ¿Puedo crear múltiples claves de API? @@ -20,12 +20,12 @@ Después de crear una clave de API, en la sección Seguridad, puedes definir los ## 5. ¿Puedo transferir mi subgrafo a otro propietario? -Sí, los subgrafos que han sido publicados en Mainnet pueden ser transferidos a una nueva wallet o a una Multisig. Puedes hacerlo haciendo click en los tres puntos junto al botón "Publicar" en la página de detalles del subgrafo y seleccionando "Transferir propiedad". +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Ten en cuenta que ya no podrás ver o editar el subgrafo en Studio una vez que haya sido transferido. ## 6. ¿Cómo encuentro URLs de consulta para subgrafos si no soy el desarrollador del subgrafo que quiero usar? -Puedes encontrar la consulta URL de cada subgrafo en la sección Detalles del Subgrafo de The Graph Explorer. Cuando haces clic en el botón de "Query" (Consulta), serás dirigido a un panel en el que puedes ver la URL de consulta del subgrafo que te interesa. A continuación, puedes sustituir el marcador de posición `` por la clave API que deseas aprovechar en Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Recuerda que puedes crear una clave API y consultar cualquier subgrafo publicado en la red, incluso si tú mismo construyes un subgrafo. Estas consultas a través de la nueva clave API, son consultas pagadas como cualquier otra en la red. From 6083be78ea41f9d2236f33bac64d0e559a572f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:32 -0400 Subject: [PATCH 0248/2326] New translations subgraph-studio-faqs.mdx (Arabic) --- website/pages/ar/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ar/deploying/subgraph-studio-faqs.mdx b/website/pages/ar/deploying/subgraph-studio-faqs.mdx index 8cbd72bcefd4..74c0228e4093 100644 --- a/website/pages/ar/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/ar/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: الأسئلة الشائعة حول الفرعيةرسم بياني اس ## 2. How do I create an API Key? -To create an API, navigate to the Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Can I create multiple API Keys? @@ -20,12 +20,12 @@ After creating an API Key, in the Security section, you can define the domains t ## 5. Can I transfer my subgraph to another owner? -نعم ، الـ subgraphs التي تم نشرها على Mainnet يمكن نقلها إلى محفظة جديدة أو إلى Multisig. يمكنك القيام بذلك عن طريق النقر فوق النقاط الثلاث الموجودة بجوار زر "Publish" في صفحة تفاصيل الـ subgraph واختيار "Transfer ownership". +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Note that you will no longer be able to see or edit the subgraph in Studio once it has been transferred. ## 6. How do I find query URLs for subgraphs if I’m not the developer of the subgraph I want to use? -يمكنك العثور على URL الاستعلام(query URL) لكل subgraph في قسم Subgraph Details في The Graph Explorer. عند النقر فوق الزر "Query" ، سيتم توجيهك إلى نافذة حيث يمكنك عرض URL الاستعلام لـ subgraph الذي تهتم به. ويمكنك بعد ذلك استبدال `` بمفتاح API الذي ترغب في الاستفادة منه في Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. تذكر أنه يمكنك إنشاء API key والاستعلام عن أي subgraph منشور على الشبكة ، حتى إذا قمت ببناء subgraph بنفسك. حيث أن الاستعلامات عبر API key الجديد ، هي استعلامات مدفوعة مثل أي استعلامات أخرى على الشبكة. From fa6cb13bac729740fd4c3bfca6dfd3cecac664cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:33 -0400 Subject: [PATCH 0249/2326] New translations subgraph-studio-faqs.mdx (Czech) --- website/pages/cs/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/cs/deploying/subgraph-studio-faqs.mdx b/website/pages/cs/deploying/subgraph-studio-faqs.mdx index 5f88c8afc148..329cc1056022 100644 --- a/website/pages/cs/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/cs/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: FAQs Podgraf Studio ## 2. Jak vytvořím klíč API? -Chcete-li vytvořit rozhraní API, přejděte do Podgraf Studio a připojte peněženku. V horní části budete moci kliknout na kartu Klíče API. Tam budete moci vytvořit klíč API. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Mohu vytvořit více klíčů API? @@ -20,12 +20,12 @@ Po vytvoření klíče API můžete v části Zabezpečení definovat domény, k ## 5. Mohu svůj podgraf převést na jiného vlastníka? -Ano, dílčí grafy, které byly zveřejněny v Mainnetu, lze přenést do nové peněženky nebo Multisig. Můžete tak učinit kliknutím na tři tečky vedle tlačítka "Publikovat" na stránce s podrobnostmi podgrafu a výběrem možnosti "Převést vlastnictví". +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Všimněte si, že po přenesení podgrafu jej již nebudete moci ve Studio zobrazit ani upravovat. ## 6. Jak najdu adresy URL dotazů pro podgrafy, pokud nejsem Vývojář podgrafu, který chci použít? -Adresu URL dotazu každého podgrafu najdete v části Podrobnosti o podgrafu v Průzkumníku grafů. Po kliknutí na tlačítko "Query" (Dotaz) budete přesměrováni na panel, ve kterém si můžete zobrazit URL adresu dotazu podgrafu, který vás zajímá. Poté můžete nahradit zástupný znak `` klíčem API, který chcete využít ve Studio podgrafu. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Nezapomeňte, že si můžete vytvořit klíč API a dotazovat se na libovolný podgraf zveřejněný v síti, i když si podgraf vytvoříte sami. Tyto dotazy prostřednictvím nového klíče API jsou placené dotazy jako jakékoli jiné v síti. From ad5033bf61dcb70ac24902223d567a96073ccc4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:34 -0400 Subject: [PATCH 0250/2326] New translations subgraph-studio-faqs.mdx (German) --- website/pages/de/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/de/deploying/subgraph-studio-faqs.mdx b/website/pages/de/deploying/subgraph-studio-faqs.mdx index 3d3e858553bc..b5b8cede7888 100644 --- a/website/pages/de/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/de/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: Subgraph Studio-FAQs ## 2. Wie erstelle ich einen API-Schlüssel? -To create an API, navigate to the Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Kann ich mehrere API-Schlüssel erstellen? @@ -20,12 +20,12 @@ Nachdem Sie einen API-Schlüssel erstellt haben, können Sie im Abschnitt Sicher ## 5. Kann ich meinen Subgrafen an einen anderen Eigentümer übertragen? -Ja, Subgrafen, die auf Mainnet veröffentlicht wurden, können auf ein neues Wallet oder eine Multisig übertragen werden. Klicken Sie dazu auf der Detailseite des Subgrafen auf die drei Punkte neben der Schaltfläche „Veröffentlichen“ ('Publish') und wählen Sie „Inhaberschaft übertragen“ ('Transfer ownership'). +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Beachten Sie, dass Sie den Subgrafen nach der Übertragung nicht mehr in Studio sehen oder bearbeiten können. ## 6. How do I find query URLs for subgraphs if I’m not the developer of the subgraph I want to use? -Sie finden die Abfrage-URL jedes Subgrafen im Abschnitt „Subgraf-Details“ des Graph-Explorers. Wenn Sie auf die Schaltfläche „Abfrage“ (“Query”) klicken, werden Sie zu einem Bereich weitergeleitet, in dem Sie die Abfrage-URL des Subgrafen sehen können, an dem Sie interessiert sind. Sie können dann den Platzhalter `` mit dem API-Schlüssel, den Sie im Subgraph Studio nutzen möchten, ersetzen. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Denken Sie daran, dass Sie einen API-Schlüssel erstellen und jeden im Netzwerk veröffentlichten Subgrafen abfragen können, auch wenn Sie selbst einen Subgrafen erstellen. Diese Abfragen über den neuen API-Schlüssel sind wie alle anderen im Netzwerk kostenpflichtige Abfragen. From 09521e735d42cca2845798df9e4c3a01914b9919 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:35 -0400 Subject: [PATCH 0251/2326] New translations subgraph-studio-faqs.mdx (Italian) --- website/pages/it/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/it/deploying/subgraph-studio-faqs.mdx b/website/pages/it/deploying/subgraph-studio-faqs.mdx index 431f5d6f52f0..cb695832e258 100644 --- a/website/pages/it/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/it/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: FAQ di Subgraph Studio ## 2. Come si crea una chiave API? -Per creare un'API, accedere a Subgraph Studio e collegare il portafoglio. Sarà possibile fare clic sulla scheda Chiavi API in alto. Lì sarà possibile creare una chiave API. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Posso creare più chiavi API? @@ -20,12 +20,12 @@ Dopo aver creato una chiave API, nella sezione Sicurezza è possibile definire i ## 5. Posso trasferire il mio subgraph a un altro proprietario? -Sì, i subgraph che sono stati pubblicati su Mainnet possono essere trasferiti a un nuovo wallet o a un Multisig. È possibile farlo facendo clic sui tre punti accanto al pulsante 'Publish' nella pagina dei dettagli del subgraph e selezionando 'Transfer ownership'. +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Si noti che non sarà più possibile vedere o modificare il subgraph nel Studio una volta trasferito. ## 6. Come posso trovare gli URL di query per i subgraph se non sono lo sviluppatore del subgraph che voglio usare? -L'URL di query di ogni subgraph si trova nella sezione Subgraph Details di Graph Explorer. Facendo clic sul pulsante "Query", si accede a un riquadro in cui è possibile visualizzare l'URL della query del subgraph a cui si è interessati. È quindi possibile sostituire il segnaposto `` con la chiave API che si desidera sfruttare nel Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Si ricorda che è possibile creare una chiave API ed eseguire query del qualsiasi subgraph pubblicato sulla rete, anche se si costruisce un subgraph da soli. Queste query tramite la nuova chiave API sono a pagamento, come tutte le altre sulla rete. From 975a9d8e8084b941c4ff8e74e2bf2e01943cd3c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:36 -0400 Subject: [PATCH 0252/2326] New translations subgraph-studio-faqs.mdx (Japanese) --- website/pages/ja/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ja/deploying/subgraph-studio-faqs.mdx b/website/pages/ja/deploying/subgraph-studio-faqs.mdx index a9c535bd95dc..18fa824a4d06 100644 --- a/website/pages/ja/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/ja/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: サブグラフスタジオFAQ ## 2. API キーを作成するにはどうすればよいですか? -APIを作成するには、Subgraph Studioに移動し、ウォレットを接続します。上部にあるAPI keysタブをクリックします。そこで、APIキーを作成することができます。 +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. 複数の API キーを作成できますか? @@ -20,12 +20,12 @@ API キーを作成後、「セキュリティ」セクションで、特定の ## 5. 自分のサブグラフを他のオーナーに譲渡することはできますか? -はい、メインネットに公開されたサブグラフは、新しいウォレットまたはマルチシグに転送できます。これを行うには、サブグラフの詳細ページの [公開] ボタンの横にある 3 つのドットをクリックし、[所有権を譲渡する] を選択します。 +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. サブグラフが転送されると、Studio でサブグラフを表示または編集できなくなることに注意してください。 ## 6. 使用したいサブグラフの開発者ではない場合、サブグラフのクエリ URL を見つけるにはどうすればよいですか? -各サブグラフのクエリ URL は、Graph Explorerの「Subgraph Details」で確認できます。「Query」をクリックすると、興味のあるサブグラフのクエリ URL が表示されます。ここで``というプレースホルダーを、Subgraph Studioで利用したい API キーに置き換えることができます。 +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. APIキーを作成すると、自分でサブグラフを構築した場合でも、ネットワークに公開されているすべてのサブグラフにクエリを実行できることを覚えておいてください。新しい API キーを介したこれらのクエリは、ネットワーク上の他のクエリと同様に支払われます。 From d4d95934079590c869e787d10e72dca6e5c7bc0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:37 -0400 Subject: [PATCH 0253/2326] New translations subgraph-studio-faqs.mdx (Korean) --- website/pages/ko/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ko/deploying/subgraph-studio-faqs.mdx b/website/pages/ko/deploying/subgraph-studio-faqs.mdx index 65217d4b7741..8761f7a31bf6 100644 --- a/website/pages/ko/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/ko/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: Subgraph Studio FAQs ## 2. How do I create an API Key? -To create an API, navigate to the Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Can I create multiple API Keys? @@ -20,12 +20,12 @@ After creating an API Key, in the Security section, you can define the domains t ## 5. Can I transfer my subgraph to another owner? -Yes, subgraphs that have been published to Mainnet can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Note that you will no longer be able to see or edit the subgraph in Studio once it has been transferred. ## 6. How do I find query URLs for subgraphs if I’m not the developer of the subgraph I want to use? -You can find the query URL of each subgraph in the Subgraph Details section of The Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in the Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Remember that you can create an API key and query any subgraph published to the network, even if you build a subgraph yourself. These queries via the new API key, are paid queries as any other on the network. From 1fbd85d433c67e36d70814a741cf6af4c0d91045 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:38 -0400 Subject: [PATCH 0254/2326] New translations subgraph-studio-faqs.mdx (Dutch) --- website/pages/nl/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/nl/deploying/subgraph-studio-faqs.mdx b/website/pages/nl/deploying/subgraph-studio-faqs.mdx index 65217d4b7741..8761f7a31bf6 100644 --- a/website/pages/nl/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/nl/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: Subgraph Studio FAQs ## 2. How do I create an API Key? -To create an API, navigate to the Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Can I create multiple API Keys? @@ -20,12 +20,12 @@ After creating an API Key, in the Security section, you can define the domains t ## 5. Can I transfer my subgraph to another owner? -Yes, subgraphs that have been published to Mainnet can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Note that you will no longer be able to see or edit the subgraph in Studio once it has been transferred. ## 6. How do I find query URLs for subgraphs if I’m not the developer of the subgraph I want to use? -You can find the query URL of each subgraph in the Subgraph Details section of The Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in the Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Remember that you can create an API key and query any subgraph published to the network, even if you build a subgraph yourself. These queries via the new API key, are paid queries as any other on the network. From e422487bd6abbe739375c27c220e81274db03c74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:39 -0400 Subject: [PATCH 0255/2326] New translations subgraph-studio-faqs.mdx (Polish) --- website/pages/pl/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pl/deploying/subgraph-studio-faqs.mdx b/website/pages/pl/deploying/subgraph-studio-faqs.mdx index 65217d4b7741..8761f7a31bf6 100644 --- a/website/pages/pl/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/pl/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: Subgraph Studio FAQs ## 2. How do I create an API Key? -To create an API, navigate to the Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Can I create multiple API Keys? @@ -20,12 +20,12 @@ After creating an API Key, in the Security section, you can define the domains t ## 5. Can I transfer my subgraph to another owner? -Yes, subgraphs that have been published to Mainnet can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Note that you will no longer be able to see or edit the subgraph in Studio once it has been transferred. ## 6. How do I find query URLs for subgraphs if I’m not the developer of the subgraph I want to use? -You can find the query URL of each subgraph in the Subgraph Details section of The Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in the Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Remember that you can create an API key and query any subgraph published to the network, even if you build a subgraph yourself. These queries via the new API key, are paid queries as any other on the network. From 86e6cabea2f87ea35eabb9315f475a6570352c3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:40 -0400 Subject: [PATCH 0256/2326] New translations subgraph-studio-faqs.mdx (Portuguese) --- website/pages/pt/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/deploying/subgraph-studio-faqs.mdx b/website/pages/pt/deploying/subgraph-studio-faqs.mdx index 2620307372bf..84f8a0d1ae29 100644 --- a/website/pages/pt/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/pt/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ O [Subgraph Studio](https://thegraph.com/studio/) é um dapp para criar, gerir e ## 2. Como criar uma Chave de API? -Para criar uma API, navegue até o Subgraph Studio e conecte a sua carteira. Logo, clique na aba API Keys (Chaves de API); lá poderá criar uma chave API. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Posso criar várias Chaves de API? @@ -20,12 +20,12 @@ Após criar uma Chave de API, na seção de Segurança (Security), pode definir ## 5. Posso transferir meu subgraph para outro dono? -Sim. Subgraphs que foram editados na Mainnet podem ser transferidos para uma nova carteira ou uma Multisig. Para isto, clique nos três pontos próximos ao botão 'Publish' (Publicar) na página de detalhes do subgraph e selecione 'Transfer ownership' (Transferir titularidade). +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Note que após a transferência, não poderá mais ver ou alterar o subgraph no Studio. ## 6. Se eu não for o programador do subgraph que quero usar, como encontro URLs de query para subgraphs? -A URL de query para cada subgraph está na seção Subgraph Details (Detalhes de Subgraph) do The Graph Explorer. Quando clicar no botão "Query" (Consulta), irá a um painel onde está a URL de query do subgraph de seu interesse. Pode então substituir o espaço `` com a chave de API que quer usar no Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Lembre-se que, mesmo se construir um subgraph por conta própria, ainda poderá criar uma chave de API e consultar qualquer subgraph publicado na rede. Estes queries através da nova chave API são pagos, como quaisquer outros na rede. From 9548a78ea7e919bf0f625704c03fe9e7483576bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:41 -0400 Subject: [PATCH 0257/2326] New translations subgraph-studio-faqs.mdx (Russian) --- website/pages/ru/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ru/deploying/subgraph-studio-faqs.mdx b/website/pages/ru/deploying/subgraph-studio-faqs.mdx index a325dbd428ee..f987b2c4a058 100644 --- a/website/pages/ru/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/ru/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: Часто задаваемые вопросы о Subgraph Studio ## 2. Как создать ключ API? -Чтобы создать API, перейдите в Subgraph Studio и подключите свой кошелек. Вы сможете щелкнуть вкладку API-ключи вверху. Там Вы сможете создать ключ API. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Могу ли я создать несколько ключей API? @@ -20,12 +20,12 @@ title: Часто задаваемые вопросы о Subgraph Studio ## 5. Могу ли я передать свой субграф другому владельцу? -Да, субграфы, которые были опубликованы в основной сети, могут быть перенесены в новый кошелек или на кошелек с мультиподписью. Вы можете сделать это, щелкнув три точки рядом с кнопкой «Опубликовать» ('Publish') на странице сведений о субграфе и выбрав «Передать право собственности» ('Transfer ownership'). +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Обратите внимание, что Вы больше не сможете просматривать или редактировать субграф в Studio после его переноса. ## 6. Как мне найти URL-адреса запросов для субграфов, если я не являюсь разработчиком субграфа, который хочу использовать? -Вы можете найти URL-адрес запроса каждого субграфа в разделе «Сведения о субграфе» (Subgraph Details) в The Graph Explorer. После нажатия на кнопку «Запрос» (“Query”), Вы будете перенаправлены на панель, где сможете увидеть URL-адрес запроса интересующего вас субграфа. Затем Вы можете заменить заполнитель `` ключом API, который хотите использовать в Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Помните, что Вы можете создать ключ API и запрашивать любой субграф, опубликованный в сети, даже если сами создаете субграф. Эти запросы через новый ключ API являются платными, как и любые другие в сети. From 2dcacda9e58e18068fb603237d916cbc9dea4056 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:42 -0400 Subject: [PATCH 0258/2326] New translations subgraph-studio-faqs.mdx (Swedish) --- website/pages/sv/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/sv/deploying/subgraph-studio-faqs.mdx b/website/pages/sv/deploying/subgraph-studio-faqs.mdx index bf66a51169eb..27af4467124b 100644 --- a/website/pages/sv/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/sv/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: Vanliga frågor om Subgraf Studio ## 2. Hur skapar jag en API-nyckel? -För att skapa ett API, navigera till Subgraph Studio och anslut din plånbok. Du kommer att kunna klicka på fliken API-nycklar högst upp. Där kommer du att kunna skapa en API-nyckel. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Kan jag skapa flera API-nycklar? @@ -20,12 +20,12 @@ När du har skapat en API-nyckel kan du i avsnittet Säkerhet definiera vilka do ## 5. Kan jag överföra min subgraf till en annan ägare? -Ja, undergrafer som har publicerats på Mainnet kan överföras till en ny plånbok eller en Multisig. Du kan göra det genom att klicka på de tre punkterna bredvid knappen "Publicera" på undergrafens detaljsida och välja "Överför ägande". +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Observera att du inte längre kommer att kunna se eller redigera undergrafen i Studio när den har överförts. ## 6. Hur hittar jag fråge-URL: er för undergrafer om jag inte är utvecklaren av den undergraf jag vill använda? -Du kan hitta sökadressen för varje subgraf i avsnittet Subgraph Details i The Graph Explorer. När du klickar på knappen "Fråga" kommer du att dirigeras till en ruta där du kan se sökadressen till subgrafen du är intresserad av. Du kan sedan ersätta platshållaren `` med API-nyckeln du vill använda i Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Kom ihåg att du kan skapa en API-nyckel och ställa frågor till alla undergrafer som publicerats i nätverket, även om du själv har byggt en undergraf. Dessa förfrågningar via den nya API-nyckeln är betalda förfrågningar som alla andra i nätverket. From e94ccb37656e74afecb8de353dbbe623a6a087ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:43 -0400 Subject: [PATCH 0259/2326] New translations subgraph-studio-faqs.mdx (Turkish) --- .../tr/deploying/subgraph-studio-faqs.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/pages/tr/deploying/subgraph-studio-faqs.mdx b/website/pages/tr/deploying/subgraph-studio-faqs.mdx index 50e5ce2fc28f..d276978f68ce 100644 --- a/website/pages/tr/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/tr/deploying/subgraph-studio-faqs.mdx @@ -1,31 +1,31 @@ --- -title: Subgraph Stüdyo SSS +title: Subgraph Studio FAQs --- ## 1. Subgraph Stüdyo Nedir? -[Subgraph Stüdyo](https://thegraph.com/studio/), subgraph'ler ve API anahtarları oluşturmak, yönetmek ve yayınlamak için kullanılan merkeziyetsiz bir uygulamadır. +[Subgraph Studio](https://thegraph.com/studio/) is a dapp for creating, managing, and publishing subgraphs and API keys. ## 2. API Anahtarını Nasıl Oluşturabilirim? -Bir API oluşturmak için Subgraph Stüdyo'ya gidin ve cüzdanınızı bağlayın. Üst kısımdaki API anahtarları sekmesine tıklayabileceksiniz. Orada bir API anahtarı oluşturabileceksiniz. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Birden Çok API Anahtarı Oluşturabilir miyim? -Evet! Farklı projelerde kullanmak için birden çok API anahtarı oluşturabilirsiniz. [buradaki](https://thegraph.com/studio/apikeys/) bağlantıya göz atın. +Yes! You can create multiple API Keys to use in different projects. Check out the link [here](https://thegraph.com/studio/apikeys/). ## 4. API Anahtarı için Domain'i Nasıl Kısıtlarım? -API anahtarı oluşturduktan sonra Güvenlik bölümünde belirli bir API anahtarını sorgulayabilecek domain'leri tanımlayabilirsiniz. +After creating an API Key, in the Security section, you can define the domains that can query a specific API Key. ## 5. Subgraph'ımı Başka Birine Devredebilir miyim? -Evet, ana ağda yayınlanan subgraph'ler yeni bir cüzdana veya bir Multisig'e aktarılabilir. Bunu, subgraph'in ayrıntılar sayfasındaki 'Yayınla' düğmesinin yanındaki üç noktayı tıklayıp 'Sahipliği aktar'ı seçerek yapabilirsiniz. +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. -Aktarıldıktan sonra subgraph'i artık Stüdyo'da göremeyeceğinizi veya düzenleyemeyeceğinizi unutmayın. +Note that you will no longer be able to see or edit the subgraph in Studio once it has been transferred. ## 6. Kullanmak İstediğim Subgraph'ın Geliştiricisi Değilsem, bu Subgraphlar için Sorgu URL'lerini Nasıl Bulabilirim? -Her subgraph'in sorgu URL'sini Graph Gezgini'nin Subgraph Ayrıntıları bölümünde bulabilirsiniz. "Sorgula" düğmesine tıkladığınızda, ilgilendiğiniz subgrpah'in sorgu URL'sini görüntüleyebileceğiniz bir bölmeye yönlendirileceksiniz. Ardından `` yer tutucusunu Subgraph Stüdyo'da kullanmak istediğiniz API anahtarıyla değiştirebilirsiniz. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. -Kendiniz bir subgraph oluştursanız bile, bir API anahtarı oluşturabileceğinizi ve ağda yayınlanan herhangi bir subgraph'i sorgulayabileceğinizi unutmayın. Yeni API anahtarı aracılığıyla yapılan bu sorgular, ağdaki diğerleri gibi ücretli sorgulardır. +Remember that you can create an API key and query any subgraph published to the network, even if you build a subgraph yourself. These queries via the new API key, are paid queries as any other on the network. From 365ce15f048c43b1eeee3422b5d5a6a8d5dbcf1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:43 -0400 Subject: [PATCH 0260/2326] New translations subgraph-studio-faqs.mdx (Ukrainian) --- website/pages/uk/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/uk/deploying/subgraph-studio-faqs.mdx b/website/pages/uk/deploying/subgraph-studio-faqs.mdx index 65217d4b7741..8761f7a31bf6 100644 --- a/website/pages/uk/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/uk/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: Subgraph Studio FAQs ## 2. How do I create an API Key? -To create an API, navigate to the Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Can I create multiple API Keys? @@ -20,12 +20,12 @@ After creating an API Key, in the Security section, you can define the domains t ## 5. Can I transfer my subgraph to another owner? -Yes, subgraphs that have been published to Mainnet can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Note that you will no longer be able to see or edit the subgraph in Studio once it has been transferred. ## 6. How do I find query URLs for subgraphs if I’m not the developer of the subgraph I want to use? -You can find the query URL of each subgraph in the Subgraph Details section of The Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in the Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Remember that you can create an API key and query any subgraph published to the network, even if you build a subgraph yourself. These queries via the new API key, are paid queries as any other on the network. From bdaff66d13c4e4b5bc0b9844fd118ff0f47997e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:44 -0400 Subject: [PATCH 0261/2326] New translations subgraph-studio-faqs.mdx (Chinese Simplified) --- website/pages/zh/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/zh/deploying/subgraph-studio-faqs.mdx b/website/pages/zh/deploying/subgraph-studio-faqs.mdx index ea7a847bae85..7365bb62a3d8 100644 --- a/website/pages/zh/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/zh/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: 子图工作室常见问题 ## 2. 如何创建 API 密钥? -要创建API,请导航到Subgraph Studio并连接您的钱包。您将能够单击顶部的API密钥选项卡。在那里,您将能够创建API密钥。 +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. 我可以创建多个 API 密钥吗? @@ -20,12 +20,12 @@ title: 子图工作室常见问题 ## 5. 我可以把我的子图转给其他所有者吗? -是的,发表到主网的子图可以转移到一个新的钱包或 Multisig。您可以通过点击子图详细信息页面上“发布”按钮旁边的三个点并选择“传输所有权”来实现。 +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. 请注意,一旦传输了子图,您将无法在工作室中查看或编辑该子图。 ## 6. 如果我不是要使用的子图的开发人员,如何查找子图的查询URL? -你可以在图形网络的子图工作室部分找到每个子图的查询 URL。 当你点击 "查询 "按钮时,你将被引导到一个窗格,在这里你可以查看你感兴趣的子图的查询 URL。 然后你可以把 `` 占位符替换成你想在子图工作室中利用的 API 密钥。 +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. 请记住,你可以创建一个 API 密钥并查询发布到网络上的任何子图,即使你自己建立了一个子图。 这些通过新的 API 密钥进行的查询,与网络上的任何其他查询一样,都是付费查询。 From 1a2440ae1784f2d51e75cd8f5275949d9f84e68c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:45 -0400 Subject: [PATCH 0262/2326] New translations subgraph-studio-faqs.mdx (Urdu (Pakistan)) --- website/pages/ur/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ur/deploying/subgraph-studio-faqs.mdx b/website/pages/ur/deploying/subgraph-studio-faqs.mdx index 1b4ac06d8414..424c64245d7d 100644 --- a/website/pages/ur/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/ur/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: سب گراف سٹوڈیو کے اکثر پوچھے گئے سوالات ## 2. میں ایک API کلید کیسے بنا سکتا ہوں؟ -API بنانے کے لیے، سب گراف سٹوڈیو پر جائیں اور اپنے والیٹ کو جوڑیں۔ آپ سب سے اوپر API کیز ٹیب پر کلک کر سکیں گے۔ وہاں، آپ ایک API کیز بنانے کے قابل ہو جائیں گے. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. کیا میں ایک سے زیادہ API کلیدیں بنا سکتا ہوں؟ @@ -20,12 +20,12 @@ API بنانے کے لیے، سب گراف سٹوڈیو پر جائیں اور ## 5. کیا میں اپنا سب گراف کسی دوسرے مالک کو منتقل کر سکتا ہوں؟ -جی ہاں، مین نیٹ پر شائع کیے گئے سب گراف کو نئے پرس یا ملٹی سگ میں منتقل کیا جا سکتا ہے۔ آپ سب گراف کے تفصیلات والے صفحہ پر 'شائع کریں' بٹن کے آگے تین نقطوں پر کلک کرکے اور 'منتقلی ملکیت' کو منتخب کرکے ایسا کرسکتے ہیں. +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. نوٹ کریں کہ ایک بار منتقل ہونے کے بعد آپ سٹوڈیو میں سب گراف کو دیکھنے یا اس میں ترمیم کرنے کے قابل نہیں رہیں گے. ## 6. اگر میں اس سب گراف کا ڈویلپر نہیں ہوں جسے میں استعمال کرنا چاہتا ہوں تو میں سب گراف کے لیے کیوری کے URLs کیسے تلاش کروں؟ -آپ گراف ایکسپلورر کے سب گراف کی تفصیلات کے سیکشن میں ہر سب گراف کا کیوری URL تلاش کر سکتے ہیں۔ جب آپ "کیوری" بٹن پر کلک کریں گے، تو آپ کو ایک پین کی طرف لے جایا جائے گا جہاں آپ اس سب گراف کا کیوری URL دیکھ سکتے ہیں جس میں آپ دلچسپی رکھتے ہیں۔ پھر آپ `` پلیس ہولڈر کو بدل سکتے ہیں۔ API کلید کے ساتھ آپ سب گراف اسٹوڈیو میں فائدہ اٹھانا چاہتے ہیں. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. یاد رکھیں کہ آپ ایک API کلید بنا سکتے ہیں اور نیٹ ورک پر شائع ہونے والے کسی بھی سب گراف سے کیوری کر سکتے ہیں، چاہے آپ خود ایک سب گراف بناتے ہوں۔ نئی API کلید کے ذریعے یہ کیوریز، نیٹ ورک پر کسی دوسرے کی طرح ادائیگی کے سوالات ہیں. From 631e552ab5e7b6740d005b66e7668c4ecbc65de8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:46 -0400 Subject: [PATCH 0263/2326] New translations subgraph-studio-faqs.mdx (Vietnamese) --- website/pages/vi/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/vi/deploying/subgraph-studio-faqs.mdx b/website/pages/vi/deploying/subgraph-studio-faqs.mdx index 65217d4b7741..8761f7a31bf6 100644 --- a/website/pages/vi/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/vi/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: Subgraph Studio FAQs ## 2. How do I create an API Key? -To create an API, navigate to the Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Can I create multiple API Keys? @@ -20,12 +20,12 @@ After creating an API Key, in the Security section, you can define the domains t ## 5. Can I transfer my subgraph to another owner? -Yes, subgraphs that have been published to Mainnet can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Note that you will no longer be able to see or edit the subgraph in Studio once it has been transferred. ## 6. How do I find query URLs for subgraphs if I’m not the developer of the subgraph I want to use? -You can find the query URL of each subgraph in the Subgraph Details section of The Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in the Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Remember that you can create an API key and query any subgraph published to the network, even if you build a subgraph yourself. These queries via the new API key, are paid queries as any other on the network. From f4cccdef97c4f5a803f520cb583b1e9e751ddc6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:47 -0400 Subject: [PATCH 0264/2326] New translations subgraph-studio-faqs.mdx (Marathi) --- website/pages/mr/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/mr/deploying/subgraph-studio-faqs.mdx b/website/pages/mr/deploying/subgraph-studio-faqs.mdx index 1ac05957e9a8..badcf3fee7c6 100644 --- a/website/pages/mr/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/mr/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: सबग्राफ स्टुडिओ FAQ ## 2. मी API की कशी तयार करू? -API तयार करण्यासाठी, Subgraph Studio वर नेव्हिगेट करा आणि तुमचे वॉलेट कनेक्ट करा. तुम्ही शीर्षस्थानी API की टॅबवर क्लिक करण्यास सक्षम असाल. तेथे, तुम्ही API की तयार करण्यास सक्षम असाल. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. मी एकाधिक API की तयार करू शकतो? @@ -20,12 +20,12 @@ API की तयार केल्यानंतर, सिक्युरि ## 5. मी माझा सबग्राफ दुसर्‍या मालकाकडे हस्तांतरित करू शकतो का? -होय, मेननेटवर प्रकाशित केलेले सबग्राफ नवीन वॉलेट किंवा मल्टीसिगमध्ये हस्तांतरित केले जाऊ शकतात. सबग्राफच्या तपशील पृष्ठावरील 'प्रकाशित करा' बटणाच्या पुढील तीन बिंदूंवर क्लिक करून आणि 'मालकीचे हस्तांतरण करा' निवडून तुम्ही असे करू शकता. +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. लक्षात ठेवा की एकदा स्‍टुडिओमध्‍ये सबग्राफ स्‍थानांतरित केल्‍यानंतर तुम्‍ही तो पाहू किंवा संपादित करू शकणार नाही. ## 6. मला वापरायचा असलेल्या सबग्राफचा मी विकसक नसल्यास सबग्राफसाठी क्वेरी URL कसे शोधू? -तुम्ही ग्राफ एक्सप्लोररच्या सबग्राफ तपशील विभागात प्रत्येक सबग्राफची क्वेरी URL शोधू शकता. जेव्हा तुम्ही “क्वेरी” बटणावर क्लिक कराल, तेव्हा तुम्हाला एका उपखंडावर निर्देशित केले जाईल ज्यामध्ये तुम्ही तुम्हाला स्वारस्य असलेल्या सबग्राफची क्वेरी URL पाहू शकता. त्यानंतर तुम्ही `` प्लेसहोल्डर बदलू शकता सबग्राफ स्टुडिओमध्ये तुम्हाला लीव्हरेज करायची असलेली API की. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. लक्षात ठेवा की तुम्ही API की तयार करू शकता आणि नेटवर्कवर प्रकाशित केलेल्या कोणत्याही सबग्राफची क्वेरी करू शकता, जरी तुम्ही स्वतः सबग्राफ तयार केला असला तरीही. नवीन API की द्वारे या क्वेरी, नेटवर्कवरील इतर कोणत्याही सशुल्क क्वेरी आहेत. From 272349c1c14d1dcbc9d68e089fae9a531a459193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:48 -0400 Subject: [PATCH 0265/2326] New translations subgraph-studio-faqs.mdx (Hindi) --- website/pages/hi/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/hi/deploying/subgraph-studio-faqs.mdx b/website/pages/hi/deploying/subgraph-studio-faqs.mdx index 2c77fe12eb51..9145a176e333 100644 --- a/website/pages/hi/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/hi/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: सबग्राफ स्टूडियो अक्सर पूछ ## 2. मैं एक एपीआई कुंजी कैसे बना सकता हूँ? -एपीआई बनाने के लिए, सबग्राफ स्टूडियो में नेविगेट करें और अपने वॉलेट को कनेक्ट करें। आप शीर्ष पर एपीआई keys टैब पर क्लिक करने में सक्षम होंगे। वहां, आप एक एपीआई key बनाने में सक्षम होंगे। +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. क्या मैं कई एपीआई कुंजियां बना सकता हूं? @@ -20,12 +20,12 @@ title: सबग्राफ स्टूडियो अक्सर पूछ ## 5. क्या मैं अपना सबग्राफ किसी अन्य स्वामी को स्थानांतरित कर सकता हूं? -हां, मेननेट पर प्रकाशित किए गए सबग्राफ को एक नए वॉलेट या मल्टीसिग में स्थानांतरित किया जा सकता है। आप सबग्राफ के विवरण पृष्ठ पर 'प्रकाशित करें' बटन के आगे तीन बिंदुओं पर क्लिक करके और 'स्वामित्व स्थानांतरित करें' का चयन करके ऐसा कर सकते हैं। +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. ध्यान दें कि एक बार स्थानांतरित हो जाने के बाद आप स्टूडियो में सबग्राफ को देख या संपादित नहीं कर पाएंगे। ## 6. How do I find query URLs for subgraphs if I’m not the developer of the subgraph I want to use? -आप ग्राफ़ एक्सप्लोरर के सबग्राफ विवरण अनुभाग में प्रत्येक सबग्राफ का क्वेरी URL पा सकते हैं। जब आप "क्वेरी" बटन पर क्लिक करते हैं, तो आपको एक फलक पर निर्देशित किया जाएगा, जिसमें आप उस सबग्राफ का क्वेरी URL देख सकते हैं, जिसमें आप रुचि रखते हैं। फिर आप `` प्लेसहोल्डर को बदल सकते हैं एपीआई key के साथ आप सबग्राफ स्टूडियो में लाभ उठाना चाहते हैं। +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. याद रखें कि आप एक एपीआई key बना सकते हैं और नेटवर्क पर प्रकाशित किसी सबग्राफ को क्वेरी कर सकते हैं, भले ही आप स्वयं एक सबग्राफ बनाते हों। नई एपीआई key के माध्यम से ये प्रश्न, नेटवर्क पर किसी अन्य के रूप में भुगतान किए गए प्रश्न हैं। From e709fccfb0a21a9c91829ed36cda59d0f35803bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:49 -0400 Subject: [PATCH 0266/2326] New translations subgraph-studio-faqs.mdx (Yoruba) --- website/pages/yo/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/yo/deploying/subgraph-studio-faqs.mdx b/website/pages/yo/deploying/subgraph-studio-faqs.mdx index 65217d4b7741..8761f7a31bf6 100644 --- a/website/pages/yo/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/yo/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ title: Subgraph Studio FAQs ## 2. How do I create an API Key? -To create an API, navigate to the Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. +To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. ## 3. Can I create multiple API Keys? @@ -20,12 +20,12 @@ After creating an API Key, in the Security section, you can define the domains t ## 5. Can I transfer my subgraph to another owner? -Yes, subgraphs that have been published to Mainnet can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. +Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. Note that you will no longer be able to see or edit the subgraph in Studio once it has been transferred. ## 6. How do I find query URLs for subgraphs if I’m not the developer of the subgraph I want to use? -You can find the query URL of each subgraph in the Subgraph Details section of The Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in the Subgraph Studio. +You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. Remember that you can create an API key and query any subgraph published to the network, even if you build a subgraph yourself. These queries via the new API key, are paid queries as any other on the network. From 9675958fa5981c7bad23e68e579f99878fd1b9f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:50 -0400 Subject: [PATCH 0267/2326] New translations subgraph-studio.mdx (Romanian) --- .../pages/ro/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/ro/deploying/subgraph-studio.mdx b/website/pages/ro/deploying/subgraph-studio.mdx index a6ff02e41188..f2da63abff0b 100644 --- a/website/pages/ro/deploying/subgraph-studio.mdx +++ b/website/pages/ro/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: How to Use the Subgraph Studio +title: How to Use Subgraph Studio --- Welcome to your new launchpad 👩🏽‍🚀 -The Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -What you can do in the Subgraph Studio: +What you can do in Subgraph Studio: - Create a subgraph through the Studio UI - Deploy a subgraph using the CLI @@ -15,7 +15,7 @@ What you can do in the Subgraph Studio: - Integrate it in staging using the query URL - Create and manage your API keys for specific subgraphs -Here in the Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Querying subgraphs generates query fees, used to reward [Indexers](/network/indexing) on the Graph network. If you’re a dapp developer or subgraph developer, the Studio will empower you to build better subgraphs to power your or your community’s queries. The Studio is comprised of 5 main parts: @@ -27,7 +27,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## How to Create Your Account -1. Sign in with your wallet - you can do this via MetaMask or WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Once you sign in, you will see your unique deploy key on your account home page. This will allow you to either publish your subgraphs or manage your API keys + billing. You will have a unique deploy key that can be re-generated if you think it has been compromised. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## Subgraph Compatibility with The Graph Network -The Graph Network is not yet able to support all of the data-sources & features available on the Hosted Service. In order to be supported by Indexers on the network, subgraphs must: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Index a [supported network](/developing/supported-networks) - Must not use any of the following features: @@ -50,7 +50,7 @@ More features & networks will be added to The Graph Network incrementally. ![Subgraph Lifecycle](/img/subgraph-lifecycle.png) -After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (pst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Testing your Subgraph in Subgraph Studio @@ -60,13 +60,13 @@ If you’d like to test your subgraph before publishing it to the network, you c You’ve made it this far - congrats! -In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Check out the video overview below as well: - + -Remember, while you’re going through your publishing flow, you’ll be able to push to either mainnet or Goerli. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Goerli, which is free to do. This will allow you to see how the subgraph will work in The Graph Explorer and will allow you to test curation elements. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Indexers need to submit mandatory Proof of Indexing records as of a specific block hash. Because publishing a subgraph is an action taken on-chain, remember that the transaction can take up to a few minutes to go through. Any address you use to publish the contract will be the only one able to publish future versions. Choose wisely! @@ -76,14 +76,14 @@ Subgraphs with curation signal are shown to Indexers so that they can be indexed ## Versioning your Subgraph with the CLI -Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to The Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in The Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Please note that there are costs associated with publishing a new version of a subgraph to the network. In addition to the transaction fees, developers must also fund a part of the curation tax on the auto-migrating signal. You cannot publish a new version of your subgraph if curators have not signaled on it. For more information on the risks of curation, please read more [here](/network/curating). ### Automatic Archiving of Subgraph Versions -Whenever you deploy a new subgraph version in the Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - Unarchive](/img/Unarchive.png) From 28c8d409f71579f2e5cba7f8a088e00994782f38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:51 -0400 Subject: [PATCH 0268/2326] New translations subgraph-studio.mdx (French) --- .../pages/fr/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/fr/deploying/subgraph-studio.mdx b/website/pages/fr/deploying/subgraph-studio.mdx index f02382247e5f..d44f3c17c6f6 100644 --- a/website/pages/fr/deploying/subgraph-studio.mdx +++ b/website/pages/fr/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: Déployer dans Subgraph Studio +title: How to Use Subgraph Studio --- Bienvenue dans votre nouveau site de Lancement 👩🏽‍🚀 -Le Subgraph Studio est votre endroit pour construire et créer des subgraphs, ajouter des métadonnées et les publier dans le nouvel explorateur décentralisé (en savoir plus à ce sujet [ici](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -Ce que vous pouvez faire dans Subgraph Studio : +What you can do in Subgraph Studio: - Créer un subgraphe via l'interface utilisateur de Studio - Déployer un subgraphe à l'aide de la CLI @@ -15,7 +15,7 @@ Ce que vous pouvez faire dans Subgraph Studio : - Intégrez-le dans l'environnement de préproduction à l'aide de l'URL de requête - Créez et gérez vos clés API pour des subgraphs spécifiques -Ici, dans le Studio Subgraph, vous avez un contrôle total sur vos subgraphs. Non seulement vous pouvez tester vos subgraphs avant de les publier, mais vous pouvez également restreindre vos clés API à des domaines spécifiques et autoriser uniquement certains indexeurs à effectuer des requêtes à partir de leurs clés API. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Les requêtes des subgraphs génère des frais d'interrogation, utilisés pour récompenser les indexeurs [Indexeurs](/network/indexing) sur le réseau Graph. Si vous êtes un développeur dapp ou un développeur de subgraphs, le Studio vous permettra de créer de meilleurs subgraphs pour alimenter vos subgraphs ou celles de votre communauté. Le Studio est composé de 5 parties principales : @@ -27,7 +27,7 @@ Les requêtes des subgraphs génère des frais d'interrogation, utilisés pour r ## Comment créer votre compte -1. Connectez-vous avec votre portefeuille - vous pouvez le faire via MetaMask ou WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Dès que vous êtes connecté, vous verrez votre clé de déploiement unique sur la page d'accueil de votre compte. Cela vous permettra soit de publier vos subgraphs, soit de gérer vos clés API + facturation. Vous disposerez d'une clé de déploiement unique qui pourra être regénérée si vous pensez qu'elle a été compromise. ## Comment créer un subgraph dans Subgraph Studio @@ -36,7 +36,7 @@ Les requêtes des subgraphs génère des frais d'interrogation, utilisés pour r ## Compatibilité des subgraphs avec le réseau de The Graph -Le réseau The Graph n'est pas encore en mesure de prendre en charge toutes les sources de données & fonctionnalités disponibles sur le service hébergé. Pour être pris en charge par les indexeurs sur le réseau, les subgraphs doivent : +In order to be supported by Indexers on The Graph Network, subgraphs must: - Indexer un [réseau supporté](/developing/supported-networks) - Ne doit utiliser aucune des fonctionnalités suivantes : @@ -50,7 +50,7 @@ Plus de fonctions & de réseaux seront ajoutés progressivement au réseau Graph ![Flux du cycle de vie des subgraphes](/img/subgraph-lifecycle.png) -Après avoir créé votre subgraph, vous pourrez le déployer à l'aide de la [CLI](https://github.com/graphprotocol/graph-cli) ou de l'interface de ligne de commande. Le déploiement d'un subgraph avec la CLI poussera le subgraph vers le Studio où vous pourrez tester les subgraphs à l'aide du playground (aire de jeu). Cela vous permettra éventuellement de publier sur le réseau The Graph. Pour plus d'informations sur la configuration de la CLI, [consultez ceci](/developing/defining-a-subgraph#install-the-graph-cli) (P.S., assurez-vous d'avoir votre clé de déploiement à portée de main ). N'oubliez pas que déployer n'est **pas la même chose que** publier. Lorsque vous déployez un subgraph, vous le transférez simplement vers le Studio pour pouvoir le tester. Par contre, lorsque vous publiez un subgraph, vous le publiez sur la chaîne. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Tester votre subgraph dans Subgraph Studio @@ -60,13 +60,13 @@ Si vous voulez tester votre subgraph avant de le publier sur le réseau, vous po Vous êtes arrivé jusqu'ici - félicitations ! -Pour publier votre subgraph avec succès, vous devrez suivre les étapes décrites dans ce [blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Jetez un œil à l'aperçu vidéo ci-dessous également : - + -Rappelez-vous, pendant que vous suivez le processus de publication, vous pourrez publier soit sur mainnet, soit sur Goerli. Si vous êtes un développeur de subgraphs débutant, nous vous recommandons vivement de commencer par publier sur Goerli, qui est gratuit. Cela vous permettra de voir comment le subgraph fonctionnera dans The Graph Explorer et vous permettra de tester les éléments de curation. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Les indexeurs doivent soumettre des enregistrements obligatoires de preuve d'indexation à partir d'un hash de bloc spécifique. Parce que la publication d'un subgraph est une action effectuée sur la blockchain, n'oubliez pas que la transaction peut prendre jusqu'à quelques minutes pour être complétée. Toute adresse que vous utilisez pour publier le contrat sera la seule à pouvoir publier les futures versions. Choisissez judicieusement ! @@ -76,14 +76,14 @@ Les subgraphes avec des signaux de curation sont présentés aux indexeurs afin ## Versionner votre subgraph avec la CLI -Les développeurs peuvent souhaiter mettre à jour leur subgraph, pour diverses raisons. Lorsque c'est le cas, vous pouvez déployer une nouvelle version de votre subgraph dans le Studio à l'aide de la CLI (" il ne sera que privé à ce point) et si vous en êtes satisfait, vous pouvez publier ce nouveau déploiement sur The Graph Explorer. Cela créera une nouvelle version de votre subgraph sur laquelle les curateurs pourront commencer à signaler et les indexeurs pourront indexer cette nouvelle version. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Jusqu'à récemment, les développeurs étaient obligés de déployer et de publier une nouvelle version de leur subgraph dans l'explorateur pour mettre à jour les métadonnées de leurs subgraphs. Désormais, les développeurs peuvent mettre à jour les métadonnées de leurs subgraphs **sans publier de nouvelle version**. Les développeurs peuvent mettre à jour les détails de leurs subgraphs dans le Studio (sous la photo de profil, le nom, la description, etc.) en vérifiant une option appelée **. Mettre à jour les détails** dans l'explorateur de subgraphs. Si cette case est cochée, une transaction on-chain sera générée pour mettre à jour les détails du subgraph dans l'explorateur sans avoir à publier une nouvelle version avec un nouveau déploiement. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Veuillez noter qu'il y a des coûts associés à la publication d'une nouvelle version d'un subgraph sur le réseau. En plus des frais de transaction, les développeurs doivent également financer une partie de la taxe de curation sur le signal d'automigration. Vous ne pouvez pas publier une nouvelle version de votre subgraph si les curateurs ne l'ont pas signalé. Pour plus d'informations sur les risques de curation, veuillez en savoir plus [ici](/network/curating). ### Archivage automatique des versions de subgraphs -Chaque fois que vous déployez une nouvelle version de subgraph dans Subgraph Studio, la version précédente sera archivée. Les versions archivées ne seront pas indexées/synchronisées et ne pourront donc pas être interrogées. Vous pouvez désarchiver une version archivée de votre subgraph dans l'interface utilisateur de Studio. Veuillez noter que les versions précédentes des subgraphs non publiés déployés dans le Studio seront automatiquement archivées. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - Désarchiver](/img/Unarchive.png) From badf476e1183277f49143365afa75fec04629730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:52 -0400 Subject: [PATCH 0269/2326] New translations subgraph-studio.mdx (Spanish) --- .../pages/es/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/es/deploying/subgraph-studio.mdx b/website/pages/es/deploying/subgraph-studio.mdx index 2c69ba9a1d20..27f193d14be3 100644 --- a/website/pages/es/deploying/subgraph-studio.mdx +++ b/website/pages/es/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: Cómo Usar el Subgraph Studio +title: How to Use Subgraph Studio --- Bienvenido a tu nuevo punto de partida 👩🏽‍🚀 -El Subgraph Studio es tu lugar para construir y crear subgrafos, añadir metadatos y publicarlos en el nuevo Explorer descentralizado (más sobre esto [aquí](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -Lo que puedes hacer en el Subgraph Studio: +What you can do in Subgraph Studio: - Crear un subgrafo a través de la UI de Studio - Deployar un subgrafo usando el CLI @@ -15,7 +15,7 @@ Lo que puedes hacer en el Subgraph Studio: - Integrarlo en el staging usando la URL de consulta - Crear y gestionar sus claves API para subgrafos específicos -Aquí, en Subgraph Studio, tienes control total sobre tus subgrafos. No solo puedes probar tus subgrafos antes de publicarlos, sino que también puedes restringir tus claves API a dominios específicos y solo permitir que ciertos Indexadores realicen consultas desde tus claves de API. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Consultar subgrafos genera tarifas de consulta, que se utilizan para recompensar a los [Indexadores](/network/indexing) en The Graph Network. Si eres un desarrollador de dapps o un desarrollador de subgrafos, Studio te permitirá crear mejores subgrafos para potenciar tus consultas o las de tu comunidad. El Studio se compone de 5 partes principales: @@ -27,7 +27,7 @@ Consultar subgrafos genera tarifas de consulta, que se utilizan para recompensar ## Cómo Crear tu Cuenta -1. Inicia sesión con tu wallet - puedes hacerlo a través de MetaMask o WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Una vez que te registres, verás tu clave única de deploy en la página de inicio de tu cuenta. Esto te permitirá publicar tus subgrafos o gestionar tus claves API + facturación. Tendrás una clave de deploy única que se puede volver a generar si crees que ha sido comprometida. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ Consultar subgrafos genera tarifas de consulta, que se utilizan para recompensar ## Compatibilidad de los Subgrafos con The Graph Network -The Graph Network aún no es capaz de soportar todas las fuentes de datos & features disponibles en el Servicio Alojado. Para que los Indexadores de la red los admitan, los subgrafos deben: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Indexa una [red soportada](/developing/supported-networks) - No debe utilizar ninguna de las siguientes funciones: @@ -50,7 +50,7 @@ Se añadirán más funciones & redes a The Graph Network de forma gradual. ![Ciclo de vida de un Subgrafo](/img/subgraph-lifecycle.png) -Después de haber creado tu subgrafo, podrás deployarlo usando la [CLI](https://github.com/graphprotocol/graph-cli), o interfaz de línea de comandos. El deploy de un subgrafo con la CLI empujará el subgrafo al Studio donde podrás probar los subgrafos usando el Playground. Esto te permitirá eventualmente publicar en The Graph Network. Para más información sobre la configuración de la CLI, [mira esto](/developing/defining-a-subgraph#install-the-graph-cli) (asegúrate de tener tu clave de deploy a mano). Recuerda que deployar **no es lo mismo que** publicar. Cuando deployas un subgrafo, sólo lo empujas al Studio donde puedes probarlo. En cambio, cuando publicas un subgrafo, lo estás publicando on-chain. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Publicar tu Subgrafo en Subgraph Studio @@ -60,13 +60,13 @@ Si quieres probar tu subgrafo antes de publicarlo en la red, puedes hacerlo en e ¡Has llegado hasta aquí, felicidades! -Para publicar correctamente tu subgrafo, deberás seguir los siguientes pasos descritos en este [blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). También puedes ver el resumen en video a continuación: - + -Recuerda que, mientras sigues los pasos de publicación, podrás publicar en la red principal (mainnet) o en Goerli. Si eres un desarrollador de subgrafos por primera vez, te recomendamos encarecidamente que comiences publicando en Goerli, lo cual es gratis. Esto te permitirá ver cómo funcionará el subgrafo en The Graph Explorer y te permitirá probar elementos de curación. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Los indexadores deben presentar registros obligatorios de prueba de indexación a partir de un hash de bloque específico. Debido a que la publicación de un subgrafo es una acción realizada on-chain, recuerda que la transacción puede tardar algunos minutos en procesarse. Cualquier dirección que uses para publicar el contrato será la única que pueda publicar versiones futuras. ¡Elige sabiamente! @@ -76,14 +76,14 @@ Los subgrafos con señal de curación se muestran a los Indexadores para que pue ## Versionando tu Subgrafo con el CLI -Los desarrolladores pueden querer actualizar su subgrafo, por una variedad de razones. Cuando este sea el caso, puedes deployar una nueva versión de tu subgrafo en Studio mediante la CLI (solo será privado en este momento) y, si estás satisfecho con él, puedes publicar este nuevo deploy en The Graph Explorer. Esto creará una nueva versión de tu subgrafo que los Curadores pueden comenzar a señalar y los Indexadores podrán indexar esta nueva versión. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Hasta hace poco, los desarrolladores se veían obligados a deployar y publicar una nueva versión de su subgrafo en el Explorer para actualizar los metadatos de sus subgrafos. Ahora, los developers pueden actualizar los metadatos de sus subgrafos **sin tener que publicar una nueva versión**. Los developers pueden actualizar los detalles de sus subgrafos en el Studio (bajo la imagen del perfil, el nombre, la descripción, etc.) marcando una opción llamada **Update Details** en el Graph Explorer. Si se marca esta opción, se generará una transacción on-chain que actualiza los detalles del subgrafo en el Explorer sin tener que publicar una nueva versión con un nuevo deploy. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Hay que tener en cuenta que la publicación de una nueva versión de un subgrafo en la red tiene un coste. Además de las tarifas de transacción, los desarrolladores también deben financiar una parte de la tarifa de curación de la señal de auto-migración. No puedes publicar una nueva versión de tu subgrafo si los curadores no han señalado sobre él. Para más información sobre los riesgos de la curación, lee más [aquí](/network/curating). ### Archivado Automático de Versiones de Subgrafos -Cada vez que se realiza un deploy una nueva versión del subgrafo en Subgraph Studio, la versión anterior se archiva. Las versiones archivadas no serán indexadas/sincronizadas y por lo tanto no podrán ser consultadas. Puedes desarchivar una versión archivada de tu subgrafo en la UI de Studio. Ten en cuenta que las versiones anteriores de los subgrafos no publicados deployados en Studio se archivarán automáticamente. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - Desarchivar](/img/Unarchive.png) From 25bf9a302ab5e194228497f349ddc34bd0126379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:53 -0400 Subject: [PATCH 0270/2326] New translations subgraph-studio.mdx (Arabic) --- .../pages/ar/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/ar/deploying/subgraph-studio.mdx b/website/pages/ar/deploying/subgraph-studio.mdx index 020b33dfeb62..e88c2912787b 100644 --- a/website/pages/ar/deploying/subgraph-studio.mdx +++ b/website/pages/ar/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: كيفية استخدام Subgraph Studio +title: How to Use Subgraph Studio --- مرحبًا بك في منصة الاطلاق الجديدة الخاصة بك 👩🏽‍🚀 -The Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -ما يمكنك القيام به في Subgraph Studio: +What you can do in Subgraph Studio: - إنشاء subgraph من خلال Studio UI - نشر subgraph باستخدام CLI @@ -15,7 +15,7 @@ The Subgraph Studio is your place to build and create subgraphs, add metadata, a - دمجه في المنصة باستخدام عنوان URL الاستعلام - إنشاء وإدارة مفاتيح API الخاصة بك لـ subgraphs محددة -Here in the Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Querying subgraphs generates query fees, used to reward [Indexers](/network/indexing) on the Graph network. If you’re a dapp developer or subgraph developer, the Studio will empower you to build better subgraphs to power your or your community’s queries. The Studio is comprised of 5 main parts: @@ -27,7 +27,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## كيف تنشئ حسابك -1. سجّل الدخول باستخدام محفظتك - يمكنك القيام بذلك عبر MetaMask أو WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Once you sign in, you will see your unique deploy key on your account home page. This will allow you to either publish your subgraphs or manage your API keys + billing. You will have a unique deploy key that can be re-generated if you think it has been compromised. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## توافق الـ Subgraph مع شبكة The Graph -The Graph Network is not yet able to support all of the data-sources & features available on the Hosted Service. In order to be supported by Indexers on the network, subgraphs must: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Index a [supported network](/developing/supported-networks) - يجب ألا تستخدم أيًا من الميزات التالية: @@ -50,7 +50,7 @@ The Graph Network is not yet able to support all of the data-sources & features ![دورة حياة الـ Subgraph](/img/subgraph-lifecycle.png) -After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (pst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## اختبار الـ Subgraph الخاص بك في Subgraph Studio @@ -60,13 +60,13 @@ After you have created your subgraph, you will be able to deploy it using the [C You’ve made it this far - congrats! -In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Check out the video overview below as well: - + -Remember, while you’re going through your publishing flow, you’ll be able to push to either mainnet or Goerli. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Goerli, which is free to do. This will allow you to see how the subgraph will work in The Graph Explorer and will allow you to test curation elements. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Indexers need to submit mandatory Proof of Indexing records as of a specific block hash. Because publishing a subgraph is an action taken on-chain, remember that the transaction can take up to a few minutes to go through. Any address you use to publish the contract will be the only one able to publish future versions. Choose wisely! @@ -76,14 +76,14 @@ Indexers need to submit mandatory Proof of Indexing records as of a specific blo ## تعديل إصدار الـ Subgraph الخاص بك باستخدام CLI -Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to The Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in The Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Please note that there are costs associated with publishing a new version of a subgraph to the network. In addition to the transaction fees, developers must also fund a part of the curation tax on the auto-migrating signal. You cannot publish a new version of your subgraph if curators have not signaled on it. For more information on the risks of curation, please read more [here](/network/curating). ### الأرشفة التلقائية لإصدارات الـ Subgraph -كلما قمت بنشر إصدار subgraph جديد في Subgraph Studio ، سيتم أرشفة الإصدار السابق. لن تتم فهرسة / مزامنة الإصدارات المؤرشفة ، وبالتالي لا يمكن الاستعلام عنها. يمكنك إلغاء أرشفة نسخة مؤرشفة من الـ subgraph الخاص بك في Studio UI. يرجى ملاحظة أن الإصدارات السابقة من الـ subgraphs غير المنشورة (non-publishe) التي تم نشرها (deployed) في Studio ستتم أرشفتها تلقائيا. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio -إلغاء أرشفة](/img/Unarchive.png) From 62def650c4897b8a1c6e4c1139d153b22945564d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:54 -0400 Subject: [PATCH 0271/2326] New translations subgraph-studio.mdx (Czech) --- .../pages/cs/deploying/subgraph-studio.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/cs/deploying/subgraph-studio.mdx b/website/pages/cs/deploying/subgraph-studio.mdx index 6c26d6c74715..f612377ac534 100644 --- a/website/pages/cs/deploying/subgraph-studio.mdx +++ b/website/pages/cs/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: Jak používat podgraf Studio +title: How to Use Subgraph Studio --- Vítejte na svém novém odpalovacím zařízení 👩🏽‍🚀 -Studio podgrafů je místem, kde můžete sestavovat a vytvářet podgrafy, přidávat k nim metadata a publikovat je v novém decentralizovaném Průzkumníku (více o tom [zde](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -Co můžete dělat ve Studio podgraf: +What you can do in Subgraph Studio: - Vytvoření podgrafu prostřednictvím UI Studio - Nasazení podgrafu pomocí CLI @@ -15,7 +15,7 @@ Co můžete dělat ve Studio podgraf: - Integrujte jej do staging pomocí dotazu URL - Vytváření a správa klíčů API pro konkrétní podgrafy -Ve Studio podgrafů máte nad svými podgrafy plnou kontrolu. Nejenže můžete své podgrafy před zveřejněním otestovat, ale můžete také omezit klíče API na konkrétní domény a povolit dotazování z jejich klíčů API pouze určitým indexerům. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Dotazování podgrafů generuje poplatky za dotazy, které se používají k odměňování [Indexerů](/network/indexing) v síti Graf. Pokud jste vývojářem aplikací nebo podgrafů, Studio vám umožní vytvářet lepší subgrafy, které budou sloužit k dotazování vašemu nebo vaší komunity. Studio se skládá z 5 hlavních částí: @@ -27,7 +27,7 @@ Dotazování podgrafů generuje poplatky za dotazy, které se používají k odm ## Jak si vytvořit účet -1. Přihlaste se pomocí své peněženky - můžete tak učinit prostřednictvím MetaMask nebo WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Po přihlášení se na domovské stránce účtu zobrazí váš jedinečný klíč pro nasazení. Ten vám umožní buď publikovat vaše podgrafy, nebo spravovat vaše klíče API + fakturaci. Budete mít jedinečný deploy klíč, který lze znovu vygenerovat, pokud se domníváte, že byl ohrožen. ## Jak vytvořit podgraf v Podgraf Studio @@ -36,7 +36,7 @@ Dotazování podgrafů generuje poplatky za dotazy, které se používají k odm ## Kompatibilita podgrafů se sítí grafů -Síť Graf zatím není schopna podporovat všechny zdroje dat & funkce dostupné v hostované službě. Aby mohly být indexery v síti podporovány, musí podgrafy: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Index [podporované sítě](/developing/supported-networks) - Nesmí používat žádnou z následujících funkcí: @@ -50,7 +50,7 @@ Další funkce & sítě budou do síť grafů přidávány postupně. ![Životní cyklus podgrafů](/img/subgraph-lifecycle.png) -Po vytvoření podgrafu jej budete moci nasadit pomocí [CLI](https://github.com/graphprotocol/graph-cli) neboli příkazového řádku. Nasazení podgrafu pomocí CLI přesune podgraf do Studio, kde budete moci testovat podgrafy pomocí hřiště. To vám nakonec umožní publikovat do sítě Graf. Další informace o nastavení CLI najdete [na tomto místě](/developing/defining-a-subgraph#install-the-graph-cli) (pst, ujistěte se, že máte po ruce klíč k nasazení). Nezapomeňte, že nasazení **není totéž jako** publikování. Při nasazení dílčího grafu jej pouze odešlete do Studio, kde jej můžete otestovat. Oproti tomu, když publikujete podgraf, publikujete jej v řetězci. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Testování Podgrafu v Podgraf Studio @@ -60,13 +60,13 @@ Pokud chcete subgraf otestovat před jeho publikováním v síti, můžete tak u Dostali jste se až sem - gratulujeme! -Abyste mohli úspěšně publikovat svůj podgraf, musíte provést následující kroky popsané v tomto [blogu](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Podívejte se také na níže uvedený videopřehled: - + -Nezapomeňte, že během publikačního toku budete moci odesílat buď do mainnetu, nebo do Goerli. Pokud vyvíjíte podgrafy poprvé, doporučujeme vám začít s publikováním na Goerli, které je zdarma. To vám umožní zjistit, jak bude podgraf fungovat v Průzkumníku grafů, a umožní vám to otestovat prvky kurátorství. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Indexátoři musí předkládat povinné záznamy Proof of Indexing od určitého bloku hash. Protože zveřejnění podgrafu je akce prováděná v řetězci, nezapomeňte, že provedení transakce může trvat až několik minut. Jakákoli adresa, kterou použijete k publikování kontraktu, bude jediná, která bude moci publikovat budoucí verze. Vybírejte proto moudře! @@ -76,14 +76,14 @@ Podgrafy s kurátorským signál jsou zobrazeny indexátorům, aby mohly být in ## Verzování podgrafu pomocí CLI -Vývojáři mohou chtít aktualizovat svůj podgraf z různých důvodů. V takovém případě můžete pomocí CLI nasadit novou verzi podgrafu do Studia (v tomto okamžiku bude pouze soukromá), a pokud jste s ní spokojeni, můžete toto nové nasazení publikovat v Průzkumníku grafů. Tím se vytvoří nová verze vašeho podgrafu, kterou mohou kurátoři začít signalizovat, a indexátory budou moci tuto novou verzi indexovat. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in The Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. -Please note that there are costs associated with publishing a new version of a subgraph to the network. In addition to the transaction fees, developers must also fund a part of the curation tax on the auto-migrating signal. You cannot publish a new version of your subgraph if curators have not signaled on it. For more information on the risks of curation, please read more [here](/network/curating). +Upozorňujeme, že s publikováním nové verze podgrafu v síti jsou spojeny náklady. Kromě transakčních poplatků musí vývojáři financovat také část kurátorské daně za automaticky migrující signál. Novou verzi podgrafu nelze publikovat, pokud na ni kurátoři nesignalizovali. Více informací o rizicích kurátorství najdete [zde](/network/curating). -### Automatic Archiving of Subgraph Versions +### Automatická archivace verzí podgrafů -Whenever you deploy a new subgraph version in the Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. -![Subgraph Studio - Unarchive](/img/Unarchive.png) +![Podraf Studio - Unarchive](/img/Unarchive.png) From 472c887ed189b2b1a094dd06de1faee9a06ddc30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:55 -0400 Subject: [PATCH 0272/2326] New translations subgraph-studio.mdx (German) --- .../pages/de/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/de/deploying/subgraph-studio.mdx b/website/pages/de/deploying/subgraph-studio.mdx index a6ff02e41188..f2da63abff0b 100644 --- a/website/pages/de/deploying/subgraph-studio.mdx +++ b/website/pages/de/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: How to Use the Subgraph Studio +title: How to Use Subgraph Studio --- Welcome to your new launchpad 👩🏽‍🚀 -The Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -What you can do in the Subgraph Studio: +What you can do in Subgraph Studio: - Create a subgraph through the Studio UI - Deploy a subgraph using the CLI @@ -15,7 +15,7 @@ What you can do in the Subgraph Studio: - Integrate it in staging using the query URL - Create and manage your API keys for specific subgraphs -Here in the Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Querying subgraphs generates query fees, used to reward [Indexers](/network/indexing) on the Graph network. If you’re a dapp developer or subgraph developer, the Studio will empower you to build better subgraphs to power your or your community’s queries. The Studio is comprised of 5 main parts: @@ -27,7 +27,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## How to Create Your Account -1. Sign in with your wallet - you can do this via MetaMask or WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Once you sign in, you will see your unique deploy key on your account home page. This will allow you to either publish your subgraphs or manage your API keys + billing. You will have a unique deploy key that can be re-generated if you think it has been compromised. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## Subgraph Compatibility with The Graph Network -The Graph Network is not yet able to support all of the data-sources & features available on the Hosted Service. In order to be supported by Indexers on the network, subgraphs must: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Index a [supported network](/developing/supported-networks) - Must not use any of the following features: @@ -50,7 +50,7 @@ More features & networks will be added to The Graph Network incrementally. ![Subgraph Lifecycle](/img/subgraph-lifecycle.png) -After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (pst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Testing your Subgraph in Subgraph Studio @@ -60,13 +60,13 @@ If you’d like to test your subgraph before publishing it to the network, you c You’ve made it this far - congrats! -In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Check out the video overview below as well: - + -Remember, while you’re going through your publishing flow, you’ll be able to push to either mainnet or Goerli. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Goerli, which is free to do. This will allow you to see how the subgraph will work in The Graph Explorer and will allow you to test curation elements. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Indexers need to submit mandatory Proof of Indexing records as of a specific block hash. Because publishing a subgraph is an action taken on-chain, remember that the transaction can take up to a few minutes to go through. Any address you use to publish the contract will be the only one able to publish future versions. Choose wisely! @@ -76,14 +76,14 @@ Subgraphs with curation signal are shown to Indexers so that they can be indexed ## Versioning your Subgraph with the CLI -Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to The Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in The Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Please note that there are costs associated with publishing a new version of a subgraph to the network. In addition to the transaction fees, developers must also fund a part of the curation tax on the auto-migrating signal. You cannot publish a new version of your subgraph if curators have not signaled on it. For more information on the risks of curation, please read more [here](/network/curating). ### Automatic Archiving of Subgraph Versions -Whenever you deploy a new subgraph version in the Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - Unarchive](/img/Unarchive.png) From 933b4ddd367131c80c2d9996e0f2fa8e7480c7b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:55 -0400 Subject: [PATCH 0273/2326] New translations subgraph-studio.mdx (Italian) --- .../pages/it/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/it/deploying/subgraph-studio.mdx b/website/pages/it/deploying/subgraph-studio.mdx index 76fc668523d1..3d961f735185 100644 --- a/website/pages/it/deploying/subgraph-studio.mdx +++ b/website/pages/it/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: Come usare Subgraph Studio +title: How to Use Subgraph Studio --- Benvenuti nel vostro nuovo launchpad👩🏽‍🚀 -Il Subgraph Studio è il luogo in cui costruire e creare subgraph, aggiungere metadati e pubblicarli sul nuovo Explorer decentralizzato (clicca [qui](/network/explorer) per saperne di più). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -Cosa si può fare nel Subgraph Studio: +What you can do in Subgraph Studio: - Creare un subgraph attraverso UI di Studio - Distribuire un subgraph usando la CLI @@ -15,7 +15,7 @@ Cosa si può fare nel Subgraph Studio: - Integrarlo in staging utilizzando la query URL - Creare e gestire le chiavi API per specifici subgraph -In Subgraph Studio si ha il pieno controllo dei subgraph. Non solo potete testare i vostri subgraph prima di pubblicarli, ma potete anche limitare le chiavi API a domini specifici e consentire solo a determinati Indexer di eseguire query dalle loro chiavi API. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Eseguire query dei subgraph genera tariffe di query, utilizzate per ricompensare gli [Indexer](/network/indexing) del Graph Network. Se siete sviluppatori di dapp o di subgraph, lo Studio vi consentirà di costruire subgraph migliori per alimentare le query della vostra comunità. Lo Studio è composto da 5 parti principali: @@ -27,7 +27,7 @@ Eseguire query dei subgraph genera tariffe di query, utilizzate per ricompensare ## Come creare il proprio account -1. Accedere con il proprio wallet - è possibile farlo tramite MetaMask o WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Una volta effettuato l'accesso, nella pagina iniziale del vostro account vedrete la vostra chiave di distribuzione unica. Questo vi permetterà di pubblicare i vostri subgraph o di gestire le chiavi API e la fatturazione. Avrete una chiave di distribuzione unica che può essere rigenerata se pensate che sia stata compromessa. ## Come creare un subgraph nel Subgraph Studio @@ -36,7 +36,7 @@ Eseguire query dei subgraph genera tariffe di query, utilizzate per ricompensare ## Compatibilità del subgraph con The Graph Network -The Graph Network non è ancora in grado di supportare tutte le fonti di dati e le funzionalità disponibili sull'Hosted Service. Per essere supportati dagli Indexer della rete, i subgraph devono: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Indicizzare [una rete supportata](/developing/supported-networks) - Non deve utilizzare nessuna delle seguenti funzioni: @@ -50,7 +50,7 @@ Altre funzionalità e reti saranno aggiunte gradualmente a The Graph Network. ![Ciclo di vita del subgraph](/img/subgraph-lifecycle.png) -Dopo aver creato il subgraph, sarà possibile distribuirlo utilizzando la [CLI](https://github.com/graphprotocol/graph-cli), oppure interfaccia a riga di comando. Distribuendo un subgraph con la CLI, il subgraph verrà inviato a Studio, dove sarà possibile testare i subgraph utilizzando il playground. Ciò consentirà infine di pubblicare nel Graph Network. Per ulteriori informazioni sull'impostazione della CLI, [controllare qui](/developing/defining-a-subgraph#install-the-graph-cli) (pst, assicurarsi di avere a portata di mano la chiave di deploy). Ricordate che la distribuzione **non è la stessa cosa** della pubblicazione. Quando si distribuisce un subgraph, lo si invia semplicemente allo Studio, dove è possibile testarlo. Quando si pubblica un subgraph, invece, lo si pubblica on-chain. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Testare il subgraph nel Subgraph Studio @@ -60,13 +60,13 @@ Se si desidera testare il proprio subgraph prima di pubblicarlo nella rete, è p Siete arrivati fin qui - complimenti! -Per pubblicare con successo il subgraph, è necessario eseguire i passaggi descritti in questo [blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Date un'occhiata anche al video qui sotto: - + -Ricordate che, durante il flusso di pubblicazione, sarete in grado di effettuare il push su mainnet o su Goerli. Se siete alle prime armi con lo sviluppo di un subgraph, vi suggeriamo di iniziare con la pubblicazione su Goerli, che è gratuita. Questo vi permetterà di vedere come funzionerà il subgraph nel The Graph Explorer e di testare gli elementi di curation. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Gli Indexer devono inviare i record obbligatori di Proof of Indexing a partire da uno specifico hash del blocco. Poiché la pubblicazione di un subgraph è un'azione eseguita on-chain, ricordate che la transazione può richiedere fino a qualche minuto. L'indirizzo utilizzato per pubblicare il contratto sarà l'unico in grado di pubblicare versioni future. Scegliete con attenzione! @@ -76,14 +76,14 @@ I subgraph con segnale di curation vengono mostrati agli Indexer in modo che pos ## Versionamento del subgraph con la CLI -Gli sviluppatori potrebbero voler aggiornare il proprio subgraph per una serie di motivi. In questo caso, è possibile distribuire una nuova versione del subgraph nello Studio utilizzando la CLI (a questo punto sarà solo privato) e, se si è soddisfatti, si può pubblicare questa nuova distribuzione su The Graph Explorer. In questo modo si creerà una nuova versione del subgraph su cui i curators potranno iniziare a segnalare e gli Indexer saranno in grado di indicizzare questa nuova versione. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Fino a poco tempo fa, gli sviluppatori erano costretti a distribuire e pubblicare una nuova versione del loro subgraph su Explorer per aggiornare i metadati dei loro subgraph. Ora gli sviluppatori possono aggiornare i metadati dei loro subgraph **senza dover pubblicare una nuova versione**. Gli sviluppatori possono aggiornare i dettagli dei loro subgraph nello Studio (sotto l'immagine del profilo, il nome, la descrizione, ecc.) selezionando un'opzione chiamata **Update Details** nel Graph Explorer. Se questa opzione è selezionata, verrà generata una transazione sulla chain che aggiorna i dettagli del subgraph nell'Explorer senza dover pubblicare una nuova versione con un nuovo deploy. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Si noti che la pubblicazione di una nuova versione di un subgraph nella rete comporta dei costi. Oltre alle commissioni di transazione, gli sviluppatori devono anche finanziare una parte della tassa di curation sul segnale di auto-migrazione. Non è possibile pubblicare una nuova versione del proprio subgraph se i curator non l'hanno segnalata. Per ulteriori informazioni sui rischi della curation, si legga [qui](/network/curating). ### Archiviazione automatica delle versioni del subgraph -Ogni volta che si distribuisce una nuova versione del subgraph nel Subgraph Studio, la versione precedente viene archiviata. Le versioni archiviate non vengono indicizzate/sincronizzate e quindi non possono essere interrogate. È possibile disarchiviare una versione archiviata del subgraph nel UI dello Studio. Si noti che le versioni precedenti dei subgraph non pubblicati distribuiti nel Studio vengono archiviate automaticamente. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - Disarchiviazione](/img/Unarchive.png) From 351fe9e61fb8454ea99cd779629d740ad4eaf919 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:57 -0400 Subject: [PATCH 0274/2326] New translations subgraph-studio.mdx (Japanese) --- .../pages/ja/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/ja/deploying/subgraph-studio.mdx b/website/pages/ja/deploying/subgraph-studio.mdx index 786ca5e9f854..a5076994535f 100644 --- a/website/pages/ja/deploying/subgraph-studio.mdx +++ b/website/pages/ja/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: Subgraph Studioの使い方 +title: How to Use Subgraph Studio --- 新しいランチパッドの使い方👩🏽‍🚀 -Subgraph Studio は、サブグラフを構築・作成し、メタデータを追加して、新しい分散型エクスプローラーに公開するための場所です(詳細は[こちら](/network/explorer)) +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -Subgraph Studio でできること +What you can do in Subgraph Studio: - Studio UI によるサブグラフの作成 - CLI を使用したサブグラフのデプロイ @@ -15,7 +15,7 @@ Subgraph Studio でできること - クエリ URL を使用してステージングに統合する - 特定のサブグラフ用の API キーの作成と管理 -Subgraph Studio では、サブグラフを完全にコントロールすることができます。サブグラフを公開する前にテストできるだけでなく、API キーを特定のドメインに限定したり、特定のインデクサに API キーからのクエリを許可したりすることもできます。 +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. サブグラフへのクエリはクエリフィーを発生させ、グラフネットワーク上の[インデクサー](/network/indexing)への報酬とします。dapp の開発者やサブグラフの開発者は、この Studio を利用することで、より優れたサブグラフを構築し、自分やコミュニティのクエリを強化することができます。Studio は 5 つの主要部分で構成されています: @@ -27,7 +27,7 @@ Subgraph Studio では、サブグラフを完全にコントロールするこ ## アカウントの作成方法 -1. お使いのウォレットでサインインします - MetaMask または WalletConnect で行うことができます。 +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. サインインすると、アカウントのホームページに固有のデプロイキーが表示されます。これにより、サブグラフの公開や API キーと課金の管理を行うことができます。固有のデプロイキーは、漏洩したと思われる場合に再生成することができます。 ## Subgraph Studio でサブグラフを作成する方法 @@ -36,7 +36,7 @@ Subgraph Studio では、サブグラフを完全にコントロールするこ ## Subgraph と The Graph Network の互換性 -The Graph Network は、Hosted Service で利用可能なデータソースや機能のすべてに対応しているわけではありません。ネットワーク上のインデクサでサポートされるためには、サブグラフは以下の条件を満たす必要があります。 +In order to be supported by Indexers on The Graph Network, subgraphs must: - [サポートされているネットワーク](/developing/supported-networks)にインデックスを付ける - 以下の機能のいずれも使用してはいけません: @@ -50,7 +50,7 @@ The Graph Network の機能やネットワークは順次追加されていき ![サブグラフのライフサイクル](/img/subgraph-lifecycle.png) -サブグラフを作成したら、[CLI](https://github.com/graphprotocol/graph-cli) またはコマンドライン インターフェイスを使用して展開できます。 CLI を使用してサブグラフをデプロイすると、サブグラフがスタジオにプッシュされ、プレイグラウンドを使用してサブグラフをテストできるようになります。これにより、最終的にグラフ ネットワークに公開できるようになります。 CLI セットアップの詳細については、[こちらをチェックしてください](/developing/defining-a-subgraph#install-the-graph-cli) (pst、デプロイ キーが手元にあることを確認してください)。.デプロイは**公開とは異なります**ことに注意してください。サブグラフをデプロイするときは、それをテストできる Studio にプッシュするだけです。対して、サブグラフを公開するときは、それをオンチェーンで公開しています。 +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Subgraph Studio でのサブグラフのテスト @@ -60,13 +60,13 @@ The Graph Network の機能やネットワークは順次追加されていき ここまで来ました - おめでとうございます! -サブグラフを正常に公開するには、この [ブログ](https://thegraph.com/blog/building-with-subgraph-studio) で概説されている次の手順を実行する必要があります。. +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). 以下のビデオの概要もご覧ください: - + -パブリッシュ フローを実行している間、メインネットまたは Goerli にプッシュできることを忘れないでください。初めてサブグラフを開発する場合は、無料で Goerli に公開することから始めることを強くお勧めします。これにより、グラフ エクスプローラーでサブグラフがどのように機能するかを確認し、キュレーション要素をテストできます。 +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. インデクサーは、特定のブロック ハッシュの時点で必須のインデックス作成証明レコードを提出する必要があります。サブグラフの公開はチェーン上で実行されるアクションであるため、トランザクションが完了するまでに最大で数分かかる場合があることに注意してください。コントラクトを公開するために使用するアドレスは、将来のバージョンを公開できる唯一のアドレスになります。賢明に選択してください! @@ -76,14 +76,14 @@ The Graph Network の機能やネットワークは順次追加されていき ## CLI によるサブグラフのバージョン管理 -開発者は、さまざまな理由でサブグラフを更新したい場合があります。このような場合、CLI を使用してスタジオにサブグラフの新バージョンをデプロイし(この時点ではプライベートのみ)、新しいデプロイメントを The Graph Explorer に公開することができます。これにより、サブグラフの新しいバージョンが作成され、キュレーターはシグナリングを開始することができ、インデクサはこの新しいバージョンにインデックスを付けることができます。 +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -最近まで、開発者は、サブグラフのメタデータを更新するために、サブグラフの新しいバージョンを展開して Explorer に公開することを余儀なくされていました。これで、開発者は**新しいバージョンを公開することなく**、サブグラフのメタデータを更新できます。開発者は、The Graph Explorer の **Update Details** というオプションをチェックすることで、Studio のサブグラフの詳細 (プロフィール写真、名前、説明などの下) を更新できます。これがチェックされている場合、新しい展開で新しいバージョンを公開する必要なく、Explorer のサブグラフの詳細を更新するオンチェーン トランザクションが生成されます。 +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. なお、サブグラフの新バージョンをネットワークに公開する際には、コストがかかります。トランザクション手数料に加えて、開発者は自動移行するシグナルにかかるキュレーション税の一部を賄う必要があります。キュレーターがシグナルを出していない場合、サブグラフの新バージョンを公開することはできません。キュレーションのリスクについて、詳しくは[こちら](/network/curating)をご覧ください。 ### サブグラフのバージョンの自動アーカイブ -Subgraph Studio で新しいサブグラフのバージョンを展開すると、以前のバージョンがアーカイブされます。アーカイブされたバージョンはインデックス/同期されず、したがってクエリできません。Studio UI でサブグラフのアーカイブされたバージョンをアンアーカイブすることができます。スタジオにデプロイされた非公開のサブグラフの前のバージョンは、自動的にアーカイブされることに注意してください。 +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - アーカイブ解除](/img/Unarchive.png) From 222a75d1b4ac840639b0972a673e7165e654b7fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:57 -0400 Subject: [PATCH 0275/2326] New translations subgraph-studio.mdx (Korean) --- .../pages/ko/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/ko/deploying/subgraph-studio.mdx b/website/pages/ko/deploying/subgraph-studio.mdx index a6ff02e41188..f2da63abff0b 100644 --- a/website/pages/ko/deploying/subgraph-studio.mdx +++ b/website/pages/ko/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: How to Use the Subgraph Studio +title: How to Use Subgraph Studio --- Welcome to your new launchpad 👩🏽‍🚀 -The Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -What you can do in the Subgraph Studio: +What you can do in Subgraph Studio: - Create a subgraph through the Studio UI - Deploy a subgraph using the CLI @@ -15,7 +15,7 @@ What you can do in the Subgraph Studio: - Integrate it in staging using the query URL - Create and manage your API keys for specific subgraphs -Here in the Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Querying subgraphs generates query fees, used to reward [Indexers](/network/indexing) on the Graph network. If you’re a dapp developer or subgraph developer, the Studio will empower you to build better subgraphs to power your or your community’s queries. The Studio is comprised of 5 main parts: @@ -27,7 +27,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## How to Create Your Account -1. Sign in with your wallet - you can do this via MetaMask or WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Once you sign in, you will see your unique deploy key on your account home page. This will allow you to either publish your subgraphs or manage your API keys + billing. You will have a unique deploy key that can be re-generated if you think it has been compromised. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## Subgraph Compatibility with The Graph Network -The Graph Network is not yet able to support all of the data-sources & features available on the Hosted Service. In order to be supported by Indexers on the network, subgraphs must: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Index a [supported network](/developing/supported-networks) - Must not use any of the following features: @@ -50,7 +50,7 @@ More features & networks will be added to The Graph Network incrementally. ![Subgraph Lifecycle](/img/subgraph-lifecycle.png) -After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (pst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Testing your Subgraph in Subgraph Studio @@ -60,13 +60,13 @@ If you’d like to test your subgraph before publishing it to the network, you c You’ve made it this far - congrats! -In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Check out the video overview below as well: - + -Remember, while you’re going through your publishing flow, you’ll be able to push to either mainnet or Goerli. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Goerli, which is free to do. This will allow you to see how the subgraph will work in The Graph Explorer and will allow you to test curation elements. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Indexers need to submit mandatory Proof of Indexing records as of a specific block hash. Because publishing a subgraph is an action taken on-chain, remember that the transaction can take up to a few minutes to go through. Any address you use to publish the contract will be the only one able to publish future versions. Choose wisely! @@ -76,14 +76,14 @@ Subgraphs with curation signal are shown to Indexers so that they can be indexed ## Versioning your Subgraph with the CLI -Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to The Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in The Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Please note that there are costs associated with publishing a new version of a subgraph to the network. In addition to the transaction fees, developers must also fund a part of the curation tax on the auto-migrating signal. You cannot publish a new version of your subgraph if curators have not signaled on it. For more information on the risks of curation, please read more [here](/network/curating). ### Automatic Archiving of Subgraph Versions -Whenever you deploy a new subgraph version in the Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - Unarchive](/img/Unarchive.png) From b20702b35fbaf48dfd7b3c1067b59789dfd68d03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:58 -0400 Subject: [PATCH 0276/2326] New translations subgraph-studio.mdx (Dutch) --- .../pages/nl/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/nl/deploying/subgraph-studio.mdx b/website/pages/nl/deploying/subgraph-studio.mdx index a6ff02e41188..f2da63abff0b 100644 --- a/website/pages/nl/deploying/subgraph-studio.mdx +++ b/website/pages/nl/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: How to Use the Subgraph Studio +title: How to Use Subgraph Studio --- Welcome to your new launchpad 👩🏽‍🚀 -The Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -What you can do in the Subgraph Studio: +What you can do in Subgraph Studio: - Create a subgraph through the Studio UI - Deploy a subgraph using the CLI @@ -15,7 +15,7 @@ What you can do in the Subgraph Studio: - Integrate it in staging using the query URL - Create and manage your API keys for specific subgraphs -Here in the Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Querying subgraphs generates query fees, used to reward [Indexers](/network/indexing) on the Graph network. If you’re a dapp developer or subgraph developer, the Studio will empower you to build better subgraphs to power your or your community’s queries. The Studio is comprised of 5 main parts: @@ -27,7 +27,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## How to Create Your Account -1. Sign in with your wallet - you can do this via MetaMask or WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Once you sign in, you will see your unique deploy key on your account home page. This will allow you to either publish your subgraphs or manage your API keys + billing. You will have a unique deploy key that can be re-generated if you think it has been compromised. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## Subgraph Compatibility with The Graph Network -The Graph Network is not yet able to support all of the data-sources & features available on the Hosted Service. In order to be supported by Indexers on the network, subgraphs must: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Index a [supported network](/developing/supported-networks) - Must not use any of the following features: @@ -50,7 +50,7 @@ More features & networks will be added to The Graph Network incrementally. ![Subgraph Lifecycle](/img/subgraph-lifecycle.png) -After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (pst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Testing your Subgraph in Subgraph Studio @@ -60,13 +60,13 @@ If you’d like to test your subgraph before publishing it to the network, you c You’ve made it this far - congrats! -In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Check out the video overview below as well: - + -Remember, while you’re going through your publishing flow, you’ll be able to push to either mainnet or Goerli. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Goerli, which is free to do. This will allow you to see how the subgraph will work in The Graph Explorer and will allow you to test curation elements. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Indexers need to submit mandatory Proof of Indexing records as of a specific block hash. Because publishing a subgraph is an action taken on-chain, remember that the transaction can take up to a few minutes to go through. Any address you use to publish the contract will be the only one able to publish future versions. Choose wisely! @@ -76,14 +76,14 @@ Subgraphs with curation signal are shown to Indexers so that they can be indexed ## Versioning your Subgraph with the CLI -Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to The Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in The Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Please note that there are costs associated with publishing a new version of a subgraph to the network. In addition to the transaction fees, developers must also fund a part of the curation tax on the auto-migrating signal. You cannot publish a new version of your subgraph if curators have not signaled on it. For more information on the risks of curation, please read more [here](/network/curating). ### Automatic Archiving of Subgraph Versions -Whenever you deploy a new subgraph version in the Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - Unarchive](/img/Unarchive.png) From 425f3229cbafdeee4c951ee6d1fbbbc62f0aaa9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:30:59 -0400 Subject: [PATCH 0277/2326] New translations subgraph-studio.mdx (Polish) --- .../pages/pl/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/pl/deploying/subgraph-studio.mdx b/website/pages/pl/deploying/subgraph-studio.mdx index a6ff02e41188..f2da63abff0b 100644 --- a/website/pages/pl/deploying/subgraph-studio.mdx +++ b/website/pages/pl/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: How to Use the Subgraph Studio +title: How to Use Subgraph Studio --- Welcome to your new launchpad 👩🏽‍🚀 -The Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -What you can do in the Subgraph Studio: +What you can do in Subgraph Studio: - Create a subgraph through the Studio UI - Deploy a subgraph using the CLI @@ -15,7 +15,7 @@ What you can do in the Subgraph Studio: - Integrate it in staging using the query URL - Create and manage your API keys for specific subgraphs -Here in the Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Querying subgraphs generates query fees, used to reward [Indexers](/network/indexing) on the Graph network. If you’re a dapp developer or subgraph developer, the Studio will empower you to build better subgraphs to power your or your community’s queries. The Studio is comprised of 5 main parts: @@ -27,7 +27,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## How to Create Your Account -1. Sign in with your wallet - you can do this via MetaMask or WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Once you sign in, you will see your unique deploy key on your account home page. This will allow you to either publish your subgraphs or manage your API keys + billing. You will have a unique deploy key that can be re-generated if you think it has been compromised. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## Subgraph Compatibility with The Graph Network -The Graph Network is not yet able to support all of the data-sources & features available on the Hosted Service. In order to be supported by Indexers on the network, subgraphs must: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Index a [supported network](/developing/supported-networks) - Must not use any of the following features: @@ -50,7 +50,7 @@ More features & networks will be added to The Graph Network incrementally. ![Subgraph Lifecycle](/img/subgraph-lifecycle.png) -After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (pst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Testing your Subgraph in Subgraph Studio @@ -60,13 +60,13 @@ If you’d like to test your subgraph before publishing it to the network, you c You’ve made it this far - congrats! -In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Check out the video overview below as well: - + -Remember, while you’re going through your publishing flow, you’ll be able to push to either mainnet or Goerli. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Goerli, which is free to do. This will allow you to see how the subgraph will work in The Graph Explorer and will allow you to test curation elements. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Indexers need to submit mandatory Proof of Indexing records as of a specific block hash. Because publishing a subgraph is an action taken on-chain, remember that the transaction can take up to a few minutes to go through. Any address you use to publish the contract will be the only one able to publish future versions. Choose wisely! @@ -76,14 +76,14 @@ Subgraphs with curation signal are shown to Indexers so that they can be indexed ## Versioning your Subgraph with the CLI -Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to The Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in The Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Please note that there are costs associated with publishing a new version of a subgraph to the network. In addition to the transaction fees, developers must also fund a part of the curation tax on the auto-migrating signal. You cannot publish a new version of your subgraph if curators have not signaled on it. For more information on the risks of curation, please read more [here](/network/curating). ### Automatic Archiving of Subgraph Versions -Whenever you deploy a new subgraph version in the Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - Unarchive](/img/Unarchive.png) From 6cdda913857da26bc5a44e5424ee1384a8d6393b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:00 -0400 Subject: [PATCH 0278/2326] New translations subgraph-studio.mdx (Portuguese) --- .../pages/pt/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/pt/deploying/subgraph-studio.mdx b/website/pages/pt/deploying/subgraph-studio.mdx index f4c4d1c699d4..f1d5cd93b95f 100644 --- a/website/pages/pt/deploying/subgraph-studio.mdx +++ b/website/pages/pt/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: Como Usar o Subgraph Studio +title: How to Use Subgraph Studio --- Bem-vindo ao seu novo ponto de partida 👩🏽‍🚀 -O Subgraph Studio é o melhor lugar para construir e criar subgraphs, adicionar metadados, e editá-los no novo Explorer descentralizado (mais sobre isto [aqui](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -O que pode fazer no Subgraph Studio: +What you can do in Subgraph Studio: - Criar um subgraph através da UI (interface de utilizador) do Studio - Lançar um subgraph com a CLI @@ -15,7 +15,7 @@ O que pode fazer no Subgraph Studio: - Integrá-lo na encenação com a URL de query - Criar e gerir as suas chaves de API para subgraphs específicos -Aqui no Subgraph Studio, tens controle total sobre os seus subgraphs. Não só pode testar os seus subgraphs antes de publicá-los, mas também pode restringir as suas chaves de API a domínios específicos e permitir que apenas certos indexadores possam consultar das suas chaves de API. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Consultar subgraphs gera taxas de consulta, usadas para recompensar [Indexers](/network/indexing) na rede Graph. Se és um desenvolvedor de dApps ou de subgraphs, o Studio dará-lhe o poder para construir subgraphs melhores e, com eles, mover as suas consultas ou as da sua comunidade. O Studio é composto de 5 partes principais: @@ -27,7 +27,7 @@ Consultar subgraphs gera taxas de consulta, usadas para recompensar [Indexers](/ ## Como Criar a Sua Conta -1. Cadastre-se com a sua carteira do MetaMask ou WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Quando entrar, verás a sua chave de lançamento (deploy key) única na página principal da sua conta. Isto permitirá-lhe editar os seus subgraphs ou gerir as suas chaves de API e cobranças. Terá uma chave de lançamento única que pode ser gerada novamente, caso suspeite que ela foi comprometida. ## Como Criar um Subgraph no Subgraph Studio @@ -36,7 +36,7 @@ Consultar subgraphs gera taxas de consulta, usadas para recompensar [Indexers](/ ## Compatibilidade de Subgraph com a Graph Network -A Graph Network ainda não consegue apoiar todas as fontes de dados & características disponíveis no Serviço Hospedado. Para terem apoio dos Indexers na rede, os subgraphs devem: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Indexar uma [rede apoiada](/developing/supported-networks) - Não deve usar quaisquer das seguintes características: @@ -50,7 +50,7 @@ Mais características & redes serão adicionadas, pouco a pouco, à Graph Networ ![Ciclo de Vida de um Subgraph](/img/subgraph-lifecycle.png) -Após ter criado o seu subgraph, poderás lançá-lo com a [CLI](https://github.com/graphprotocol/graph-cli) (interface de linha de comando). Lançar um subgraph com a CLI envia o subgraph ao Studio, onde poderás testar subgraphs usando o playground. Isto logo permitirá que edite no Graph Network. Para mais informações sobre preparar a CLI, [clique aqui](/developing/defining-a-subgraph#install-the-graph-cli) (e não se esqueça de ter sua chave de lançamento em mãos!). Lembre-se, **lançar não é a mesma coisa que editar.** Quando lança um subgraph, é só o enviar ao Studio, onde podes testá-lo. Quando um subgraph é editado, ele é publicado on-chain. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Como Testar o Seu Subgraph no Subgraph Studio @@ -60,13 +60,13 @@ Se gostaria de testar o seu subgraph antes de editá-lo na rede, podes fazer ist Parabéns por ter chegado tão longe! -Para poder editar o seu subgraph com êxito, passe pelos passos detalhados [neste blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Confira o vídeo abaixo também: - + -Lembre-se, enquanto passas pelo seu fluxo de publicação, poderá enviar pushes para a mainnet ou o Goerli. Se for um programador noviço de subgraph, recomendamos que comece a editar na Goerli, que é gratuita. Isto lhe permite ver como o subgraph funcionará no The Graph Explorer e testar elementos de curadoria. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Os indexadores devem emitir relatos obrigatórios de Prova de Indexação a partir de um hash de bloco específico. Como editar um subgraph é feito on-chain, lembre-se que a transação pode demorar alguns minutos para ser aceita. Seja qual for o endereço que usar para publicar o contrato, será o único com a capacidade de publicar versões futuras. Escolha com cuidado! @@ -76,14 +76,14 @@ Subgraphs com sinal de curadoria são exibidos aos Indexadores para que eles pos ## Fazendo Versões do Seu Subgraph com a CLI -Os programadores podem querer atualizar o seu subgraph por uma variedade de razões. Neste caso, pode lançar uma nova versão do seu subgraph ao Studio com a CLI (só será privado neste ponto), e se ficar feliz com ela, pode publicá-la no The Graph Explorer. Isto criará uma nova versão do seu subgraph que os curadores podem começar a sinalizar, e os Indexadores poderão indexar esta nova versão. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Até recentemente, para atualizar os metadados dos seus subgraphs, os programadores eram obrigados a lançar e editar uma nova versão do seu subgraph ao Explorer. Agora, eles podem atualizar os metadados dos seus subgraphs **sem precisar publicar uma versão nova**. Os desenvolvedores podem atualizar seus detalhes de subgraph no Studio (sob a imagem de perfil, nome, descrição, etc.) ao conferir uma opção chamada **Update Details (Atualizar Detalhes)** no Graph Explorer. Caso conferido, será gerada uma transação on-chain que atualiza os detalhes do subgraph no Explorer sem precisar editar uma versão nova com um lançamento novo. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Por favor, lembra-se que há custos associados com a edição da nova versão de um subgraph à rede. Além das taxas de transação, os programadores também devem bancar uma parte da taxa de curadoria no sinal de automigração. Se os curadores não sinalizarem na nova versão do seu subgraph, não dá para editá-la. Para mais informações sobre os riscos da curadoria, leia mais [aqui](/network/curating). ### Arquivamento Automático de Versões de Subgraphs -Quando lançar uma nova versão de subgraph no Subgraph Studio, a versão anterior será arquivada. Versões arquivadas não serão indexadas ou sincronizadas; assim, não são sujeitas a queries. Versões arquivadas do seu subgraph podem ser resgatas na UI do Studio; note que as versões anteriores de subgraphs não editados lançados ao Studio serão arquivadas automaticamente. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio — Tirar do Arquivo](/img/Unarchive.png) From 28d66eb042ee8b9a190c508e70d9beae140145f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:01 -0400 Subject: [PATCH 0279/2326] New translations subgraph-studio.mdx (Russian) --- .../pages/ru/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/ru/deploying/subgraph-studio.mdx b/website/pages/ru/deploying/subgraph-studio.mdx index 92ba439dd2e4..0b912f25c884 100644 --- a/website/pages/ru/deploying/subgraph-studio.mdx +++ b/website/pages/ru/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: Как использовать Subgraph Studio +title: How to Use Subgraph Studio --- Добро пожаловать на вашу новую пусковую площадку 👩🏽‍🚀 -Subgraph Studio - это ваше место для создания подграфов, добавления метаданных и публикации их в новом децентрализованном Explorer (подробнее об этом [ здесь](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -Что вы можете сделать в Subgraph Studio: +What you can do in Subgraph Studio: - Создать подграф с помощью Studio UI - Развернуть подграф с помощью CLI @@ -15,7 +15,7 @@ Subgraph Studio - это ваше место для создания подгр - Интегрировать его в промежуточный этап, используя URL-адрес запроса - Создание и управление ключами API для определенных подграфов -В Subgraph Studio у вас есть полный контроль над вашими подграфами. Вы можете не только тестировать свои подграфы перед их публикацией, но и ограничивать свои API-ключи конкретными доменами и разрешать определенным индексаторам запрашивать запросы только с их API-ключей. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Запросы к подграфам генерируют плату за запросы, которая используется для вознаграждения [индексаторов](/network/indexing) в сети Graph. Если вы являетесь разработчиком dapp или разработчиком подграфов, Studio поможет вам создать лучшие подграфы для обеспечения запросов для вас или вашего сообщества. Studio состоит из 5 основных частей: @@ -27,7 +27,7 @@ Subgraph Studio - это ваше место для создания подгр ## Как создать свою учетную запись -1. Войдите в систему с помощью своего кошелька - вы можете сделать это через MetaMask или Wallet Connect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Как только вы войдете в систему, вы увидите свой уникальный ключ на домашней странице вашей учетной записи. Это позволит вам либо публиковать свои подграфы, либо управлять ключами API + биллингом. У вас будет уникальный ключ, который можно восстановить, если вы считаете, что он был скомпрометирован. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ Subgraph Studio - это ваше место для создания подгр ## Совместимость подграфов с сетью Graph -Сеть Graph пока не может поддерживать все доступные в Hosted Service источники информации и функции. Для того чтобы индексаторы в сети поддерживали подграфы, они должны: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Индексировать [поддерживаемую сеть](/developing/supported-networks) - Не должны использовать ни одну из следующих функций: @@ -50,7 +50,7 @@ Subgraph Studio - это ваше место для создания подгр ![Жизненный цикл подграфа](/img/subgraph-lifecycle.png) -После того как вы создадите свой подграф, вы сможете развернуть его, используя [CLI](https://github.com/graphprotocol/graph-cli), или интерфейс командной строки. Развертывание подграфа с помощью CLI отправит подграф в Studio, где вы сможете протестировать подграфы с помощью тестовой площадки. В конечном итоге это позволит вам публиковать их в сети The Graph. Для получения дополнительной информации о настройке CLI, [ознакомьтесь с этим](/developing/defining-a-subgraph#install-the-graph-cli) (после публикации убедитесь, что у вас есть ключ под рукой). Помните, что развертывание - это ** не то же самое, что** публикация. Когда вы развертываете подграф, вы просто отправляете его в Studio, где вы можете его протестировать. Напротив, когда вы публикуете подграф, вы публикуете его в сети. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Тестирование вашего подграфа в Subgraph Studio @@ -60,13 +60,13 @@ Subgraph Studio - это ваше место для создания подгр Вы зашли так далеко - поздравляю! -Чтобы успешно опубликовать свой подграф, вам необходимо выполнить следующие шаги, описанные в этом [блоге](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Ознакомьтесь также с видео обзором ниже: - + -Помните, что в процессе публикации вы сможете публиковать свои данные либо в основной сети, либо в сети Goerli. Если вы впервые разрабатываете подграф, мы настоятельно рекомендуем вам начать с публикации в сети Goerli, которая является бесплатной. Это позволит вам увидеть, как подграф будет работать в The Graph Explorer, и даст возможность протестировать элементы кураторства. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Индексаторы должны предоставить Proof of Indexing записей по определенному хэшу блока. Поскольку публикация подграфа - это действие, выполняемое внутри сети, помните, что транзакция может занять до нескольких минут. Любой адрес, который вы используете для публикации контракта, будет единственным, способным публиковать будущие версии. Выбирайте с умом! @@ -76,14 +76,14 @@ Subgraph Studio - это ваше место для создания подгр ## Управление версиями вашего подграфа с помощью CLI -Разработчики могут захотеть обновить свой подграф по разным причинам. В таком случае вы можете развернуть новую версию вашего подграфа в Studio с помощью CLI (на данный момент она будет только приватной) и, если она вас устраивает, вы можете опубликовать эту новую версию в The Graph Explorer. Это создаст новую версию вашего подграфа, которую кураторы смогут начать сигнализировать, а индексаторы смогут индексировать эту новую версию. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Вплоть до недавнего времени разработчики были вынуждены развертывать и публиковать новую версию своего подграфа в эксплорере, чтобы обновить метаданные своих подграфов. Теперь разработчики могут обновлять метаданные своих подграфов ** без необходимости публиковать новую версию**. Разработчики могут обновить сведения о своих подграфах в Studio (под изображением профиля, именем, описанием и т. д.), установив флажок **Update Details** в Graph Explorer. Если этот флажок установлен, будет сгенерирована транзакция внутри сети, которая обновляет сведения о подграфе в эксплорере без необходимости публикации новой версии с новым развертыванием. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Обратите внимание, что публикация новой версии подграфа в сети связана с определенными расходами. Помимо платы за транзакции, разработчики должны также оплачивать часть сбора за кураторство по сигналу автоматической миграции. Вы не можете опубликовать новую версию своего подграфа, если кураторы не подали на него сигнал. Подробнее о рисках кураторства читайте [здесь](/network/curating). ### Автоматическое архивирование версий подграфа -При развертывании новой версии подграфа в Subgraph Studio предыдущая версия архивируется. Архивированные версии не индексируются/синхронизируются и поэтому не могут быть использованы для запросов. Вы можете разархивировать архивированную версию вашего подграфа в пользовательском интерфейсе Studio. Обратите внимание, что предыдущие версии неопубликованных подграфов, развернутых в Studio, будут автоматически архивироваться. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - Разархивирование](/img/Unarchive.png) From 46051a2879fb48236ae0643cb8bb02352ead3b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:02 -0400 Subject: [PATCH 0280/2326] New translations subgraph-studio.mdx (Swedish) --- .../pages/sv/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/sv/deploying/subgraph-studio.mdx b/website/pages/sv/deploying/subgraph-studio.mdx index f2b421b9abce..bdf69760669e 100644 --- a/website/pages/sv/deploying/subgraph-studio.mdx +++ b/website/pages/sv/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: Hur man använder Subgraph Studio +title: How to Use Subgraph Studio --- Välkommen till din nya startplats 👩🏽‍🚀 -I Subgraf Studio kan du bygga och skapa undergrafer, lägga till metadata och publicera dem i den nya decentraliserade Explorer (mer om det [här](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -Vad du kan göra i Subgraf Studio: +What you can do in Subgraph Studio: - Skapa en undergraf via Studio-gränssnittet - Distribuera en undergraf med hjälp av CLI @@ -15,7 +15,7 @@ Vad du kan göra i Subgraf Studio: - Integrera den i staging med hjälp av fråge-URL: en - Skapa och hantera API nycklar för specifika undergrafer -Här i Subgraf Studio har du full kontroll över dina undergrafer. Du kan inte bara testa dina subgrafer innan du publicerar dem, utan du kan också begränsa dina API nycklar till specifika domäner och bara tillåta vissa indexerare att göra förfrågningar från deras API nycklar. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Förfrågningar i undergrafer genererar förfrågningsavgifter som används för att belöna [Indexers](/network/indexing) på Graf-nätverket. Om du är en dapp-utvecklare eller subgrafutvecklare kommer studion att ge dig möjlighet att bygga bättre subgrafer för att driva dina eller din gemenskaps förfrågningar. Studion består av fem huvuddelar: @@ -27,7 +27,7 @@ Förfrågningar i undergrafer genererar förfrågningsavgifter som används för ## Så här Skapar du ditt Konto -1. Logga in med din plånbok - du kan göra detta via MetaMask eller WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. När du har loggat in ser du din unika implementeringsnyckel på startsidan för ditt konto. Detta gör att du antingen kan publicera dina undergrafer eller hantera dina API nycklar + fakturering. Du kommer att ha en unik deployerings nyckel som kan genereras på nytt om du tror att den har äventyrats. ## Hur man skapar en subgraf i Subgraf Studio @@ -36,7 +36,7 @@ Förfrågningar i undergrafer genererar förfrågningsavgifter som används för ## Kompatibilitet mellan undergrafer och grafnätet -The Graph Nätverk kan ännu inte stödja alla datakällor & funktioner som finns tillgängliga på värdstjänsten. För att kunna stödjas av indexerare i nätverket måste undergrafer: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Indexera ett [stött nätverk](/developing/supported-networks) - Får inte använda någon av följande egenskaper: @@ -50,7 +50,7 @@ Fler funktioner & nätverk kommer att läggas till i The Graph Nätverk stegvis. ![Livscykel för undergrafer](/img/subgraph-lifecycle.png) -När du har skapat din subgraf kommer du att kunna distribuera den med hjälp av [CLI](https://github.com/graphprotocol/graph-cli), eller kommandoradsgränssnittet. Om du distribuerar en undergraf med CLI flyttas undergrafen till Studio där du kan testa undergrafer med hjälp av lekplatsen. Detta kommer så småningom att göra det möjligt för dig att publicera till Graph Nätverk. För mer information om CLI-installationen, [kolla in detta](/developing/defining-a-subgraph#install-the-graph-cli) (pst, se till att du har din deploy-nyckel till hands). Kom ihåg att distribuera är **inte samma sak som** publicera. När du distribuerar en undergraf flyttar du den bara till studion där du kan testa den. När du däremot publicerar en undergraf publicerar du den i kedjan. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Testa din subgraf i Subgraph Studio @@ -60,13 +60,13 @@ Om du vill testa din subgraf innan du publicerar den i nätverket kan du göra d Du har klarat dig så här långt - grattis! -För att kunna publicera din subgraf framgångsrikt måste du gå igenom följande steg som beskrivs i denna [blogg](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Kolla också in videoöversikten nedan: - + -Kom ihåg att när du går igenom ditt publiceringsflöde kan du välja att publicera till antingen mainnet eller Goerli. Om du är en förstagångsutvecklare av undergrafer rekommenderar vi starkt att du börjar med att publicera till Goerli, vilket är gratis. På så sätt kan du se hur subgrafen fungerar i The Graf Explorer och testa av kurationselement. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Indexerare måste skicka in obligatoriska bevis på indexeringsposter från och med en specifik blockhash. Eftersom publicering av en subgraf är en åtgärd som vidtas på kedjan, kom ihåg att transaktionen kan ta upp till några minuter att gå igenom. Den adress som du använder för att publicera kontraktet kommer att vara den enda som kan publicera framtida versioner. Välj klokt! @@ -76,14 +76,14 @@ Undergrafer med kureringssignal visas för indexerare så att de kan indexeras i ## Versionera din Subgraf med CLI -Utvecklare kan vilja uppdatera sin undergraf av olika anledningar. När så är fallet kan du distribuera en ny version av din subgraf till Studio med hjälp av CLI (den kommer bara att vara privat vid denna tidpunkt) och om du är nöjd med den kan du publicera den nya distributionen till The Graph Explorer. Detta kommer att skapa en ny version av din subgraf som kuratorer kan börja signalera på och indexerare kommer att kunna indexera den nya versionen. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Fram till nyligen var utvecklare tvungna att distribuera och publicera en ny version av sin undergraf till Explorer för att uppdatera metadata för sina undergrafer. Nu kan utvecklare uppdatera metadata för sina undergrafer **utan att behöva publicera en ny version**. Utvecklare kan uppdatera sina undergrafdetaljer i Studio (under profilbild, namn, beskrivning, etc) genom att markera ett alternativ som heter **Uppdatera Detaljer** i The Graf Explorer. Om detta är markerat kommer en transaktion på kedjan att genereras som uppdaterar undergrafdetaljer i Utforskaren utan att behöva publicera en ny version med en ny distribution. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Observera att det är förenat med kostnader att publicera en ny version av en undergraf i nätverket. Förutom transaktionsavgifterna måste utvecklarna också finansiera en del av kurationsskatten på den automatiskt migrerande signalen. Du kan inte publicera en ny version av din subgraf om kuratorer inte har signalerat om den. För mer information om riskerna med kuratering, läs mer [här](/network/curating). ### Automatisk arkivering av versioner av undergrafer -När du distribuerar en ny version av en undergraf i Subgraf Studio arkiveras den tidigare versionen. Arkiverade versioner kommer inte att indexeras/synkroniseras och kan därför inte efterfrågas. Du kan avarkivera en arkiverad version av din undergraf i Studio UI. Observera att tidigare versioner av icke-publicerade undergrafer som distribuerats till Studio arkiveras automatiskt. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraf Studio - Avarkivera](/img/Unarchive.png) From b4e00879fdba3aa9488eab15c71e7d5c0410479c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:03 -0400 Subject: [PATCH 0281/2326] New translations subgraph-studio.mdx (Turkish) --- .../pages/tr/deploying/subgraph-studio.mdx | 94 +++++++++---------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/website/pages/tr/deploying/subgraph-studio.mdx b/website/pages/tr/deploying/subgraph-studio.mdx index f761ac447878..4ba104e6a0a6 100644 --- a/website/pages/tr/deploying/subgraph-studio.mdx +++ b/website/pages/tr/deploying/subgraph-studio.mdx @@ -1,89 +1,89 @@ --- -title: Subgraph Stüdyo Nasıl Kullanılır +title: How to Use Subgraph Studio --- -Yeni başlatma panelinize hoş geldiniz 👩🏽‍🚀 +Welcome to your new launchpad 👩🏽‍🚀 -Subgraph Stüdyo, subgraph'ler oluşturup inşa edebileceğiniz, meta veriler ekleyeceğiniz ve bunları yeni merkeziyetsiz explorer'da yayınlayacağınız yerdir (bu konuda daha fazla bilgi için [buraya](/network/explorer) göz atabilirsiniz). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -Subgraph Stüdyo'da yapabilecekleriniz: +What you can do in Subgraph Studio: -- Stüdyo kullanıcı arabirimi aracılığıyla bir subgraph oluşturun -- CLI kullanarak bir subgraph deploy edin -- Stüdyo kullanıcı arayüzü ile bir subgraph yayınlayın -- Oyun alanında test edin -- Sorgu URL'sini kullanarak hazırlamaya entegre edin -- Belirli subgraph'ler için API anahtarlarınızı oluşturun ve yönetin +- Create a subgraph through the Studio UI +- Deploy a subgraph using the CLI +- Publish a subgraph with the Studio UI +- Test it in the playground +- Integrate it in staging using the query URL +- Create and manage your API keys for specific subgraphs -Burada, subgraph stüdyo'da, subgraph'leriniz üzerinde tam kontrole sahipsiniz. Subgraph'lerinizi yayınlamadan önce test etmenin yanı sıra API anahtarlarınızı belirli domainler ile sınırlayabilir ve yalnızca belirli indeksleyicilerin API anahtarlarından sorgulama yapmasına izin verebilirsiniz. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. -Subgraph'leri sorgulamak, Graph ağındaki [indeksleyiciler](/network/indexing)'i ödüllendirmek için kullanılan sorgu ücretleri oluşturur. Bir merkeziyetsiz uygulama geliştiricisi veya subgraph geliştiricisiyseniz, Stüdyo sizin veya topluluğunuzun sorgularını güçlendirmek için daha iyi subgraph'ler oluşturmanıza yardımcı olacaktır. Stüdyo 5 ana bölümden oluşmaktadır: +Querying subgraphs generates query fees, used to reward [Indexers](/network/indexing) on the Graph network. If you’re a dapp developer or subgraph developer, the Studio will empower you to build better subgraphs to power your or your community’s queries. The Studio is comprised of 5 main parts: -- Kullanıcı hesabı kontrolleriniz -- Oluşturduğunuz subgraph'lerin listesi -- Belirli bir subgraph'in yönetilmesi, ayrıntılarının görüntülenmesi ve durumunun görselleştirilmesi için bir bölüm -- Bir subgraph'i sorgulamak için ihtiyaç duyacağınız API anahtarlarınızı yönetmek için bir bölüm -- Faturalandırmanızı yönetmek için bir bölüm +- Your user account controls +- A list of subgraphs that you’ve created +- A section to manage, view details and visualize the status of a specific subgraph +- A section to manage your API keys that you will need to query a subgraph +- A section to manage your billing -## Hesabınızı Nasıl Oluşturursunuz +## How to Create Your Account -1. Cüzdanınızla oturum açın - bunu MetaMask veya WalletConnect aracılığıyla yapabilirsiniz -1. Oturum açtıktan sonra, benzersiz deploy anahtarınızı hesabınızın ana sayfasında göreceksiniz. Bu, subgraph'lerinizi yayınlamanıza veya API anahtarlarınızı + faturalandırmanızı yönetmenize olanak tanır. Güvenliğinin ihlal edildiğini düşünüyorsanız, yeniden oluşturulabilecek benzersiz bir deploy anahtarınız olacaktır. +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. +1. Once you sign in, you will see your unique deploy key on your account home page. This will allow you to either publish your subgraphs or manage your API keys + billing. You will have a unique deploy key that can be re-generated if you think it has been compromised. ## Subgraph Stüdyo'da Subgraph Nasıl Oluşturulur -## Graph Ağı ile Subgraph Uyumluluğu +## Subgraph Compatibility with The Graph Network -Graph Ağı, barındırılan hizmette bulunan tüm veri kaynaklarını & özellikleri henüz destekleyememektedir. Ağdaki indeksleyiciler tarafından desteklenebilmek için subgraph'ler: +In order to be supported by Indexers on The Graph Network, subgraphs must: -- [Desteklenen ağ](/developing/supported-networks) dizini -- Aşağıdaki özelliklerden herhangi birini kullanmamalısınız: +- Index a [supported network](/developing/supported-networks) +- Must not use any of the following features: - ipfs.cat & ipfs.map - - Hayati olmayan hatalar + - Non-fatal errors - Graftlama -Graph Network'e kademeli olarak daha fazla özellik & ağ eklenecektir. +More features & networks will be added to The Graph Network incrementally. -### Subgraph yaşam döngüsü akışı +### Subgraph lifecycle flow -![Subgraph Yaşam Döngüsü](/img/subgraph-lifecycle.png) +![Subgraph Lifecycle](/img/subgraph-lifecycle.png) -Subgraph'inizi oluşturduktan sonra, onu [CLI](https://github.com/graphprotocol/graph-cli) veya komut satırı arabirimini kullanarak deploy edebileceksiniz. CLI ile bir subgraph'i deploy etmek, subgraph'i, playgraund kullanarak subgraph'leri test edebileceğiniz Stüdyo'ya gönderir. Bu, sonunda Graph ağında yayınlamanıza izin verecektir. CLI kurulumu hakkında daha fazla bilgi için [bu kısmı kontrol edin](/developing/defining-a-subgraph#install-the-graph-cli) (Bu arada, deploy anahtarınızın elinizde olduğundan emin olun). Unutmayın, deploy yayınlamak ile **aynı şey ** değildir. Bir subgraph'i deploy ettiğinizde, onu test edebileceğiniz Stüdyo'ya göndermeniz yeterlidir. Buna karşılık, bir subgraph yayınladığınızda, onu zincir üzerinde yayınlamış olursunuz. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. -## Subgraph'inizi Subgraph Stüdyo'da Test Etme +## Testing your Subgraph in Subgraph Studio -Subgraph'inizi ağda yayınlamadan önce test etmek isterseniz, bunu Subgraph **Playground** üzerinde yapabilir veya günlüklerinize bakabilirsiniz. Subgraph günlükleri, başarısız olması durumunda subgraph'inizin **nerede** başarısız olduğunu size söyleyecektir. +If you’d like to test your subgraph before publishing it to the network, you can do this in the Subgraph **Playground** or look at your logs. The Subgraph logs will tell you **where** your subgraph fails in the case that it does. -## Subgraph'inizi Subgraph Stüdyo'da Yayınlayın +## Publish your Subgraph in Subgraph Studio -Buraya kadar geldin - tebrikler! +You’ve made it this far - congrats! -Subgraph'inizi başarılı bir şekilde yayınlamak için, bu [blog](https://thegraph.com/blog/building-with-subgraph-studio)'ta özetlenen aşağıdaki adımları uygulamanız gerekir. +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). -Aşağıdaki video genel bakışına da göz atın: +Check out the video overview below as well: - + -Yayın akışınızı gerçekleştirirken ana ağa veya Goerli'ye gönderebileceğinizi unutmayın. İlk kez bir subgraph geliştiricisiyseniz, ücretsiz olarak Goerli'de yayınlayarak başlamanızı önemle tavsiye ederiz. Bu, subgraph'in Graph Gezgini'nde nasıl çalışacağını görmenize ve iyileştirme öğelerini test etmenize olanak tanır. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. -İndeksleyicilerin, belirli bir blok karmasından itibaren zorunlu İndeksleme Kanıtı kayıtları sunması gerekir. Bir subgraph'i yayınlamak, zincir üzerinde gerçekleştirilen bir eylem olduğundan, işlemin tamamlanmasının birkaç dakika sürebileceğini unutmayın. Sözleşmeyi yayınlamak için kullandığınız herhangi bir adres, gelecekteki sürümleri yayınlayabilecek tek adres olacaktır. Bu akıllıca bir seçim! +Indexers need to submit mandatory Proof of Indexing records as of a specific block hash. Because publishing a subgraph is an action taken on-chain, remember that the transaction can take up to a few minutes to go through. Any address you use to publish the contract will be the only one able to publish future versions. Choose wisely! -Kürasyon sinyaline sahip subgraph'ler, merkeziyetsiz ağda indekslenebilmeleri için indeksleyicilere gösterilir. Subgrpah'leri ve sinyali tek bir işlemde yayınlayabilirsiniz, bu da subgraph'teki ilk iyileştirme sinyalini basmanıza olanak tanır ve gaz maliyetlerinden tasarruf sağlar. Sinyalinizi daha sonra küratörler tarafından sağlanan sinyale ekleyerek, subgraph'inizin nihai olarak sorguları sunma şansı da artacaktır. +Subgraphs with curation signal are shown to Indexers so that they can be indexed on the decentralized network. You can publish subgraphs and signal in one transaction, which allows you to mint the first curation signal on the subgraph and saves on gas costs. By adding your signal to the signal later provided by Curators, your subgraph will also have a higher chance of ultimately serving queries. -**Subgraph'inizi yayınladığınıza göre, bunları düzenli olarak nasıl yöneteceğinize geçelim.** Senkronizasyon başarısız olursa, subgraph'inizi ağda yayınlayamayacağınızı unutmayın. Bunun nedeni genellikle subgraph'te hatalar olmasıdır - günlükler size bu sorunların nerede olduğunu söyleyecektir! +**Now that you’ve published your subgraph, let’s get into how you’ll manage them on a regular basis.** Note that you cannot publish your subgraph to the network if it has failed syncing. This is usually because the subgraph has bugs - the logs will tell you where those issues exist! -## CLI ile Subgraph'inizin Sürümünü Oluşturma +## Versioning your Subgraph with the CLI -Geliştiriciler, çeşitli nedenlerle subgraph'lerini güncellemek isteyebilir. Böyle bir durumda, CLI'yi kullanarak subgraph'inizin yeni bir sürümünü Stüdyo'ya deploy edebilirsiniz (yalnızca bu noktada özel olacaktır) ve bundan memnunsanız, bu yeni deploy'ı Graph Gezgini'nde yayınlayabilirsiniz. Bu, subgraph'nizin küratörlerin sinyal vermeye başlayabileceği yeni bir sürümünü oluşturacak ve indeksleyiciler bu yeni sürümü indeksleyebilecektir. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Yakın zamana kadar geliştiriciler, subgraph'lerinin meta verilerini güncellemek için subgraph'lerinin yeni bir sürümünü deploy etmeye ve explorer'da yayınlamaya zorlandı. Artık geliştiriciler **yeni bir sürüm yayınlamak zorunda kalmadan** subgraph'lerinin meta verilerini güncelleyebilirler. Geliştiriciler, Graph gezgini'nde **ayrıntıları güncelle** adlı bir seçeneği işaretleyerek subgraph ayrıntılarını Stüdyo'da (profil resmi, ad, açıklama vb. altında) güncelleyebilirler. Bu işaretlenirse, yeni bir deploy ile yeni bir sürüm yayınlamak zorunda kalmadan explorer'daki subgraph ayrıntılarını güncelleyen bir zincir üstü işlem oluşturulur. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. -Bir subgraph'in yeni bir versiyonunun ağda yayınlanmasıyla ilgili maliyetlerin olduğunu lütfen unutmayın. İşlem ücretlerine ek olarak, geliştiricilerin ayrıca otomatik geçiş sinyali üzerindeki düzenleme vergisinin bir kısmını da finanse etmesi gerekir. Küratörler üzerinde işaret vermemişlerse, subgraph'inizin yeni bir versiyonunu yayınlayamazsınız. Küratörlüğün riskleri hakkında daha fazla bilgi için lütfen daha fazlasına [buradan](/network/curating) göz atın. +Please note that there are costs associated with publishing a new version of a subgraph to the network. In addition to the transaction fees, developers must also fund a part of the curation tax on the auto-migrating signal. You cannot publish a new version of your subgraph if curators have not signaled on it. For more information on the risks of curation, please read more [here](/network/curating). -### Subgraph Sürümlerinin Otomatik Arşivlenmesi +### Automatic Archiving of Subgraph Versions -Subgraph Stüdyo'da yeni bir subgraph sürümü deploy ettiğinizde, önceki sürüm arşivlenir. Arşivlenen sürümler indekslenmez/senkronize edilmez ve bu nedenle sorgulanamaz. Subgraph'inizin arşivlenmiş bir sürümünü Stüdyo kullanıcı arayüzünde arşivden çıkarabilirsiniz. Stüdyo'ya deploy edilen yayınlanmamış subgraph'lerin önceki sürümlerinin otomatik olarak arşivleneceğini lütfen unutmayın. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. -![Subgraph Stüdyo - Arşivden Çıkarmak](/img/Unarchive.png) +![Subgraph Studio - Unarchive](/img/Unarchive.png) From e8a5935c1b11b633accce7f6cf37d58da27c81d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:04 -0400 Subject: [PATCH 0282/2326] New translations subgraph-studio.mdx (Ukrainian) --- .../pages/uk/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/uk/deploying/subgraph-studio.mdx b/website/pages/uk/deploying/subgraph-studio.mdx index a6ff02e41188..f2da63abff0b 100644 --- a/website/pages/uk/deploying/subgraph-studio.mdx +++ b/website/pages/uk/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: How to Use the Subgraph Studio +title: How to Use Subgraph Studio --- Welcome to your new launchpad 👩🏽‍🚀 -The Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -What you can do in the Subgraph Studio: +What you can do in Subgraph Studio: - Create a subgraph through the Studio UI - Deploy a subgraph using the CLI @@ -15,7 +15,7 @@ What you can do in the Subgraph Studio: - Integrate it in staging using the query URL - Create and manage your API keys for specific subgraphs -Here in the Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Querying subgraphs generates query fees, used to reward [Indexers](/network/indexing) on the Graph network. If you’re a dapp developer or subgraph developer, the Studio will empower you to build better subgraphs to power your or your community’s queries. The Studio is comprised of 5 main parts: @@ -27,7 +27,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## How to Create Your Account -1. Sign in with your wallet - you can do this via MetaMask or WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Once you sign in, you will see your unique deploy key on your account home page. This will allow you to either publish your subgraphs or manage your API keys + billing. You will have a unique deploy key that can be re-generated if you think it has been compromised. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## Subgraph Compatibility with The Graph Network -The Graph Network is not yet able to support all of the data-sources & features available on the Hosted Service. In order to be supported by Indexers on the network, subgraphs must: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Index a [supported network](/developing/supported-networks) - Must not use any of the following features: @@ -50,7 +50,7 @@ More features & networks will be added to The Graph Network incrementally. ![Subgraph Lifecycle](/img/subgraph-lifecycle.png) -After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (pst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Testing your Subgraph in Subgraph Studio @@ -60,13 +60,13 @@ If you’d like to test your subgraph before publishing it to the network, you c You’ve made it this far - congrats! -In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Check out the video overview below as well: - + -Remember, while you’re going through your publishing flow, you’ll be able to push to either mainnet or Goerli. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Goerli, which is free to do. This will allow you to see how the subgraph will work in The Graph Explorer and will allow you to test curation elements. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Indexers need to submit mandatory Proof of Indexing records as of a specific block hash. Because publishing a subgraph is an action taken on-chain, remember that the transaction can take up to a few minutes to go through. Any address you use to publish the contract will be the only one able to publish future versions. Choose wisely! @@ -76,14 +76,14 @@ Subgraphs with curation signal are shown to Indexers so that they can be indexed ## Versioning your Subgraph with the CLI -Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to The Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in The Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Please note that there are costs associated with publishing a new version of a subgraph to the network. In addition to the transaction fees, developers must also fund a part of the curation tax on the auto-migrating signal. You cannot publish a new version of your subgraph if curators have not signaled on it. For more information on the risks of curation, please read more [here](/network/curating). ### Automatic Archiving of Subgraph Versions -Whenever you deploy a new subgraph version in the Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - Unarchive](/img/Unarchive.png) From 6a59e3112195801b4c30366fec1c26667af7e9ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:05 -0400 Subject: [PATCH 0283/2326] New translations subgraph-studio.mdx (Chinese Simplified) --- .../pages/zh/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/zh/deploying/subgraph-studio.mdx b/website/pages/zh/deploying/subgraph-studio.mdx index 51a44b0e0823..5aca9ee96f83 100644 --- a/website/pages/zh/deploying/subgraph-studio.mdx +++ b/website/pages/zh/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: 如何使用子图工作室 +title: How to Use Subgraph Studio --- 欢迎使用您的新启动板👩🏽‍🚀 -子图工作室是您构建和创建子图、添加元数据并将其发布到新去中心化浏览器([这里](/network/explorer)有更多介绍) 的地方。 +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -您可以在子图工作室中执行的操作: +What you can do in Subgraph Studio: - 通过 Studio UI 创建子图 - 使用 CLI 部署子图 @@ -15,7 +15,7 @@ title: 如何使用子图工作室 - 使用查询 URL 将其集成到暂存中 - 为特定子图创建和管理 API 密钥 -在子图工作室中,您可以完全控制您的子图。 您不仅可以在发布子图之前对其进行测试,还可以将 API 密钥限制在特定域中,并且只允许某些索引者从其 API 密钥中进行查询。 +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. 查询子图会产生查询费用,用于奖励Graph网络上的[索引人](/network/indexing)。如果您是一个 dapp 开发人员或子图开发人员,工作室将授权您构建更好的子图,以支持您或您的社区的查询。工作室由5个主要部分组成: @@ -27,7 +27,7 @@ title: 如何使用子图工作室 ## 如何创建您的账户 -1. 使用您的钱包登录 - 您可以通过 MetaMask 或 WalletConnect 进行此操作 +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. 一旦您登录,您将在您的账户主页上看到您唯一的部署密钥。这将允许您发布您的子图或管理您的 API 密钥 + 计费。您将拥有一个惟一的部署密钥,如果您认为该密钥已被破坏,则可以重新生成该密钥。 ## 如何在子图工作室中创建子图 @@ -36,7 +36,7 @@ title: 如何使用子图工作室 ## 子图与图形网络的兼容性 -Graph网络还不能支持所有的数据源和托管服务上可用的功能。 为了被网络上的索引人支持,子图必须: +In order to be supported by Indexers on The Graph Network, subgraphs must: - 索引[支持的网络](/developing/supported-networks) - 不得使用以下任何功能: @@ -50,7 +50,7 @@ Graph网络还不能支持所有的数据源和托管服务上可用的功能。 ![子图生命周期](/img/subgraph-lifecycle.png) -创建子图之后,您就可以使用 [CLI](https://github.com/graphprotocol/graph-cli) 或者命令行界面来部署它了。使用 CLI 部署子图将把子图推送到工作室,在那里您可以使用控制面板测试子图。这将最终允许您发布到图形网络。有关 CLI 设置的更多信息,[请查看以下内容](/developing/defining-a-subgraph#install-the-graph-cli)(pst,请确保手头有部署密钥)。请记住,部署与发布**不同**。当您部署一个子图时,您只需将它推送到工作室,在那里您可以对它进行测试。相反,当您发布子图时,您是在链上发布它。 +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## 在子图工作室中测试您的子图 @@ -60,13 +60,13 @@ Graph网络还不能支持所有的数据源和托管服务上可用的功能。 你已经走到了这一步——祝贺你! -为了成功发布子图,你需要完成本[博客](https://thegraph.com/blog/building-with-subgraph-studio)中概述的以下步骤。 +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). 还可以查看下面的视频概述: - + -请记住,当您处理发布流程时,您可以推送到主网或 Goerli。如果你是一个子图开发者,我们强烈建议你从 Goerli 开始,这是免费的。这将允许您查看子图在 Graph浏览器中的工作方式,并允许您测试策展元素。 +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. 索引人需要提交特定区块hash的索引记录的强制性证明。因为发布子图是在链上执行的操作,所以请记住,交易可能需要几分钟的时间才能完成。用于发布合同的任何地址都将是唯一能够发布未来版本的地址。明智地选择! @@ -76,14 +76,14 @@ Graph网络还不能支持所有的数据源和托管服务上可用的功能。 ## 使用 CLI 对子图进行版本控制 -出于各种原因,开发人员可能想要更新他们的子图。 在这种情况下,您可以使用 CLI 将新版本的子图部署到 工作室(此时它只是私有的),如果您对它感到满意,您可以将此新部署发布到Graph浏览器。 这将创建新版本的子图,策展人可以开始发出信号,索引人将能够索引这个新版本。 +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -直到最近,开发人员还被迫在浏览器上部署和发布子图的新版本,以更新子图的元数据。现在,开发人员可以更新子图的元数据,**而无需发布新版本**。开发人员可以通过检查图形浏览器中名为 **更新细节** 选项来更新工作室中的子图详细信息(在配置文件图片、名称、描述等下)。如果选中此选项,将生成一个链上交易,该交易将更新浏览器中的子图详细信息,而无需发布带有新部署的新版本。 +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. 请注意,在网络上发布子图的新版本是有成本的。除了交易费用,开发人员还必须为自动迁移信号的部分策展税提供资金。如果策展人没有在子图上发出信号,则不能发布子图的新版本。更多关于策展风险的信息,请点击[这里](/network/curating)阅读。 ### 子图版本的自动归档 -每当您在子图工作室中部署新的子图版本时,都会归档以前的版本。 存档版本不会被索引/同步,因此无法查询。 您可以在 Studio UI 中取消存档子图的存档版本。 请注意,部署到工作室的以前版本的未发布子图将被自动存档。 +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![子图工作室 - 取消归档](/img/Unarchive.png) From 92137577dec58aff453af2e51b2d18be6221fdbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:06 -0400 Subject: [PATCH 0284/2326] New translations subgraph-studio.mdx (Urdu (Pakistan)) --- .../pages/ur/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/ur/deploying/subgraph-studio.mdx b/website/pages/ur/deploying/subgraph-studio.mdx index 74215597a62c..b868b5bff940 100644 --- a/website/pages/ur/deploying/subgraph-studio.mdx +++ b/website/pages/ur/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: سب گراف سٹوڈیو کیسے استعمال کرتے ہیں +title: How to Use Subgraph Studio --- آپ کے نئے لانچ پیڈ میں خوش آمدید 👩🏽‍🚀 -سب گراف سٹوڈیو آپ کی سب گراف بنانے اور تعمیر کرنے کی جگہ ہے، اور میٹا ڈیٹا، اور انہیں نئے ڈیسینٹرالائزڈ ایکسپلورر پر شائع کریں (اس پر مزید [یہاں](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -آپ سب گراف سٹوڈیو میں کیا کر سکتے ہیں: +What you can do in Subgraph Studio: - سٹوڈیو UI کے ذریعے سے سب گراف بنائیں - CLI کے استعمال سے سب گراف تعینات کریں @@ -15,7 +15,7 @@ title: سب گراف سٹوڈیو کیسے استعمال کرتے ہیں - کیوری URL کا استعمال کرتے ہوئے اسٹیجنگ میں ضم کریں - مخصوص سب گرافس کے لۓ API کیز بنائیں اور ان کا انتظام کریں -یہاں سب گراف سٹوڈیو میں، آپ کا اپنے سب گرافس پر پورا اختیار ہوتا ہے. آپ اپنے سب گرافس کو شائع کرنے سے پہلے ٹیسٹ ہی نہیں، لیکن آپ اپنی API کیز کو مخصوص ڈومینز تک محدود کر سکتے ہیں اور صرف مخصوص انڈیکسرز کو ان کی API کیز سے کیوری کرنے کی اجازت دے سکتے ہیں. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. سب گراف سے کیوری کرنے سے کیوری کی فیس بنتی ہے، جو گراف نیٹ ورک پر [انڈیکسرز](/network/indexing) کو انعام دینے کے لیے استعمال ہوتی ہے۔ اگر آپ ڈیپ ڈویلپر یا سب گراف ڈویلپر ہیں، تو اسٹوڈیو آپ کو اپنے یا آپ کی کمیونٹی کے کیوریز کو طاقت دینے کے لیے بہتر سب گراف بنانے کے لیے بااختیار بنائے گا۔ سٹوڈیو 5 اہم حصوں پر مشتمل ہے: @@ -27,7 +27,7 @@ title: سب گراف سٹوڈیو کیسے استعمال کرتے ہیں ## اپنا اکاؤنٹ کیسے بنائیں -1. اپنے والیٹ سے سائن ان کریں - آپ یہ MetaMask یا WalletConnect کے ذریعے کر سکتے ہیں +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. ایک بار جب آپ سائن ان کریں گے، آپ کو اپنے اکاؤنٹ کے ہوم پیج پر اپنی منفرد تعیناتی کلید نظر آئے گی۔ یہ آپ کو اپنے سب گراف شائع کرنے یا اپنی API کیز + بلنگ کا نظم کرنے کی اجازت دے گا۔ آپ کے پاس ایک منفرد تعیناتی کلید ہوگی جسے دوبارہ تیار کیا جا سکتا ہے اگر آپ کو لگتا ہے کہ اس سے سمجھوتہ کیا گیا ہے. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ title: سب گراف سٹوڈیو کیسے استعمال کرتے ہیں ## گراف نیٹ ورک کے ساتھ سب گراف مطابقت -گراف نیٹ ورک ابھی تک ہوسٹڈ سروس پر دستیاب ڈیٹا کے تمام ذرائع اور خصوصیات کو سپورٹ کرنے کے قابل نہیں ہے۔ ہوسٹڈ سروس پر دستیاب خصوصیات۔ نیٹ ورک پر انڈیکسرز کے ذریعے تعاون حاصل کرنے کے لیے، سب گراف کو: +In order to be supported by Indexers on The Graph Network, subgraphs must: - [تعاون یافتہ نیٹ ورک](/developing/supported-networks) کو انڈیکس کریں - درج ذیل خصوصیات میں سے کوئی بھی استعمال نہیں کرنا چاہیے: @@ -50,7 +50,7 @@ title: سب گراف سٹوڈیو کیسے استعمال کرتے ہیں ![سب گراف لائف سائیکل](/img/subgraph-lifecycle.png) -اپنا سب گراف بنانے کے بعد، آپ اسے [CLI](https://github.com/graphprotocol/graph-cli)، یا کمانڈ لائن انٹرفیس کا استعمال کر کے تعینات کر سکیں گے۔ CLI کے ساتھ سب گراف کی تعیناتی سب گراف کو سٹوڈیو میں دھکیل دے گی جہاں آپ پلے گراؤنڈ کا استعمال کرتے ہوئے سب گراف کی جانچ کر سکیں گے۔ یہ بالآخر آپ کو گراف نیٹ ورک پر شائع کرنے کی اجازت دے گا۔ CLI سیٹ اپ کے بارے میں مزید معلومات کے لیے، [اسے چیک کریں](/developing/defining-a-subgraph#install-the-graph-cli) (pst، یقینی بنائیں کہ آپ کے پاس اپنی تعیناتی کلید موجود ہے). یاد رکھیں، تعیناتی **اشاعت کے مترادف نہیں ہے**۔ جب آپ ایک سب گراف کو تعینات کرتے ہیں، تو آپ اسے صرف سٹوڈیو میں دھکیل دیتے ہیں جہاں آپ اسے جانچنے کے قابل ہوتے ہیں۔ بمقابلہ، جب آپ سب گراف شائع کرتے ہیں، تو آپ اسے آن چین شائع کر رہے ہوتے ہیں. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## سب گراف سٹوڈیو میں اپنے سب گراف کی جانچ کرنا @@ -60,13 +60,13 @@ title: سب گراف سٹوڈیو کیسے استعمال کرتے ہیں آپ نے اسے یہاں تک پہنچا دیا ہے - مبارک ہو! -اپنے سب گراف کو کامیابی کے ساتھ شائع کرنے کے لیے، آپ کو اس [بلاگ](https://thegraph.com/blog/building-with-subgraph-studio) میں بیان کردہ درج ذیل مراحل سے گزرنا ہوگا. +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). ذیل میں ویڈیو کا جائزہ بھی دیکھیں: - + -یاد رکھیں، جب آپ اپنے پبلشنگ فلو سے گزر رہے ہوں گے، تو آپ مین نیٹ یا Goerli میں سے کسی ایک کی طرف دھکیل سکیں گے۔ اگر آپ پہلی بار سب گراف ڈویلپر ہیں، تو ہم آپ کو بہت زیادہ مشورہ دیتے ہیں کہ آپ Goerli پر اشاعت شروع کریں، جو کہ مفت ہے۔ یہ آپ کو دیکھنے کی اجازت دے گا کہ گراف ایکسپلورر میں سب گراف کس طرح کام کرے گا اور آپ کو کیوریشن عناصر کی جانچ کرنے کی اجازت دے گا. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. انڈیکسرز کو ایک مخصوص بلاک ہیش کے مطابق انڈیکسنگ کے ریکارڈ کا لازمی ثبوت جمع کرانے کی ضرورت ہے۔ چونکہ سب گراف کو شائع کرنا ایک آن چین عمل ہے، یاد رکھیں کہ ٹرانزیکشن کو گزرنے میں چند منٹ لگ سکتے ہیں۔ کنٹریکٹ شائع کرنے کے لیے آپ جو بھی پتہ استعمال کرتے ہیں وہی مستقبل کے ورژن شائع کرنے کے قابل ہوگا۔ سمجھداری سے انتخاب کرو! @@ -76,14 +76,14 @@ title: سب گراف سٹوڈیو کیسے استعمال کرتے ہیں ## اپنے سب گراف کو CLI کے ساتھ ورژن بنانا -ڈویلپر مختلف وجوہات کی بناء پر اپنے سب گراف کو اپ ڈیٹ کرنا چاہتے ہیں۔ جب یہ معاملہ ہے، تو آپ CLI کا استعمال کرتے ہوئے اپنے سب گراف کا نیا ورژن سٹوڈیو میں تعینات کر سکتے ہیں (یہ صرف اس وقت نجی ہو گا) اور اگر آپ اس سے خوش ہیں، تو آپ اس نئی تعیناتی کو گراف ایکسپلورر پر شائع کر سکتے ہیں۔ یہ آپ کے سب گراف کا ایک نیا ورژن بنائے گا جس پر کیوریٹر سگنل دینا شروع کر سکتے ہیں اور انڈیکسرز اس نئے ورژن کو انڈیکس کرنے کے قابل ہو جائیں گے. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -کچھ عرصہ پہلے تک، ڈویلپرز کو اپنے سب گراف کے میٹا ڈیٹا کو اپ ڈیٹ کرنے کے لیے ایکسپلورر پر اپنے سب گراف کا نیا ورژن تعینات اور شائع کرنے پر مجبور کیا گیا تھا۔ اب، ڈویلپرز اپنے سب گراف کے میٹا ڈیٹا کو **بغیر نئے ورژن شائع کیے** اپ ڈیٹ کر سکتے ہیں۔ ڈیولپرز گراف ایکسپلورر میں **تفصیلات کو اپ ڈیٹ کریں** نامی آپشن کو چیک کرکے (پروفائل تصویر، نام، تفصیل وغیرہ کے نیچے) سٹوڈیو میں اپنے سب گراف کی تفصیلات کو اپ ڈیٹ کر سکتے ہیں۔ اگر اس کی جانچ پڑتال کی جاتی ہے تو، ایک آن چین ٹرانزیکشن تیار کیا جائے گا جو ایکسپلورر میں سب گراف کی تفصیلات کو نئی تعیناتی کے ساتھ نیا ورژن شائع کیے بغیر اپ ڈیٹ کرتا ہے. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. براہ کرم نوٹ کریں کہ نیٹ ورک پر سب گراف کے نئے ورژن کی اشاعت سے وابستہ اخراجات ہیں۔ ٹرانزیکشن کی فیس کے علاوہ، ڈویلپرز کو خودکار منتقلی کے سگنل پر کیوریشن ٹیکس کے ایک حصے کو بھی فنڈ کرنا ہوگا۔ آپ اپنے سب گراف کا نیا ورژن شائع نہیں کر سکتے اگر کیوریٹرز نے اس پر اشارہ نہیں کیا ہے۔ کیوریشن کے خطرات کے بارے میں مزید معلومات کے لیے، براہ کرم مزید پڑھیں [یہاں](/network/curating). ### سب گراف ورژن کی خودکار آرکائیونگ -جب بھی آپ سب گراف سٹوڈیو میں ایک نیا سب گراف ورژن تعینات کرتے ہیں، پچھلے ورژن کو آرکائیو کیا جائے گا۔ محفوظ شدہ ورژنز کو انڈیکس/مطابقت پذیر نہیں کیا جائے گا اور اس لیے ان سے کیوری نہیں کیا جا سکتا۔ آپ سٹوڈیو UI میں اپنے سب گراف کے آرکائیو شدہ ورژن کو غیر محفوظ کر سکتے ہیں۔ براہ کرم نوٹ کریں کہ سٹوڈیو میں تعینات غیر شائع شدہ سب گراف کے پچھلے ورژن خود بخود محفوظ ہو جائیں گے. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![سب گراف سٹوڈیو - Unarchive](/img/Unarchive.png) From 5bb44c742a0c2b8cbb030031894b526e9e5726be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:07 -0400 Subject: [PATCH 0285/2326] New translations subgraph-studio.mdx (Vietnamese) --- .../pages/vi/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/vi/deploying/subgraph-studio.mdx b/website/pages/vi/deploying/subgraph-studio.mdx index 2434e731d2cc..9c3ebe4bb8c9 100644 --- a/website/pages/vi/deploying/subgraph-studio.mdx +++ b/website/pages/vi/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: How to Use the Subgraph Studio +title: How to Use Subgraph Studio --- Welcome to your new launchpad 👩🏽‍🚀 -The Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -What you can do in the Subgraph Studio: +What you can do in Subgraph Studio: - Create a subgraph through the Studio UI - Deploy a subgraph using the CLI @@ -15,7 +15,7 @@ What you can do in the Subgraph Studio: - Integrate it in staging using the query URL - Create and manage your API keys for specific subgraphs -Here in the Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Querying subgraphs generates query fees, used to reward [Indexers](/network/indexing) on the Graph network. If you’re a dapp developer or subgraph developer, the Studio will empower you to build better subgraphs to power your or your community’s queries. The Studio is comprised of 5 main parts: @@ -27,7 +27,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## How to Create Your Account -1. Sign in with your wallet - you can do this via MetaMask or WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Once you sign in, you will see your unique deploy key on your account home page. This will allow you to either publish your subgraphs or manage your API keys + billing. You will have a unique deploy key that can be re-generated if you think it has been compromised. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## Subgraph Compatibility with The Graph Network -The Graph Network is not yet able to support all of the data-sources & features available on the Hosted Service. In order to be supported by Indexers on the network, subgraphs must: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Index a [supported network](/developing/supported-networks) - Must not use any of the following features: @@ -50,7 +50,7 @@ More features & networks will be added to The Graph Network incrementally. ![Subgraph Lifecycle](/img/subgraph-lifecycle.png) -After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (pst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Testing your Subgraph in Subgraph Studio @@ -60,13 +60,13 @@ If you’d like to test your subgraph before publishing it to the network, you c You’ve made it this far - congrats! -In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Check out the video overview below as well: - + -Remember, while you’re going through your publishing flow, you’ll be able to push to either mainnet or Goerli. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Goerli, which is free to do. This will allow you to see how the subgraph will work in The Graph Explorer and will allow you to test curation elements. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Indexers need to submit mandatory Proof of Indexing records as of a specific block hash. Because publishing a subgraph is an action taken on-chain, remember that the transaction can take up to a few minutes to go through. Any address you use to publish the contract will be the only one able to publish future versions. Choose wisely! @@ -76,14 +76,14 @@ Subgraphs with curation signal are shown to Indexers so that they can be indexed ## Versioning your Subgraph with the CLI -Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to The Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in The Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Please note that there are costs associated with publishing a new version of a subgraph to the network. In addition to the transaction fees, developers must also fund a part of the curation tax on the auto-migrating signal. You cannot publish a new version of your subgraph if curators have not signaled on it. For more information on the risks of curation, please read more [here](/network/curating). ### Automatic Archiving of Subgraph Versions -Whenever you deploy a new subgraph version in the Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - Unarchive](/img/Unarchive.png) From 7b711166980df2a899e33a0965280bdf8358fbb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:08 -0400 Subject: [PATCH 0286/2326] New translations subgraph-studio.mdx (Marathi) --- .../pages/mr/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/mr/deploying/subgraph-studio.mdx b/website/pages/mr/deploying/subgraph-studio.mdx index a6f3467d1128..b0e1393396ea 100644 --- a/website/pages/mr/deploying/subgraph-studio.mdx +++ b/website/pages/mr/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: सबग्राफ स्टुडिओ कसा वापरायचा +title: How to Use Subgraph Studio --- तुमच्या नवीन लॉन्चपॅडवर स्वागत आहे 👩🏽‍🚀 -सबग्राफ स्टुडिओ हे सबग्राफ तयार करण्यासाठी आणि तयार करण्यासाठी, मेटाडेटा जोडण्यासाठी आणि नवीन विकेंद्रित एक्सप्लोररवर प्रकाशित करण्यासाठी तुमचे ठिकाण आहे (त्यावर [येथे](/network/explorer) अधिक). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -सबग्राफ स्टुडिओमध्ये तुम्ही काय करू शकता: +What you can do in Subgraph Studio: - स्टुडिओ UI द्वारे सबग्राफ तयार करा - CLI वापरून सबग्राफ उपयोजित करा @@ -15,7 +15,7 @@ title: सबग्राफ स्टुडिओ कसा वापराय - क्वेरी URL वापरून स्टेजिंगमध्ये समाकलित करा - विशिष्ट सबग्राफसाठी तुमच्या API की तयार करा आणि व्यवस्थापित करा -येथे सबग्राफ स्टुडिओमध्ये, तुमचे तुमच्या सबग्राफवर पूर्ण नियंत्रण आहे. तुम्‍ही तुमच्‍या सबग्राफ प्रकाशित करण्‍यापूर्वी केवळ चाचणी करू शकत नाही, तर तुम्‍ही तुमच्‍या एपीआय की विशिष्‍ट डोमेनवर प्रतिबंधित करू शकता आणि केवळ विशिष्‍ट इंडेक्सर्सना त्‍यांच्‍या API की वरून क्‍वेरी करू शकता. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. सबग्राफ क्वेरी करणे क्वेरी फी व्युत्पन्न करते, जी ग्राफ नेटवर्कवर [इंडेक्सर्स](/network/indexing) ला बक्षीस देण्यासाठी वापरली जाते. तुम्ही dapp डेव्हलपर किंवा सबग्राफ डेव्हलपर असल्यास, स्टुडिओ तुम्हाला तुमच्या किंवा तुमच्या समुदायाच्या प्रश्नांना सामर्थ्य देण्यासाठी चांगले सबग्राफ तयार करण्यास सक्षम करेल. स्टुडिओमध्ये 5 मुख्य भाग आहेत: @@ -27,7 +27,7 @@ title: सबग्राफ स्टुडिओ कसा वापराय ## तुमचे खाते कसे तयार करावे -1. तुमच्या वॉलेटसह साइन इन करा - तुम्ही हे MetaMask किंवा WalletConnect द्वारे करू शकता +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. एकदा तुम्ही साइन इन केल्यानंतर, तुम्हाला तुमच्या खात्याच्या मुख्यपृष्ठावर तुमची अनन्य उपयोजन की दिसेल. हे तुम्हाला तुमचे सबग्राफ प्रकाशित करण्यास किंवा तुमच्या API की + बिलिंग व्यवस्थापित करण्यास अनुमती देईल. तुमच्याकडे एक अनन्य डिप्लॉय की असेल जी तुम्हाला वाटत असेल की ती तडजोड केली गेली असेल तर ती पुन्हा व्युत्पन्न केली जाऊ शकते. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ title: सबग्राफ स्टुडिओ कसा वापराय ## ग्राफ नेटवर्कसह सबग्राफ सुसंगतता -ग्राफ नेटवर्क अद्याप सर्व डेटा-स्रोतांना समर्थन देण्यास सक्षम नाही & होस्ट केलेल्या सेवेवर उपलब्ध वैशिष्ट्ये. नेटवर्कवर इंडेक्सर्सद्वारे समर्थित होण्यासाठी, सबग्राफ्स आवश्यक आहेत: +In order to be supported by Indexers on The Graph Network, subgraphs must: - [समर्थित नेटवर्क](/developing/supported-networks) अनुक्रमित करा - खालीलपैकी कोणतीही वैशिष्ट्ये वापरू नयेत: @@ -50,7 +50,7 @@ title: सबग्राफ स्टुडिओ कसा वापराय ![सबग्राफ लाइफसायकल](/img/subgraph-lifecycle.png) -तुम्ही तुमचा सबग्राफ तयार केल्यानंतर, तुम्ही [CLI](https://github.com/graphprotocol/graph-cli) किंवा कमांड-लाइन इंटरफेस वापरून ते तैनात करण्यात सक्षम व्हाल. CLI सह सबग्राफ उपयोजित केल्याने सबग्राफ स्टुडिओमध्ये जाईल जेथे तुम्ही खेळाच्या मैदानाचा वापर करून सबग्राफची चाचणी करू शकाल. हे शेवटी तुम्हाला ग्राफ नेटवर्कवर प्रकाशित करण्यास अनुमती देईल. CLI सेटअपबद्दल अधिक माहितीसाठी, [हे पहा](/developing/defining-a-subgraph#install-the-graph-cli) (pst, तुमच्या हातात तुमची डिप्लॉय की असल्याची खात्री करा). लक्षात ठेवा, तैनात करणे प्रकाशित करणे **समान नाही** आहे. जेव्हा तुम्ही सबग्राफ उपयोजित करता, तेव्हा तुम्ही ते फक्त स्टुडिओमध्ये ढकलता जेथे तुम्ही त्याची चाचणी करू शकता. उलट, जेव्हा तुम्ही सबग्राफ प्रकाशित करता, तेव्हा तुम्ही ते ऑन-चेन प्रकाशित करता. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## सबग्राफ स्टुडिओमध्ये तुमच्या सबग्राफची चाचणी करत आहे @@ -60,13 +60,13 @@ title: सबग्राफ स्टुडिओ कसा वापराय तुम्ही इथपर्यंत पोहोचलात - अभिनंदन! -तुमचा सबग्राफ यशस्वीरित्या प्रकाशित करण्‍यासाठी, तुम्हाला या [ब्लॉग](https://thegraph.com/blog/building-with-subgraph-studio) मध्ये वर्णन केलेल्या खालील पायऱ्या पार कराव्या लागतील. +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). खालील व्हिडिओ विहंगावलोकन देखील पहा: - + -लक्षात ठेवा, तुम्ही तुमच्या प्रकाशन प्रवाहातून जात असताना, तुम्ही मेननेट किंवा गोएर्ली यापैकी एकाकडे ढकलण्यात सक्षम असाल. तुम्ही प्रथमच सबग्राफ डेव्हलपर असाल तर, आम्ही तुम्हाला गोअरलीवर प्रकाशित करण्यास सुरुवात करण्यास सुचवतो, जे विनामूल्य आहे. हे तुम्हाला ग्राफ एक्सप्लोररमध्ये सबग्राफ कसे कार्य करेल हे पाहण्यास अनुमती देईल आणि क्युरेशन घटकांची चाचणी घेण्यास अनुमती देईल. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. इंडेक्सर्सना विशिष्ट ब्लॉक हॅश प्रमाणे इंडेक्सिंग रेकॉर्डचा अनिवार्य पुरावा सादर करणे आवश्यक आहे. सबग्राफ प्रकाशित करणे ही ऑन-चेन केलेली क्रिया असल्याने, लक्षात ठेवा की व्यवहार पूर्ण होण्यासाठी काही मिनिटे लागू शकतात. करार प्रकाशित करण्यासाठी तुम्ही वापरत असलेला कोणताही पत्ता भविष्यातील आवृत्त्या प्रकाशित करण्यास सक्षम असेल. हुशारीने निवडा! @@ -76,14 +76,14 @@ title: सबग्राफ स्टुडिओ कसा वापराय ## CLI सह तुमच्या सबग्राफची आवृत्ती करणे -विविध कारणांमुळे विकसकांना त्यांचा सबग्राफ अपडेट करायचा असेल. अशी परिस्थिती असताना, तुम्ही CLI वापरून तुमच्या सबग्राफची नवीन आवृत्ती स्टुडिओमध्ये उपयोजित करू शकता (ते फक्त या क्षणी खाजगी असेल) आणि तुम्हाला त्याबद्दल आनंद असल्यास, तुम्ही ग्राफ एक्सप्लोररवर ही नवीन उपयोजन प्रकाशित करू शकता. हे तुमच्या सबग्राफची नवीन आवृत्ती तयार करेल ज्यावर क्युरेटर सिग्नल सुरू करू शकतात आणि इंडेक्सर्स ही नवीन आवृत्ती अनुक्रमित करण्यास सक्षम असतील. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -अलीकडे पर्यंत, विकासकांना त्यांच्या सबग्राफचा मेटाडेटा अपडेट करण्यासाठी एक्सप्लोररवर त्यांच्या सबग्राफची नवीन आवृत्ती तैनात आणि प्रकाशित करण्यास भाग पाडले गेले. आता, विकसक त्यांच्या सबग्राफचा मेटाडेटा **नवीन आवृत्ती प्रकाशित न करता** अपडेट करू शकतात. डेव्हलपर The Graph Explorer मधील **Update Details** नावाचा पर्याय तपासून स्टुडिओमध्ये (प्रोफाइल चित्र, नाव, वर्णन इ. अंतर्गत) त्यांचे सबग्राफ तपशील अपडेट करू शकतात. हे तपासले गेल्यास, ऑन-चेन व्यवहार व्युत्पन्न केला जाईल जो नवीन उपयोजनासह नवीन आवृत्ती प्रकाशित न करता एक्सप्लोररमध्ये सबग्राफ तपशील अद्यतनित करेल. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. कृपया लक्षात घ्या की नेटवर्कवर सबग्राफची नवीन आवृत्ती प्रकाशित करण्याशी संबंधित खर्च आहेत. व्यवहार शुल्काव्यतिरिक्त, विकसकांनी स्वयं-स्थलांतर सिग्नलवरील क्युरेशन कराचा एक भाग देखील निधी दिला पाहिजे. क्युरेटर्सनी त्यावर संकेत न दिल्यास तुम्ही तुमच्या सबग्राफची नवीन आवृत्ती प्रकाशित करू शकत नाही. क्युरेशनच्या जोखमींबद्दल अधिक माहितीसाठी, कृपया [येथे](/network/curating) अधिक वाचा. ### सबग्राफ आवृत्त्यांचे स्वयंचलित संग्रहण -जेव्हा तुम्ही सबग्राफ स्टुडिओमध्ये नवीन सबग्राफ आवृत्ती उपयोजित करता, तेव्हा मागील आवृत्ती संग्रहित केली जाईल. संग्रहित आवृत्त्या अनुक्रमित/समक्रमित केल्या जाणार नाहीत आणि त्यामुळे त्यांची चौकशी केली जाऊ शकत नाही. तुम्ही स्टुडिओ UI मध्ये तुमच्या सबग्राफची संग्रहित आवृत्ती काढून टाकू शकता. कृपया लक्षात ठेवा की स्टुडिओमध्ये उपयोजित नॉन-प्रकाशित सबग्राफच्या मागील आवृत्त्या स्वयंचलितपणे संग्रहित केल्या जातील. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![सबग्राफ स्टुडिओ -अनआर्काइव](/img/Unarchive.png) From b84016cae05281e726ef33e7dccf32f77a269981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:09 -0400 Subject: [PATCH 0287/2326] New translations subgraph-studio.mdx (Hindi) --- .../pages/hi/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/hi/deploying/subgraph-studio.mdx b/website/pages/hi/deploying/subgraph-studio.mdx index c1971237858a..68d04248a929 100644 --- a/website/pages/hi/deploying/subgraph-studio.mdx +++ b/website/pages/hi/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: सबग्राफ स्टूडियो का उपयोग कैसे करें +title: How to Use Subgraph Studio --- आपके नए लॉन्चपैड 👩🏽‍🚀 में आपका स्वागत है -सबग्राफ स्टूडियो सबग्राफ बनाने और बनाने, मेटाडेटा जोड़ने और उन्हें नए विकेन्द्रीकृत एक्सप्लोरर में प्रकाशित करने के लिए आपका स्थान है ([यहां](/network/explorer) पर अधिक)। +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -सबग्राफ स्टूडियो में आप क्या कर सकते हैं: +What you can do in Subgraph Studio: - स्टूडियो यूआई के माध्यम से एक सबग्राफ बनाएं - सीएलआई का उपयोग करके एक सबग्राफ तैनात करें @@ -15,7 +15,7 @@ title: सबग्राफ स्टूडियो का उपयोग क - क्वेरी URL का उपयोग करके इसे स्टेजिंग में एकीकृत करें - विशिष्ट सबग्राफ के लिए अपनी एपीआई keys बनाएं और प्रबंधित करें -यहां सबग्राफ स्टूडियो में, आपका अपने सबग्राफ पर पूरा नियंत्रण है। प्रकाशित करने से पहले न केवल आप अपने सबग्राफ का परीक्षण कर सकते हैं, बल्कि आप अपनी एपीआई keys को विशिष्ट डोमेन तक सीमित कर सकते हैं और केवल कुछ इंडेक्सर्स को उनकी एपीआई keys से क्वेरी करने की अनुमति दे सकते हैं। +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. सबग्राफ को क्वेरी करने से क्वेरी शुल्क उत्पन्न होता है, जिसका उपयोग ग्राफ़ नेटवर्क पर [इंडेक्सर्स](/network/indexing) को पुरस्कृत करने के लिए किया जाता है। यदि आप एक डैप डेवलपर या सबग्राफ डेवलपर हैं, तो स्टूडियो आपको अपने या अपने समुदाय के प्रश्नों को शक्ति देने के लिए बेहतर सबग्राफ बनाने में सक्षम करेगा। स्टूडियो में 5 मुख्य भाग होते हैं: @@ -27,7 +27,7 @@ title: सबग्राफ स्टूडियो का उपयोग क ## अपना अकाउंट कैसे बनाये -1. अपने वॉलेट से साइन इन करें - आप इसे मेटामास्क या वॉलेटकनेक्ट के माध्यम से कर सकते हैं +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. एक बार जब आप साइन इन कर लेते हैं, तो आप अपने खाते के होम पेज पर अपनी विशिष्ट तैनात key देखेंगे। इससे आप या तो अपने सबग्राफ प्रकाशित कर सकेंगे या अपनी एपीआई key + बिलिंग प्रबंधित कर सकेंगे। आपके पास एक अनोखा तैनाती key होगी जिसे यदि आपको लगता है कि इससे समझौता किया गया है तो इसे फिर से उत्पन्न किया जा सकता है। ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ title: सबग्राफ स्टूडियो का उपयोग क ## ग्राफ नेटवर्क के साथ सबग्राफ अनुकूलता -ग्राफ़ नेटवर्क अभी तक सभी डेटा-स्रोतों & होस्टेड सेवा पर उपलब्ध सुविधाएँ। नेटवर्क पर इंडेक्सर्स द्वारा समर्थित होने के लिए, सबग्राफ को चाहिए: +In order to be supported by Indexers on The Graph Network, subgraphs must: - एक [समर्थित नेटवर्क](/developing/supported-networks) को इंडेक्स करें - निम्नलिखित सुविधाओं में से किसी का उपयोग नहीं करना चाहिए: @@ -50,7 +50,7 @@ title: सबग्राफ स्टूडियो का उपयोग क ![सबग्राफ जीवनचक्र](/img/subgraph-lifecycle.png) -अपना सबग्राफ बनाने के बाद, आप इसे [CLI](https://github.com/graphprotocol/graph-cli), या कमांड-लाइन इंटरफ़ेस का उपयोग करके तैनात कर पाएंगे। सीएलआई के साथ एक सबग्राफ को तैनाती करने से सबग्राफ को स्टूडियो में धकेल दिया जाएगा जहां आप खेल के मैदान का उपयोग करके सबग्राफ का परीक्षण कर सकेंगे। यह अंततः आपको ग्राफ़ नेटवर्क पर प्रकाशित करने की अनुमति देगा। सीएलआई सेटअप के बारे में अधिक जानकारी के लिए, [इसे देखें](/developing/defining-a-subgraph#install-the-graph-cli) (पीएसटी, सुनिश्चित करें कि आपके पास अपनी तैनात key हो)। याद रखें, तैनाती **प्रकाशन के समान नहीं है**। जब आप एक सबग्राफ तैनात करते हैं, तो आप इसे केवल उस स्टूडियो में धकेलते हैं जहाँ आप इसका परीक्षण कर सकते हैं। बनाम, जब आप एक सबग्राफ प्रकाशित करते हैं, तो आप इसे ऑन-चेन प्रकाशित कर रहे होते हैं। +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## सबग्राफ स्टूडियो में अपने सबग्राफ का परीक्षण करना @@ -60,13 +60,13 @@ title: सबग्राफ स्टूडियो का उपयोग क यहां ता सफलतापूर्वक आने के लिए बधाई! -अपने सबग्राफ को सफलतापूर्वक प्रकाशित करने के लिए, आपको इस [ब्लॉग](https://thegraph.com/blog/build-with-subgraph-studio) में उल्लिखित निम्नलिखित चरणों से गुजरना होगा. +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). नीचे दिए गए वीडियो अवलोकन को भी देखें: - + -याद रखें, जब आप अपने प्रकाशन प्रवाह से गुजर रहे हों, तो आप मेननेट या गोएर्ली में से किसी एक पर पुश करने में सक्षम होंगे। यदि आप पहली बार सबग्राफ डेवलपर हैं, तो हम अत्यधिक सुझाव देते हैं कि आप गोएर्ली को प्रकाशित करना शुरू करें, जो करने के लिए स्वतंत्र है। यह आपको यह देखने की अनुमति देगा कि द ग्राफ एक्सप्लोरर में सबग्राफ कैसे काम करेगा और आपको क्यूरेशन तत्वों का परीक्षण करने की अनुमति देगा। +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. इंडेक्सर्स को एक विशिष्ट ब्लॉक हैश के रूप में इंडेक्सिंग रिकॉर्ड का अनिवार्य प्रमाण जमा करना होगा। क्योंकि एक सबग्राफ प्रकाशित करना एक श्रृंखला पर की गई कार्रवाई है, याद रखें कि लेन-देन को पूरा होने में कुछ मिनट लग सकते हैं। कॉन्ट्रैक्ट को प्रकाशित करने के लिए आपके द्वारा उपयोग किया जाने वाला कोई भी एड्रेस भविष्य के संस्करणों को प्रकाशित करने में सक्षम होगा। बुद्धिमानी से चुनना! @@ -76,14 +76,14 @@ title: सबग्राफ स्टूडियो का उपयोग क ## सीएलआई के साथ अपने सबग्राफ का संस्करण बनाना -डेवलपर कई कारणों से अपने सबग्राफ को अपडेट करना चाह सकते हैं। जब ऐसा होता है, तो आप सीएलआई का उपयोग करके अपने सबग्राफ का एक नया संस्करण स्टूडियो में तैनात कर सकते हैं (यह केवल इस बिंदु पर निजी होगा) और यदि आप इससे खुश हैं, तो आप इस नए परिनियोजन को द ग्राफ़ एक्सप्लोरर में प्रकाशित कर सकते हैं। यह आपके सबग्राफ का एक नया संस्करण बनाएगा जिस पर क्यूरेटर संकेत देना शुरू कर सकते हैं और इंडेक्सर्स इस नए संस्करण को इंडेक्स करने में सक्षम होंगे। +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -हाल ही में अब तक, डेवलपर्स को अपने सबग्राफ के मेटाडेटा को अपडेट करने के लिए एक्सप्लोरर में अपने सबग्राफ का एक नया संस्करण तैनात करने और प्रकाशित करने के लिए मजबूर किया गया था। अब, डेवलपर **कोई नया संस्करण प्रकाशित किए बिना** अपने सबग्राफ का मेटाडेटा अपडेट कर सकते हैं. डेवलपर ग्राफ़ एक्सप्लोरर में **अपडेट विवरण** नामक विकल्प को चेक करके स्टूडियो में अपने सबग्राफ विवरण (प्रोफ़ाइल चित्र, नाम, विवरण, आदि के तहत) अपडेट कर सकते हैं। यदि इसे चेक किया जाता है, तो एक ऑन-चेन लेनदेन उत्पन्न होगा जो एक्सप्लोरर में सबग्राफ विवरण अपडेट करता है बिना किसी नए परिनियोजन के एक नया संस्करण प्रकाशित किए बिना। +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. कृपया ध्यान दें कि नेटवर्क पर एक सबग्राफ के नए संस्करण को प्रकाशित करने से जुड़ी लागतें हैं। लेन-देन शुल्क के अलावा, डेवलपर्स को ऑटो-माइग्रेटिंग सिग्नल पर क्यूरेशन टैक्स का एक हिस्सा भी देना चाहिए। यदि क्यूरेटर ने इस पर संकेत नहीं दिया है तो आप अपने सबग्राफ का नया संस्करण प्रकाशित नहीं कर सकते। क्यूरेशन के जोखिमों के बारे में अधिक जानकारी के लिए, कृपया [यहां](/network/curating) अधिक पढ़ें। ### सबग्राफ संस्करणों का स्वचालित संग्रह -जब भी आप सबग्राफ स्टूडियो में एक नया सबग्राफ संस्करण तैनात करते हैं, तो पिछला संस्करण संग्रहीत किया जाएगा। संग्रहीत संस्करणों को अनुक्रमित/समन्वयित नहीं किया जाएगा और इसलिए पूछताछ नहीं की जा सकती। आप स्टूडियो यूआई में अपने सबग्राफ के संग्रहीत संस्करण को असंग्रहित कर सकते हैं। कृपया ध्यान दें कि स्टूडियो में तैनात अप्रकाशित सबग्राफ के पिछले संस्करण स्वचालित रूप से संग्रहीत किए जाएंगे। +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![सबग्राफ स्टूडियो - असंग्रहित](/img/Unarchive.png) From 008a780341098d0173bd0f1fffdb85fc5cd80de1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:10 -0400 Subject: [PATCH 0288/2326] New translations subgraph-studio.mdx (Yoruba) --- .../pages/yo/deploying/subgraph-studio.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/yo/deploying/subgraph-studio.mdx b/website/pages/yo/deploying/subgraph-studio.mdx index a6ff02e41188..f2da63abff0b 100644 --- a/website/pages/yo/deploying/subgraph-studio.mdx +++ b/website/pages/yo/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: How to Use the Subgraph Studio +title: How to Use Subgraph Studio --- Welcome to your new launchpad 👩🏽‍🚀 -The Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). +Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). -What you can do in the Subgraph Studio: +What you can do in Subgraph Studio: - Create a subgraph through the Studio UI - Deploy a subgraph using the CLI @@ -15,7 +15,7 @@ What you can do in the Subgraph Studio: - Integrate it in staging using the query URL - Create and manage your API keys for specific subgraphs -Here in the Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. +Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. Querying subgraphs generates query fees, used to reward [Indexers](/network/indexing) on the Graph network. If you’re a dapp developer or subgraph developer, the Studio will empower you to build better subgraphs to power your or your community’s queries. The Studio is comprised of 5 main parts: @@ -27,7 +27,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## How to Create Your Account -1. Sign in with your wallet - you can do this via MetaMask or WalletConnect +1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. 1. Once you sign in, you will see your unique deploy key on your account home page. This will allow you to either publish your subgraphs or manage your API keys + billing. You will have a unique deploy key that can be re-generated if you think it has been compromised. ## How to Create a Subgraph in Subgraph Studio @@ -36,7 +36,7 @@ Querying subgraphs generates query fees, used to reward [Indexers](/network/inde ## Subgraph Compatibility with The Graph Network -The Graph Network is not yet able to support all of the data-sources & features available on the Hosted Service. In order to be supported by Indexers on the network, subgraphs must: +In order to be supported by Indexers on The Graph Network, subgraphs must: - Index a [supported network](/developing/supported-networks) - Must not use any of the following features: @@ -50,7 +50,7 @@ More features & networks will be added to The Graph Network incrementally. ![Subgraph Lifecycle](/img/subgraph-lifecycle.png) -After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (pst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. +After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. ## Testing your Subgraph in Subgraph Studio @@ -60,13 +60,13 @@ If you’d like to test your subgraph before publishing it to the network, you c You’ve made it this far - congrats! -In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [blog](https://thegraph.com/blog/building-with-subgraph-studio). +In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). Check out the video overview below as well: - + -Remember, while you’re going through your publishing flow, you’ll be able to push to either mainnet or Goerli. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Goerli, which is free to do. This will allow you to see how the subgraph will work in The Graph Explorer and will allow you to test curation elements. +Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. Indexers need to submit mandatory Proof of Indexing records as of a specific block hash. Because publishing a subgraph is an action taken on-chain, remember that the transaction can take up to a few minutes to go through. Any address you use to publish the contract will be the only one able to publish future versions. Choose wisely! @@ -76,14 +76,14 @@ Subgraphs with curation signal are shown to Indexers so that they can be indexed ## Versioning your Subgraph with the CLI -Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to The Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. +Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. -Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in The Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. +Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. Please note that there are costs associated with publishing a new version of a subgraph to the network. In addition to the transaction fees, developers must also fund a part of the curation tax on the auto-migrating signal. You cannot publish a new version of your subgraph if curators have not signaled on it. For more information on the risks of curation, please read more [here](/network/curating). ### Automatic Archiving of Subgraph Versions -Whenever you deploy a new subgraph version in the Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. +Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. ![Subgraph Studio - Unarchive](/img/Unarchive.png) From 565948f6324548d7fecc4883308d05fcca7e35c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:12 -0400 Subject: [PATCH 0289/2326] New translations creating-a-subgraph.mdx (Romanian) --- .../ro/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/ro/developing/creating-a-subgraph.mdx b/website/pages/ro/developing/creating-a-subgraph.mdx index 39f58ac2083b..fd9550e8df79 100644 --- a/website/pages/ro/developing/creating-a-subgraph.mdx +++ b/website/pages/ro/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ The subgraph definition consists of a few files: - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) code that translates from the event data to the entities defined in your schema (e.g. `mapping.ts` in this tutorial) -> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-cli) which you will need to build and deploy a subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Install the Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph on the Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## From An Existing Contract @@ -61,7 +61,7 @@ The second mode `graph init` supports is creating a new project from an example graph init --studio ``` -The example subgraph is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Add New dataSources To An Existing Subgraph @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: The important entries to update for the manifest are: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed by The Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: a list of all used [feature](#experimental-features) names. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: the address of the smart contract the subgraph sources, and the ABI of the smart contract to use. The address is optional; omitting it allows to index matching events from all contracts. - `dataSources.source.startBlock`: the optional number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created. @@ -170,6 +176,8 @@ The important entries to update for the manifest are: A single subgraph can index data from multiple smart contracts. Add an entry for each contract from which data needs to be indexed to the `dataSources` array. +### Order of Triggering Handlers + The triggers for a data source within a block are ordered using the following process: 1. Event and call triggers are first ordered by transaction index within the block. @@ -178,6 +186,22 @@ The triggers for a data source within a block are ordered using the following pr These ordering rules are subject to change. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Version | Release notes | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Getting The ABIs The ABI file(s) must match your contract(s). There are a few ways to obtain ABI files: @@ -248,15 +272,15 @@ For some entity types the `id` is constructed from the id's of two other entitie We support the following scalars in our GraphQL API: -| Type | Description | -| --- | --- | -| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | -| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | -| `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | -| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| Type | Description | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | +| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | +| `Boolean` | Scalar for `boolean` values. | +| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | +| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | #### Enums @@ -398,11 +422,11 @@ This more elaborate way of storing many-to-many relationships will result in les #### Adding comments to the schema -As per GraphQL spec, comments can be added above schema entity attributes using double quotations `""`. This is illustrated in the example below: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ The second handler tries to load the existing `Gravatar` from the Graph Node sto ### Recommended IDs for Creating New Entities -Every entity has to have an `id` that is unique among all entities of the same type. An entity's `id` value is set when the entity is created. Below are some recommended `id` values to consider when creating new entities. NOTE: The value of `id` must be a `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Code Generation @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Note:** The code generation must be performed again after every change to the GraphQL schema or the ABIs included in the manifest. It must also be performed at least once before building or deploying the subgraph. -Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to the Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Data Source Templates @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Note:** A new data source will only process the calls and events for the block in which it was created and all following blocks, but will not process historical data, i.e., data that is contained in prior blocks. -> +> > If prior blocks contain data relevant to the new data source, it is best to index that data by reading the current state of the contract and creating entities representing that state at the time the new data source is created. ### Data Source Context @@ -716,11 +759,219 @@ dataSources: ``` > **Note:** The contract creation block can be quickly looked up on Etherscan: -> +> > 1. Search for the contract by entering its address in the search bar. > 2. Click on the creation transaction hash in the `Contract Creator` section. > 3. Load the transaction details page where you'll find the start block for that contract. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1027,7 +1278,7 @@ File data sources are a new subgraph functionality for accessing off-chain data Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. -This is similar to the [existing data source templates](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > This replaces the existing `ipfs.cat` API @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { If the relationship is 1:1 between the parent entity and the resulting file data source entity, the simplest pattern is to link the parent entity to a resulting file entity by using the IPFS CID as the lookup. Get in touch on Discord if you are having difficulty modelling your new file-based entities! -> You can use [nested filters](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Currently `abis` are required, though it is not possible to call contracts from within file data sources -The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#Limitations) for more details. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Create a new handler to process files -This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). The CID of the file as a readable string can be accessed via the `dataSource` as follows: @@ -1156,7 +1407,7 @@ You can now create file data sources during execution of chain-based handlers: For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Example: @@ -1215,7 +1466,7 @@ Additionally, it is not possible to create data sources from a file data source, If you are linking NFT metadata to corresponding tokens, use the metadata's IPFS hash to reference a Metadata entity from the Token entity. Save the Metadata entity using the IPFS hash as an ID. -You can use [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. If you have entities which are refreshed multiple times, create unique file-based entities using the IPFS hash & the entity ID, and reference them using a derived field in the chain-based entity. @@ -1225,7 +1476,7 @@ If you have entities which are refreshed multiple times, create unique file-base File data sources currently require ABIs, even though ABIs are not used ([issue](https://github.com/graphprotocol/graph-cli/issues/961)). Workaround is to add any ABI. -Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)). Workaround is to create file data source handlers in a dedicated file. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Examples @@ -1234,3 +1485,65 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Overview + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From b635ad3f3dec127e7dceee8caa6c91a42f74eb5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:13 -0400 Subject: [PATCH 0290/2326] New translations creating-a-subgraph.mdx (French) --- .../fr/developing/creating-a-subgraph.mdx | 493 ++++++++++++++---- 1 file changed, 403 insertions(+), 90 deletions(-) diff --git a/website/pages/fr/developing/creating-a-subgraph.mdx b/website/pages/fr/developing/creating-a-subgraph.mdx index f5a3f5c9891e..0460ab5b4645 100644 --- a/website/pages/fr/developing/creating-a-subgraph.mdx +++ b/website/pages/fr/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ Un subgraph se constitue des fichiers suivants : - `Mappages AssemblyScript` : [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) qui traduit les données d'événement en entités définies dans votre schéma (par exemple `mapping.ts` dans ce tutoriel) -> Pour pouvoir utiliser votre subgraph sur le réseau décentralisé de The Graph, vous aurez besoin de [créer une clé API](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). Il est recommandé d'[ajouter un signal](/network/curating/#how-to-signal) à votre subgraph avec au moins [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Avant d'aller en détail à propos du contenu du manifeste, installons l'[interface de ligne de commande de TheGraph](https://github.com/graphprotocol/graph-cli). Nous en aurons besoin pour la création et le déploiement du subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Installation du Graph CLI @@ -36,7 +36,7 @@ npm install -g @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Une fois installée, la commande `graph init` est utilisée pour créer un nouveau projet soit depuis un contrat existant ou un exemple de subgraph. Il vous est possible de créer un subgraph sur Subgraph Studio grâce à `graph init --product subgraph-studio`. Si vous avez déjà déployé un contrat sur le réseau cible, il peut s'avérer judicieux d'utiliser ce contrat comme base pour votre subgraph. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## D'un contrat existant @@ -61,7 +61,7 @@ Le second mode `graph init` prend en charge est la création d'un nouveau projet graph init --studio ``` -Le subgraph d'exemple est basé sur le contrat Gravity de Dani Grant qui gère les avatars d'utilisateurs et émet des événements `NewGravatar` ou `UpdateGravatar` chaque fois que des avatars sont créés ou mis à jour. Le subgraphe gère ces événements en créant des entités `Gravatar` dans le stockage des nœuds de The Graph et en veillant à ce qu'elles soient mises à jour en fonction des événements. Les sections suivantes décrivent les fichiers qui composent le manifeste de subgraph pour cet exemple. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Ajouter de nouvelles sources de données à un subgraph existant @@ -96,60 +96,66 @@ Le manifeste du subgraph `subgraph.yaml` définit les contrats intelligents que Pour l'exemple de subgraph, `subgraph.yaml` est : ```yaml -specVersion: 0.0.4 -description: Gravatar for Ethereum -repository: https://github.com/graphprotocol/graph-tooling -schema: - file: ./schema.graphql -dataSources: - - kind: ethereum/contract - name: Gravity - network: mainnet - source: - address: '0x2E645469f354BB4F5c8a05B3b30A929361cf77eC' - abi: Gravity - startBlock: 6175244 - endBlock: 7175245 - context: - foo: - type: Bool - data: true - bar: - type: String - data: 'bar' - mapping: - kind: ethereum/events - apiVersion: 0.0.6 - language: wasm/assemblyscript - entities: - - Gravatar - abis: - - name: Gravity - file: ./abis/Gravity.json - eventHandlers: - - event: NewGravatar(uint256,address,string,string) - handler: handleNewGravatar - - event: UpdatedGravatar(uint256,address,string,string) - handler: handleUpdatedGravatar - callHandlers: - - function: createGravatar(string,string) - handler: handleCreateGravatar - blockHandlers: - - handler: handleBlock - - handler: handleBlockWithCall - filter: - kind: call - file: ./src/mapping.ts +version spec : 0.0.4 +description : Gravatar pour Ethereum +référentiel : https://github.com/graphprotocol/graph-tooling +schéma: + fichier : ./schema.graphql +indexeurConseils : + tailler : automatique +les sources de données: + - genre : ethereum/contrat + nom: Gravité + réseau : réseau principal + source: + adresse : '0x2E645469f354BB4F5c8a05B3b30A929361cf77eC' + abi : Gravité + bloc de démarrage : 6175244 + bloc de fin : 7175245 + contexte: + foo : + tapez : Booléen + données : vrai + bar: + tapez : chaîne + données : 'barre' + cartographie : + genre : ethereum/événements + Version api : 0.0.6 + langage : wasm/assemblyscript + entités : + -Gravatar + abis : + - nom : Gravité + fichier : ./abis/Gravity.json + Gestionnaires d'événements : + - événement : NewGravatar(uint256,adresse,chaîne,chaîne) + gestionnaire : handleNewGravatar + - événement : UpdatedGravatar (uint256, adresse, chaîne, chaîne) + gestionnaire : handleUpdatedGravatar + Gestionnaires d'appels : + - fonction : createGravatar(string,string) + gestionnaire : handleCreateGravatar + gestionnaires de blocs : + - gestionnaire : handleBlock + - gestionnaire : handleBlockWithCall + filtre: + genre : appeler + fichier : ./src/mapping.ts ``` Les entrées importantes à mettre à jour pour le manifeste sont : -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. + +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. -- `dépôt` : l'URL du référentiel où le manifeste du subgraph peut être trouvé. Ceci est également affiché par The Graph Explorer. +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `fonctionnalités` : une liste de tous les noms de [fonctionnalités](#experimental-features) utilisés. +- `indexerHints.prune` : Définit la conservation des données de blocs historiques pour un subgraph. Voir [prune](#prune) dans la section [indexerHints](#indexer-hints). + - `dataSources.source` : l'adresse du contrat intelligent, les sources du sous-graphe, et l'ABI du contrat intelligent à utiliser. L'adresse est facultative ; son omission permet d'indexer les événements correspondants de tous les contrats. - `dataSources.source` : l'adresse du contrat intelligent, les sources du subgraph, et l'Abi du contrat intelligent à utiliser. L'adresse est facultative ; son omission permet d'indexer les événements correspondants de tous les contrats. @@ -170,6 +176,8 @@ Les entrées importantes à mettre à jour pour le manifeste sont : Un seul subgraph peut indexer les données de plusieurs contrats intelligents. Ajoutez une entrée pour chaque contrat à partir duquel les données doivent être indexées dans le tableau `dataSources`. +### Ordre de déclenchement des gestionnaires + Les déclencheurs d'une source de données au sein d'un bloc sont classés à l'aide du processus suivant : 1. Les déclencheurs d'événements et d'appels sont d'abord classés par index de transaction au sein du bloc. @@ -178,6 +186,22 @@ Les déclencheurs d'une source de données au sein d'un bloc sont classés à l' Ces règles de commande sont susceptibles de changer. +> **Note:** Lorsque de nouveaux [sources de données dynamiques](#data-source-templates-for-dynamically-created-contracts) sont créés, les gestionnaires définis pour les sources de données dynamiques ne commenceront à être traités qu'une fois que tous les gestionnaires de sources de données existants auront été traités, et se répéteront dans la même séquence chaque fois qu'ils seront déclenchés. + +### SpecVersion Releases + +| Version | Notes de version | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Obtenir les ABI Le(s) fichier(s) ABI doivent correspondre à votre(vos) contrat(s). Il existe plusieurs façons d'obtenir des fichiers ABI : @@ -186,7 +210,7 @@ Le(s) fichier(s) ABI doivent correspondre à votre(vos) contrat(s). Il existe pl - Si vous créez un subgraph pour un projet public, vous pouvez télécharger ce projet sur votre ordinateur et obtenir l'ABI en utilisant la [`compilation truffle `](https://truffleframework.com/docs/truffle/overview) ou en utilisant solc pour compiler. - Vous pouvez également trouver l'ABI sur [Etherscan](https://etherscan.io/), mais ce n'est pas toujours fiable, car l'ABI qui y est téléchargé peut être obsolète. Assurez-vous d'avoir le bon ABI, sinon l'exécution de votre subgraph échouera. -## The GraphQL Schema +## Le Schema GraphQL Le schéma de votre subgraph se trouve dans le fichier `schema.graphql`. Les schémas GraphQL sont définis à l'aide du langage de définition d'interface GraphQL. Si vous n'avez jamais écrit de schéma GraphQL, il est recommandé de consulter cette introduction sur le système de types GraphQL. La documentation de référence pour les schémas GraphQL est disponible dans la section [API GraphQL](/querying/graphql-api). @@ -248,15 +272,15 @@ Pour certains types d'entités, l'`id` est construit à partir des identifiants Nous prenons en charge les scalaires suivants dans notre API GraphQL : -| Type | Description | -| --- | --- | -| `Octets` | Tableau d'octets, représenté sous forme de chaîne hexadécimale. Couramment utilisé pour les hachages et adresses Ethereum. | -| `String` | Scalaire pour les valeurs `chaîne`. Les caractères nuls ne sont pas pris en charge et sont automatiquement supprimés. | -| `Boolean` | Scalar pour `boolean` values. | -| `Int` | La spécification GraphQL définit `Int` pour avoir une taille de 32 octets. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | Grands entiers. Utilisé pour les types `uint32`, `int64`, `uint64`, ..., `uint256` d'Ethereum. Remarque : Tout ce qui se trouve en dessous de `uint32`, tel que `int32`, `uint24` ou `int8`, est représenté par `i32 **Remarque :** La génération de code doit être effectuée à nouveau après chaque modification du schéma GraphQL ou des ABI inclus dans le manifeste. Elle doit également être effectuée au moins une fois avant de construire ou de déployer le subgraph. -La génération de code ne vérifie pas votre code de mappage dans `src/mapping.ts`. Si vous souhaitez vérifier cela avant d'essayer de déployer votre subgraph sur Graph Explorer, vous pouvez exécuter `yarn build` et corriger toutes les erreurs de syntaxe que le compilateur TypeScript pourrait trouver. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Modèles de sources de données @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Remarque :** Une nouvelle source de données traitera uniquement les appels et les événements du bloc dans lequel elle a été créée et de tous les blocs suivants, mais ne traitera pas les données historiques, c'est-à-dire les données. qui est contenu dans les blocs précédents. -> +> > Si les blocs précédents contiennent des données pertinentes pour la nouvelle source de données, il est préférable d'indexer ces données en lisant l'état actuel du contrat et en créant des entités représentant cet état au moment de la création de la nouvelle source de données. ### Data Source Context @@ -716,11 +759,219 @@ dataSources: ``` > **Remarque :** Le bloc de création de contrat peut être rapidement consulté sur Etherscan : -> +> > 1. Recherchez le contrat en saisissant son adresse dans la barre de recherche. > 2. Cliquez sur le hachage de la transaction de création dans la section `Contract Creator`. > 3. Chargez la page des détails de la transaction où vous trouverez le bloc de départ de ce contrat. +## Conseils pour l'indexeur + +Le paramètre `indexerHints` dans le manifeste d'un subgraph fournit des directives aux indexeurs sur le traitement et la gestion d'un subgraph. Il influence les décisions opérationnelles concernant la gestion des données, les stratégies d'indexation et les optimisations. Actuellement, il propose l'option `prune` pour gérer la conservation ou l'élagage des données historiques. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune` : définit la conservation des données de bloc historiques pour un subgraph. Les options incluent : + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. Un nombre spécifique : Fixe une limite personnalisée au nombre de blocs historiques à conserver. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> L'utilisation de `"auto"` est généralement recommandée car elle maximise les performances des requêtes et est suffisante pour la plupart des utilisateurs qui n'ont pas besoin d'accéder à de nombreuses données historiques. + +Pour les subgraphs exploitant les [requêtes de voyage dans le temps](/querying/graphql-api/#time-travel-queries), il est conseillé soit de définir un nombre spécifique de blocs pour la conservation des données historiques, soit d'utiliser ` prune : never` pour conserver tous les états historiques des entités. Vous trouverez ci-dessous des exemples de configuration des deux options dans les paramètres de votre subgraph : + +Pour conserver une quantité spécifique de données historiques : + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +Préserver l'histoire complète des États de l'entité : + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Gestionnaires d'appels Bien que les événements constituent un moyen efficace de collecter les modifications pertinentes apportées à l'état d'un contrat, de nombreux contrats évitent de générer des journaux pour optimiser les coûts du gaz. Dans ces cas, un subgraph peut s'abonner aux appels effectués vers le contrat de source de données. Ceci est réalisé en définissant des gestionnaires d'appels faisant référence à la signature de la fonction et au gestionnaire de mappage qui traitera les appels à cette fonction. Pour traiter ces appels, le gestionnaire de mappage recevra un `ethereum.Call` comme argument avec les entrées et sorties saisies de l'appel. Les appels effectués à n'importe quelle profondeur dans la chaîne d'appels d'une transaction déclencheront le mappage, permettant de capturer l'activité avec le contrat de source de données via des contrats proxy. @@ -906,12 +1157,12 @@ Dans la fonction de gestionnaire, le reçu est accessible dans le champ `Event.r À partir de `specVersion` `0.0.4`, les fonctionnalités de subgraph doivent être explicitement déclarées dans la section `features` au niveau supérieur du fichier manifeste, en utilisant leur `camelCase`, comme indiqué dans le tableau ci-dessous : -| Fonctionnalité | Nom | -| --- | --- | -| [Erreurs non fatales](#non-fatal-errors) | `nonFatalErrors` | -| [Recherche en texte intégral](#defining-fulltext-search-fields) | `fullTextSearch` | -| [La greffe](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS sur les contrats Ethereum](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` ou `nonDeterministicIpfs` | +| Fonctionnalité | Nom | +| --------------------------------------------------------------- | --------------------------------------------------- | +| [Erreurs non fatales](#non-fatal-errors) | `erreursnonfatales` | +| [Recherche en texte intégral](#defining-fulltext-search-fields) | `fullTextSearch` | +| [La greffe](#grafting-onto-existing-subgraphs) | `grafting` | +| [IPFS sur les contrats Ethereum](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` ou `nonDeterministicIpfs` | Par exemple, si un subgraph utilise les fonctionnalités **Recherche en texte intégral** et **Erreurs non fatales** features, le `features` dans le manifeste doit être : @@ -936,7 +1187,7 @@ Compte tenu de ces hachages IPFS, les subgraphs peuvent lire les fichiers corres > **[Gestion des fonctionnalités](#experimental-features) :** `ipfsOnEthereumContracts` doit être déclaré sous `features Cela remplace l'API `ipfs.cat` existante @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { Si la relation est 1:1 entre l'entité parent et l'entité de source de données de fichier résultante, le modèle le plus simple consiste à lier l'entité parent à une entité de fichier résultante en utilisant le CID IPFS comme recherche. Contactez Discord si vous rencontrez des difficultés pour modéliser vos nouvelles entités basées sur des fichiers ! -> Vous pouvez utiliser des [filtres imbriqués](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) pour filtrer les entités parent sur le base de ces entités imbriquées. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Ajoutez une nouvelle source de données modélisée avec `kind: file/ipfs` ou `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Actuellement, les `abis` sont requis, bien qu'il ne soit pas possible d'appeler des contrats à partir de sources de données de fichiers -La source de données du fichier doit spécifiquement mentionner tous les types d'entités avec lesquels elle interagira sous `entités`. Voir les [limitations](#Limitations) pour plus de détails. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Créer un nouveau gestionnaire pour traiter les fichiers -Ce gestionnaire doit accepter un paramètre `Bytes`, qui sera le contenu du fichier, lorsqu'il sera trouvé, qui pourra ensuite être traité. Il s'agira souvent d'un fichier JSON, qui peut être traité avec les assistants `graph-ts` ([documentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json -api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). Le CID du fichier sous forme de chaîne lisible est accessible via `dataSource` comme suit : @@ -1156,7 +1407,7 @@ Vous pouvez désormais créer des sources de données de fichiers lors de l'exé Pour IPFS, Graph Node prend en charge les identifiants de contenu [v0 et v1](https://docs.ipfs.tech/concepts/content-addressing/), ainsi que les identifiants de contenu avec des répertoires (par exemple `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -Pour Arweave, à partir de la version 0.33.0, Graph Node peut récupérer des fichiers stockés sur Arweave en fonction de leur [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) à partir d'une passerelle Arweave ([fichier exemple](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave prend en charge les transactions téléchargées via Bundlr, et Graph Node peut également récupérer des fichiers sur la base des [manifestes Bundlr](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Exemple: @@ -1166,7 +1417,7 @@ import { TokenMetadata as TokenMetadataTemplate } from '../generated/templates' const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' //Cet exemple de code concerne un sous-graphe de Crypto coven. Le hachage ipfs ci-dessus est un répertoire contenant les métadonnées des jetons pour toutes les NFT de l'alliance cryptographique. -export function handleTransfer(event: TransferEvent): void { +export function handleTransfer(event : TransferEvent) : void { let token = Token.load(event.params.tokenId.toString()) if (!token) { token = new Token(event.params.tokenId.toString()) @@ -1215,7 +1466,7 @@ En outre, il n'est pas possible de créer des sources de données à partir d'un Si vous liez des métadonnées NFT aux jetons correspondants, utilisez le hachage IPFS des métadonnées pour référencer une entité Metadata à partir de l'entité Token. Enregistrez l'entité Metadata en utilisant le hachage IPFS comme identifiant. -Vous pouvez utiliser [Contexte de la source de données](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) lors de la création de sources de données de fichiers pour transmettre des informations supplémentaires qui seront mises à la disposition du gestionnaire de la source de données de fichiers. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. Si vous avez des entités qui sont actualisées plusieurs fois, créez des entités uniques basées sur des fichiers en utilisant le hachage & IPFS ; l'ID de l'entité, et référencez-les en utilisant un champ dérivé dans l'entité basée sur la chaîne. @@ -1225,7 +1476,7 @@ Si vous avez des entités qui sont actualisées plusieurs fois, créez des entit Les sources de données de fichiers nécessitent actuellement des ABI, même si les ABI ne sont pas utilisées ([problème](https://github.com/graphprotocol/graph-cli/issues/961)). La solution consiste à ajouter n'importe quel ABI. -Les gestionnaires des sources de données de fichiers ne peuvent pas se trouver dans des fichiers qui importent des liaisons de contrat `eth_call`, échouant avec "importation inconnue : `ethereum::ethereum.call` n'a pas été défini" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)). La solution de contournement consiste à créer des gestionnaires de sources de données de fichiers dans un fichier dédié. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Exemples @@ -1234,3 +1485,65 @@ Les gestionnaires des sources de données de fichiers ne peuvent pas se trouver #### Les Références [Sources de données du fichier GIP](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Aperçu + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From f0c2eb1f3ad9e01dec5acc7f1a4a6ca8aca7d497 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:14 -0400 Subject: [PATCH 0291/2326] New translations creating-a-subgraph.mdx (Spanish) --- .../es/developing/creating-a-subgraph.mdx | 385 ++++++++++++++++-- 1 file changed, 349 insertions(+), 36 deletions(-) diff --git a/website/pages/es/developing/creating-a-subgraph.mdx b/website/pages/es/developing/creating-a-subgraph.mdx index 5271e6ac9f14..3597dd690b39 100644 --- a/website/pages/es/developing/creating-a-subgraph.mdx +++ b/website/pages/es/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ La definición del subgrafo consta de unos cuantos archivos: - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) codigo que traduce de los datos del evento a las entidades definidas en su esquema (por ejemplo `mapping.ts` en este tutorial) -> Para poder utilizar tu subgrafo en la red descentralizada de The Graph, necesitarás [crear una clave API](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). Se recomienda que [añadas señal](/network/curating/#how-to-signal) a tu subgrafo con al menos [10.000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Antes de entrar en detalles sobre el contenido del archivo de manifiesto, es necesario instalar el [Graph CLI](https://github.com/graphprotocol/graph-cli) que necesitarás para construir y deployar un subgrafo. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Instalar The Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Una vez instalado, el comando `graph init` se puede utilizar para configurar un nuevo proyecto de subgrafo, ya sea a partir de un contrato existente o a partir de un subgrafo de ejemplo. Este comando se puede utilizar para crear un subgrafo en Subgraph Studio al pasar ` graph init --product subgraph-studio`. Si ya tienes un contrato inteligente deployado en tu red preferida, crear un nuevo subgrafo a partir de ese contrato puede ser una buena manera de empezar. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## Desde un Contrato Existente @@ -61,7 +61,7 @@ El segundo modo que admite `graph init` es la creación de un nuevo proyecto a p graph init --studio ``` -El subgrafo de ejemplo se basa en el contrato Gravity de Dani Grant que gestiona los avatares de los usuarios y emite `NewGravatar` o `UpdateGravatar` cada vez que se crean o actualizan los avatares. El subgrafo maneja estos eventos escribiendo entidades `Gravatar` en el almacén de Graph Node y asegurándose de que éstas se actualicen según los eventos. Las siguientes secciones repasarán los archivos que componen el manifiesto del subgrafo para este ejemplo. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Añadir nuevas fuentes de datos a un subgrafo existente @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: Las entradas importantes a actualizar para el manifiesto son: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: la URL del repositorio donde se encuentra el manifiesto del subgrafo. También se muestra en The Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: una lista de todos los nombres de las [feature](#experimental-features) usadas. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: la dirección del contrato inteligente del que procede el subgrafo, y la ABI del contrato inteligente a utilizar. La dirección es opcional; omitirla permite indexar eventos coincidentes de todos los contratos. - `dataSources.source.startBlock`: el número opcional del bloque desde el que la fuente de datos comienza a indexar. En la mayoría de los casos, sugerimos utilizar el bloque en el que se creó el contrato. @@ -170,6 +176,8 @@ Las entradas importantes a actualizar para el manifiesto son: Un único subgrafo puede indexar datos de múltiples contratos inteligentes. Añade una entrada por cada contrato del que haya que indexar datos a la array `dataSources`. +### Order of Triggering Handlers + Las triggers de una fuente de datos dentro de un bloque se ordenan mediante el siguiente proceso: 1. Las triggers de eventos y calls se ordenan primero por el índice de la transacción dentro del bloque. @@ -178,6 +186,22 @@ Las triggers de una fuente de datos dentro de un bloque se ordenan mediante el s Estas normas de orden están sujetas a cambios. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Version | Notas del lanzamiento | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Obtención de ABIs Los archivos ABI deben coincidir con tu(s) contrato(s). Hay varias formas de obtener archivos ABI: @@ -248,15 +272,15 @@ Para algunos tipos de entidad, el `id` se construye a partir de los id de otras Admitimos los siguientes escalares en nuestra API GraphQL: -| Tipo | Descripción | -| --- | --- | -| `Bytes` | Byte array, representado como un string hexadecimal. Comúnmente utilizado para los hashes y direcciones de Ethereum. | -| `String` | Escalar para valores `string`. Los caracteres nulos no son compatibles y se eliminan automáticamente. | -| `Boolean` | Escalar para valores `boolean`. | -| `Int` | La especificación GraphQL define `Int` con un tamaño de 32 bytes. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | Números enteros grandes. Se utiliza para los tipos `uint32`, `int64`, `uint64`, ..., `uint256` de Ethereum. Nota: Todo por debajo de `uint32`, como `int32`, `uint24` o `int8` se representa como `i32`. | -| `BigDecimal` | `BigDecimal` Decimales de alta precisión representados como un signo y un exponente. El rango de exponentes va de -6143 a +6144. Redondeado a 34 dígitos significativos. | +| Tipo | Descripción | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Byte array, representado como un string hexadecimal. Comúnmente utilizado para los hashes y direcciones de Ethereum. | +| `String` | Escalar para valores `string`. Los caracteres nulos no son compatibles y se eliminan automáticamente. | +| `Boolean` | Escalar para valores `boolean`. | +| `Int` | La especificación GraphQL define `Int` con un tamaño de 32 bytes. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | Números enteros grandes. Se utiliza para los tipos `uint32`, `int64`, `uint64`, ..., `uint256` de Ethereum. Nota: Todo por debajo de `uint32`, como `int32`, `uint24` o `int8` se representa como `i32`. | +| `BigDecimal` | `BigDecimal` Decimales de alta precisión representados como un signo y un exponente. El rango de exponentes va de -6143 a +6144. Redondeado a 34 dígitos significativos. | #### Enums @@ -398,11 +422,11 @@ Esta forma más elaborada de almacenar las relaciones many-to-many se traducirá #### Agregar comentarios al esquema -Según la especificación GraphQL, se pueden añadir comentarios por encima de los atributos de entidad del esquema utilizando comillas dobles `""`. Esto se ilustra en el siguiente ejemplo: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -481,10 +505,10 @@ Diccionarios de idiomas admitidos: Algoritmos admitidos para ordenar los resultados: -| Algoritmos | Descripción | -| --- | --- | -| rango | Usa la calidad de coincidencia (0-1) de la consulta de texto completo para ordenar los resultados. | -| rango de proximidad | Similar al rango, pero también incluye la proximidad de los matches. | +| Algoritmos | Descripción | +| ------------------- | -------------------------------------------------------------------------------------------------- | +| rango | Usa la calidad de coincidencia (0-1) de la consulta de texto completo para ordenar los resultados. | +| rango de proximidad | Similar al rango, pero también incluye la proximidad de los matches. | ## Escribir Mappings @@ -525,13 +549,32 @@ El segundo handler intenta cargar el `Gravatar` existente desde el almacén de T ### ID recomendados para la creación de nuevas entidades -Cada entidad tiene que tener un `id` que es único entre todas las entidades del mismo tipo. El valor del `id` de una entidad se establece cuando se crea la entidad. A continuación se muestran algunos valores de `id` recomendados a tener en cuenta al crear nuevas entidades. NOTA: El valor de `id` debe ser un `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Generación de código @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Nota:** La generación de código debe realizarse de nuevo después de cada cambio en el esquema GraphQL o en las ABIs incluidas en el manifiesto. También debe realizarse al menos una vez antes de construir o deployar el subgrafo. -La generación de código no comprueba tu código de mapping en `src/mapping.ts`. Si quieres comprobarlo antes de intentar deployar tu subgrafo en the Graph Explorer, puedes ejecutar `yarn build` y corregir cualquier error de sintaxis que el compilador de TypeScript pueda encontrar. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Plantillas para fuentes de datos @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Nota:** Un nuevo origen de datos sólo procesará las llamadas y los eventos del bloque en el que fue creado y todos los bloques siguientes, pero no procesará los datos históricos, es decir, los datos que están contenidos en bloques anteriores. -> +> > Si los bloques anteriores contienen datos relevantes para la nueva fuente de datos, lo mejor es indexar esos datos leyendo el estado actual del contrato y creando entidades que representen ese estado en el momento de crear la nueva fuente de datos. ### Contexto de la fuente de datos @@ -716,11 +759,219 @@ dataSources: ``` > **Nota:** El bloque de creación del contrato se puede buscar rápidamente en Etherscan: -> +> > 1. Busca el contrato introduciendo su dirección en la barra de búsqueda. > 2. Haz clic en el hash de la transacción de creación en la sección `Contract Creator`. > 3. Carga la página de detalles de la transacción, donde encontrarás el bloque inicial de ese contrato. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Call Handlers Aunque los eventos proporcionan una forma eficaz de recoger los cambios relevantes en el estado de un contrato, muchos contratos evitan generar registros para optimizar los costos de gas. En estos casos, un subgrafo puede suscribirse a las calls realizadas al contrato de la fuente de datos. Esto se consigue definiendo los call handlers que hacen referencia a la firma de la función y al handler de mapping que procesará las calls a esta función. Para procesar estas calls, el handler de mapping recibirá un `ethereum.Call` como argumento con las entradas y salidas tipificadas de la call. Las calls realizadas en cualquier profundidad de la cadena de calls de una transacción activarán el mapping, permitiendo capturar la actividad con el contrato de origen de datos a través de los contratos proxy. @@ -1027,7 +1278,7 @@ File data sources are a new subgraph functionality for accessing off-chain data En lugar de buscar los archivos "en línea" durante la ejecución del handler, se introducen plantillas que pueden generarse como nuevas fuentes de datos para un identificador de archivo determinado. Estas nuevas fuentes de datos buscan los archivos, reintentando si no tienen éxito, ejecutando un handler dedicado cuando se encuentra el archivo. -Esto es similar a las [plantillas de fuentes de datos existentes](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), que se utilizan para crear dinámicamente nuevas fuentes de datos basadas en cadenas. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > Esto sustituye a la API `ipfs.cat` existente @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { Si la relación es 1:1 entre la entidad padre y la entidad fuente de datos de archivo resultante, el patrón más sencillo es vincular la entidad padre a una entidad de archivo resultante utilizando el CID IPFS como búsqueda. Pónte en contacto con nosotros en Discord si tienes dificultades para modelar tus nuevas entidades basadas en archivos! -> Puedes utilizar [nested filters](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) para filtrar entidades padre en función de estas entidades nested. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Actualmente se requieren `abis`, aunque no es posible llamar a los contratos desde las fuentes de datos de los archivos -La fuente de datos de archivos debe mencionar específicamente todos los tipos de entidad con los que interactuará en `entities`. Consulta las [limitaciones](#Limitations) para obtener más información. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Crear un nuevo handler para procesar archivos -Este handler debe aceptar un parámetro `Bytes`, que será el contenido del archivo, cuando se encuentra, que luego puede ser procesado. Esto a menudo será un archivo JSON, que puede ser procesado con `graph-ts` helpers ([documentación](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). Se puede acceder al CID del archivo como un string legible a través del `dataSource` de la siguiente manera: @@ -1156,7 +1407,7 @@ Ahora puedes crear fuentes de datos de archivos durante la ejecución de handler For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Ejemplo: @@ -1215,7 +1466,7 @@ Además, no es posible crear fuentes de datos a partir de una File Data Source, Si estás vinculando metadatos NFT a los tokens correspondientes, utiliza el hash IPFS de los metadatos para hacer referencia a una entidad Metadata desde la entidad Token. Guarda la entidad de metadatos utilizando el hash IPFS como ID. -Puedes utilizar [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) cuando creas File Data Sources para pasar información extra que estará disponible para el handler del File Data Source. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. Si tienes entidades que se actualizan varias veces, crea entidades únicas basadas en archivos utilizando el hash IPFS & el ID de la entidad, y haz referencia a ellas utilizando un campo derivado en la entidad basada en cadena. @@ -1225,7 +1476,7 @@ Si tienes entidades que se actualizan varias veces, crea entidades únicas basad File Data Sources requieren actualmente ABIs, aunque no se utilicen ABIs ([problema](https://github.com/graphprotocol/graph-cli/issues/961)). La solución es añadir cualquier ABI. -Los handlers para File Data Sources no pueden estar en archivos que importan enlaces de contrato `eth_call`, fallando con "unknown import: `ethereum::ethereum.call` has not been defined" ([problema](https://github.com/graphprotocol/graph-cli/issues/4309)). La solución es crear handlers de File Data Sources en un archivo dedicado. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Ejemplos @@ -1234,3 +1485,65 @@ Los handlers para File Data Sources no pueden estar en archivos que importan enl #### Referencias [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Descripción + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 2e7b1a041c70536c5729ce085858712cdc7bef9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:15 -0400 Subject: [PATCH 0292/2326] New translations creating-a-subgraph.mdx (Arabic) --- .../ar/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/ar/developing/creating-a-subgraph.mdx b/website/pages/ar/developing/creating-a-subgraph.mdx index 96986ffd3407..d503b8fc909f 100644 --- a/website/pages/ar/developing/creating-a-subgraph.mdx +++ b/website/pages/ar/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ A subgraph extracts data from a blockchain, processing it and storing it so that - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) كود يترجم من بيانات الحدث إلى الكيانات المعرفة في مخططك (مثل`mapping.ts` في هذا الدرس) -> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -قبل الخوض في التفاصيل حول محتويات ملف manifest ، تحتاج إلى تثبيت [Graph CLI](https://github.com/graphprotocol/graph-cli) والذي سوف تحتاجه لبناء ونشر Subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## قم بتثبيت Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph on the Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## من عقد موجود @@ -61,7 +61,7 @@ graph init \ graph init --studio ``` -يعتمد مثال الـ subgraph على عقد Gravity بواسطة Dani Grant الذي يدير avatars للمستخدم ويصدر أحداث `NewGravatar` أو `UpdateGravatar` كلما تم إنشاء avatars أو تحديثها. يعالج الـ subgraph هذه الأحداث عن طريق كتابة كيانات `Gravatar` إلى مخزن Graph Node والتأكد من تحديثها وفقا للأحداث. ستنتقل الأقسام التالية إلى الملفات التي تشكل الـ subgraph manifest لهذا المثال. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Add New dataSources To An Existing Subgraph @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: الإدخالات الهامة لتحديث manifest هي: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed by The Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: قائمة بجميع أسماء الـ [ الميزات](#experimental-features) المستخدمة. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: the address of the smart contract the subgraph sources, and the ABI of the smart contract to use. The address is optional; omitting it allows to index matching events from all contracts. - `dataSources.source.startBlock`: the optional number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created. @@ -170,6 +176,8 @@ dataSources: يمكن لـ subgraph واحد فهرسة البيانات من عقود ذكية متعددة. أضف إدخالا لكل عقد يجب فهرسة البيانات منه إلى مصفوفة `dataSources`. +### Order of Triggering Handlers + يتم ترتيب المشغلات (triggers) لمصدر البيانات داخل الكتلة باستخدام العملية التالية: 1. يتم ترتيب triggers الأحداث والاستدعاءات أولا من خلال فهرس الإجراء داخل الكتلة. @@ -178,6 +186,22 @@ dataSources: قواعد الترتيب هذه عرضة للتغيير. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| الاصدار | ملاحظات الإصدار | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### الحصول على ABIs يجب أن تتطابق ملف (ملفات) ABI مع العقد (العقود) الخاصة بك. هناك عدة طرق للحصول على ملفات ABI: @@ -248,15 +272,15 @@ For some entity types the `id` is constructed from the id's of two other entitie We support the following scalars in our GraphQL API: -| النوع | الوصف | -| --- | --- | -| `Bytes` | مصفوفة Byte ، ممثلة كسلسلة سداسية عشرية. يشيع استخدامها في Ethereum hashes وعناوينه. | -| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | -| `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | -| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| النوع | الوصف | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | مصفوفة Byte ، ممثلة كسلسلة سداسية عشرية. يشيع استخدامها في Ethereum hashes وعناوينه. | +| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | +| `Boolean` | Scalar for `boolean` values. | +| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | +| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | #### Enums @@ -398,11 +422,11 @@ This more elaborate way of storing many-to-many relationships will result in les #### إضافة تعليقات إلى المخطط (schema) -As per GraphQL spec, comments can be added above schema entity attributes using double quotations `""`. This is illustrated in the example below: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ The second handler tries to load the existing `Gravatar` from the Graph Node sto ### الـ IDs الموصى بها لإنشاء كيانات جديدة -Every entity has to have an `id` that is unique among all entities of the same type. An entity's `id` value is set when the entity is created. Below are some recommended `id` values to consider when creating new entities. NOTE: The value of `id` must be a `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `()event.params.id.toHex` -- `()event.transaction.from.toHex` -- `()event.transaction.hash.toHex() + "-" + event.logIndex.toString` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## توليد الكود @@ -573,7 +616,7 @@ In addition to this, one class is generated for each entity type in the subgraph > **ملحوظات:** يجب إجراء إنشاء الكود مرة أخرى بعد كل تغيير في مخطط GraphQL أو ABI المضمنة في الـ يظهر. يجب أيضا إجراؤه مرة واحدة على الأقل قبل بناء أو نشر الـ الفرعيةرسم بياني. -Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to the Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## قوالب مصدر البيانات @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **ملاحظة:** مصدر البيانات الجديد سيعالج فقط الاستدعاءات والأحداث للكتلة التي تم إنشاؤها فيه وجميع الكتل التالية ، ولكنه لن يعالج البيانات التاريخية ، أي البيانات الموجودة في الكتل السابقة. -> +> > إذا كانت الكتل السابقة تحتوي على بيانات ذات صلة بمصدر البيانات الجديد ، فمن الأفضل فهرسة تلك البيانات من خلال قراءة الحالة الحالية للعقد وإنشاء كيانات تمثل تلك الحالة في وقت إنشاء مصدر البيانات الجديد. ### سياق مصدر البيانات @@ -716,11 +759,219 @@ dataSources: ``` > **ملاحظة:** يمكن البحث عن كتلة إنشاء العقد بسرعة على Etherscan: -> +> > 1. ابحث عن العقد بإدخال عنوانه في شريط البحث. > 2. انقر فوق hash إجراء الإنشاء في قسم `Contract Creator`. > 3. قم بتحميل صفحة تفاصيل الإجراء(transaction) حيث ستجد كتلة البدء لذلك العقد. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## معالجات الاستدعاء(Call Handlers) While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1027,7 +1278,7 @@ File data sources are a new subgraph functionality for accessing off-chain data Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. -This is similar to the [existing data source templates](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > This replaces the existing `ipfs.cat` API @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { If the relationship is 1:1 between the parent entity and the resulting file data source entity, the simplest pattern is to link the parent entity to a resulting file entity by using the IPFS CID as the lookup. Get in touch on Discord if you are having difficulty modelling your new file-based entities! -> You can use [nested filters](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Currently `abis` are required, though it is not possible to call contracts from within file data sources -The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#Limitations) for more details. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Create a new handler to process files -This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). The CID of the file as a readable string can be accessed via the `dataSource` as follows: @@ -1156,7 +1407,7 @@ You can now create file data sources during execution of chain-based handlers: For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Example: @@ -1215,7 +1466,7 @@ Additionally, it is not possible to create data sources from a file data source, If you are linking NFT metadata to corresponding tokens, use the metadata's IPFS hash to reference a Metadata entity from the Token entity. Save the Metadata entity using the IPFS hash as an ID. -You can use [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. If you have entities which are refreshed multiple times, create unique file-based entities using the IPFS hash & the entity ID, and reference them using a derived field in the chain-based entity. @@ -1225,7 +1476,7 @@ If you have entities which are refreshed multiple times, create unique file-base File data sources currently require ABIs, even though ABIs are not used ([issue](https://github.com/graphprotocol/graph-cli/issues/961)). Workaround is to add any ABI. -Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)). Workaround is to create file data source handlers in a dedicated file. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Examples @@ -1234,3 +1485,65 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### المراجع [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### نظره عامة + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 8b6467ceefc8f43856438fe2dd71416d555d9bcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:17 -0400 Subject: [PATCH 0293/2326] New translations creating-a-subgraph.mdx (Czech) --- .../cs/developing/creating-a-subgraph.mdx | 545 ++++++++++++++---- 1 file changed, 429 insertions(+), 116 deletions(-) diff --git a/website/pages/cs/developing/creating-a-subgraph.mdx b/website/pages/cs/developing/creating-a-subgraph.mdx index b5759149e88b..f44e87b6a599 100644 --- a/website/pages/cs/developing/creating-a-subgraph.mdx +++ b/website/pages/cs/developing/creating-a-subgraph.mdx @@ -14,15 +14,15 @@ Definice podgraf se skládá z několika souborů: - `Mapování skriptů sestavy`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) kód, který převádí data událostí na entity definované ve vašem schématu (např. `mapping.ts` v tomto tutoriálu) -> Abyste mohli svůj podgraf používat v decentralizované síti The Graph, musíte si [vytvořit klíč API](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). Doporučujeme, abyste [přidali signál](/network/curating/#how-to-signal) do svého podgraf s minimálně [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Než se podrobněji seznámíte s obsahem souboru manifest, je třeba nainstalovat [Graph CLI](https://github.com/graphprotocol/graph-cli), které budete potřebovat k sestavení a nasazení podgraf. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Instalace Graf CLI Graf CLI je napsáno v jazyce JavaScript a k jeho použití je třeba nainstalovat buď `yarn`, nebo `npm`; v následujícím se předpokládá, že máte yarn. -Once you have `yarn`, install the Graph CLI by running +Jakmile budete mít `yarn`, nainstalujte Graf CLI spuštěním příkazu **Instalace pomocí yarn:** @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Po instalaci lze příkazem `graph init` nastavit nový projekt podgraf, a to buď z existující smlouvy, nebo z příkladu podgraf. Tento příkaz lze použít k vytvoření subgrafu v podgraf Studio předáním příkazu `graph init --product subgraph-studio`. Pokud již máte inteligentní kontrakt nasazený v preferované síti, může být zavedení nového podgraf z tohoto kontraktu dobrým způsobem, jak začít. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## Ze stávající smlouvy @@ -61,7 +61,7 @@ Druhý režim `graf init` podporuje vytvoření nového projektu z příkladové graph init --studio ``` -Ukázkový podgraf je založen na smlouvě Gravity od Daniho Granta, která spravuje uživatelské avatary a vysílá události `NewGravatar` nebo `UpdateGravatar`, kdykoli jsou avatary vytvořeny nebo aktualizovány. Podgraf tyto události zpracovává tak, že zapisuje entity `Gravatar` do úložiště Graf Uzel a zajišťuje jejich aktualizaci podle událostí. V následujících částech budou rozebrány soubory, které tvoří manifest podgrafu pro tento příklad. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Přidání nových zdrojů dat do existujícího podgraf @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: Důležité položky, které je třeba v manifestu aktualizovat, jsou: -- `popis`: lidsky čitelný popis toho, co je podgraf. Tento popis zobrazí Průzkumník grafů při nasazení podgrafu do hostované služby. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `úložiště`: adresa URL úložiště, kde lze manifest podgrafů nalézt. Tento údaj zobrazuje také Průzkumník graf. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: seznam všech použitých názvů [feature](#experimental-features). +- `indexerHints.prune`: Definuje uchovávání historických blokových dat pro podgraf. Viz [prune](#prune) v sekci [indexerHints](#indexer-hints). + - `dataSources.source`: adresa inteligentní smlouvy, ze které podgraf pochází, a ABI inteligentní smlouvy, která se má použít. Adresa je nepovinná; její vynechání umožňuje indexovat odpovídající události ze všech smluv. - `dataSources.source.startBlock`: nepovinné číslo bloku, od kterého zdroj dat začíná indexovat. Ve většině případů doporučujeme použít blok, ve kterém byl kontrakt vytvořen. @@ -166,10 +172,12 @@ Důležité položky, které je třeba v manifestu aktualizovat, jsou: - `dataSources.mapping.callHandlers`: obsahuje seznam funkcí inteligentních smluv, na které tento podgraf reaguje, a obsluhovače v mapování, které transformují vstupy a výstupy volání funkcí na entity v úložišti. -- `dataSources.mapping.blockHandlers`: lists the blocks this subgraph reacts to and handlers in the mapping to run when a block is appended to the chain. Without a filter, the block handler will be run every block. An optional call-filter can be provided by adding a `filter` field with `kind: call` to the handler. This will only run the handler if the block contains at least one call to the data source contract. +- `dataSources.mapping.blockHandlers`: seznam bloků, na které tento podgraf reaguje, a obslužných v mapování, které se spustí, když je blok přidán do řetězce. Bez filtru se obsluha bloku spustí každý blok. Volitelný filtr volání lze zadat přidáním field with `filter` druhem: volání k obsluze. Tím se obslužná rutina spustí pouze tehdy, pokud blok obsahuje alespoň jedno volání smlouvy zdroje dat. Jeden subgraf může indexovat data z více inteligentní smluv. Do pole `dataSources` přidejte položku pro každou smlouvu, ze které je třeba indexovat data. +### Pořadí spouštěcích Handlers + Spouštěče pro zdroj dat v rámci bloku jsou seřazeny podle následujícího postupu: 1. Spouštěče událostí a volání jsou nejprve seřazeny podle indexu transakce v rámci bloku. @@ -178,6 +186,22 @@ Spouštěče pro zdroj dat v rámci bloku jsou seřazeny podle následujícího Tato pravidla objednávání se mohou změnit. +> **Poznámka:** Při vytvoření nového [dynamického zdroje dat](#data-source-templates-for-dynamically-created-contracts) se zpracovatelé definovaní pro dynamické zdroje dat začnou zpracovávat až po zpracování všech existujících zpracovatelů zdrojů dat a budou se opakovat ve stejném pořadí, kdykoli budou spuštěny. + +### SpecVersion Releases + +| Verze | Poznámky vydání | +|:-----:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Získání ABI Soubor(y) ABI se musí shodovat s vaší smlouvou. Soubory ABI lze získat několika způsoby: @@ -248,15 +272,15 @@ U některých typů entit je `id` vytvořeno z id dvou jiných entit; to je mož V našem GraphQL API podporujeme následující skaláry: -| Typ | Popis | -| --- | --- | -| `Bajtů` | Pole bajtů reprezentované jako hexadecimální řetězec. Běžně se používá pro hashe a adresy Ethereum. | -| `Řetězec` | Skalár pro hodnoty `řetězce`. Nulové znaky nejsou podporovány a jsou automaticky odstraněny. | -| `Boolean` | Skalár pro hodnoty `boolean`. | -| `Int` | Specifikace GraphQL definuje `Int` na velikost 32 bajtů. | -| `Int8` | Celé číslo se znaménkem o velikosti 8 bajtů, známé také jako 64bitové celé číslo se znaménkem, může uchovávat hodnoty v rozsahu od -9 223 372 036 854 775 808 do 9 223 372 036 854 775 807. Přednostně se používá k reprezentaci `i64` z ethereum. | -| `BigInt` | Velká celá čísla. Používá se pro typy `uint32`, `int64`, `uint64`, ..., `uint256` společnosti Ethereum. Poznámka: Vše pod `uint32`, jako například `int32`, `uint24` nebo `int8`, je reprezentováno jako `i32`. | -| `BigDecimal` | `BigDecimal` Desetinná čísla s vysokou přesností reprezentovaná jako signifikand a exponent. Rozsah exponentu je od -6143 do +6144. Zaokrouhleno na 34 významných číslic. | +| Typ | Popis | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bajtů` | Pole bajtů reprezentované jako hexadecimální řetězec. Běžně se používá pro hashe a adresy Ethereum. | +| `Řetězec` | Skalár pro hodnoty `řetězce`. Nulové znaky nejsou podporovány a jsou automaticky odstraněny. | +| `Boolean` | Skalár pro hodnoty `boolean`. | +| `Int` | Specifikace GraphQL definuje `Int` na velikost 32 bajtů. | +| `Int8` | Celé číslo se znaménkem o velikosti 8 bajtů, známé také jako 64bitové celé číslo se znaménkem, může uchovávat hodnoty v rozsahu od -9 223 372 036 854 775 808 do 9 223 372 036 854 775 807. Přednostně se používá k reprezentaci `i64` z ethereum. | +| `BigInt` | Velká celá čísla. Používá se pro typy `uint32`, `int64`, `uint64`, ..., `uint256` společnosti Ethereum. Poznámka: Vše pod `uint32`, jako například `int32`, `uint24` nebo `int8`, je reprezentováno jako `i32`. | +| `BigDecimal` | `BigDecimal` Desetinná čísla s vysokou přesností reprezentovaná jako signifikand a exponent. Rozsah exponentu je od -6143 do +6144. Zaokrouhleno na 34 významných číslic. | #### Enums @@ -398,11 +422,11 @@ Tento propracovanější způsob ukládání vztahů mnoho-více vede k menším #### Přidání komentářů do schématu -Podle specifikace GraphQL lze komentáře přidávat nad atributy entit schématu pomocí dvojitých uvozovek `""`. To je znázorněno v příkladu níže: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ Druhá obslužná rutina se pokusí načíst existující `Gravatar` z úložiš ### Doporučené IDa pro vytváření nových Entity -Každá entita musí mít `id`, které je jedinečné mezi všemi entitami stejného typu. Hodnota `id` entity je nastavena při jejím vytvoření. Níže jsou uvedeny některé doporučené hodnoty `id`, které je třeba vzít v úvahu při vytváření nových entit. POZNÁMKA: Hodnota `id` musí být `řetězec`. +Důrazně se doporučuje používat typ `Bajtes` pro pole `id` a typ `String` používat pouze pro atributy, které skutečně obsahují lidsky čitelný text, například název tokenu. Níže jsou uvedeny některé doporučené hodnoty `id`, které je třeba zvážit při vytváření nových entit. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- Pro entity, které ukládají agregovaná data, např. denní objemy obchodů, obvykle obsahuje `id` číslo dne, Zde je výhodné použít `Bytes` jako `id`. Určení `id` by vypadalo takto -Poskytujeme knihovnu [Graf Typescript Library](https://github.com/graphprotocol/graph-ts), která obsahuje nástroje pro interakci s úložištěm Graf Uzel a usnadnění pro práci s daty a entitami chytrých smluv. Tuto knihovnu můžete používat ve svých mapováních importem `@graphprotocol/graph-ts` v souboru `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Převod konstantních adres na `Bajty`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Zpracování entit se stejnými ID + +Pokud při vytváření a ukládání nové entity již existuje entita se stejným ID, jsou při slučování vždy upřednostněny vlastnosti nové entity. To znamená, že existující entita bude aktualizována hodnotami z nové entity. + +Pokud je pro pole v nové entitě se stejným ID záměrně nastavena nulová hodnota, bude stávající entita aktualizována s nulovou hodnotou. + +Pokud není pro pole v nové entitě se stejným ID nastavena žádná hodnota, bude pole rovněž nulové. ## Generování kódu @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Poznámka:** Po každé změně schématu jazyka GraphQL nebo ABI obsažených v manifestu je nutné provést generování kódu znovu. Musí být také provedeno alespoň jednou před sestavením nebo nasazením podgrafu. -Generování kódu nekontroluje váš mapovací kód v souboru `src/mapping.ts`. Pokud jej chcete zkontrolovat před pokusem o nasazení podgrafu do Graf Explorer, můžete spustit `yarn build` a opravit případné syntaktické chyby, které by kompilátor jazyka TypeScript mohl najít. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Šablony zdrojů dat @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Poznámka:** Nový zdroj dat bude zpracovávat pouze volání a události pro blok, ve kterém byl vytvořen, a všechny následující bloky, ale nebude zpracovávat historická data, tj. data obsažená v předchozích blocích. -> +> > Pokud předchozí bloky obsahují data relevantní pro nový zdroj dat, je nejlepší tato data indexovat načtením aktuálního stavu smlouvy a vytvořením entit reprezentujících tento stav v době vytvoření nového zdroje dat. ### Kontext zdroje dat @@ -716,11 +759,219 @@ dataSources: ``` > **Poznámka:** Blok pro vytvoření smlouvy lze rychle vyhledat v Etherscan: -> +> > 1. Vyhledejte smlouvu zadáním její adresy do vyhledávacího řádku. > 2. Klikněte na hash transakce vytvoření v sekci `Tvůrce smlouvy`. > 3. Načtěte stránku s podrobnostmi o transakci, kde najdete počáteční blok pro danou smlouvu. +## Tipy indexátor + +Nastavení `indexerHints` v manifestu podgrafu poskytuje směrnice pro indexátory ohledně zpracování a správy podgrafu. Ovlivňuje provozní rozhodnutí v oblasti manipulace s daty, strategií indexace a optimalizací. V současné době obsahuje možnost `prune` pro správu uchovávání nebo odstraňování historických dat. + +> This feature is available from `specVersion: 1.0.0` + +### Prořezávat + +`indexerHints.prune`: Definuje zachování historických blokových dat pro podgraf. Mezi možnosti patří: + +1. `"nikdy"`: Žádné ořezávání historických dat; zachovává celou historii. +2. `"auto"`: Zachovává minimální potřebnou historii nastavenou indexátorem, čímž optimalizuje výkon dotazu. +3. Konkrétní číslo: Nastaví vlastní limit počtu historických bloků, které se mají zachovat. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Použití `"auto"` se obecně doporučuje, protože maximalizuje výkon dotazu a je dostačující pro většinu uživatelů, kteří nevyžadují přístup k rozsáhlým historickým datům. + +U podgrafů využívajících [dotazy na cestování v čase](/querying/graphql-api/#time-travel-queries) je vhodné buď nastavit určitý počet bloků pro uchovávání historických dat, nebo použít `prune: never` pro uchování všech historických stavů entit. Níže jsou uvedeny příklady, jak obě možnosti nakonfigurovat v nastavení podgrafu: + +Uchování určitého množství historických dat: + +``` + indexerHints: + prune: 1000 # Nahraďte 1000 požadovaným počtem bloků, které chcete zachovat +``` + +Zachování kompletní historie entitních států: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Zpracovatelé hovorů Události sice představují účinný způsob, jak shromažďovat relevantní změny stavu smlouvy, ale mnoho smluv se vyhýbá generování protokolů, aby se optimalizovaly náklady na plyn. V těchto případech se dílčí graf může přihlásit k odběru volání provedených na smlouvu se zdrojem dat. Toho lze dosáhnout definováním obsluhy volání odkazující na signaturu funkce a obsluhu mapování, která bude zpracovávat volání této funkce. Pro zpracování těchto volání obdrží mapovací obsluha jako argument `ethereum.Call` s typizovanými vstupy do volání a výstupy z volání. Volání uskutečněná v libovolné hloubce řetězce volání transakce spustí mapování, což umožní zachytit aktivitu se smlouvou zdroje dat prostřednictvím proxy smluv. @@ -904,16 +1155,16 @@ Uvnitř obslužné funkce je příjem přístupný v poli `Event.receipt`. Pokud ## Experimentální funkce -Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: +Počínaje `specVersion` `0.0.4` musí být funkce podgrafů explicitně deklarovány v sekci `features` na nejvyšší úrovni souboru manifestu s použitím jejich názvu `camelCase`, jak je uvedeno v následující tabulce: -| Feature | Name | -| --------------------------------------------------------- | --------------------------------------------------- | -| [Nefatální](#non-fatal-errors) | `nonFatalErrors` | -| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Roubování](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS on Ethereum Contracts](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| Vlastnosti | Název | +| ----------------------------------------------------------- | --------------------------------------------------- | +| [Nefatální](#non-fatal-errors) | `nonFatalErrors` | +| [Fulltextové vyhledávání](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Štěpování](#grafting-onto-existing-subgraphs) | `štěpování` | +| [IPFS na smlouvách Ethereum](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | -For instance, if a subgraph uses the **Full-Text Search** and the **Non-fatal Errors** features, the `features` field in the manifest should be: +Pokud například dílčí graf používá funkce **Plnotextové vyhledávání** a **Nefatální chyby**, pole ` Vlastnosti ` v manifestu by mělo být: ```yaml specVersion: 0.0.4 @@ -924,27 +1175,27 @@ features: dataSources: ... ``` -Note that using a feature without declaring it will incur a **validation error** during subgraph deployment, but no errors will occur if a feature is declared but not used. +Všimněte si, že použití funkce bez její deklarace způsobí při nasazení podgraf chybu **validace**, ale pokud je funkce deklarována, ale není použita, k žádné chybě nedojde. -### IPFS on Ethereum Contracts +### IPFS na smlouvách Ethereum -A common use case for combining IPFS with Ethereum is to store data on IPFS that would be too expensive to maintain on-chain, and reference the IPFS hash in Ethereum contracts. +Běžným případem použití kombinace IPFS a Ethereum je ukládání dat na IPFS, jejichž údržba v řetězci by byla příliš nákladná, a odkazování na hash IPFS v kontrakty Ethereum. -Given such IPFS hashes, subgraphs can read the corresponding files from IPFS using `ipfs.cat` and `ipfs.map`. To do this reliably, it is required that these files are pinned to an IPFS node with high availability, so that the [hosted service](https://thegraph.com/hosted-service) IPFS node can find them during indexing. +Vzhledem k těmto hashům IPFS mohou dílčí grafy číst odpovídající soubory ze IPFS pomocí `ipfs.cat` a `ipfs.map`. Aby to bylo možné spolehlivě provést, je nutné, aby tyto soubory byly připnuty k uzlu IPFS s vysokou dostupností, aby je uzel [hostované služby](https://thegraph.com/hosted-service) IPFS mohl při indexování najít. -> **Note:** The Graph Network does not yet support `ipfs.cat` and `ipfs.map`, and developers should not deploy subgraphs using that functionality to the network via the Studio. +> **Poznámka:** Síť grafů zatím nepodporuje `ipfs.cat` a `ipfs.map` a vývojáři by neměli do sítě nasazovat podgrafy využívající tyto funkce prostřednictvím Studio. -> **[Feature Management](#experimental-features):** `ipfsOnEthereumContracts` must be declared under `features` in the subgraph manifest. For non EVM chains, the `nonDeterministicIpfs` alias can also be used for the same purpose. +> **[Správa funkcí](#experimental-features):** `ipfsOnEthereumContracts` musí být deklarováno v podgraf manifestu pod `funkcemi`. Pro řetězce, které nejsou EVM, lze ke stejnému účelu použít také alias `nonDeterministicIpfs`. -When running a local Graph Node, the `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` environment variable must be set in order to index subgraphs using this experimental functionality. +Při spuštění místního uzlu Graf Uzel musí být nastavena proměnná prostředí `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS`, aby bylo možné indexovat podgrafy pomocí této í funkce. ### Nefatální -Indexing errors on already synced subgraphs will, by default, cause the subgraph to fail and stop syncing. Subgraphs can alternatively be configured to continue syncing in the presence of errors, by ignoring the changes made by the handler which provoked the error. This gives subgraph authors time to correct their subgraphs while queries continue to be served against the latest block, though the results might be inconsistent due to the bug that caused the error. Note that some errors are still always fatal. To be non-fatal, the error must be known to be deterministic. +Chyby indexování v již synchronizovaných podgrafech ve výchozím nastavení způsobí selhání podgrafy a zastavení synchronizace. Podgrafy lze alternativně nakonfigurovat tak, aby pokračovaly v synchronizaci i při přítomnosti chyb, a to ignorováním změn provedených obslužnou rutinou, která chybu vyvolala. To dává autorům podgrafů čas na opravu jejich podgrafů, zatímco dotazy jsou nadále obsluhovány proti poslednímu bloku, ačkoli výsledky mohou být nekonzistentní kvůli chybě, která chybu způsobila. Všimněte si, že některé chyby jsou stále fatální. Aby chyba nebyla fatální, musí být známo, že je deterministická. -> **Note:** The Graph Network does not yet support non-fatal errors, and developers should not deploy subgraphs using that functionality to the network via the Studio. +> **Poznámka:** Síť grafů zatím nepodporuje nefatální chyby a vývojáři by neměli do sítě nasazovat podgrafy využívající tuto funkci prostřednictvím Studio. -Enabling non-fatal errors requires setting the following feature flag on the subgraph manifest: +Povolení nefatálních chyb vyžaduje nastavení následujícího příznaku funkce v manifestu podgraf: ```yaml specVersion: 0.0.4 @@ -954,7 +1205,7 @@ features: ... ``` -The query must also opt-in to querying data with potential inconsistencies through the `subgraphError` argument. It is also recommended to query `_meta` to check if the subgraph has skipped over errors, as in the example: +Dotaz se také musí přihlásit k dotazování na data s potenciálními nekonzistencemi prostřednictvím argumentu `subgraphError`. Doporučuje se také dotazovat se pomocí `_meta`, aby bylo možné zkontrolovat, zda podgraf nepřeskočil chyby, jako v příkladu: ```graphql foos(first: 100, subgraphError: allow) { @@ -966,7 +1217,7 @@ _meta { } ``` -If the subgraph encounters an error, that query will return both the data and a graphql error with the message `"indexing_error"`, as in this example response: +Pokud podgraf narazí na chybu, vrátí tento dotaz jak data, tak chybu graphql se zprávou `"indexing_error"`, jako v tomto příkladu odpovědi: ```graphql "data": { @@ -986,13 +1237,13 @@ If the subgraph encounters an error, that query will return both the data and a ] ``` -### Grafting onto Existing Subgraphs +### Roubování na existující podgrafy -> **Note:** it is not recommended to use grafting when initially upgrading to The Graph Network. Learn more [here](/cookbook/grafting/#important-note-on-grafting-when-upgrading-to-the-network). +> **Poznámka:** při počátečním upgrade na Síť graf se nedoporučuje používat roubování. Více informací se dozvíte [zde](/cookbook/grafting/#important-note-on-grafting-when-upgrading-to-the-network). -When a subgraph is first deployed, it starts indexing events at the genesis block of the corresponding chain (or at the `startBlock` defined with each data source) In some circumstances; it is beneficial to reuse the data from an existing subgraph and start indexing at a much later block. This mode of indexing is called _Grafting_. Grafting is, for example, useful during development to get past simple errors in the mappings quickly or to temporarily get an existing subgraph working again after it has failed. +Při prvním nasazení podgrafu se události začnou indexovat v bloku geneze příslušného řetězce (nebo v bloku `startBlock` definovaném u každého zdroje dat). Za určitých okolností je výhodné znovu použít data z existujícího podgrafu a začít indexovat v mnohem pozdějším bloku. Tento způsob indexování se nazývá _roubování_. roubování je užitečné například během vývoje, abyste se rychle dostali přes jednoduché chyby v mapování nebo abyste dočasně znovu zprovoznili existující podgraf poté, co selhal. -A subgraph is grafted onto a base subgraph when the subgraph manifest in `subgraph.yaml` contains a `graft` block at the top-level: +Podgraf je naroubován na základní podgraf, pokud manifest podgrafu v souboru `subgraph.yaml` obsahuje blok `graft` na nejvyšší úrovni: ```yaml description: ... @@ -1001,49 +1252,49 @@ graft: block: 7345624 # Block number ``` -When a subgraph whose manifest contains a `graft` block is deployed, Graph Node will copy the data of the `base` subgraph up to and including the given `block` and then continue indexing the new subgraph from that block on. The base subgraph must exist on the target Graph Node instance and must have indexed up to at least the given block. Because of this restriction, grafting should only be used during development or during an emergency to speed up producing an equivalent non-grafted subgraph. +Když je nasazen podgraf, jehož manifest obsahuje blok `graft`, Graf Uzel zkopíruje data `základního` podgrafu až do daného `bloku` včetně a poté pokračujte v indexování nového podgrafu od tohoto bloku dále. Základní podgraf musí existovat v cílové instanci Graph Node a musí být indexován alespoň do daného bloku. Kvůli tomuto omezení by se roubování mělo používat pouze během vývoje nebo během nouzového stavu, aby se urychlila tvorba ekvivalentního neroubovaného podgrafu. -Because grafting copies rather than indexes base data, it is much quicker to get the subgraph to the desired block than indexing from scratch, though the initial data copy can still take several hours for very large subgraphs. While the grafted subgraph is being initialized, the Graph Node will log information about the entity types that have already been copied. +Protože se při roubování základní data spíše kopírují než indexují, je mnohem rychlejší dostat podgraf do požadovaného bloku než při indexování od nuly, i když počáteční kopírování dat může u velmi velkých podgrafů trvat i několik hodin. Během inicializace roubovaného podgrafu bude uzel Graf Uzel zaznamenávat informace o typů entit, které již byly zkopírovány. -The grafted subgraph can use a GraphQL schema that is not identical to the one of the base subgraph, but merely compatible with it. It has to be a valid subgraph schema in its own right, but may deviate from the base subgraph's schema in the following ways: +Roubované podgraf může používat schéma GraphQL, které není totožné se schématem základního podgrafu, ale je s ním pouze kompatibilní. Musí to být platné schéma podgrafu jako takové, ale může se od schématu základního podgrafu odchýlit následujícími způsoby: -- It adds or removes entity types -- It removes attributes from entity types -- It adds nullable attributes to entity types -- It turns non-nullable attributes into nullable attributes -- It adds values to enums -- It adds or removes interfaces -- It changes for which entity types an interface is implemented +- Přidává nebo odebírá typy entit +- Odstraňuje atributy z typů entit +- Přidává nulovatelné atributy k typům entit +- Mění nenulovatelné atributy na nulovatelné atributy +- Přidává hodnoty de enums +- Přidává nebo odebírá rozhraní +- Mění se, pro které typy entit je rozhraní implementováno -> **[Feature Management](#experimental-features):** `grafting` must be declared under `features` in the subgraph manifest. +> **[Feature Management](#experimental-features):** `grafting` musí být deklarováno v `features` v manifestu podgrafů. -## File Data Sources +## Zdroje dat souborů -File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. +Zdroje dat souborů jsou novou funkcí podgrafu pro přístup k datům mimo řetězec během indexování robustním a rozšiřitelným způsobem. Zdroje souborových dat podporují načítání souborů ze systému IPFS a z Arweave. -> This also lays the groundwork for deterministic indexing of off-chain data, as well as the potential introduction of arbitrary HTTP-sourced data. +> To také vytváří základ pro deterministické indexování dat mimo řetězec a potenciální zavedení libovolných dat ze zdrojů HTTP. ### Přehled -Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. +Namísto načítání souborů "in line" během provádění obslužných rutin se zavádějí šablony, které lze spouštět jako nové zdroje dat pro daný identifikátor souboru. Tyto nové zdroje dat načítají soubory a v případě neúspěchu se pokoušejí o opětovné načtení a po nalezení souboru spustí vyhrazenou obslužnou rutinu. -This is similar to the [existing data source templates](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. -> This replaces the existing `ipfs.cat` API +> Nahrazuje stávající API `ipfs.cat` -### Upgrade guide +### Průvodce upgradem -#### Update `graph-ts` and `graph-cli` +#### Aktualizace `graph-ts` a `graph-cli` -File data sources requires graph-ts >=0.29.0 and graph-cli >=0.33.1 +Souborové zdroje dat vyžadují graph-ts >=0.29.0 a graph-cli >=0.33.1 -#### Add a new entity type which will be updated when files are found +#### Přidání nového typu entity, který bude aktualizován při nalezení souborů -File data sources cannot access or update chain-based entities, but must update file specific entities. +Zdroje dat souborů nemohou přistupovat k entitám založeným na řetězci ani je aktualizovat, ale musí aktualizovat entity specifické pro soubor. -This may mean splitting out fields from existing entities into separate entities, linked together. +To může znamenat rozdělení polí ze stávajících entit do samostatných entit, které budou vzájemně propojeny. -Original combined entity: +Původní kombinovaný entita: ```graphql type Token @entity { @@ -1061,7 +1312,7 @@ type Token @entity { } ``` -New, split entity: +Nové, rozdělená entit: ```graphql type Token @entity { @@ -1082,13 +1333,13 @@ type TokenMetadata @entity { } ``` -If the relationship is 1:1 between the parent entity and the resulting file data source entity, the simplest pattern is to link the parent entity to a resulting file entity by using the IPFS CID as the lookup. Get in touch on Discord if you are having difficulty modelling your new file-based entities! +Pokud je vztah mezi nadřazenou entitou a entitou výsledného zdroje dat souboru 1:1, je nejjednodušším vzorem propojení nadřazené entity s entitou výsledného souboru pomocí CID IPFS jako vyhledávacího prvku. Pokud máte potíže s modelováním nových entit založených na souborech, ozvěte se na Discord! -> You can use [nested filters](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. -#### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` +#### Přidání nového šablony zdroje dat s `druhem: file/ipfs` nebo `druhem: file/arweave` -This is the data source which will be spawned when a file of interest is identified. +Jedná se o zdroj dat, který bude vytvořen při identifikaci souboru zájmu. ```yaml templates: @@ -1106,21 +1357,21 @@ templates: file: ./abis/Token.json ``` -> Currently `abis` are required, though it is not possible to call contracts from within file data sources +> V současné době jsou vyžadovány `abis`, ačkoli není možné volat smlouvy ze zdrojů dat souborů -The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#Limitations) for more details. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. -#### Create a new handler to process files +#### Vytvoření nové obslužné pro zpracování souborů -This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). -The CID of the file as a readable string can be accessed via the `dataSource` as follows: +CID souboru jako čitelný řetězec lze získat prostřednictvím `dataSource` následujícím způsobem: ```typescript const cid = dataSource.stringParam() ``` -Example handler: +Příklad ```typescript import { json, Bytes, dataSource } from '@graphprotocol/graph-ts' @@ -1147,16 +1398,16 @@ export function handleMetadata(content: Bytes): void { } ``` -#### Spawn file data sources when required +#### Spawn zdrojů dat souborů v případě potřeby -You can now create file data sources during execution of chain-based handlers: +Nyní můžete vytvářet zdroje dat souborů během provádění obslužných založených na řetězci: -- Import the template from the auto-generated `templates` -- call `TemplateName.create(cid: string)` from within a mapping, where the cid is a valid content identifier for IPFS or Arweave +- Import šablony z automaticky generovaných `šablon` +- volání `TemplateName.create(cid: string)` z mapování, kde cid je platný identifikátor obsahu pro IPFS nebo Arweave -For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). +Pro systém IPFS podporuje Graf Uzel identifikátory obsahu [v0 a v1](https://docs.ipfs.tech/concepts/content-addressing/) a identifikátory obsahu s adresáři (např. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Příklad: @@ -1187,50 +1438,112 @@ export function handleTransfer(event: TransferEvent): void { } ``` -This will create a new file data source, which will poll Graph Node's configured IPFS or Arweave endpoint, retrying if it is not found. When the file is found, the file data source handler will be executed. +Tím se vytvoří nový zdroj dat souborů, který bude dotazovat nakonfigurovaný koncový bod IPFS nebo Arweave grafického uzlu a v případě nenalezení se pokusí o opakování. Když je soubor nalezen, spustí se obslužná zdroje dat souboru. -This example is using the CID as the lookup between the parent `Token` entity and the resulting `TokenMetadata` entity. +Tento příklad používá CID jako vyhledávání mezi nadřazenou entitou `Token` a výslednou entitou `TokenMetadata`. -> Previously, this is the point at which a subgraph developer would have called `ipfs.cat(CID)` to fetch the file +> Dříve by vývojář podgrafu zavolal `ipfs.cat(CID)` a načetl by soubor -Congratulations, you are using file data sources! +Gratulujeme, používáte souborové zdroje dat! -#### Deploying your subgraphs +#### Nasazení podgrafů -You can now `build` and `deploy` your subgraph to any Graph Node >=v0.30.0-rc.0. +Nyní můžete `sestavit` a `rozšířit` svůj podgraf do libovolného uzlu Graf >=v0.30.0-rc.0. -#### Limitations +#### Omezení -File data source handlers and entities are isolated from other subgraph entities, ensuring that they are deterministic when executed, and ensuring no contamination of chain-based data sources. To be specific: +Zpracovatelé a entity zdrojů dat souborů jsou izolovány od ostatních entit podgrafů, což zajišťuje, že jsou při provádění deterministické a nedochází ke kontaminaci zdrojů dat založených na řetězci. Přesněji řečeno: -- Entities created by File Data Sources are immutable, and cannot be updated -- File Data Source handlers cannot access entities from other file data sources -- Entities associated with File Data Sources cannot be accessed by chain-based handlers +- Entity vytvořené souborovými zdroji dat jsou neměnné a nelze je aktualizovat +- Obsluhy zdrojů dat souborů nemohou přistupovat k entita z jiných zdrojů dat souborů +- K entita přidruženým k datovým zdrojům souborů nelze přistupovat pomocí zpracovatelů založených na řetězci -> While this constraint should not be problematic for most use-cases, it may introduce complexity for some. Please get in touch via Discord if you are having issues modelling your file-based data in a subgraph! +> Ačkoli by toto omezení nemělo být pro většinu případů použití problematické, pro některé může představovat složitost. Pokud máte problémy s modelováním dat založených na souborech v podgrafu, kontaktujte nás prosím prostřednictvím služby Discord! -Additionally, it is not possible to create data sources from a file data source, be it an onchain data source or another file data source. This restriction may be lifted in the future. +Kromě toho není možné vytvářet zdroje dat ze zdroje dat souborů, ať už se jedná o zdroj dat v řetězci nebo jiný zdroj dat souborů. Toto omezení může být v budoucnu zrušeno. -#### Best practices +#### Osvědčené postupy -If you are linking NFT metadata to corresponding tokens, use the metadata's IPFS hash to reference a Metadata entity from the Token entity. Save the Metadata entity using the IPFS hash as an ID. +Pokud propojovat metadata NFT s odpovídajícími tokeny, použijte hash IPFS metadat k odkazu na entita Metadata z entity Token. Uložte entitu Metadata s použitím hashe IPFS jako ID. -You can use [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. -If you have entities which are refreshed multiple times, create unique file-based entities using the IPFS hash & the entity ID, and reference them using a derived field in the chain-based entity. +Pokud máte entity, které se obnovují vícekrát, vytvořte jedinečné entity založené na souborech pomocí hash & IPFS; ID entity a odkazujte na ně pomocí odvozeného pole v entitě založené na řetězci. -> We are working to improve the above recommendation, so queries only return the "most recent" version +> Pracujeme na zlepšení výše uvedeného doporučení, aby dotazy vracely pouze "nejnovější" verzi -#### Known issues +#### Známé problémy -File data sources currently require ABIs, even though ABIs are not used ([issue](https://github.com/graphprotocol/graph-cli/issues/961)). Workaround is to add any ABI. +Souborové zdroje dat v současné době vyžadují ABI, i když se ABI nepoužívá ([problém](https://github.com/graphprotocol/graph-cli/issues/961)). Řešením je přidání libovolného ABI. -Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)). Workaround is to create file data source handlers in a dedicated file. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. -#### Examples +#### Příklady -[Crypto Coven Subgraph migration](https://github.com/azf20/cryptocoven-api/tree/file-data-sources-refactor) +[Migrace podgrafů Crypto Coven](https://github.com/azf20/cryptocoven-api/tree/file-data-sources-refactor) #### Odkazy: -[GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) +[Zdroje dat souborů GIP](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Přehled + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From bdfb1108f69c2ea75342df58122d4175f3561699 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:18 -0400 Subject: [PATCH 0294/2326] New translations creating-a-subgraph.mdx (German) --- .../de/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/de/developing/creating-a-subgraph.mdx b/website/pages/de/developing/creating-a-subgraph.mdx index 721920020b13..6817e1a38b3a 100644 --- a/website/pages/de/developing/creating-a-subgraph.mdx +++ b/website/pages/de/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ The subgraph definition consists of a few files: - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) code that translates from the event data to the entities defined in your schema (e.g. `mapping.ts` in this tutorial) -> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-cli) which you will need to build and deploy a subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Install the Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph on the Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## From An Existing Contract @@ -61,7 +61,7 @@ The second mode `graph init` supports is creating a new project from an example graph init --studio ``` -The example subgraph is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Add New dataSources To An Existing Subgraph @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: The important entries to update for the manifest are: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed by The Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: a list of all used [feature](#experimental-features) names. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: the address of the smart contract the subgraph sources, and the ABI of the smart contract to use. The address is optional; omitting it allows to index matching events from all contracts. - `dataSources.source.startBlock`: the optional number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created. @@ -170,6 +176,8 @@ The important entries to update for the manifest are: A single subgraph can index data from multiple smart contracts. Add an entry for each contract from which data needs to be indexed to the `dataSources` array. +### Order of Triggering Handlers + The triggers for a data source within a block are ordered using the following process: 1. Event and call triggers are first ordered by transaction index within the block. @@ -178,6 +186,22 @@ The triggers for a data source within a block are ordered using the following pr These ordering rules are subject to change. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Version | Release notes | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Getting The ABIs The ABI file(s) must match your contract(s). There are a few ways to obtain ABI files: @@ -248,15 +272,15 @@ For some entity types the `id` is constructed from the id's of two other entitie We support the following scalars in our GraphQL API: -| Type | Description | -| --- | --- | -| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | -| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | -| `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | -| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| Type | Description | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | +| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | +| `Boolean` | Scalar for `boolean` values. | +| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | +| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | #### Enums @@ -398,11 +422,11 @@ This more elaborate way of storing many-to-many relationships will result in les #### Adding comments to the schema -As per GraphQL spec, comments can be added above schema entity attributes using double quotations `""`. This is illustrated in the example below: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ The second handler tries to load the existing `Gravatar` from the Graph Node sto ### Recommended IDs for Creating New Entities -Every entity has to have an `id` that is unique among all entities of the same type. An entity's `id` value is set when the entity is created. Below are some recommended `id` values to consider when creating new entities. NOTE: The value of `id` must be a `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Code Generation @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Note:** The code generation must be performed again after every change to the GraphQL schema or the ABIs included in the manifest. It must also be performed at least once before building or deploying the subgraph. -Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to the Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Data Source Templates @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Note:** A new data source will only process the calls and events for the block in which it was created and all following blocks, but will not process historical data, i.e., data that is contained in prior blocks. -> +> > If prior blocks contain data relevant to the new data source, it is best to index that data by reading the current state of the contract and creating entities representing that state at the time the new data source is created. ### Data Source Context @@ -716,11 +759,219 @@ dataSources: ``` > **Note:** The contract creation block can be quickly looked up on Etherscan: -> +> > 1. Search for the contract by entering its address in the search bar. > 2. Click on the creation transaction hash in the `Contract Creator` section. > 3. Load the transaction details page where you'll find the start block for that contract. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1027,7 +1278,7 @@ File data sources are a new subgraph functionality for accessing off-chain data Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. -This is similar to the [existing data source templates](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > This replaces the existing `ipfs.cat` API @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { If the relationship is 1:1 between the parent entity and the resulting file data source entity, the simplest pattern is to link the parent entity to a resulting file entity by using the IPFS CID as the lookup. Get in touch on Discord if you are having difficulty modelling your new file-based entities! -> You can use [nested filters](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Currently `abis` are required, though it is not possible to call contracts from within file data sources -The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#Limitations) for more details. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Create a new handler to process files -This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). The CID of the file as a readable string can be accessed via the `dataSource` as follows: @@ -1156,7 +1407,7 @@ You can now create file data sources during execution of chain-based handlers: For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Example: @@ -1215,7 +1466,7 @@ Additionally, it is not possible to create data sources from a file data source, If you are linking NFT metadata to corresponding tokens, use the metadata's IPFS hash to reference a Metadata entity from the Token entity. Save the Metadata entity using the IPFS hash as an ID. -You can use [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. If you have entities which are refreshed multiple times, create unique file-based entities using the IPFS hash & the entity ID, and reference them using a derived field in the chain-based entity. @@ -1225,7 +1476,7 @@ If you have entities which are refreshed multiple times, create unique file-base File data sources currently require ABIs, even though ABIs are not used ([issue](https://github.com/graphprotocol/graph-cli/issues/961)). Workaround is to add any ABI. -Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)). Workaround is to create file data source handlers in a dedicated file. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Beispiele @@ -1234,3 +1485,65 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Overview + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From ae6d94685c7bbd679ebc50b12d53fe1758b43034 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:19 -0400 Subject: [PATCH 0295/2326] New translations creating-a-subgraph.mdx (Italian) --- .../it/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/it/developing/creating-a-subgraph.mdx b/website/pages/it/developing/creating-a-subgraph.mdx index f9e351698857..b053838b4715 100644 --- a/website/pages/it/developing/creating-a-subgraph.mdx +++ b/website/pages/it/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ La definizione del subgraph consiste in alcuni file: - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) codice che traduce i dati dell'evento nelle entità definite nello schema (ad esempio `mapping.ts` in questo tutorial) -> Per poter utilizzare il proprio subgraph sulla rete decentralizzata di The Graph, è necessario [creare una chiave API](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). Si consiglia di [aggiungere il segnale](/network/curating/#how-to-signal) al subgraph con almeno [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Prima di entrare nel dettaglio dei contenuti del file manifest, è necessario installare la [Graph CLI](https://github.com/graphprotocol/graph-cli), che servirà per costruire e distribuire un subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Installare the Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Una volta installato, il comando `graph init` può essere usato per impostare un nuovo progetto di subgraph, sia da un contratto esistente che da un subgraph di esempio. Questo comando può essere usato per creare un subgraph nel Subgraph Studio passando `graph init --product subgraph-studio`. Se si dispone già di uno smart contract distribuito sulla rete preferita, l'avvio di un nuovo subgraph da quel contratto può essere un buon modo per iniziare. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## Da un contratto esistente @@ -61,7 +61,7 @@ La seconda modalità supportata da `graph init` è la creazione di un nuovo prog graph init --studio ``` -Il subgraph di esempio è basato sul contratto Gravity di Dani Grant, che gestisce gli avatar degli utenti ed emette gli eventi `NewGravatar` oppure `UpdateGravatar` ogni volta che gli avatar vengono creati o aggiornati. Il subgraph gestisce questi eventi scrivendo `Gravatar` entities nel Graph Node store e assicurandosi che questi vengano aggiornati in base agli eventi. Le sezioni seguenti analizzeranno i file che compongono il manifesto del subgraph per questo esempio. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Aggiungere nuove data sources a un subgraph esistente @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: Le voci importanti da aggiornare per il manifesto sono: -- `description`: una descrizione leggibile dell'aspetto del subgraph. Questa descrizione viene visualizzata da Graph Explorer quando il subgraph viene distribuito al hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: l'URL del repository in cui è possibile trovare il manifesto del subgraph. Questo viene visualizzato anche da Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: un elenco di tutti i nomi delle [caratteristiche](#experimental-features) utilizzati. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: l'indirizzo dello smart contract di cui il subgraph è fonte e l'ABI dello smart contract da utilizzare. L'indirizzo è facoltativo; omettendolo, si possono indicizzare gli eventi corrispondenti di tutti i contratti. - `dataSources.source.startBlock`: il numero opzionale del blocco da cui l'origine dati inizia l'indicizzazione. Nella maggior parte dei casi, si consiglia di utilizzare il blocco in cui è stato creato il contratto. @@ -170,6 +176,8 @@ Le voci importanti da aggiornare per il manifesto sono: Un singolo subgraph può indicizzare i dati di più smart contract. Aggiungere all'array `dataSources` una voce per ogni contratto da cui devono essere indicizzati i dati. +### Order of Triggering Handlers + I trigger per una data source all'interno di un blocco sono ordinati secondo il seguente processo: 1. I trigger di eventi e chiamate sono ordinati prima per indice di transazione all'interno del blocco. @@ -178,6 +186,22 @@ I trigger per una data source all'interno di un blocco sono ordinati secondo il Queste regole di ordinazione sono soggette a modifiche. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Version | Release notes | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Ottenere gli ABI I file ABI devono corrispondere al vostro contratto. Esistono diversi modi per ottenere i file ABI: @@ -248,15 +272,15 @@ Per alcuni tipi di entità, l'`id` è costruito a partire dagli id di altre due Nella nostra API GraphQL supportiamo i seguenti scalari: -| Tipo | Descrizione | -| --- | --- | -| `Bytes` | Byte array, rappresentato come una stringa esadecimale. Comunemente utilizzato per gli hash e gli indirizzi di Ethereum. | -| `String` | Scalare per valori `string`. I caratteri nulli non sono supportati e vengono rimossi automaticamente. | -| `Boolean` | Scalare per valori `boolean`. | -| `Int` | Le specifiche di GraphQL definiscono che `Int` ha una dimensione di 32 byte. | -| `Int8` | Un intero firmato a 8 byte, noto anche come intero firmato a 64 bit, può memorizzare valori nell'intervallo da -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. È preferibile utilizzare questo per rappresentare `i64` da ethereum. | -| `BigInt` | Numeri interi grandi. Utilizzati per i tipi `uint32`, `int64`, `uint64`, ..., `uint256` di Ethereum. Nota: Tutto ciò che è inferiore a `uint32` come `int32`, `uint24` oppure `int8` è rappresentato come `i32`. | -| `BigDecimal` | `BigDecimal` Decimali ad alta precisione rappresentati come un significante e un esponente. L'intervallo degli esponenti va da -6143 a +6144. Arrotondato a 34 cifre significative. | +| Tipo | Descrizione | +| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Byte array, rappresentato come una stringa esadecimale. Comunemente utilizzato per gli hash e gli indirizzi di Ethereum. | +| `String` | Scalare per valori `string`. I caratteri nulli non sono supportati e vengono rimossi automaticamente. | +| `Boolean` | Scalare per valori `boolean`. | +| `Int` | Le specifiche di GraphQL definiscono che `Int` ha una dimensione di 32 byte. | +| `Int8` | Un intero firmato a 8 byte, noto anche come intero firmato a 64 bit, può memorizzare valori nell'intervallo da -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. È preferibile utilizzare questo per rappresentare `i64` da ethereum. | +| `BigInt` | Numeri interi grandi. Utilizzati per i tipi `uint32`, `int64`, `uint64`, ..., `uint256` di Ethereum. Nota: Tutto ciò che è inferiore a `uint32` come `int32`, `uint24` oppure `int8` è rappresentato come `i32`. | +| `BigDecimal` | `BigDecimal` Decimali ad alta precisione rappresentati come un significante e un esponente. L'intervallo degli esponenti va da -6143 a +6144. Arrotondato a 34 cifre significative. | #### Enum @@ -398,11 +422,11 @@ Questo modo più elaborato di memorizzare le relazioni molti-a-molti si traduce #### Aggiungere commenti allo schema -Secondo le specifiche GraphQL, i commenti possono essere aggiunti sopra gli attributi delle entità dello schema usando le doppie virgolette `""`. Questo è illustrato nell'esempio seguente: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ Il secondo gestore cerca di caricare il `Gravatar` esistente dal negozio dei Gra ### ID consigliati per la creazione di nuove entità -Ogni entità deve avere un `id` che sia unico tra tutte le entità dello stesso tipo. Il valore `id` di un'entità viene impostato quando l'entità viene creata. Di seguito sono riportati alcuni valori `id` consigliati da considerare quando si creano nuove entità. NOTA: Il valore di `id` deve essere una `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Generazione del codice @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Nota:** La generazione del codice deve essere eseguita nuovamente dopo ogni modifica allo schema GraphQL o alle ABI incluse nel manifesto. Inoltre, deve essere eseguita almeno una volta prima di costruire o distribuire il subgraph. -La generazione del codice non controlla il codice di mappatura in `src/mapping.ts`. Se si vuole controllare prima di provare a distribuire il subgraph in Graph Explorer, si può eseguire `yarn build` e correggere eventuali errori di sintassi che il compilatore TypeScript potrebbe trovare. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Modelli di Data Source @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Nota:** Una nuova data source elaborerà solo le chiamate e gli eventi del blocco in cui è stata creata e di tutti i blocchi successivi, ma non elaborerà i dati storici, cioè quelli contenuti nei blocchi precedenti. -> +> > Se i blocchi precedenti contengono dati rilevanti per la nuova data source, è meglio indicizzare tali dati leggendo lo stato attuale del contratto e creando entità che rappresentino tale stato al momento della creazione della nuova data source. ### Contesto del Data Source @@ -716,11 +759,219 @@ dataSources: ``` > **Nota:** Il blocco di creazione del contratto può essere rapidamente consultato su Etherscan: -> +> > 1. Cercare il contratto inserendo l'indirizzo nella barra di ricerca. > 2. Fare clic sull'hash della transazione di creazione nella sezione `Contract Creator`. > 3. Caricare la pagina dei dettagli della transazione, dove si trova il blocco iniziale per quel contratto. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Gestori di chiamate Sebbene gli eventi rappresentino un modo efficace per raccogliere le modifiche rilevanti allo stato di un contratto, molti contratti evitano di generare log per ottimizzare i costi del gas. In questi casi, un subgraph può sottoscrivere le chiamate fatte al contratto dell'origine dati. Ciò si ottiene definendo gestori di chiamate che fanno riferimento alla firma della funzione e al gestore di mappatura che elaborerà le chiamate a questa funzione. Per elaborare queste chiamate, il gestore della mappatura riceverà un `ethereum.Call` come argomento con gli input e gli output digitati della chiamata. Le chiamate effettuate a qualsiasi profondità nella chain di chiamate di una transazione attiveranno la mappatura, consentendo di catturare l'attività con il contratto della data source attraverso i contratti proxy. @@ -1027,7 +1278,7 @@ I data source file sono una nuova funzionalità del subgraph per accedere ai dat Invece di recuperare i file "in linea" durante l'esecuzione del gestore, si introducono modelli che possono essere generati come nuove data source per un determinato identificatore di file. Queste nuove data source recuperano i file, ritentando se non hanno successo ed eseguendo un gestore dedicato quando il file viene trovato. -È simile ai [modelli di origine dati esistenti](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), che vengono usati per creare dinamicamente nuove origini dati basate su chain. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > Questo sostituisce l'API esistente `ipfs.cat` @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { Se la relazione è 1:1 tra l'entità genitore e l'entità data source file risultante, il modello più semplice è quello di collegare l'entità genitore a un'entità file risultante utilizzando il CID IPFS come lookup. Contattateci su Discord se avete difficoltà a modellare le vostre nuove entità basate su file! -> È possibile utilizzare [filtri annidati](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) per filtrare le entità genitore sulla base di queste entità annidate. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Aggiungere una nuova data source templata con `kind: file/ipfs` oppure `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Attualmente sono richiesti `abis`, anche se non è possibile richiamare i contratti dall'interno del data source file -Il data source file deve indicare specificamente tutti i tipi di entità con cui interagirà tra le `entità`. Vedere [limitazioni](#Limitations) per maggiori dettagli. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Creare un nuovo gestore per elaborare i file -Questo gestore deve accettare un parametro `Bytes`, che sarà il contenuto del file, una volta trovato, che potrà essere elaborato. Spesso si tratta di un file JSON, che può essere elaborato con gli helper `graph-ts` ([documentazione](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). Il CID del file, come stringa leggibile, è accessibile tramite `dataSource` come segue: @@ -1156,7 +1407,7 @@ export function handleMetadata(content: Bytes): void { Per IPFS, Graph Node supporta [identificatori di contenuto v0 e v1](https://docs.ipfs.tech/concepts/content-addressing/) e identificatori di contenuto con directory (ad esempio `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -Per Arweave, a partire dalla versione 0.33.0 Graph Node può recuperare i file memorizzati su Arweave in base al loro [ID di transazione](https://docs.arweave.org/developers/server/http-api#transactions) da un gateway Arweave ([file di esempio](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supporta le transazioni caricate tramite Bundlr e Graph Node può anche recuperare i file in base ai [manifesti Bundlr](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Esempio: @@ -1215,7 +1466,7 @@ Inoltre, non è possibile creare data source da una data source file, sia essa u Se si collegano i metadati NFT ai token corrispondenti, utilizzare l'hash IPFS dei metadati per fare riferimento a un'entità Metadata dall'entità Token. Salvare l'entità Metadata usando l'hash IPFS come ID. -È possibile utilizzare [contesto DataSource](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) quando si creano data source file per passare informazioni aggiuntive che saranno disponibili al gestore della data source file. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. Se si dispone di entità che vengono aggiornate più volte, creare entità univoche basate su file utilizzando l'hash IPFS & l'ID dell'entità e fare riferimento a queste entità utilizzando un campo derivato nell'entità basata sulla chain. @@ -1225,7 +1476,7 @@ Se si dispone di entità che vengono aggiornate più volte, creare entità univo I data source dei file attualmente richiedono le ABI, anche se le ABI non sono utilizzate ([problema](https://github.com/graphprotocol/graph-cli/issues/961)). La soluzione è aggiungere qualsiasi ABI. -I gestori per i Data Source file non possono trovarsi in file che importano i binding dei contratti `eth_call`, fallendo con "importazione sconosciuta: `ethereum::ethereum.call` non è stato definito" ([problema](https://github.com/graphprotocol/graph-cli/issues/4309)). La soluzione consiste nel creare gestori di data source in un file dedicato. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Esempi @@ -1234,3 +1485,65 @@ I gestori per i Data Source file non possono trovarsi in file che importano i bi #### Riferimenti [Data Sources del file GIP](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Panoramica + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From e62ece132833f05ef4a92382fb4dd4b4d505d769 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:21 -0400 Subject: [PATCH 0296/2326] New translations creating-a-subgraph.mdx (Japanese) --- .../ja/developing/creating-a-subgraph.mdx | 429 +++++++++++++++--- 1 file changed, 371 insertions(+), 58 deletions(-) diff --git a/website/pages/ja/developing/creating-a-subgraph.mdx b/website/pages/ja/developing/creating-a-subgraph.mdx index e21a11c9829c..7f10f958ae56 100644 --- a/website/pages/ja/developing/creating-a-subgraph.mdx +++ b/website/pages/ja/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ title: サブグラフの作成 - `AssemblyScript Mappings`: イベントデータをスキーマで定義されたエンティティに変換する[AssemblyScript](https://github.com/AssemblyScript/assemblyscript)コード (例: このチュートリアルでは`mapping.ts`) -> The Graphの分散型ネットワークでサブグラフを利用するためには、[API キーを作成する必要があります](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key)。[シグナルを追加](/network/curating/#how-to-signal)し、少なくとも[10,000 GRT](/network-transition-faq/#how-can-i ensure-that-my-subgraph-will-pick-up-by-indexer-on-the-graph-network) をサブグラフに追加すると良いでしょう。 +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -マニフェスト・ファイルの内容を詳しく説明する前に、サブグラフを構築してデプロイするために必要な [Graph CLI](https://github.com/graphprotocol/graph-cli)をインストールする必要があります。 +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Graph CLI のインストール @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -インストールが完了すると、`graph init` コマンドを使用して、既存のコントラクトまたはサンプル サブグラフから新しいサブグラフ プロジェクトをセットアップできます。このコマンドを使用して、`graph init --product subgraph-studio` を渡すことにより、Subgraph Studio でサブグラフを作成できます。優先ネットワークに既にスマート コントラクトをデプロイしている場合、そのコントラクトから新しいサブグラフをブートストラップすることは、開始するのに適した方法です。 +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## 既存のコントラクトから @@ -61,7 +61,7 @@ graph init \ graph init --studio ``` -例のサブグラフは、Dani Grant による Gravity コントラクトに基づいており、ユーザーのアバターを管理し、アバターが作成または更新されるたびに `NewGravatar` または`UpdateGravatar`イベントを発行します。このサブグラフは、`Gravatar`エンティティを Graph Node ストアに書き込み、イベントに応じてこれらが更新されるようにすることで、これらのイベントを処理します。以下では、この例のサブグラフのマニフェストを構成するファイルについて説明します。 +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## 既存のサブグラフに新しいデータソースを追加する @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: マニフェストを更新する重要な項目は以下の通りです: -- `description`:サブグラフが何であるかの人間が読める説明。この説明は、サブグラフがホストされたサービスにデプロイされると、グラフ・エクスプローラによって表示されます。 +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: サブグラフのマニフェストが存在するリポジトリの URL です。これは、グラフエクスプローラでも表示されます。 +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: 使用されるすべての[feature](#experimental-features)名のリストです。 +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: サブグラフのソースとなるスマートコントラクトのアドレスと、使用するスマートコントラクトの abi です。アドレスはオプションで、省略すると、すべてのコントラクトからのマッチングイベントにインデックスを付けることができます。 - `dataSources.source.startBlock`: データソースがインデックス作成を開始するブロックの番号(オプション)です。ほとんどの場合、コントラクトが作成されたブロックの使用をお勧めします。 @@ -170,6 +176,8 @@ dataSources: 単一のサブグラフは複数のスマートコントラクトからデータを索引化できます。`dataSources`配列に、索引化するデータが必要な各コントラクトのエントリを追加してください +### Order of Triggering Handlers + ブロック内のデータソースのトリガーは、以下のプロセスを使用して順序付けられます: 1. イベントとコールのトリガーは、ブロック内のトランザクションインデックスで最初に並べられます。 @@ -178,6 +186,22 @@ dataSources: これらの順序規則は変更されることがあります。 +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| バージョン | リリースノート | +|:-----:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### ABI を取得する ABI ファイルは、契約内容と一致している必要があります。ABI ファイルを入手するにはいくつかの方法があります: @@ -248,15 +272,15 @@ Null 以外のフィールド 'name' の null 値が解決されました GraphQL API では、以下の Scalar をサポートしています: -| タイプ | 説明書き | -| --- | --- | -| `Bytes` | Byte 配列で、16 進数の文字列で表されます。Ethereum のハッシュやアドレスによく使われます。 | -| `String` | `string`値の Scalar であり、Null 文字はサポートされておらず、自動的に削除されます。 | -| `Boolean` | `boolean`値を表す Scalar。 | -| `Int` | Int GraphQL の仕様では、`Int`のサイズは 32 バイトと定義されています。 | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | 大きな整数。Ethereum の`uint32`, `int64`, `uint64`, ..., `uint256` タイプに使用されます。注: `int32`, `uint24` `int8`など`uint32`以下のものは`i32`として表現されます。 | -| `BigDecimal` | `BigDecimal`は、高精度の 10 進数を記号と指数で表します。指数の範囲は -6143 ~ +6144 です。有効数字 34 桁にまとめられます。 | +| タイプ | 説明書き | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Byte 配列で、16 進数の文字列で表されます。Ethereum のハッシュやアドレスによく使われます。 | +| `String` | `string`値の Scalar であり、Null 文字はサポートされておらず、自動的に削除されます。 | +| `Boolean` | `boolean`値を表す Scalar。 | +| `Int` | Int GraphQL の仕様では、`Int`のサイズは 32 バイトと定義されています。 | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | 大きな整数。Ethereum の`uint32`, `int64`, `uint64`, ..., `uint256` タイプに使用されます。注: `int32`, `uint24` `int8`など`uint32`以下のものは`i32`として表現されます。 | +| `BigDecimal` | `BigDecimal`は、高精度の 10 進数を記号と指数で表します。指数の範囲は -6143 ~ +6144 です。有効数字 34 桁にまとめられます。 | #### Enums @@ -398,12 +422,12 @@ query usersWithOrganizations { #### スキーマへのコメントの追加 -GraphQL の仕様では、スキーマのエンティティ属性の上にダブルクォーテーション`""`を使ってコメントを追加できます。これを以下の例で説明します: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" - id: ID! + # unique identifier and primary key of the entity + id: Bytes! address: Bytes! } ``` @@ -458,33 +482,33 @@ query { サポートされている言語の辞書: -| コード | 辞書 | -| ------ | ------------ | -| simple | General | -| da | Danish | -| nl | Dutch | -| en | English | -| fi | Finnish | -| fr | French | -| de | German | -| hu | Hungarian | -| it | Italian | -| no | Norwegian | -| pt | ポルトガル語 | -| ro | Romanian | -| ru | Russian | -| es | Spanish | -| sv | Swedish | -| tr | Turkish | +| コード | 辞書 | +| ------ | --------- | +| simple | General | +| da | Danish | +| nl | Dutch | +| en | English | +| fi | Finnish | +| fr | French | +| de | German | +| hu | Hungarian | +| it | Italian | +| no | Norwegian | +| pt | ポルトガル語 | +| ro | Romanian | +| ru | Russian | +| es | Spanish | +| sv | Swedish | +| tr | Turkish | ### ランキングアルゴリズム サポートされている結果の順序付けのアルゴリズム: -| アルゴリズム | 説明書き | -| ------------- | ------------------------------------------------------------------- | -| rank | フルテキストクエリのマッチ品質 (0-1) を使用して結果を並べ替えます。 | -| proximityRank | ProximityRank rank に似ていますが、マッチの近接性も含みます。 | +| アルゴリズム | 説明書き | +| ------------- | ---------------------------------------- | +| rank | フルテキストクエリのマッチ品質 (0-1) を使用して結果を並べ替えます。 | +| proximityRank | ProximityRank rank に似ていますが、マッチの近接性も含みます。 | ## マッピングの記述 @@ -525,13 +549,32 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { ### 新規エンティティ作成時の推奨 ID -すべてのエンティティは、同じタイプのすべてのエンティティ間で一意の `id` を持つ必要があります。エンティティの `id` 値は、エンティティの作成時に設定されます。以下は、新しいエンティティを作成する際に考慮すべき、いくつかの推奨される `id` 値です。注: `id` の値は `string` でなければなりません。 +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` + +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like + +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## コード生成 @@ -574,13 +617,13 @@ import { Gravatar } from '../generated/schema' > **注:** GraphQL スキーマやマニフェストに含まれる ABI を変更するたびに、コード生成を再実行する必要があります。また、サブグラフをビルドまたはディプロイする前に、少なくとも一度は実行する必要があります。 -コード生成では、`src/mapping.ts`のマッピングコードはチェックされません。サブグラフをグラフ・エクスプローラーに配置する前にチェックしたい場合は、`yarn build`を実行して、TypeScript コンパイラが検出する可能性のある構文エラーを修正することができます。 +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## データソーステンプレート EVM 互換のスマート コントラクトの一般的なパターンは、レジストリ コントラクトまたはファクトリ コントラクトの使用です。1 つのコントラクトが、それぞれ独自の状態とイベントを持つ任意の数の他のコントラクトを作成、管理、または参照します。 -これらのサブコントラクトのアドレスは、事前にわかっている場合とわかっていない場合があり、これらのコントラクトの多くは、時間の経過とともに作成および/または追加される可能性があります。このような場合、単一のデータ ソースまたは固定数のデータ ソースを定義することは不可能であり、より動的なアプローチ、つまり *データ ソース テンプレート*が必要とされるのはこのためです。 +これらのサブコントラクトのアドレスは、事前にわかっている場合とわかっていない場合があり、これらのコントラクトの多くは、時間の経過とともに作成および/または追加される可能性があります。このような場合、単一のデータ ソースまたは固定数のデータ ソースを定義することは不可能であり、より動的なアプローチ、つまり _データ ソース テンプレート_が必要とされるのはこのためです。 ### メインコントラクトのデータソース @@ -660,7 +703,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **注:** 新しいデータ ソースは、それが作成されたブロックとそれに続くすべてのブロックの呼び出しとイベントのみを処理しますが、履歴データ (データなど) は処理しません。それは前のブロックに含まれています。 -> +> > 以前のブロックに新しいデータソースに関連するデータが含まれている場合は、コントラクトの現在の状態を読み取り、新しいデータソースが作成された時点でその状態を表すエンティティを作成することで、そのデータにインデックスを付けることが最善です。 ### データソースコンテクスト @@ -717,11 +760,219 @@ dataSources: ``` > **注:** コントラクト作成ブロックは、Etherscan ですばやく検索できます。 -> +> > 1. 検索バーにアドレスを入力してコントラクトを検索します。 > 2. `Contract Creator` セクションの作成トランザクションハッシュをクリックします。 > 3. トランザクションの詳細ページを読み込んで、そのコントラクトの開始ブロックを見つけます。 +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## コールハンドラー イベントはコントラクトの状態に対する関連する変更を収集するための効果的な方法を提供しますが、多くのコントラクトはガスコストを最適化するためにログの生成を避けます。このような場合、サブグラフはデータソース・コントラクトに行われたコールを購読することができます。これは、関数シグネチャを参照するコールハンドラと、この関数へのコールを処理するマッピングハンドラを定義することで実現します。これらのコールを処理するために、マッピングハンドラは、コールへの入力とコールからの出力を型付けした`ethereum.Call`を引数として受け取ります。トランザクションのコールチェーンのどの深さで行われたコールでもマッピングがトリガーされ、プロキシコントラクトを介したデータソースコントラクトとのアクティビティをキャプチャすることができます。 @@ -907,9 +1158,9 @@ eventHandlers: `specVersion` `0.0.4`以降、サブグラフ機能はマニフェストファイルのトップレベルにある`features`セクションで、以下の表のように`camelCase` の名前を使って明示的に宣言する必要があります: -| 特徴 | 名前 | +| 特徴 | 名前 | | --------------------------------------------------------- | --------------------------------------------------- | -| [致命的でないエラー](#non-fatal-errors) | `nonFatalErrors` | +| [致命的でないエラー](#non-fatal-errors) | `nonFatalErrors` | | [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | | [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | | [IPFS on Ethereum Contracts](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | @@ -1028,7 +1279,7 @@ graft: ハンドラーの実行中に「インライン」でファイルを取得するのではなく、与えられたファイル識別子に対して新しいデータソースとして生成されるテンプレートを導入しています。これらの新しいデータソースはファイルを取得し、失敗した場合は再試行し、ファイルが見つかった場合は専用のハンドラーを実行します。 -これは、[既存のデータソーステンプレート](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates)と同様で、新しいチェーンベースのデータソースを動的に作成するために使用します。 +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > 既存の`ipfs.cat` APIを置き換えるものです。 @@ -1085,7 +1336,7 @@ type TokenMetadata @entity { 親エンティティと結果のファイルデータソースエンティティの間の関係が1:1である場合、最も単純なパターンは、IPFS CIDをルックアップとして使用して、親エンティティを結果のファイルエンティティにリンクすることです。新しいファイルベースのエンティティのモデリングに問題がある場合は、Discordに連絡してください。 -> [入れ子フィルター](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering)を使用すると、これらの入れ子エンティティに基づいて、親エンティティをフィルタリングすることができます。 +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### `種類: ファイル/ipfs` または `種類: ファイル/arweave` の新しいテンプレートデータソースを追加します> @@ -1109,11 +1360,11 @@ templates: > 現在、`abis`が必要ですが、ファイル・データ・ソース内からコントラクトを呼び出すことはできません。 -ファイルデータソースは、`entities`の下で相互作用するすべてのエンティティタイプについて具体的に言及しなければなりません。詳しくは[limitations](#Limitations)を参照してください。 +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### ファイルを処理するハンドラーを新規に作成 -このハンドラは、1つの`Bytes`パラメータを受け入れなければなりませんが、これは、ファイルが見つかったときに、その内容を処理することができます。これは多くの場合JSONファイルであり、`graph-ts`ヘルパー([ドキュメント](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api))で処理することができます。 +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). 読みやすい文字列としてのファイルのCIDは、`dataSource`を介して次のようにアクセスできます: @@ -1157,7 +1408,7 @@ export function handleMetadata(content: Bytes): void { IPFS の場合、グラフノードは [v0 および v1 コンテンツ識別子、および](https://docs.ipfs.tech/concepts/content-addressing/)ディレクトリを持つコンテンツ識別子 (例: `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`) をサポートします。 -Arweave の場合、バージョン 0.33.0 以降、グラフ ノードは Arweave ゲートウェイからの[transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) に基づいて Arweave に保存されているファイルをフェッチできます ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave は Bundlr 経由でアップロードされたトランザクションをサポートしており、Graph Node は[Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing)に基づいてファイルをフェッチすることもできます。 +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). 例: @@ -1216,7 +1467,7 @@ export function handleTransfer(event: TransferEvent): void { NFT メタデータを対応するトークンにリンクする場合、メタデータの IPFS ハッシュを使用して、トークン エンティティから Metadata エンティティを参照します。IPFSハッシュをIDとして使用してMetadataエンティティを保存します。 -ファイル データ ソースの作成時に [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) を使用すると、ファイル データ ソース ハンドラーで利用できるようになる追加情報を渡すことができます。 +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. 複数回リフレッシュされるエンティティがある場合は、IPFSハッシュ&スタンプとエンティティIDを使用して一意のファイルベースのエンティティを作成し、チェーンベースのエンティティ内の派生フィールドを使用してそれらを参照します。 @@ -1226,7 +1477,7 @@ NFT メタデータを対応するトークンにリンクする場合、メタ ファイル データ ソースは現在、ABI が使用されていないにもかかわらず、ABI を必要とします ([issue](https://github.com/graphprotocol/graph-cli/issues/961))。回避策は、任意のABIを追加することです。 -ファイルデータソースのハンドラーは、`eth_call`コントラクトバインディングをインポートするファイルには存在できず、「unknown import」で失敗しました。`ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)) で失敗します。回避策としては、ファイルデータソースハンドラーを専用ファイルに作成することです。 +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### 例 @@ -1235,3 +1486,65 @@ NFT メタデータを対応するトークンにリンクする場合、メタ #### 参考文献 [GIPファイルデータソース](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### 概要 + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 1a0e9f6bb47286570bc6aa48f57fc31c06a7e932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:22 -0400 Subject: [PATCH 0297/2326] New translations creating-a-subgraph.mdx (Korean) --- .../ko/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/ko/developing/creating-a-subgraph.mdx b/website/pages/ko/developing/creating-a-subgraph.mdx index 39f58ac2083b..fd9550e8df79 100644 --- a/website/pages/ko/developing/creating-a-subgraph.mdx +++ b/website/pages/ko/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ The subgraph definition consists of a few files: - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) code that translates from the event data to the entities defined in your schema (e.g. `mapping.ts` in this tutorial) -> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-cli) which you will need to build and deploy a subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Install the Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph on the Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## From An Existing Contract @@ -61,7 +61,7 @@ The second mode `graph init` supports is creating a new project from an example graph init --studio ``` -The example subgraph is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Add New dataSources To An Existing Subgraph @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: The important entries to update for the manifest are: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed by The Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: a list of all used [feature](#experimental-features) names. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: the address of the smart contract the subgraph sources, and the ABI of the smart contract to use. The address is optional; omitting it allows to index matching events from all contracts. - `dataSources.source.startBlock`: the optional number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created. @@ -170,6 +176,8 @@ The important entries to update for the manifest are: A single subgraph can index data from multiple smart contracts. Add an entry for each contract from which data needs to be indexed to the `dataSources` array. +### Order of Triggering Handlers + The triggers for a data source within a block are ordered using the following process: 1. Event and call triggers are first ordered by transaction index within the block. @@ -178,6 +186,22 @@ The triggers for a data source within a block are ordered using the following pr These ordering rules are subject to change. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Version | Release notes | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Getting The ABIs The ABI file(s) must match your contract(s). There are a few ways to obtain ABI files: @@ -248,15 +272,15 @@ For some entity types the `id` is constructed from the id's of two other entitie We support the following scalars in our GraphQL API: -| Type | Description | -| --- | --- | -| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | -| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | -| `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | -| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| Type | Description | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | +| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | +| `Boolean` | Scalar for `boolean` values. | +| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | +| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | #### Enums @@ -398,11 +422,11 @@ This more elaborate way of storing many-to-many relationships will result in les #### Adding comments to the schema -As per GraphQL spec, comments can be added above schema entity attributes using double quotations `""`. This is illustrated in the example below: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ The second handler tries to load the existing `Gravatar` from the Graph Node sto ### Recommended IDs for Creating New Entities -Every entity has to have an `id` that is unique among all entities of the same type. An entity's `id` value is set when the entity is created. Below are some recommended `id` values to consider when creating new entities. NOTE: The value of `id` must be a `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Code Generation @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Note:** The code generation must be performed again after every change to the GraphQL schema or the ABIs included in the manifest. It must also be performed at least once before building or deploying the subgraph. -Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to the Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Data Source Templates @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Note:** A new data source will only process the calls and events for the block in which it was created and all following blocks, but will not process historical data, i.e., data that is contained in prior blocks. -> +> > If prior blocks contain data relevant to the new data source, it is best to index that data by reading the current state of the contract and creating entities representing that state at the time the new data source is created. ### Data Source Context @@ -716,11 +759,219 @@ dataSources: ``` > **Note:** The contract creation block can be quickly looked up on Etherscan: -> +> > 1. Search for the contract by entering its address in the search bar. > 2. Click on the creation transaction hash in the `Contract Creator` section. > 3. Load the transaction details page where you'll find the start block for that contract. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1027,7 +1278,7 @@ File data sources are a new subgraph functionality for accessing off-chain data Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. -This is similar to the [existing data source templates](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > This replaces the existing `ipfs.cat` API @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { If the relationship is 1:1 between the parent entity and the resulting file data source entity, the simplest pattern is to link the parent entity to a resulting file entity by using the IPFS CID as the lookup. Get in touch on Discord if you are having difficulty modelling your new file-based entities! -> You can use [nested filters](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Currently `abis` are required, though it is not possible to call contracts from within file data sources -The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#Limitations) for more details. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Create a new handler to process files -This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). The CID of the file as a readable string can be accessed via the `dataSource` as follows: @@ -1156,7 +1407,7 @@ You can now create file data sources during execution of chain-based handlers: For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Example: @@ -1215,7 +1466,7 @@ Additionally, it is not possible to create data sources from a file data source, If you are linking NFT metadata to corresponding tokens, use the metadata's IPFS hash to reference a Metadata entity from the Token entity. Save the Metadata entity using the IPFS hash as an ID. -You can use [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. If you have entities which are refreshed multiple times, create unique file-based entities using the IPFS hash & the entity ID, and reference them using a derived field in the chain-based entity. @@ -1225,7 +1476,7 @@ If you have entities which are refreshed multiple times, create unique file-base File data sources currently require ABIs, even though ABIs are not used ([issue](https://github.com/graphprotocol/graph-cli/issues/961)). Workaround is to add any ABI. -Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)). Workaround is to create file data source handlers in a dedicated file. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Examples @@ -1234,3 +1485,65 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Overview + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From cad9b71da6dc7dcd346d6cc865e7e058dd1fe9b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:23 -0400 Subject: [PATCH 0298/2326] New translations creating-a-subgraph.mdx (Dutch) --- .../nl/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/nl/developing/creating-a-subgraph.mdx b/website/pages/nl/developing/creating-a-subgraph.mdx index 39f58ac2083b..fd9550e8df79 100644 --- a/website/pages/nl/developing/creating-a-subgraph.mdx +++ b/website/pages/nl/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ The subgraph definition consists of a few files: - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) code that translates from the event data to the entities defined in your schema (e.g. `mapping.ts` in this tutorial) -> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-cli) which you will need to build and deploy a subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Install the Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph on the Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## From An Existing Contract @@ -61,7 +61,7 @@ The second mode `graph init` supports is creating a new project from an example graph init --studio ``` -The example subgraph is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Add New dataSources To An Existing Subgraph @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: The important entries to update for the manifest are: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed by The Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: a list of all used [feature](#experimental-features) names. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: the address of the smart contract the subgraph sources, and the ABI of the smart contract to use. The address is optional; omitting it allows to index matching events from all contracts. - `dataSources.source.startBlock`: the optional number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created. @@ -170,6 +176,8 @@ The important entries to update for the manifest are: A single subgraph can index data from multiple smart contracts. Add an entry for each contract from which data needs to be indexed to the `dataSources` array. +### Order of Triggering Handlers + The triggers for a data source within a block are ordered using the following process: 1. Event and call triggers are first ordered by transaction index within the block. @@ -178,6 +186,22 @@ The triggers for a data source within a block are ordered using the following pr These ordering rules are subject to change. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Version | Release notes | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Getting The ABIs The ABI file(s) must match your contract(s). There are a few ways to obtain ABI files: @@ -248,15 +272,15 @@ For some entity types the `id` is constructed from the id's of two other entitie We support the following scalars in our GraphQL API: -| Type | Description | -| --- | --- | -| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | -| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | -| `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | -| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| Type | Description | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | +| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | +| `Boolean` | Scalar for `boolean` values. | +| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | +| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | #### Enums @@ -398,11 +422,11 @@ This more elaborate way of storing many-to-many relationships will result in les #### Adding comments to the schema -As per GraphQL spec, comments can be added above schema entity attributes using double quotations `""`. This is illustrated in the example below: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ The second handler tries to load the existing `Gravatar` from the Graph Node sto ### Recommended IDs for Creating New Entities -Every entity has to have an `id` that is unique among all entities of the same type. An entity's `id` value is set when the entity is created. Below are some recommended `id` values to consider when creating new entities. NOTE: The value of `id` must be a `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Code Generation @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Note:** The code generation must be performed again after every change to the GraphQL schema or the ABIs included in the manifest. It must also be performed at least once before building or deploying the subgraph. -Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to the Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Data Source Templates @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Note:** A new data source will only process the calls and events for the block in which it was created and all following blocks, but will not process historical data, i.e., data that is contained in prior blocks. -> +> > If prior blocks contain data relevant to the new data source, it is best to index that data by reading the current state of the contract and creating entities representing that state at the time the new data source is created. ### Data Source Context @@ -716,11 +759,219 @@ dataSources: ``` > **Note:** The contract creation block can be quickly looked up on Etherscan: -> +> > 1. Search for the contract by entering its address in the search bar. > 2. Click on the creation transaction hash in the `Contract Creator` section. > 3. Load the transaction details page where you'll find the start block for that contract. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1027,7 +1278,7 @@ File data sources are a new subgraph functionality for accessing off-chain data Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. -This is similar to the [existing data source templates](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > This replaces the existing `ipfs.cat` API @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { If the relationship is 1:1 between the parent entity and the resulting file data source entity, the simplest pattern is to link the parent entity to a resulting file entity by using the IPFS CID as the lookup. Get in touch on Discord if you are having difficulty modelling your new file-based entities! -> You can use [nested filters](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Currently `abis` are required, though it is not possible to call contracts from within file data sources -The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#Limitations) for more details. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Create a new handler to process files -This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). The CID of the file as a readable string can be accessed via the `dataSource` as follows: @@ -1156,7 +1407,7 @@ You can now create file data sources during execution of chain-based handlers: For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Example: @@ -1215,7 +1466,7 @@ Additionally, it is not possible to create data sources from a file data source, If you are linking NFT metadata to corresponding tokens, use the metadata's IPFS hash to reference a Metadata entity from the Token entity. Save the Metadata entity using the IPFS hash as an ID. -You can use [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. If you have entities which are refreshed multiple times, create unique file-based entities using the IPFS hash & the entity ID, and reference them using a derived field in the chain-based entity. @@ -1225,7 +1476,7 @@ If you have entities which are refreshed multiple times, create unique file-base File data sources currently require ABIs, even though ABIs are not used ([issue](https://github.com/graphprotocol/graph-cli/issues/961)). Workaround is to add any ABI. -Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)). Workaround is to create file data source handlers in a dedicated file. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Examples @@ -1234,3 +1485,65 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Overview + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 58573af69771be61a75cbef6455d47cb8a452dc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:24 -0400 Subject: [PATCH 0299/2326] New translations creating-a-subgraph.mdx (Polish) --- .../pl/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/pl/developing/creating-a-subgraph.mdx b/website/pages/pl/developing/creating-a-subgraph.mdx index 39f58ac2083b..fd9550e8df79 100644 --- a/website/pages/pl/developing/creating-a-subgraph.mdx +++ b/website/pages/pl/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ The subgraph definition consists of a few files: - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) code that translates from the event data to the entities defined in your schema (e.g. `mapping.ts` in this tutorial) -> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-cli) which you will need to build and deploy a subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Install the Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph on the Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## From An Existing Contract @@ -61,7 +61,7 @@ The second mode `graph init` supports is creating a new project from an example graph init --studio ``` -The example subgraph is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Add New dataSources To An Existing Subgraph @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: The important entries to update for the manifest are: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed by The Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: a list of all used [feature](#experimental-features) names. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: the address of the smart contract the subgraph sources, and the ABI of the smart contract to use. The address is optional; omitting it allows to index matching events from all contracts. - `dataSources.source.startBlock`: the optional number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created. @@ -170,6 +176,8 @@ The important entries to update for the manifest are: A single subgraph can index data from multiple smart contracts. Add an entry for each contract from which data needs to be indexed to the `dataSources` array. +### Order of Triggering Handlers + The triggers for a data source within a block are ordered using the following process: 1. Event and call triggers are first ordered by transaction index within the block. @@ -178,6 +186,22 @@ The triggers for a data source within a block are ordered using the following pr These ordering rules are subject to change. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Version | Release notes | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Getting The ABIs The ABI file(s) must match your contract(s). There are a few ways to obtain ABI files: @@ -248,15 +272,15 @@ For some entity types the `id` is constructed from the id's of two other entitie We support the following scalars in our GraphQL API: -| Type | Description | -| --- | --- | -| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | -| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | -| `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | -| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| Type | Description | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | +| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | +| `Boolean` | Scalar for `boolean` values. | +| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | +| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | #### Enums @@ -398,11 +422,11 @@ This more elaborate way of storing many-to-many relationships will result in les #### Adding comments to the schema -As per GraphQL spec, comments can be added above schema entity attributes using double quotations `""`. This is illustrated in the example below: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ The second handler tries to load the existing `Gravatar` from the Graph Node sto ### Recommended IDs for Creating New Entities -Every entity has to have an `id` that is unique among all entities of the same type. An entity's `id` value is set when the entity is created. Below are some recommended `id` values to consider when creating new entities. NOTE: The value of `id` must be a `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Code Generation @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Note:** The code generation must be performed again after every change to the GraphQL schema or the ABIs included in the manifest. It must also be performed at least once before building or deploying the subgraph. -Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to the Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Data Source Templates @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Note:** A new data source will only process the calls and events for the block in which it was created and all following blocks, but will not process historical data, i.e., data that is contained in prior blocks. -> +> > If prior blocks contain data relevant to the new data source, it is best to index that data by reading the current state of the contract and creating entities representing that state at the time the new data source is created. ### Data Source Context @@ -716,11 +759,219 @@ dataSources: ``` > **Note:** The contract creation block can be quickly looked up on Etherscan: -> +> > 1. Search for the contract by entering its address in the search bar. > 2. Click on the creation transaction hash in the `Contract Creator` section. > 3. Load the transaction details page where you'll find the start block for that contract. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1027,7 +1278,7 @@ File data sources are a new subgraph functionality for accessing off-chain data Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. -This is similar to the [existing data source templates](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > This replaces the existing `ipfs.cat` API @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { If the relationship is 1:1 between the parent entity and the resulting file data source entity, the simplest pattern is to link the parent entity to a resulting file entity by using the IPFS CID as the lookup. Get in touch on Discord if you are having difficulty modelling your new file-based entities! -> You can use [nested filters](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Currently `abis` are required, though it is not possible to call contracts from within file data sources -The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#Limitations) for more details. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Create a new handler to process files -This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). The CID of the file as a readable string can be accessed via the `dataSource` as follows: @@ -1156,7 +1407,7 @@ You can now create file data sources during execution of chain-based handlers: For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Example: @@ -1215,7 +1466,7 @@ Additionally, it is not possible to create data sources from a file data source, If you are linking NFT metadata to corresponding tokens, use the metadata's IPFS hash to reference a Metadata entity from the Token entity. Save the Metadata entity using the IPFS hash as an ID. -You can use [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. If you have entities which are refreshed multiple times, create unique file-based entities using the IPFS hash & the entity ID, and reference them using a derived field in the chain-based entity. @@ -1225,7 +1476,7 @@ If you have entities which are refreshed multiple times, create unique file-base File data sources currently require ABIs, even though ABIs are not used ([issue](https://github.com/graphprotocol/graph-cli/issues/961)). Workaround is to add any ABI. -Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)). Workaround is to create file data source handlers in a dedicated file. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Examples @@ -1234,3 +1485,65 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Overview + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 185b0644446ee06e7ae9d79d21cd5154449df4f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:25 -0400 Subject: [PATCH 0300/2326] New translations creating-a-subgraph.mdx (Portuguese) --- .../pt/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/pt/developing/creating-a-subgraph.mdx b/website/pages/pt/developing/creating-a-subgraph.mdx index ba8846de21a1..e84fcc63cf81 100644 --- a/website/pages/pt/developing/creating-a-subgraph.mdx +++ b/website/pages/pt/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ A definição de subgraph consiste de alguns arquivos: - `AssemblyScript Mappings`: código em [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) que traduz dos dados de eventos às entidades definidas no seu schema (por ex., `mapping.ts` neste tutorial) -> Para poder usar o seu subgraph na rede descentralizada do The Graph, [crie uma chave API](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). Recomendamos [adicionar sinais](/network/curating/#how-to-signal) ao seu subgraph com pelo menos [10.000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Antes de se aprofundar nos conteúdos do arquivo manifest, instale o [Graph CLI](https://github.com/graphprotocol/graph-cli), que será necessário para construir e adicionar um subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Como instalar o Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Instalado, o comando `graph init` pode preparar um novo projeto de subgraph, seja de um contrato existente ou de um exemplo de subgraph. Este comando serve para criar um subgraph no Subgraph Studio ao passar o `graph init --product subgraph-studio`. Se já tem um contrato inteligente lançado na mainnet do Ethereum ou uma de suas testnets, inicializar um novo subgraph daquele contrato pode ser um bom começo. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## De um Contrato Existente @@ -61,7 +61,7 @@ O segundo modo que o `graph init` apoia é criar um projeto a partir de um exemp graph init --studio ``` -O subgraph de exemplo é baseado no contrato Gravity por Dani Grant, que administra avatares de usuários e emite eventos `NewGravatar` ou `UpdateGravatar` sempre que avatares são criados ou atualizados. O subgraph lida com estes eventos ao escrever entidades `Gravatar` ao armazenamento do Graph Node e garantir que estes são atualizados de acordo com os eventos. As seguintes seções lidarão com os arquivos que compõem o manifest do subgraph para este exemplo. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Como Adicionar Novos dataSources para um Subgraph Existente @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: As entradas importantes para atualizar para o manifest são: -- `description`: uma descrição legível a humanos do que é o subgraph. Esta descrição é exibida pelo Graph Explorer quando o subgraph é lançado ao serviço hospedado. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: a URL do repositório onde está o manifest do subgraph. Isto também é exibido pelo Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: uma lista de todos os nomes de [feature](#experimental-features) usados. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: o endereço do contrato inteligente que abastece o subgraph, e a ABI do contrato inteligente a ser usada. O endereço é opcional; omiti-lo permite indexar eventos correspondentes de todos os contratos. - `dataSources.source.startBlock`: o número opcional do bloco de onde a fonte de dados começa a indexar. Em muitos casos, sugerimos usar o bloco em que o contrato foi criado. @@ -170,6 +176,8 @@ As entradas importantes para atualizar para o manifest são: Um único subgraph pode indexar dados de vários contratos inteligentes. Adicione uma entrada para cada contrato cujos dados devem ser indexados ao arranjo `dataSources`. +### Order of Triggering Handlers + Os gatilhos para uma fonte de dados dentro de um bloco são ordenados com o seguinte processo: 1. Gatilhos de evento e chamada são, primeiro, ordenados por índice de transação no bloco. @@ -178,6 +186,22 @@ Os gatilhos para uma fonte de dados dentro de um bloco são ordenados com o segu Estas regras de organização estão sujeitas à mudança. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Versão | Notas de atualização | +|:------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Como Obter as ABIs Os arquivos da ABI devem combinar com o(s) seu(s) contrato(s). Há algumas maneiras de obter estes arquivos: @@ -248,15 +272,15 @@ Para alguns tipos de entidade, o `id` é construído das id's de duas outras ent Nós apoiamos os seguintes escalares na nossa API do GraphQL: -| Tipo | Descrição | -| --- | --- | -| `Bytes` | Arranjo de bytes, representado como string hexadecimal. Usado frequentemente por hashes e endereços no Ethereum. | -| `String` | Escalar para valores `string`. Caracteres nulos são removidos automaticamente. | -| `Boolean` | Escalar para valores `boolean`. | -| `Int` | A especificação do GraphQL define que o `Int` tem um tamanho de 32 bytes. | -| `Int8` | Um número inteiro assinado em 8 bits, também conhecido como um número inteiro assinado em 64 bits, pode armazenar valores de -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. Prefira usar isto para representar o `i64` do ethereum. | -| `BigInt` | Números inteiros grandes. Usados para os tipos `uint32`, `int64`, `uint64`, ..., `uint256` do Ethereum. Nota: Tudo abaixo de `uint32`, como `int32`, `uint24` ou `int8` é representado como `i32`. | -| `BigDecimal` | `BigDecimal` Decimais de alta precisão representados como um significando e um exponente. O alcance de exponentes é de -6143 até +6144. Arredondado para 34 dígitos significantes. | +| Tipo | Descrição | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Arranjo de bytes, representado como string hexadecimal. Usado frequentemente por hashes e endereços no Ethereum. | +| `String` | Escalar para valores `string`. Caracteres nulos são removidos automaticamente. | +| `Boolean` | Escalar para valores `boolean`. | +| `Int` | A especificação do GraphQL define que o `Int` tem um tamanho de 32 bytes. | +| `Int8` | Um número inteiro assinado em 8 bits, também conhecido como um número inteiro assinado em 64 bits, pode armazenar valores de -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. Prefira usar isto para representar o `i64` do ethereum. | +| `BigInt` | Números inteiros grandes. Usados para os tipos `uint32`, `int64`, `uint64`, ..., `uint256` do Ethereum. Nota: Tudo abaixo de `uint32`, como `int32`, `uint24` ou `int8` é representado como `i32`. | +| `BigDecimal` | `BigDecimal` Decimais de alta precisão representados como um significando e um exponente. O alcance de exponentes é de -6143 até +6144. Arredondado para 34 dígitos significantes. | #### Enums @@ -398,11 +422,11 @@ Esta maneira mais elaborada de armazenar relacionamentos vários-com-vários arm #### Como adicionar comentários ao schema -Pela especificação do GraphQL, é possível adicionar comentários acima de atributos de entidade do schema com aspas duplas `""`. Isto é ilustrado no exemplo abaixo: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ O segundo handler tenta carregar o `Gravatar` do armazenamento do Graph Node. Se ### IDs Recomendadas para Criar Novas Entidades -Toda entidade deve ter uma `id` original entre todas as entidades do mesmo tipo. O valor do `id` de uma entidade é determinado quando ela é criada. Abaixo estão alguns valores recomendados de `id` para considerar ao criar novas entidades. NOTA: O valor da `id` deve ser um `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -Nós fornecemos a [Biblioteca do Graph Typescript](https://github.com/graphprotocol/graph-ts), que contém utilidades para interagir com o armazenamento do Graph Node e conveniências para gerir entidades e dados de contratos inteligentes. Esta biblioteca pode ser usada nos seus mapeamentos importando o `@graphprotocol/graph-ts` no `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Geração de Código @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Nota:** A geração de códigos deve ser executada novamente após todas as mudanças ao schema GraphQL ou às ABIs incluídas no manifest. Ela também deve ser executada pelo menos uma vez antes de construir ou lançar o subgraph. -A geração de código não confere o seu código de mapeamento no `src/mapping.ts`. Se quiser conferir isto antes de tentar lançar o seu subgraph ao Graph Explorer, pode executar o `yarn build` e consertar quaisquer erros de sintaxe que o compilador TypeScript possa encontrar. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Modelos de Fontes de Dados @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Nota:** Uma nova fonte de dados só processará as chamadas e eventos para o bloco onde ele foi criado e todos os blocos a seguir. Porém, não serão processados dados históricos, por ex, contidos em blocos anteriores. -> +> > Se blocos anteriores conterem dados relevantes à nova fonte, é melhor indexá-los ao ler o estado atual do contrato e criar entidades que representem aquele estado na hora que a nova fonte de dados for criada. ### Contextos de Fontes de Dados @@ -716,11 +759,219 @@ dataSources: ``` > **Nota:** O bloco da criação do contrato pode ser buscado rapidamente no Etherscan: -> +> > 1. Procure pelo contrato ao inserir o seu endereço na barra de busca. > 2. Clique no hash da transação da criação na seção `Contract Creator`. > 3. Carregue a página dos detalhes da transação, onde encontrará o bloco inicial para aquele contrato. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Handlers de chamada Enquanto os eventos provém uma forma eficiente de coletar mudanças relevantes ao estado de um contrato, muitos contratos evitam gerar logs para otimizar os custos de gas. Nestes casos, um subgraph pode se inscrever em chamadas feitas ao contrato da fonte de dados. Isto é alcançado ao definir handlers de calls que referenciam a assinatura da função, e o handler de mapeamento que processará chamadas para esta função. Para processar estas chamadas, o handler de mapeamento receberá um `ethereum.Call` como um argumento com as entradas digitadas e as saídas da chamada. Chamadas feitas a qualquer profundidade na cadeia de chamadas de uma transação irão engatilhar o mapeamento; assim, atividades com o contrato de fontes de dados serão capturados através de contratos de proxy. @@ -1027,7 +1278,7 @@ Fontes de dados de arquivos são uma nova funcionalidade de subgraph para acessa Em vez de buscar arquivos "em linha" durante a execução do handler, isto introduz modelos que podem ser colocados como novas fontes de dados para um identificador de arquivos. Estas novas fontes de dados pegam os arquivos e tentam novamente caso não obtenham êxito; quando o arquivo é encontrado, executam um handler dedicado. -Isto é parecido com os [modelos de fontes de dados existentes](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), usados para criar novas fontes de dados baseadas em chains dinamicamente. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > Isto substitui a API `ipfs.cat` existente @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { Se o relacionamento for perfeitamente proporcional entre a entidade parente e a entidade de fontes de dados de arquivos resultante, é mais simples ligar a entidade parente a uma entidade de arquivos resultante, com a CID IPFS como o assunto de busca. Se tiver dificuldades em modelar suas novas entidades baseadas em arquivos, pergunte no Discord! -> Podes usar [filtros aninhados](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) para filtrar entidades parentes na base destas entidades aninhadas. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Adicione um novo modelo de fonte de dados com `kind: file/ipfs` ou `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Atualmente é obrigatório usar `abis`, mas não é possível chamar contratos de dentro de fontes de dados de arquivos -A fonte de dados de arquivos deve mencionar especificamente todos os tipos de entidades com os quais ela interagirá sob `entities`. Veja [as limitações](#Limitations) para mais detalhes. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Criar um novo handler para processar arquivos -Este handler deve aceitar um parâmetro `Bytes`, que consistirá dos conteúdos do arquivo; quando encontrado, este pode então ser acessado. Isto costuma ser um arquivo JSON, que pode ser processado com helpers `graph-ts` ([documentação](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). A CID do arquivo como um string legível pode ser acessada através do `dataSource` a seguir: @@ -1156,7 +1407,7 @@ Agora pode criar fontes de dados de arquivos durante a execução de handlers ba Para o IPFS, o Graph Node apoia [identificadores de conteúdo v0 e v1](https://docs.ipfs.tech/concepts/content-addressing/) e identificadores com diretórios (por ex. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -Para o Arweave, desde a versão 0.33.0, o Graph Node pode retirar arquivos baseado na sua [id de transação](https://docs.arweave.org/developers/server/http-api#transactions) de um gateway do Arweave ([arquivo de exemplo](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)) O Arweave apoia transações enviadas através do Bundlr, e o Graph Node também pode retirar arquivos baseados nos [manifests do Bundlr](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Exemplo: @@ -1215,7 +1466,7 @@ Além disto, não é possível criar fontes de dados de uma fonte de dado de arq Caso ligue metadados de NFTs a tokens correspondentes, use o hash IPFS destes para referenciar uma entidade de Metadados da entidade do Token. Salve a entidade de Metadados a usar o hash IPFS como ID. -Pode usar o [contexto DataSource](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) ao criar Fontes de Dados de Arquivos para passar informações extras, que estarão disponíveis ao handler de Fontes de Dados de Arquivos. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. Caso tenha entidades a ser atualizadas várias vezes, crie entidades únicas baseadas em arquivos utilizando o hash IPFS & o ID da entidade, e as referencie com um campo derivado na entidade baseada na chain. @@ -1225,7 +1476,7 @@ Caso tenha entidades a ser atualizadas várias vezes, crie entidades únicas bas Atualmente, fontes de dados de arquivos requerem ABIs, apesar destas não serem usadas ([problema no GitHub](https://github.com/graphprotocol/graph-cli/issues/961)). A solução é adicionar qualquer ABI. -Handlers para Fontes de Dados de Arquvios não podem estar em arquivos que importam ligações de contrato `eth_call`, o que causa falhas com "unknown import: `ethereum::ethereum.call` has not been defined" ([problema no GitHub](https://github.com/graphprotocol/graph-cli/issues/4309)). A solução é criar handlers de fontes de dados de arquivos em um arquivo dedicado. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Exemplos @@ -1234,3 +1485,65 @@ Handlers para Fontes de Dados de Arquvios não podem estar em arquivos que impor #### Referências [Fontes de Dados de Arquivos GIP](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Visão Geral + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 43f102822e4c26b76b3897f17e7a066c0a16679b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:27 -0400 Subject: [PATCH 0301/2326] New translations creating-a-subgraph.mdx (Russian) --- .../ru/developing/creating-a-subgraph.mdx | 511 ++++++++++++++---- 1 file changed, 412 insertions(+), 99 deletions(-) diff --git a/website/pages/ru/developing/creating-a-subgraph.mdx b/website/pages/ru/developing/creating-a-subgraph.mdx index 6b0b51c8aa7e..555e58db4c0b 100644 --- a/website/pages/ru/developing/creating-a-subgraph.mdx +++ b/website/pages/ru/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ title: Создание субграфа - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript), который преобразует данные события в объекты, определенные в Вашей схеме (например, `mapping.ts` в этом руководстве) -> Чтобы использовать свой субграф в децентрализованной сети The Graph, Вам необходимо [создать API-ключ](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). Рекомендуется [добавить сигнал](/network/curating/#how-to-signal) в свой субграф как минимум с [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> Чтобы использовать свой субграф в децентрализованной сети The Graph, Вам необходимо [создать ключ API](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). Рекомендуется [добавить сигнал](/network/curating/#how-to-signal) в свой субграф как минимум с [3000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Прежде чем Вы перейдете к подробному описанию содержимого файла манифеста, Вам необходимо установить[Graph CLI](https://github.com/graphprotocol/graph-cli), который понадобится для создания и развертывания субграфа. +Прежде чем Вы перейдете к подробному описанию содержимого файла манифеста, Вам необходимо установить[Graph CLI](https://github.com/graphprotocol/graph-tooling), который понадобится для создания и развертывания субграфа. ## Установка Graph CLI @@ -61,7 +61,7 @@ graph init \ graph init --studio ``` -Пример субграфа основан на контракте Gravity Дэни Гранта, который управляет пользовательскими аватарами и генерирует события `NewGravatar` или `UpdateGravatar` при создании или обновлении аватаров. Субграф обрабатывает эти события, записывая объекты `Gravatar` в хранилище Graph Node и обеспечивая их обновление в соответствии с событиями. В следующих разделах будут рассмотрены файлы, составляющие манифест субграфа для этого примера. +[Пример субграфа](https://github.com/graphprotocol/example-subgraph) основан на контракте Gravity Дэни Гранта, который управляет пользовательскими аватарами и генерирует события `NewGravatar` или `UpdateGravatar` при создании или обновлении аватаров. Субграф обрабатывает эти события, записывая объекты `Gravatar` в хранилище Graph Node и обеспечивая их обновление в соответствии с событиями. В следующих разделах будут рассмотрены файлы, составляющие манифест субграфа для этого примера. ## Добавление новых источников данных к существующему субграфу @@ -82,7 +82,7 @@ graph add
[] Параметр `--merge-entities` определяет, как разработчик хотел бы обрабатывать конфликты имен `entity` и `event`: -- Если `true`: новый `dataSource` должен использовать существующие ` eventHandlers` & `entities`. +- Если `true`: новый ` dataSource ` должен использовать существующие ` eventHandlers` & `entities`. - Если `false`: следует создать новую сущность и обработчик событий с помощью `${dataSourceName}{EventName}`. Контракт `address` будет записан в `networks.json` для соответствующей сети. @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: Важными элементами манифеста, которые необходимо обновить, являются: -- `description`: понятное описание того, что представляет собой субграф. Это описание отображается в Graph Explorer при развертывании субграфа в хостинговом сервисе. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: URL-адрес репозитория, в котором можно найти манифест субграфа. Это также отображается в The Graph Explorer. +- `description`: понятное описание того, что представляет собой субграф. Это описание отображается в Graph Explorer при развертывании субграфа в Subgraph Studio. + +- ` repository `: URL-адрес репозитория, в котором можно найти манифест субграфа. Это также отображается в The Graph Explorer. - `features`: список всех используемых имен [функций](#experimental-features). +- `indexerHints.prune`: определяет срок хранения исторических данных блока для субграфа. См. [сокращение](#prune) в разделе [indexerHints](#indexer-hints). + - `dataSources.source`: адрес смарт-контракта, источники субграфа и ABI смарт-контракта для использования. Адрес необязателен; отсутствие этого параметра позволяет индексировать совпадающие события из всех контрактов. - `dataSources.source.startBlock`: необязательный номер блока, с которого источник данных начинает индексацию. В большинстве случаев мы предлагаем использовать блок, в котором был создан контракт. @@ -170,6 +176,8 @@ dataSources: Один субграф может индексировать данные из нескольких смарт-контрактов. Добавьте в массив `dataSources` запись для каждого контракта, данные которого нужно проиндексировать. +### Порядок запуска обработчиков + Триггеры для источника данных внутри блока упорядочиваются с помощью следующего процесса: 1. Триггеры событий и вызовов сначала упорядочиваются по индексу транзакции внутри блока. @@ -178,6 +186,22 @@ dataSources: Эти правила оформления заказа могут быть изменены. +> **Примечание:** При создании нового [динамического источника данных](#data-source-templates-for-dynamically-created-contracts) обработчики, определенные для динамических источников данных, начнут обработку только после обработки всех существующих обработчиков источников данных и будут повторяться в той же последовательности при каждом запуске. + +### SpecVersion Releases + +| Версия | Примечания к релизу | +|:------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Получение ABIs Файл(ы) ABI должен(ы) соответствовать Вашему контракту (контрактам). Существует несколько способов получения файлов ABI: @@ -248,15 +272,15 @@ Null value resolved for non-null field 'name' Мы поддерживаем следующие скаляры в нашем GraphQL API: -| Тип | Описание | -| --- | --- | -| `Bytes` | Массив байтов, представленный в виде шестнадцатеричной строки. Обычно используется для хэшей и адресов Ethereum. | -| `String` | Скаляр для значений `string`. Нулевые символы не поддерживаются и автоматически удаляются. | -| `Boolean` | Скаляр для значений `boolean`. | -| `Int` | Спецификация GraphQL определяет `Int` как имеющий размер 32 байта. | -| `Int8` | 8-байтовое целое число со знаком, также называемое 64-битным целым числом со знаком, может хранить значения в диапазоне от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Предпочтительно использовать это для представления `i64` из Ethereum. | -| `BigInt` | Большие целые числа. Используются для типов Ethereum `uint32`, `int64`, `uint64`, ..., `uint256`. Примечание: Все, что находится ниже `uint32`, например, `int32`, `uint24` или `int8`, представлено как `i32`. | -| `BigDecimal` | `BigDecimal` Десятичные дроби высокой точности, представленные в виде значащего числа и экспоненты. Диапазон значений экспоненты от -6143 до +6144. Округляется до 34 значащих цифр. | +| Тип | Описание | +| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Массив байтов, представленный в виде шестнадцатеричной строки. Обычно используется для хэшей и адресов Ethereum. | +| `String` | Скаляр для значений `string`. Нулевые символы не поддерживаются и автоматически удаляются. | +| `Boolean` | Скаляр для значений `boolean`. | +| `Int` | Спецификация GraphQL определяет `Int` как имеющий размер 32 байта. | +| `Int8` | 8-байтовое целое число со знаком, также называемое 64-битным целым числом со знаком, может хранить значения в диапазоне от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Предпочтительно использовать это для представления `i64` из Ethereum. | +| `BigInt` | Большие целые числа. Используются для типов Ethereum `uint32`, `int64`, `uint64`, ..., `uint256`. Примечание: Все, что находится ниже `uint32`, например, `int32`, `uint24` или `int8`, представлено как `i32`. | +| `BigDecimal` | `BigDecimal` Десятичные дроби высокой точности, представленные в виде значащего числа и экспоненты. Диапазон значений экспоненты от -6143 до +6144. Округляется до 34 значащих цифр. | #### Перечисления @@ -398,11 +422,11 @@ query usersWithOrganizations { #### Добавление комментариев к схеме -Согласно спецификации GraphQL, комментарии можно добавлять над атрибутами объекта схемы с использованием двойных кавычек `""`. Это проиллюстрировано в примере ниже: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -450,7 +474,7 @@ query { } ``` -> **[Управление функциями](#experimental-features):** Начиная с `specVersion` `0.0.4` и далее, `fullTextSearch` должно быть объявлено в разделе `features` в манифесте субграфа. +> **[Управление функциями](#experimental-features):** Начиная с `specVersion` `0.0.4` и далее, ` fullTextSearch ` должно быть объявлено в разделе `features` в манифесте субграфа. ### Поддерживаемые языки @@ -525,17 +549,36 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { ### Рекомендуемые идентификаторы для создания новых объектов -Каждый объект должен иметь `id`, который является уникальным среди всех объектов одного типа. Значение объекта `id` устанавливается при создании этого объекта. Ниже приведены некоторые рекомендуемые значения `id`, которые следует учитывать при создании новых объектов. ПРИМЕЧАНИЕ: Значение `id` должно быть `string`. +Настоятельно рекомендуется использовать `Bytes` в качестве типа для полей `id` и использовать `String` только для атрибутов, которые действительно содержат удобочитаемый текст, например имя токена. Ниже приведены некоторые рекомендуемые значения `id`, которые следует учитывать при создании новых объектов. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- Для объектов, которые хранят агрегированные данные, например ежедневные объемы торгов, `id` обычно содержит номер дня. В данном случае полезно использовать `Bytes` в качестве `id`. Определение `id` будет выглядеть следующим образом: -Мы предоставляем [Библиотеку Graph Typescript](https://github.com/graphprotocol/graph-ts), которая содержит утилиты для взаимодействия с хранилищем узлов The Graph и удобства для обработки данных смарт-контрактов и объектов. Вы можете использовать эту библиотеку в своих мэппингах, импортировав `@graphprotocol/graph-ts` в `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Преобразуйте постоянные адреса в `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +Существует [Библиотека Typescript Graph](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts), которая содержит утилиты для взаимодействия с хранилищем Graph Node и удобства для обработки данных и объектов смарт-контрактов. Её можно импортировать в `mapping.ts` из `@graphprotocol/graph-ts`. + +### Обработка объектов с одинаковыми идентификаторами + +При создании и сохранении нового объекта, если объект с таким же идентификатором уже существует, в процессе слияния приоритетны свойства нового объекта. Это означает, что существующий объект будет обновлен значениями из нового объекта. + +Если для поля нового объекта с тем же идентификатором намеренно установлено нулевое значение, существующий объект будет обновлен с использованием нулевого значения. + +Если для поля в новом объекте с тем же идентификатором не установлено значение, поле также будет иметь значение null. ## Генерация кода -Для упрощения и обеспечения безопасности типов при работе со смарт-контрактами, событиями и сущностями Graph CLI может генерировать типы AssemblyScript на основе схемы GraphQL субграфа и ABI контрактов, включенных в источники данных. +Для упрощения и обеспечения безопасности типов при работе со смарт-контрактами, событиями и объектами Graph CLI может генерировать типы AssemblyScript на основе схемы GraphQL субграфа и ABI контрактов, включенных в источники данных. Это делается с помощью @@ -543,7 +586,7 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { graph codegen [--output-dir ] [] ``` -но в большинстве случаев субграфы уже предварительно сконфигурированы с помощью `package.json`, что позволяет вам просто запустить одно из следующих действий для достижения того же результата: +но в большинстве случаев субграфы уже предварительно сконфигурированы с помощью `package.json`, что позволяет Вам просто запустить одно из следующих действий для достижения того же результата: ```sh # Yarn @@ -553,7 +596,7 @@ yarn codegen npm run codegen ``` -Это сгенерирует класс AssemblyScript для каждого смарт-контракта в файлах ABI, упомянутых в `subgraph.yaml`, позволяя вам привязывать эти контракты к определенным адресам в мэппигах и вызывать контрактные методы, доступные только для чтения, для обрабатываемого блока. Кроме того, для каждого события контракта генерируется класс, обеспечивающий удобный доступ к параметрам события, а также к блоку и транзакции, от которых произошло событие. Все эти типы записываются в `//.ts`. В примере субграфа это будет ` generated/Gravity/Gravity.ts`, позволяющий импортировать эти типы с помощью мэппинга. +Это сгенерирует класс AssemblyScript для каждого смарт-контракта в файлах ABI, упомянутых в `subgraph.yaml`, позволяя Вам привязывать эти контракты к определенным адресам в мэппигах и вызывать контрактные методы, доступные только для чтения, для обрабатываемого блока. Кроме того, для каждого события контракта генерируется класс, обеспечивающий удобный доступ к параметрам события, а также к блоку и транзакции, от которых произошло событие. Все эти типы записываются в `//.ts`. В примере субграфа это будет код `generated/Gravity/Gravity.ts`, позволяющий импортировать эти типы с помощью мэппинга. ```javascript import { @@ -565,7 +608,7 @@ import { } from '../generated/Gravity/Gravity' ``` -В дополнение к этому, для каждого типа сущности в схеме subgraphs GraphQL генерируется по одному классу. Эти классы обеспечивают безопасную для типов загрузку сущностей, доступ к полям сущностей на чтение и запись, а также метод `save()` для записи сущностей в хранилище. Все классы сущностей записываются в `/schema.ts`, что позволяет мэппингам импортировать с их помощью +В дополнение к этому, для каждого типа объекта в схеме GraphQL субграфа генерируется по одному классу. Эти классы обеспечивают безопасную для типов загрузку объектов, доступ к чтению и записи в поля объекта, а также метод `save()` для записи объектов в хранилище. Все классы объектов записываются в `/schema.ts`, что позволяет мэппингам импортировать с их помощью ```javascript import { Gravatar } from '../generated/schema' @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Примечание:** Генерация кода должна выполняться повторно после каждого изменения схемы GraphQL или ABIS, включенного в манифест. Это также должно быть выполнено по крайней мере один раз перед сборкой или развертыванием субграфа. -Генерация кода не проверяет ваш мэппинг код в `src/mapping.ts`. Если вы хотите проверить это, прежде чем пытаться развернуть свой субграф в Graph Explorer, вы можете запустить `yarn build` и исправить любые синтаксические ошибки, которые может обнаружить компилятор TypeScript. +Генерация кода не проверяет Ваш мэппинг код в `src/mapping.ts`. Если Вы хотите проверить это, прежде чем пытаться развернуть свой субграф в Graph Explorer, Вы можете запустить `yarn build` и исправить любые синтаксические ошибки, которые может обнаружить компилятор TypeScript. ## Шаблоны источников данных @@ -583,7 +626,7 @@ import { Gravatar } from '../generated/schema' ### Источник данных для основного контракта -Сначала вы определяете обычный источник данных для основного контракта. Во фрагменте ниже показан упрощенный пример источника данных для контракта фабрики обмена [Uniswap](https://uniswap.org). Обратите внимание на обработчик события `New Exchange(address,address)`. Этот сигнал выдается, когда новый контракт обмена создается в цепочке с помощью заводского контракта. +Сначала Вы определяете обычный источник данных для основного контракта. Во фрагменте ниже показан упрощенный пример источника данных для контракта фабрики обмена [Uniswap](https://uniswap.org). Обратите внимание на обработчик события `New Exchange(address,address)`. Этот сигнал выдается, когда новый контракт обмена создается в цепочке с помощью заводского контракта. ```yaml dataSources: @@ -610,7 +653,7 @@ dataSources: ### Шаблоны источников данных для динамически создаваемых контрактов -Затем вы добавляете _data source templates_ в манифест. Они идентичны обычным источникам данных, за исключением того, что в них отсутствует предопределенный адрес контракта в `source`. Как правило, вы определяете один шаблон для каждого типа субконтракта, управляемого родительским контрактом, или на который ссылается родительский контракт. +Затем Вы добавляете _data source templates_ в манифест. Они идентичны обычным источникам данных, за исключением того, что в них отсутствует предопределенный адрес контракта в `source`. Как правило, Вы определяете один шаблон для каждого типа субконтракта, управляемого родительским контрактом, или на который ссылается родительский контракт. ```yaml dataSources: @@ -646,7 +689,7 @@ templates: ### Создание шаблона источника данных -На заключительном шаге вы обновляете мэппинг основного контракта, чтобы создать экземпляр динамического источника данных из одного из шаблонов. В данном примере в отображение основного контракта импортируется шаблон `Exchange` и вызывается метод `Exchange.create(address)`, чтобы начать индексирование нового контракта обмена. +На заключительном шаге Вы обновляете мэппинг основного контракта, чтобы создать экземпляр динамического источника данных из одного из шаблонов. В данном примере в отображение основного контракта импортируется шаблон `Exchange` и вызывается метод `Exchange.create(address)`, чтобы начать индексирование нового контракта обмена. ```typescript import { Exchange } from '../generated/templates' @@ -659,8 +702,8 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Примечание:** Новый источник данных будет обрабатывать только вызовы и события для блока, в котором он был создан, и всех последующих блоков, но не будет обрабатывать исторические данные, т.е. данные, которые содержатся в предыдущих блоках. -> -> Если предыдущие блоки содержат данные, относящиеся к новому источнику данных, лучше всего проиндексировать эти данные, считывая текущее состояние контракта и создавая сущности, представляющие это состояние на момент создания нового источника данных. +> +> Если предыдущие блоки содержат данные, относящиеся к новому источнику данных, лучше всего проиндексировать эти данные, считывая текущее состояние контракта и создавая объекты, представляющие это состояние на момент создания нового источника данных. ### Контекст источника данных @@ -689,7 +732,7 @@ let tradingPair = context.getString('tradingPair') ## Стартовые блоки -`startBlock` - это необязательный параметр, который позволяет вам определить, с какого блока в цепочке источник данных начнет индексацию. Установка начального блока позволяет источнику данных пропускать потенциально миллионы блоков, которые не имеют отношения к делу. Как правило, разработчик субграфа устанавливает `startBlock` в блок, в котором был создан смарт-контракт источника данных. +`startBlock` - это необязательный параметр, который позволяет Вам определить, с какого блока в цепочке источник данных начнет индексацию. Установка начального блока позволяет источнику данных пропускать потенциально миллионы блоков, которые не имеют отношения к делу. Как правило, разработчик субграфа устанавливает `startBlock` в блок, в котором был создан смарт-контракт источника данных. ```yaml dataSources: @@ -716,14 +759,222 @@ dataSources: ``` > **Примечание:** Блок создания контракта можно быстро найти в Etherscan: -> +> > 1. Найдите контракт, введя его адрес в строке поиска. > 2. Нажмите на хэш транзакции создания в разделе `Contract Creator`. -> 3. Загрузите страницу сведений о транзакции, где вы найдете начальный блок для этого контракта. +> 3. Загрузите страницу сведений о транзакции, где Вы найдете начальный блок для этого контракта. + +## Подсказки индексатору + +Параметр `indexerHints` в манифесте субграфа содержит директивы для индексаторов по обработке и управлению субграфом. Это влияет на оперативные решения по обработке данных, стратегиям индексации и оптимизации. В настоящее время в нем предусмотрена опция `prune` для управления сохранением или сокращением исторических данных. + +> Эта функция доступна начиная с `specVersion: 1.0.0` + +### Сокращение + +`indexerHints.prune`: определяет срок хранения исторических данных блока для субграфа. Опции включают в себя: + +1. `"never"`: удаление исторических данных не производится; хранит всю историю. +2. `"auto"`: сохраняет минимально необходимую историю, заданную индексатором, оптимизируя производительность запросов. +3. Конкретное число: устанавливает индивидуальный лимит на количество сохраняемых исторических блоков. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Обычно рекомендуется использовать `"auto"`, поскольку оно максимально увеличивает производительность запросов и достаточно для большинства пользователей, которым не требуется доступ к обширным историческим данным. + +Для субграфов, использующих [запросы о путешествиях во времени](/querying/graphql-api/#time-travel-queries), рекомендуется либо установить определенное количество блоков для хранения исторических данных, либо использовать `prune: never`, чтобы сохранить все исторические состояния объектов. Ниже приведены примеры того, как настроить оба параметра в настройках вашего субграфа: + +Чтобы сохранить определенный объем исторических данных: + +``` + indexerHints: + prune: 1000 # Замените 1000 на желаемое количество блоков, которые нужно сохранить +``` + +Чтобы сохранить полную историю состояний объекта, выполните следующее: + +``` +indexerHints: + prune: never +``` + +Вы можете проверить самый ранний блок (с историческим состоянием) для данного субграфа, выполнив запрос к [API статуса индексирования](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Обратите внимание на то, что `earliestBlock` — это самый ранний блок с историческими данными, который будет более поздним, чем `startBlock`, указанный в манифесте, если субграф был удален. + +## Обработчики событий + +Обработчики событий в субграфе реагируют на конкретные события, генерируемые смарт-контрактами в блокчейне, и запускают обработчики, определенные в манифесте подграфа. Это позволяет субграфам обрабатывать и хранить данные о событиях в соответствии с определенной логикой. + +### Определение обработчика событий + +Обработчик событий объявлен внутри источника данных в конфигурации YAML субграфа. Он определяет, какие события следует прослушивать, и соответствующую функцию, которую необходимо выполнить при обнаружении этих событий. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Фильтры индексированных аргументов/фильтры тем + +> **Требуется `specVersion` >= 1.2.0** + +Фильтры тем, также известные как фильтры индексированных аргументов, представляют собой мощную функцию в субграфах, которая позволяет точно фильтровать события блокчейна на основе значений их индексированных аргументов. Эти фильтры особенно полезны для выделения конкретных событий из огромного потока событий в блокчейне, позволяя субграфам работать более эффективно, сосредотачиваясь только на соответствующих данных. Это может быть исключительно полезно для таких случаев использования, как создание персональных субграфов, которые отслеживают определенные адреса и их взаимодействие с различными смарт-контрактами в блокчейне. + +#### Как работают фильтры тем + +Когда смарт-контракт генерирует событие, любые аргументы, помеченные как индексированные, могут использоваться в качестве фильтров в манифесте субграфа. Это позволяет субграфу выборочно прослушивать события, соответствующие этим индексированным аргументам. Первый индексированный аргумент события соответствует `topic1`, второй — `topic2` и т. д. до `topic3`, поскольку виртуальная машина Ethereum (EVM) допускает до трех индексированных аргументов на одно событие. + +```solidity +// Идентификатор лицензии SPDX: MIT +pragma solidity ^0.8.0; + +contract Token { + // Объявление события с индексируемыми параметрами для адресов + event Transfer(address indexed from, address indexed to, uint256 value); + + // Функция для имитации передачи токенов + function transfer(address to, uint256 value) public { + // Генерация события Transfer с указанием from, to и value + emit Transfer(msg.sender, to, value); + } +} +``` + +В этом примере: + +- Событие `Transfer` используется для протоколирования транзакций токенов между адресами. +- Параметры `from` и `to` индексируются, что позволяет прослушивателям событий фильтровать и отслеживать передачи, включающие определенные адреса. +- Функция `transfer` — это простое представление действия передачи токена, которое генерирует событие Transfer при каждом вызове. + +#### Конфигурация в субграфах + +Фильтры тем определяются непосредственно в конфигурации обработчика событий в манифесте субграфа. Вот как они настроены: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +В этой настройке: + +- `topic1` соответствует первому индексированному аргументу события, `topic2` — второму, а `topic3` — третьему. +- Каждая тема может иметь одно или несколько значений, и событие обрабатывается только в том случае, если оно соответствует одному из значений в каждой указанной теме. + +##### Логика фильтра + +- В рамках одной темы: логика действует как условие OR. Событие будет обработано, если оно соответствует любому из перечисленных значений в данной теме. +- Между разными темами: логика функционирует как условие AND. Событие должно удовлетворять всем указанным условиям в разных темах, чтобы вызвать соответствующий обработчик. + +### Пример 1. Отслеживание трансферных транзакций по одному адресу + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +В данной конфигурации: + +- `topic1` фильтрует события передачи на основе адреса отправителя, а `topic2` фильтрует события на основе адреса получателя. +- Субграф будет индексировать транзакции, в которых указанный адрес участвует либо в качестве отправителя, либо в качестве получателя. + +### Пример 2. Отслеживание прямых переводов с адреса A на адрес B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +В данной конфигурации: + +- `topic1` настроен на фильтрацию событий `Transfer`, где `0xAddressA` является отправителем. +- `topic2` настроен на фильтрацию событий `Transfer`, где `0xAddressB` является получателем. +- Субграф будет индексировать только транзакции, которые происходят непосредственно от `0xAddressA` к `0xAddressB`. + +### Пример 3. Отслеживание транзакций в любом направлении между двумя адресами + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +В данной конфигурации: + +- `topic1` настроен на фильтрацию событий `Transfer`, где `0xAddressA` — это либо отправитель, либо получатель. +- `topic2` настроен на фильтрацию событий `Transfer`, где `0xAddressB` — это отправитель или получатель. +- Субграф будет индексировать транзакции, происходящие в любом направлении между `0xAddressA` и `0xAddressB`, что позволяет осуществлять комплексный мониторинг взаимодействий с участием обоих адресов. ## Обработчики вызовов -В то время как события обеспечивают эффективный способ сбора соответствующих изменений в состоянии контракта, многие контракты избегают создания журналов для оптимизации затрат на газ. В этих случаях субграф может подписываться на обращения к контракту источника данных. Это достигается путем определения обработчиков вызовов, ссылающихся на сигнатуру функции, и обработчика мэппинга, который будет обрабатывать вызовы этой функции. Чтобы обработать эти вызовы, обработчик мэппинга получит `ethereum.Call` в качестве аргумента, содержащего типизированные входы и выходы вызова. Вызовы, выполненные на любой глубине цепочки вызовов транзакции, запускают мэппинг, позволяя фиксировать действия с контрактом источника данных через прокси-контракты. +Хотя события обеспечивают эффективный способ сбора соответствующих изменений в состоянии контракта, многие контракты избегают создания логов для оптимизации затрат на газ. В этих случаях субграф может подписаться на обращения к контракту источника данных. Это достигается путем определения обработчиков вызовов, ссылающихся на сигнатуру функции, и обработчика мэппинга, который будет обрабатывать вызовы этой функции. Чтобы обработать эти вызовы, обработчик мэппинга получит `ethereum.Call` в качестве аргумента, содержащего типизированные входы и выходы вызова. Вызовы, выполненные на любой глубине цепочки вызовов транзакции, запускают мэппинг, позволяя фиксировать действия с контрактом источника данных через прокси-контракты. Обработчики вызовов срабатывают только в одном из двух случаев: когда указанная функция вызывается учетной записью, отличной от самого контракта, или когда она помечена как внешняя в Solidity и вызывается как часть другой функции в том же контракте. @@ -731,7 +982,7 @@ dataSources: ### Определение обработчика вызова -Чтобы определить обработчик вызовов в вашем манифесте, просто добавьте массив `callHandlers` под источником данных, на который вы хотели бы подписаться. +Чтобы определить обработчика вызовов в Вашем манифесте, просто добавьте массив `callHandlers` под источником данных, на который Вы хотели бы подписаться. ```yaml dataSources: @@ -756,7 +1007,7 @@ dataSources: handler: handleCreateGravatar ``` -`function` - это нормализованная сигнатура функции, по которой можно фильтровать вызовы. Свойство `handler` - это имя функции в вашем мэппинге, которую вы хотели бы выполнить при вызове целевой функции в контракте источника данных. +` function ` - это нормализованная сигнатура функции, по которой можно фильтровать вызовы. Свойство `handler` - это имя функции в Вашем мэппинге, которую Вы хотели бы выполнить при вызове целевой функции в контракте источника данных. ### Функция мэппинга @@ -775,11 +1026,11 @@ export function handleCreateGravatar(call: CreateGravatarCall): void { } ``` -Функция `handleCreateGravatar` принимает новый `CreateGravatarCall`, который является подклассом `ethereum.Call`, предоставляемый `@graphprotocol/graph-ts`, который включает в себя введенные входы и выходы о звонке. Тип `CreateGravatarCall` генерируется для вас при запуске `graph codegen`. +Функция `handleCreateGravatar` принимает новый `CreateGravatarCall`, который является подклассом `ethereum.Call`, предоставляемый `@graphprotocol/graph-ts`, который включает в себя введенные входы и выходы о звонке. Тип `CreateGravatarCall` генерируется для Вас при запуске `graph codegen`. ## Обработчики блоков -В дополнение к подписке на события контракта или вызовы функций, субграф может захотеть обновлять свои данные по мере добавления новых блоков в цепочку. Чтобы достичь этого, субграф может запускать функцию после каждого блока или после блоков, которые соответствуют предопределенному фильтру. +В дополнение к подписке на события контракта или вызовы функций, субграф может захотеть обновить свои данные по мере добавления в цепочку новых блоков. Чтобы добиться этого, субграф может запускать функцию после каждого блока или после блоков, соответствующих заранее определенному фильтру. ### Поддерживаемые фильтры @@ -823,7 +1074,7 @@ dataSources: #### Фильтр опроса -> **Requires `specVersion` >= 0.0.8** +> **Требуется `specVersion` >= 0.0.8** > **Примечание.** Фильтры опроса доступны только для источников данных `kind: ethereum`. @@ -839,7 +1090,7 @@ blockHandlers: #### Однократный фильтр -> **Requires `specVersion` >= 0.0.8** +> **Требуется `specVersion` >= 0.0.8** > **Примечание.** Однократные фильтры доступны только для источников данных `kind: ethereum`. @@ -862,7 +1113,7 @@ export function handleOnce(block: ethereum.Block): void { ### Функция мэппинга -Функция мэппинга получит `ethereum.Block` в качестве своего единственного аргумента. Подобно функциям мэппинга событий, эта функция может получать доступ к существующим в хранилище сущностям субграфа, вызывать смарт-контракты и создавать или обновлять сущности. +Функция мэппинга получит `ethereum.Block` в качестве своего единственного аргумента. Подобно функциям мэппинга событий, эта функция может получать доступ к существующим в хранилище объектам субграфа, вызывать смарт-контракты и создавать или обновлять объекты. ```typescript import { ethereum } from '@graphprotocol/graph-ts' @@ -876,7 +1127,7 @@ export function handleBlock(block: ethereum.Block): void { ## Анонимные события -Если вам нужно обрабатывать анонимные события в Solidity, это можно сделать, указав тему события 0, как показано в примере: +Если Вам нужно обрабатывать анонимные события в Solidity, это можно сделать, указав тему события 0, как показано в примере: ```yaml eventHandlers: @@ -887,11 +1138,11 @@ eventHandlers: Событие будет запущено только в том случае, если подпись и тема 0 совпадают. По умолчанию `topic0` равен хэшу сигнатуры события. -## Квитанции о транзакциях в обработчиках событий +## Подтверждения транзакций в обработчиках событий -Начиная с `specVersion` `0.0.5` и `apiVersion` `0.0.7` обработчики событий могут иметь доступ к квитанции для транзакции, которая их отправила. +Начиная с `specVersion` `0.0.5` и `apiVersion` `0.0.7` обработчики событий могут иметь доступ к подтверждению транзакции, которая их отправила. -Для этого обработчики событий должны быть объявлены в манифесте субграфа с новым ключом ` receipt: true`, который является необязательным и по умолчанию имеет значение false. +Для этого обработчики событий должны быть объявлены в манифесте субграфа с новым ключом `receipt: true`, который является необязательным и по умолчанию имеет значение false. ```yaml eventHandlers: @@ -900,13 +1151,13 @@ eventHandlers: receipt: true ``` -Внутри функции обработчика доступ к квитанции можно получить в поле `Event.receipt`. Если для ключа `receipt` установлено значение`false` или оно опущено в манифесте, вместо него будет возвращено значение `null`. +Внутри функции обработчика доступ к подтверждению можно получить в поле `Event.receipt`. Если для ключа `receipt` установлено значение`false` или оно опущено в манифесте, вместо него будет возвращено значение `null`. -## Экспериментальные возможности +## Экспериментальные функции -Начиная с `specVersion` `0.0.4`, объекты субграфа должны быть явно объявлены в разделе `features` на верхнем уровне файла манифеста, используя их имя `camelCase`, как указано в таблице ниже: +Начиная с `specVersion` `0.0.4`, функции субграфа должны быть явно объявлены в разделе `features` на верхнем уровне файла манифеста, используя их имя `camelCase`, как указано в таблице ниже: -| Возможность | Имя | +| Функция | Имя | | ---------------------------------------------------------- | ---------------------------------------------------- | | [Нефатальные ошибки](#non-fatal-errors) | `nonFatalErrors` | | [Полнотекстовый поиск](#defining-fulltext-search-fields) | `fullTextSearch` | @@ -924,27 +1175,27 @@ features: dataSources: ... ``` -Обратите внимание, что использование функции без ее объявления приведет к ** validation error ** во время развертывания субграфа, но никаких ошибок не возникнет, если функция объявлена, но не используется. +Обратите внимание, что использование функции без ее объявления приведет к **ошибке проверки** во время развертывания субграфа, но никаких ошибок не возникнет, если функция объявлена, но не используется. ### IPFS на контрактах Ethereum -Распространенным вариантом сочетания IPFS с Ethereum является хранение данных в IPFS, которые было бы слишком дорого поддерживать в цепочке, и ссылка на хэш IPFS в контрактах Ethereum. +Распространенным вариантом сочетания IPFS с Ethereum является хранение данных в IPFS, которые было бы слишком дорого поддерживать в он-чейне, и ссылка на хэш IPFS в контрактах Ethereum. -Учитывая такие хэши IPFS, субграфы могут считывать соответствующие файлы из IPFS, используя `ipfs.cat ` и `ipfs.map`. Для надежного выполнения этой задачи необходимо, чтобы эти файлы были привязаны к узлу IPFS с высокой доступностью, так чтобы Узел IPFS [размещенный сервис](https://thegraph.com/hosted-service) мог найти их при индексировании. +Учитывая такие хэши IPFS, субграфы могут считывать соответствующие файлы из IPFS, используя `ipfs.cat ` и `ipfs.map`. Для надежного выполнения этой задачи необходимо, чтобы эти файлы были привязаны к узлу IPFS с высокой доступностью, так чтобы[хостинговый сервис](https://thegraph.com/hosted-service) узла IPFS мог найти их при индексировании. -> **Примечание:** Сеть The Graph пока не поддерживает `ipfs.cat ` и `ipfs.map`, и разработчикам не следует разворачивать субграфы, использующие эту функциональность, в сети через Studio. +> **Примечание:** Сеть The Graph пока не поддерживает `ipfs.cat` и `ipfs.map`, и разработчикам не следует разворачивать субграфы, использующие эту функциональность, в сети через Studio. -> **[Управление функционалом](#experimental-features):** `ipfsOnEthereumContracts` должны быть объявлены в разделе `features` в манифесте субграфа. Для цепочек, отличных от EVM, псевдоним `nonDeterministicIpfs` также может использоваться для той же цели. +> **[Управление функционалом](#experimental-features):** `ipfsOnEthereumContracts` должны быть объявлены в разделе `features` в манифесте субграфа. Для чейнов, отличных от EVM, псевдоним `nonDeterministicIpfs` также может использоваться с той же целью. -При запуске локального узла The Graph необходимо установить переменную окружения `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS`, чтобы индексировать ce, графы, используя эту экспериментальную функциональность. +При запуске локального узла The Graph необходимо установить переменную окружения `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS`, чтобы индексировать субграфы, используя эту экспериментальную функциональность. ### Нефатальные ошибки -Ошибки индексирования в уже синхронизированных субграфах по умолчанию приведут к сбою субграфа и прекращению синхронизации. В качестве альтернативы субграфы можно настроить на продолжение синхронизации при наличии ошибок, игнорируя изменения, внесенные обработчиком, который спровоцировал ошибку. Это дает авторам субграфов время на исправление своих субграфов, в то время как запросы продолжают выполняться к последнему блоку, хотя результаты могут быть несовместимыми из-за ошибки, вызвавшей ошибку. Обратите внимание, что некоторые ошибки по-прежнему всегда являются фатальными. Чтобы быть не фатальной, ошибка должна быть заведомо детерминированной. +Ошибки индексирования в уже синхронизированных субграфах по умолчанию приведут к сбою субграфа и прекращению синхронизации. В качестве альтернативы субграфы можно настроить на продолжение синхронизации при наличии ошибок, игнорируя изменения, внесенные обработчиком, который спровоцировал ошибку. Это дает авторам субграфов время на исправление своих субграфов, в то время как запросы к последнему блоку продолжают обрабатываться, хотя результаты могут быть противоречивыми из-за бага, вызвавшего ошибку. Обратите внимание на то, что некоторые ошибки всё равно всегда будут фатальны. Чтобы быть нефатальной, ошибка должна быть детерминированной. -> **Примечание:** Сеть The Graph пока не поддерживает нефатальные ошибки, и разработчикам не следует развертывать субграфы, использующие эту функциональность, в сети через Studio. +> **Примечание:** Сеть The Graph пока не поддерживает нефатальные ошибки, и разработчикам не следует разворачивать субграфы, использующие эту функциональность, в сети через Studio. -Для включения нефатальных ошибок необходимо установить в манифесте субграфа следующий флаг возможности: +Для включения нефатальных ошибок необходимо установить в манифесте субграфа следующий флаг функции: ```yaml specVersion: 0.0.4 @@ -954,7 +1205,7 @@ features: ... ``` -Запрос также должен разрешить запрос данных с потенциальными несоответствиями с помощью аргумента `subgraphError`. Также рекомендуется запросить `_meta`, для проверки того, что субграф пропустил ошибки, как в примере: +В запросе также необходимо разрешить запрос данных с потенциальными несоответствиями с помощью аргумента `subgraphError`. Также рекомендуется запросить `_meta`, для проверки того, что субграф пропустил ошибки, как в примере: ```graphql foos(first: 100, subgraphError: allow) { @@ -966,7 +1217,7 @@ _meta { } ``` -Если субграф обнаруживает ошибку, этот запрос вернет как данные, так и graphqlerror с сообщением `"indexing_error"`, как в данном примере ответа: +Если субграф обнаруживает ошибку, этот запрос вернет как данные, так и ошибку graphql с сообщением `"indexing_error"`, как в данном примере ответа: ```graphql "data": { @@ -986,13 +1237,13 @@ _meta { ] ``` -### Графтинг на существующие субграфы +### Графтинг (перенос) на существующие субграфы > **Примечание:** не рекомендуется использовать графтинг при первоначальном переходе на сеть The Graph. Подробнее [здесь](/cookbook/grafting/#important-note-on-grafting-when-upgrading-to-the-network). -Когда субграф развертывается впервые, он начинает индексировать события в блоке genesis соответствующей цепочки (или в `startBlock`, определенном для каждого источника данных). В некоторых обстоятельствах полезно повторно использовать данные из существующего субграфа и начинать индексацию с гораздо более позднего блока. Этот режим индексации называется _Grafting_. Графтинг, например, полезен во время разработки, чтобы быстро устранить простые ошибки в отображениях или временно возобновить работу существующего субграфа после его сбоя. +Когда субграф развертывается впервые, он начинает индексировать события в блоке genesis соответствующего чейна (или в `startBlock`, определенном для каждого источника данных). В некоторых обстоятельствах полезно повторно использовать данные из существующего субграфа и начинать индексацию с гораздо более позднего блока. Этот режим индексации называется _Grafting_. Графтинг, например, полезен во время разработки, чтобы быстро устранить простые ошибки в отображениях или временно возобновить работу существующего субграфа после его сбоя. -Субграф графтится к базовому субграфу, когда манифест субграфа в `subgraph.yaml` содержит блок `graft` на верхнем уровне: +Субграф графтится (переносится) к базовому субграфу, когда манифест субграфа в `subgraph.yaml` содержит блок `graft` на верхнем уровне: ```yaml description: ... @@ -1001,33 +1252,33 @@ graft: block: 7345624 # Block number ``` -Когда развертывается субграф, манифест которого содержит блок `graft`, узел The Graph скопирует данные `базового` ce, графа вплоть до указанного `block` включительно, а затем продолжит индексирование нового субграфа начиная с этого блока. Базовый субграф должен существовать на целевом экземпляре узла The Graph и должен быть проиндексирован по крайней мере до заданного блока. Из-за этого ограничения графтинг следует использовать только в процессе разработки или в экстренных случаях, чтобы ускорить создание эквивалентного графтового субграфа. +Когда развертывается субграф, манифест которого содержит блок `graft`, узел The Graph скопирует данные `base` субграфа вплоть до указанного `block` включительно, а затем продолжит индексирование нового субграфа начиная с этого блока. Базовый субграф должен существовать на целевом экземпляре узла The Graph и должен быть проиндексирован по крайней мере до заданного блока. Из-за этого ограничения графтинг следует использовать только в процессе разработки или в экстренных случаях, чтобы ускорить создание эквивалентного графтового субграфа. -Поскольку графтинг копирует, а не индексирует базовые данные, гораздо быстрее перенести субграф в нужный блок, чем индексировать с нуля, хотя для очень больших субграфов копирование исходных данных может занять несколько часов. Пока графтовый субграф инициализируется, узел The Graph будет регистрировать информацию о типах сущностей, которые уже были скопированы. +Поскольку графтинг копирует, а не индексирует базовые данные, гораздо быстрее перенести субграф в нужный блок, чем индексировать с нуля, хотя для очень больших субграфов копирование исходных данных может занять несколько часов. Пока графтовый субграф инициализируется, узел The Graph будет регистрировать информацию о типах объектов, которые уже были скопированы. Графтовый субграф может использовать схему GraphQL, которая не идентична схеме базового субграфа, а просто совместима с ней. Она сама по себе должна быть допустимой схемой субграфа, но может отличаться от схемы базового субграфа следующими способами: -- Она добавляет или удаляет типы сущностей -- Она удаляет атрибуты из типов сущностей -- Она добавляет в типы сущностей атрибуты с возможностью обнуления +- Она добавляет или удаляет типы объектов +- Она удаляет атрибуты из типов объектов +- Она добавляет в типы объектов атрибуты с возможностью обнуления - Она превращает ненулевые атрибуты в нулевые - Она добавляет значения в перечисления - Она добавляет или удаляет интерфейсы -- Она изменяется в зависимости от того, для каких типов сущностей реализован тот или иной интерфейс +- Она изменяется в зависимости от того, для каких типов объектов реализован тот или иной интерфейс > **[Управление функционалом](#experimental-features):** `grafting` должен быть объявлен в разделе `features` в манифесте субграфа. ## Источники файловых данных -Источники файловых данных — это новая функциональность субграфа для надежного и расширяемого доступа к данным вне цепочки во время индексации. Источники данных файлов поддерживают получение файлов из IPFS и Arweave. +Источники файловых данных — это новая функциональность субграфа для надежного и расширенного доступа к данным вне чейна во время индексации. Источники данных файлов поддерживают получение файлов из IPFS и Arweave. > Это также закладывает основу для детерминированного индексирования данных вне сети, а также потенциального введения произвольных данных из HTTP-источников. ### Обзор -Вместо извлечения файлов «в очереди» во время выполнения обработчика вводятся шаблоны, которые могут создаваться как новые источники данных для заданного идентификатора файла. Эти новые источники данных извлекают файлы, повторяя попытки, если они не увенчались успехом, запуская специальный обработчик, когда файл найден. +Вместо извлечения файлов «по очереди» во время выполнения обработчика вводятся шаблоны, которые могут создаваться как новые источники данных для заданного идентификатора файла. Эти новые источники данных извлекают файлы, повторяя попытки, если они не увенчались успехом, и запускают специальный обработчик, когда файл найден. -Это похоже на [существующие шаблоны источников данных](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), которые используются для динамического создания новых источников данных на чейн-основе. +Это похоже на [существующие шаблоны источников данных](/developing/creating-a-subgraph/#data-source-templates), которые используются для динамического создания новых источников данных на чейн-основе. > Это заменяет существующий API `ipfs.cat` @@ -1037,13 +1288,13 @@ graft: Для файловых источников данных требуется graph-ts >=0.29.0 и graph-cli >=0.33.1 -#### Добавить новый тип сущности, который будет обновляться при обнаружении файлов +#### Добавьте новый тип объекта, который будет обновляться при обнаружении файлов -Источники файловых данных не могут получать доступ к сущностям на чейн-основе или обновлять их, но должны обновлять сущности, специфичные для файлов. +Источники файловых данных не могут получать доступ к объектам на чейн-основе или обновлять их, но должны обновлять объекты, специфичные для файлов. -Это может означать разделение полей существующих сущностей на отдельные сущности, связанные между собой. +Это может означать разделение полей существующих объектов на отдельные объекты, связанные между собой. -Первоначальная объединенная сущность: +Исходный объединенный объект: ```graphql type Token @entity { @@ -1061,7 +1312,7 @@ type Token @entity { } ``` -Новая разделенная сущность: +Новый разделенный объект: ```graphql type Token @entity { @@ -1082,9 +1333,9 @@ type TokenMetadata @entity { } ``` -Если между родительской сущностью и результирующей сущностью-источником данных существует связь1:1, то наиболее простым вариантом будет связать родительскую сущность с результирующей файловой сущностью, используя в качестве поиска IPFS CID. Свяжитесь с нами в Discord, если у вас возникли трудности с моделированием новых сущностей на основе файлов! +Если между родительским объектом и результирующим объектом-источником данных существует связь1:1, то наиболее простым вариантом будет связать родительский объект с результирующим файловым объектом, используя в качестве поиска IPFS CID. Свяжитесь с нами в Discord, если у Вас возникли трудности с моделированием новых объектов на основе файлов! -> Вы можете использовать [вложенные фильтры](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) для фильтрации родительских объектов на основе этих вложенных сущностей. +> Вы можете использовать [вложенные фильтры](/querying/graphql-api/#example-for-nested-entity-filtering) для фильтрации родительских объектов на основе этих вложенных объектов. #### Добавьте новый шаблонный источник данных с помощью `kind: file/ipfs` или `kind: file/arweave`. @@ -1106,13 +1357,13 @@ templates: file: ./abis/Token.json ``` -> В настоящее время требуется `abis` хотя невозможно вызывать контракты из файловых источников данных +> В настоящее время требуется `abis`, хотя невозможно вызывать контракты из файловых источников данных -В файле-источнике данных должны быть конкретно указаны все типы сущностей, с которыми он будет взаимодействовать в рамках `entities`. Дополнительные сведения см. в разделе [ограничения](#Limitations). +В файле-источнике данных должны быть конкретно указаны все типы объектов, с которыми он будет взаимодействовать в рамках `entities`. Дополнительные сведения см. в разделе [ограничения](#limitations). #### Создание нового обработчика для обработки файлов -Этот обработчик должен принимать один параметр `Bytes`, который будет содержимым файла, когда он будет найден, который затем можно будет обработать. Часто это файл JSON, который можно обработать с помощью помощников `graph-ts` ([документация](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +Этот обработчик должен принимать один параметр `Bytes`, который будет содержимым файла, когда он будет найден, который затем можно будет обработать. Часто это файл JSON, который можно обработать с помощью помощников `graph-ts` ([документация](/developing/assemblyscript-api/#json-api)). Доступ к CID файла в виде читаемой строки можно получить через `dataSource` следующим образом: @@ -1147,16 +1398,16 @@ export function handleMetadata(content: Bytes): void { } ``` -#### Размножение файловых источников данных при необходимости +#### Создание файловых источников данных при необходимости Теперь вы можете создавать файловые источники данных во время выполнения обработчиков на чейн-основе: - Импортируйте шаблон из автоматически созданных `templates` - вызовите `TemplateName.create(cid: string)` из мэппинга, где cid является действительным идентификатором контента для IPFS или Arweave -Для IPFS Нода Graph Node поддерживает [идентификаторы контента v0 и v1](https://docs.ipfs.tech/concepts/content-addressing/), а также идентификаторы контента с каталогами (например, `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci). /metadata.json`). +Для IPFS Graph Node поддерживает [идентификаторы контента v0 и v1](https://docs.ipfs.tech/concepts/content-addressing/), а также идентификаторы контента с каталогами (например, `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +Что касается Arweave, то начиная с версии 0.33.0 Graph Node может извлекать файлы, хранящиеся в Arweave, на основе их [ID транзакции](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) из шлюза Arweave ([файл примера](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave поддерживает транзакции, загруженные через Irys (ранее Bundlr), а Graph Node также может получать файлы на основе [манифестов Irys](https://docs.irys.xyz/overview/gateways#indexing). Пример: @@ -1189,35 +1440,35 @@ export function handleTransfer(event: TransferEvent): void { Это создаст новый источник данных файла, который будет опрашивать настроенную конечную точку IPFS или Arweave Graph Node, повторяя попытку, если она не найдена. Когда файл будет найден, будет выполнен обработчик источника данных файла. -В этом примере CID используется для поиска между родительской сущностью `Token` и результирующей сущностью `TokenMetadata`. +В этом примере CID используется для поиска между родительским объектом `Token` и результирующим объектом `TokenMetadata`. > Раньше это была точка, в которой разработчик субграфа вызывал `ipfs.cat(CID)` для извлечения файла -Поздравляем, вы используете файловые источники данных! +Поздравляем, Вы используете файловые источники данных! #### Развертывание субграфов -Теперь вы можете `build` (построить) и ` deploy` (развернуть) свой субграф на любом узле The Graph >=v0.30.0-rc.0. +Теперь Вы можете `build` (построить) и `deploy` (развернуть) свой субграф на любом узле The Graph >=v0.30.0-rc.0. #### Ограничения -Обработчики и сущности файловых источников данных изолированы от других сущностей субграфа, что гарантирует их детерминированность при выполнении и исключает загрязнение источников данных на чейн-основе. В частности: +Обработчики и объекты файловых источников данных изолированы от других объектов субграфа, что гарантирует их детерминированность при выполнении и исключает загрязнение источников данных на чейн-основе. В частности: -- Сущности, созданные с помощью файловых источников данных, неизменяемы и не могут быть обновлены -- Обработчики файловых источников данных не могут получить доступ к сущностям из других файловых источников данных +- Объекты, созданные с помощью файловых источников данных, неизменяемы и не могут быть обновлены +- Обработчики файловых источников данных не могут получить доступ к объектам из других файловых источников данных - Объекты, связанные с источниками данных файлов, не могут быть доступны обработчикам на чейн-основе -> Хотя это ограничение не должно вызывать проблем в большинстве случаев, для некоторых оно может вызвать сложности. Если у вас возникли проблемы с моделированием ваших файловых данных в субграфе, свяжитесь с нами через Discord! +> Хотя это ограничение не должно вызывать проблем в большинстве случаев, для некоторых оно может вызвать сложности. Если у Вас возникли проблемы с моделированием Ваших файловых данных в субграфе, свяжитесь с нами через Discord! Кроме того, невозможно создать источники данных из файлового источника данных, будь то источник данных onchain или другой файловый источник данных. Это ограничение может быть снято в будущем. #### Лучшие практики -Если вы связываете метаданные NFT с соответствующими токенами, используйте хэш IPFS метаданных для ссылки на сущность Metadata из сущности Token. Сохраните сущность Metadata, используя хэш IPFS в качестве идентификатора. +Если Вы связываете метаданные NFT с соответствующими токенами, используйте хэш IPFS метаданных для ссылки на объект Metadata из объекта Token. Сохраните объект Metadata, используя хэш IPFS в качестве идентификатора. -Вы можете использовать [Контекст источника данных](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) при создании файловых источников данных для передачи дополнительной информации, которая будет доступна обработчику файлового источника данных. +Вы можете использовать [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) при создании файловых источников данных для передачи дополнительной информации, которая будет доступна обработчику файлового источника данных. -Если у вас есть сущности, которые обновляются несколько раз, создайте уникальные сущности на основе файлов, используя хэш IPFS и идентификатор сущности, и ссылайтесь на них, используя производное поле в сущности на чейн-основе. +Если у Вас есть объекты, которые обновляются несколько раз, создайте уникальные объекты на основе файлов, используя хэш IPFS и идентификатор объекта, и ссылайтесь на них, используя производное поле в объекте на чейн-основе. > Мы работаем над улучшением приведенной выше рекомендации, поэтому запросы возвращают только "самую последнюю" версию @@ -1225,7 +1476,7 @@ export function handleTransfer(event: TransferEvent): void { Файловые источники данных в настоящее время требуют ABI, даже если ABI не используются ([проблема](https://github.com/graphprotocol/graph-cli/issues/961)). Обходным решением является добавление любого ABI. -Обработчики для файловых источников данных не могут находиться в файлах, которые импортируют привязки контракта `eth_call`, с ошибкой "unknown import: `ethereum::ethereum.call` has not been defined" ([проблема](https://github.com/graphprotocol/graph-cli/issues/4309)). Обходным решением является создание обработчиков файловых источников данных в специальном файле. +Обработчики для файловых источников данных не могут находиться в файлах, которые импортируют привязки контракта `eth_call`, с ошибкой "unknown import: `ethereum::ethereum.call` has not been defined" ([проблема](https://github.com/graphprotocol/graph-node/issues/4309)). Обходным решением является создание обработчиков файловых источников данных в специальном файле. #### Примеры @@ -1234,3 +1485,65 @@ export function handleTransfer(event: TransferEvent): void { #### Ссылки [Источники данных GIP-файла](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Тайм-серии и агрегации + +### Обзор + +Тайм-серии и агрегации позволяют Вашему субграфу отслеживать такие статистические данные, как средняя цена за день, общий объем переводов за час и т. д. + +Эта функция представляет два новых типа объектов субграфов. Объекты тайм-серий записывают точки данных с временными метками. Объекты агрегирования выполняют заранее объявленные вычисления над точками данных тайм-серий ежечасно или ежедневно, а затем сохраняют результаты для быстрого доступа через GraphQL. + +#### Пример схемы + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Определение тайм-серий и агрегаций + +Объекты тайм-серий определяются с помощью `@entity(timeseries: true)` в schema.graphql. Каждый объект тайм-серии должен иметь уникальный идентификатор типа int8, метку времени типа Timestamp и включать данные, которые будут использоваться для вычислений объектами агрегации. Эти объекты тайм-серий могут быть сохранены в обычных обработчиках триггеров и выступать в качестве «необработанных данных» для объектов агрегации. + +Объекты агрегации определяются с помощью `@aggregation` в schema.graphql. Каждый объект агрегирования определяет источник, из которого он будет собирать данные (который должен быть объектом тайм-серии), устанавливает интервалы (например, час, день) и указывает функцию агрегирования, которую он будет использовать (например, сумма, количество, минимум, максимум, первый, последний). Объекты агрегации рассчитываются автоматически на основе указанного источника в конце необходимого интервала. + +#### Доступные интервалы агрегации + +- `hour`: устанавливает период тайм-серии каждый час, в час. +- `day`: устанавливает период тайм-серий ежедневный, который начинается и заканчивается в 00:00. + +#### Доступные функции агрегации + +- `sum`: сумма всех значений. +- `count`: количество значений. +- `min`: минимальное значение. +- `max`: максимальное значение. +- `first`: первое значение в периоде. +- `last`: последнее значение за период. + +#### Пример запроса агрегации + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Примечание: + +Чтобы использовать тайм-серии и агрегации, субграф должен иметь версию спецификации ≥1.1.0. Обратите внимание, что эта функция может претерпеть значительные изменения, которые могут повлиять на обратную совместимость. + +[Подробнее](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) о тайм-сериях и агрегациях. From 6e571c6df33cac98e0486c885c50facd64f39eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:28 -0400 Subject: [PATCH 0302/2326] New translations creating-a-subgraph.mdx (Swedish) --- .../sv/developing/creating-a-subgraph.mdx | 492 ++++++++++++++---- 1 file changed, 405 insertions(+), 87 deletions(-) diff --git a/website/pages/sv/developing/creating-a-subgraph.mdx b/website/pages/sv/developing/creating-a-subgraph.mdx index c635a7b21aaa..5dd433eb8edf 100644 --- a/website/pages/sv/developing/creating-a-subgraph.mdx +++ b/website/pages/sv/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ Subgraph-definitionen består av några filer: - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) kod som översätter från händelsedata till de enheter som är definierade i ditt schema (t.ex. `mapping.ts` i den här handledningen) -> För att använda din subgraph på The Graphs decentraliserade nätverk måste du [skapa en API-nyckel](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). Det rekommenderas att du [lägger till signal](/network/curating/#how-to-signal) till din subgraph med minst [10 000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Innan du går in på detaljer om manifest filens innehåll måste du installera [Graph CLI](https://github.com/graphprotocol/graph-cli), som du kommer att behöva för att bygga och distribuera en subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Installera Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Efter installationen kan kommandot `graph init` användas för att skapa ett nytt subgrafprojekt, antingen från ett befintligt kontrakt eller från en exempelsubgraf. Detta kommando kan användas för att skapa en subgraf på Subgraph Studio genom att skicka in `graph init --product subgraph-studio`. Om du redan har ett smart kontrakt distribuerat till ditt föredragna nätverk kan det vara ett bra sätt att komma igång med att starta en ny subgraf från det kontraktet. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## Från ett Befintligt kontrakt @@ -61,7 +61,7 @@ Det andra läget som `graph init` stöder är att skapa ett nytt projekt från e graph init --studio ``` -Exempelsubgrafen är baserad på Gravity-kontraktet av Dani Grant som hanterar användares avatarer och avger händelserna `NewGravatar` eller `UpdateGravatar` när avatarer skapas eller uppdateras. Subgrafen hanterar dessa händelser genom att skriva `Gravatar`-entiteter till Graph Node-förvaringen och säkerställer att dessa uppdateras enligt händelserna. Följande avsnitt kommer att gå igenom filerna som utgör subgrafens manifest för detta exempel. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Lägg till nya datakällor i en befintlig Subgraf @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: De viktiga posterna att uppdatera för manifestet är: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: URL till lagringsplatsen där subgrafens manifest kan hittas. Detta visas också av The Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: en lista över alla använda [funktions](#experimentella-funktioner) namn. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: adressen till det smarta kontraktet som subgrafen hämtar data från, och ABI för det smarta kontraktet att använda. Adressen är valfri; att utelämna den gör det möjligt att indexera matchande händelser från alla kontrakt. - `dataSources.source.startBlock`: det valfria blocknummer som datakällan börjar indexera från. I de flesta fall föreslår vi att du använder det block där kontraktet skapades. @@ -170,6 +176,8 @@ De viktiga posterna att uppdatera för manifestet är: En enskild subgraf kan indexera data från flera smarta kontrakt. Lägg till en post för varje kontrakt från vilket data behöver indexeras i `dataSources`-matrisen. +### Order of Triggering Handlers + Utlösarna för en datakälla inom ett block ordnas med hjälp av följande process: 1. Händelse- och anropsutlösare ordnas först efter transaktionsindex inom blocket. @@ -178,6 +186,22 @@ Utlösarna för en datakälla inom ett block ordnas med hjälp av följande proc Dessa ordningsregler kan komma att ändras. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Version | Versionsanteckningar | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Hämta ABI: erna ABI-filerna måste matcha ditt/dina kontrakt. Det finns några olika sätt att få ABI-filer: @@ -248,15 +272,15 @@ För vissa entitetstyper konstrueras `id` från id:erna hos två andra entiteter Vi stödjer följande skalartyper i vår GraphQL API: -| Typ | Beskrivning | -| --- | --- | -| `Bytes` | Bytematris, representerad som en hexadecimal sträng. Vanligt används för Ethereum-hashar och adresser. | -| `String` | Skalär för `string`-värden. Nolltecken stöds inte och tas automatiskt bort. | -| `Boolean` | Skalär för `boolean`-värden. | -| `Int` | Enligt GraphQL specifikationen har `Int` en storlek på 32 byte. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | Stora heltal. Används för Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` typer. Observera: Allt under `uint32`, som `int32`, `uint24` eller `int8` representeras som `i32`. | -| `BigDecimal` | `BigDecimal` Högprecisionsdecimaler representerade som en signifikant och en exponent. Exponentområdet är från −6143 till +6144. Avrundat till 34 signifikanta siffror. | +| Typ | Beskrivning | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Bytematris, representerad som en hexadecimal sträng. Vanligt används för Ethereum-hashar och adresser. | +| `String` | Skalär för `string`-värden. Nolltecken stöds inte och tas automatiskt bort. | +| `Boolean` | Skalär för `boolean`-värden. | +| `Int` | Enligt GraphQL specifikationen har `Int` en storlek på 32 byte. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | Stora heltal. Används för Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` typer. Observera: Allt under `uint32`, som `int32`, `uint24` eller `int8` representeras som `i32`. | +| `BigDecimal` | `BigDecimal` Högprecisionsdecimaler representerade som en signifikant och en exponent. Exponentområdet är från −6143 till +6144. Avrundat till 34 signifikanta siffror. | #### Enums @@ -398,11 +422,11 @@ Detta mer avancerade sätt att lagra många-till-många-relationer kommer att le #### Lägga till kommentarer i schemat -Enligt GraphQL-specifikationen kan kommentarer läggas till ovanför entitetsattribut i schemat med hjälp av dubbla citattecken `""`. Detta illustreras i exemplet nedan: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -422,7 +446,12 @@ type _Schema_ name: "bandSearch" language: en algorithm: rank - include: [{ entity: "Band", fields: [{ name: "name" }, { name: "description" }, { name: "bio" }] }] + include: [ + { + entity: "Band" + fields: [{ name: "name" }, { name: "description" }, { name: "bio" }] + } + ] ) type Band @entity { @@ -525,13 +554,32 @@ Den andra hanteraren försöker ladda den befintliga `Gravatar` från Graph Node ### Rekommenderade ID:n för att skapa nya entiteter -Varje entitet måste ha ett `id` som är unikt bland alla entiteter av samma typ. En entitets `id`-värde sätts när entiteten skapas. Nedan finns några rekommenderade `id`-värden att överväga när du skapar nya entiteter. OBS: Värdet på `id` måste vara en `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like + +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Kodgenerering @@ -562,18 +610,18 @@ import { // The events classes: NewGravatar, UpdatedGravatar, -} from '../generated/Gravity/Gravity' +} from "../generated/Gravity/Gravity"; ``` Utöver detta genereras en klass för varje entitetstyp i subgrafens GraphQL-schema. Dessa klasser tillhandahåller typsäker entitetsladdning, läs- och skrivåtkomst till entitetsfält samt en `save()`-metod för att skriva entiteter till lagret. Alla entitetsklasser skrivs till `/schema.ts`, vilket gör att mappningar kan importera dem med ```javascript -import { Gravatar } from '../generated/schema' +import { Gravatar } from "../generated/schema" ``` > **Observera:** Kodgenerering måste utföras igen efter varje ändring av GraphQL-schemat eller ABIn som ingår i manifestet. Det måste också utföras minst en gång innan du bygger eller distribuerar subgrafet. -Kodgenerering kontrollerar inte din mappningskod i `src/mapping.ts`. Om du vill kontrollera det innan du försöker distribuera din subgraf till Graph Explorer kan du köra `yarn build` och åtgärda eventuella syntaxfel som TypeScript-kompilatorn kan hitta. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Datakällmallar @@ -591,7 +639,7 @@ dataSources: name: Factory network: mainnet source: - address: '0xc0a47dFe034B400B47bDaD5FecDa2621de6c4d95' + address: "0xc0a47dFe034B400B47bDaD5FecDa2621de6c4d95" abi: Factory mapping: kind: ethereum/events @@ -649,17 +697,17 @@ templates: I det sista steget uppdaterar du mappningen av huvudkontraktet för att skapa en dynamisk datakällinstans från en av mallarna. I det här exemplet ändrar du mappningen av huvudkontraktet för att importera mallen `Exchange` och anropar metoden `Exchange.create(address)` för att börja indexera det nya växlingskontraktet. ```typescript -import { Exchange } from '../generated/templates' +import { Exchange } from "../generated/templates"; export function handleNewExchange(event: NewExchange): void { // Start indexing the exchange; `event.params.exchange` is the // address of the new exchange contract - Exchange.create(event.params.exchange) + Exchange.create(event.params.exchange); } ``` > ** Notera:** En ny datakälla bearbetar endast anrop och händelser för det block där den skapades och alla efterföljande block, men bearbetar inte historiska data, dvs. data som finns i tidigare block. -> +> > Om tidigare block innehåller data som är relevanta för den nya datakällan, är det bäst att indexera dessa data genom att läsa kontraktets aktuella status och skapa enheter som representerar denna status vid den tidpunkt då den nya datakällan skapas. ### Kontext för datakälla @@ -667,22 +715,22 @@ export function handleNewExchange(event: NewExchange): void { Datakällans kontext gör det möjligt att skicka extra konfiguration när en mall instansieras. I vårt exempel kan vi säga att börser är associerade med ett visst handelspar, vilket ingår i händelsen `NewExchange`. Den informationen kan skickas till den instansierade datakällan, så här: ```typescript -import { Exchange } from '../generated/templates' +import { Exchange } from "../generated/templates"; export function handleNewExchange(event: NewExchange): void { - let context = new DataSourceContext() - context.setString('tradingPair', event.params.tradingPair) - Exchange.createWithContext(event.params.exchange, context) + let context = new DataSourceContext(); + context.setString("tradingPair", event.params.tradingPair); + Exchange.createWithContext(event.params.exchange, context); } ``` Inuti en mappning av mallen `Exchange` kan kontexten sedan nås: ```typescript -import { dataSource } from '@graphprotocol/graph-ts' +import { dataSource } from "@graphprotocol/graph-ts"; -let context = dataSource.context() -let tradingPair = context.getString('tradingPair') +let context = dataSource.context(); +let tradingPair = context.getString("tradingPair") ``` Det finns sättare och hämtare som `setString` och `getString` för alla värdestyper. @@ -697,7 +745,7 @@ dataSources: name: ExampleSource network: mainnet source: - address: '0xc0a47dFe034B400B47bDaD5FecDa2621de6c4d95' + address: "0xc0a47dFe034B400B47bDaD5FecDa2621de6c4d95" abi: ExampleContract startBlock: 6627917 mapping: @@ -716,11 +764,219 @@ dataSources: ``` > **Observera:** Blocket där kontraktet skapades kan snabbt sökas upp på Etherscan: -> +> > 1. Sök efter kontraktet genom att ange dess adress i sökfältet. > 2. Klicka på transaktionshashen för skapandet i avsnittet `Kontraktsskapare`. > 3. Ladda sidan med transaktionsdetaljer där du hittar startblocket för det kontraktet. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Anropsbehandlare Medan händelser ger ett effektivt sätt att samla in relevanta ändringar av ett kontrakts tillstånd, undviker många kontrakt att generera loggar för att optimera gasavgifterna. I dessa fall kan en subgraf prenumerera på anrop som görs till datakällans kontrakt. Detta uppnås genom att definiera anropsbehandlare som refererar till funktions signaturen och hanteraren som kommer att bearbeta anrop till denna funktion. För att bearbeta dessa anrop kommer hanteraren att ta emot ett `ethereum.Call` som ett argument med de typade in- och utdata från anropet. Anrop som görs på vilken djupnivå som helst i en transaktions anropskedja kommer att utlösa kartläggningen, vilket gör det möjligt att fånga aktivitet med datakällan genom proxykontrakt. @@ -739,7 +995,7 @@ dataSources: name: Gravity network: mainnet source: - address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + address: "0x731a10897d267e19b34503ad902d0a29173ba4b1" abi: Gravity mapping: kind: ethereum/events @@ -763,15 +1019,15 @@ dataSources: Varje anropsbehandlare tar en enda parameter med en typ som motsvarar namnet på den kallade funktionen. I det ovanstående exempelsubgrafet innehåller kartläggningen en hanterare för när funktionen `createGravatar` anropas och tar emot en `CreateGravatarCall`-parameter som ett argument: ```typescript -import { CreateGravatarCall } from '../generated/Gravity/Gravity' -import { Transaction } from '../generated/schema' +import { CreateGravatarCall } from "../generated/Gravity/Gravity"; +import { Transaction } from "../generated/schema"; export function handleCreateGravatar(call: CreateGravatarCall): void { - let id = call.transaction.hash - let transaction = new Transaction(id) - transaction.displayName = call.inputs._displayName - transaction.imageUrl = call.inputs._imageUrl - transaction.save() + let id = call.transaction.hash; + let transaction = new Transaction(id); + transaction.displayName = call.inputs._displayName; + transaction.imageUrl = call.inputs._imageUrl; + transaction.save(); } ``` @@ -802,7 +1058,7 @@ dataSources: name: Gravity network: dev source: - address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + address: "0x731a10897d267e19b34503ad902d0a29173ba4b1" abi: Gravity mapping: kind: ethereum/events @@ -854,9 +1110,9 @@ Den definierade hanteraren med filtret once kommer att anropas endast en gång i ```ts export function handleOnce(block: ethereum.Block): void { - let data = new InitialData(Bytes.fromUTF8('initial')) - data.data = 'Setup data here' - data.save() + let data = new InitialData(Bytes.fromUTF8("initial")); + data.data = "Setup data here"; + data.save(); } ``` @@ -865,12 +1121,12 @@ export function handleOnce(block: ethereum.Block): void { Mappningsfunktionen tar emot ett `ethereum.Block` som sitt enda argument. Liksom mappningsfunktioner för händelser kan denna funktion komma åt befintliga subgrafiska enheter i lagret, anropa smarta kontrakt och skapa eller uppdatera enheter. ```typescript -import { ethereum } from '@graphprotocol/graph-ts' +import { ethereum } from "@graphprotocol/graph-ts"; export function handleBlock(block: ethereum.Block): void { - let id = block.hash - let entity = new Block(id) - entity.save() + let id = block.hash; + let entity = new Block(id); + entity.save(); } ``` @@ -1027,7 +1283,7 @@ Filbaserade datakällor är en ny delgrafsfunktion för att få tillgång till d Istället för att hämta filer "i linje" under hanterarens exekvering introducerar detta mallar som kan skapas som nya datakällor för en given filidentifikator. Dessa nya datakällor hämtar filerna och försöker igen om de inte lyckas, och kör en dedikerad hanterare när filen hittas. -Detta liknar [befintliga datorkällmalar](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), som används för att dynamiskt skapa nya kedjebaserade datakällor. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > Detta ersätter den befintliga `ipfs.cat` API @@ -1084,7 +1340,7 @@ type TokenMetadata @entity { Om relationen är 1:1 mellan föräldraentiteten och den resulterande filbaserade datakälla entiteten är det enklaste mönstret att länka föräldraentiteten till en resulterande filbaserad entitet genom att använda IPFS CID som söknyckel. Kontakta oss på Discord om du har svårt att modellera dina nya filbaserade entiteter! -> Du kan använda [inbäddade filter](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) för att filtrera föräldraentiteter baserat på dessa inbäddade entiteter. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Lägg till en ny mallbaserad datakälla med `kind: file/ipfs` eller `kind: file/arweave` @@ -1108,11 +1364,11 @@ templates: > För närvarande krävs `abis`, även om det inte är möjligt att anropa kontrakt från filbaserade datakällor -Filbaserade datakällor måste specifikt nämna alla entitetstyper som de kommer att interagera med under `entities`. Se [begränsningar](#Begränsningar) för mer information. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Skapa en ny hanterare för att bearbeta filer -Denna hanterare bör acceptera en `Bytes`-parameter, som kommer att vara innehållet i filen när den hittas, och som sedan kan bearbetas. Detta är ofta en JSON-fil, som kan bearbetas med hjälp av `graph-ts` hjälpfunktioner ([dokumentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). CID för filen som en läsbar sträng kan nås via `dataSource` enligt följande: @@ -1123,26 +1379,26 @@ const cid = dataSource.stringParam() Exempel på hanterare: ```typescript -import { json, Bytes, dataSource } from '@graphprotocol/graph-ts' -import { TokenMetadata } from '../generated/schema' +import { json, Bytes, dataSource } from "@graphprotocol/graph-ts"; +import { TokenMetadata } from "../generated/schema"; export function handleMetadata(content: Bytes): void { - let tokenMetadata = new TokenMetadata(dataSource.stringParam()) - const value = json.fromBytes(content).toObject() + let tokenMetadata = new TokenMetadata(dataSource.stringParam()); + const value = json.fromBytes(content).toObject(); if (value) { - const image = value.get('image') - const name = value.get('name') - const description = value.get('description') - const externalURL = value.get('external_url') + const image = value.get("image"); + const name = value.get("name"); + const description = value.get("description"); + const externalURL = value.get("external_url"); if (name && image && description && externalURL) { - tokenMetadata.name = name.toString() - tokenMetadata.image = image.toString() - tokenMetadata.externalURL = externalURL.toString() - tokenMetadata.description = description.toString() + tokenMetadata.name = name.toString(); + tokenMetadata.image = image.toString(); + tokenMetadata.externalURL = externalURL.toString(); + tokenMetadata.description = description.toString(); } - tokenMetadata.save() + tokenMetadata.save(); } } ``` @@ -1156,34 +1412,34 @@ Nu kan du skapa filbaserade datakällor under utförandet av kedjebaserade hante För IPFS stöder Graph Node [v0 och v1 innehållsidentifierare](https://docs.ipfs.tech/concepts/content-addressing/), och innehållsidentifierare med kataloger (t.ex. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -För Arweave, från och med version 0.33.0 kan Graph Node hämta filer som är lagrade på Arweave baserat på deras [transaktions-ID](https://docs.arweave.org/developers/server/http-api#transactions) från en Arweave-gateway ([exempelfil](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave stöder transaktioner som laddats upp via Bundlr, och Graph Node kan också hämta filer baserat på [Bundlr-manifest](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Exempel: ```typescript -import { TokenMetadata as TokenMetadataTemplate } from '../generated/templates' +import { TokenMetadata as TokenMetadataTemplate } from "../generated/templates"; -const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' +const ipfshash = "QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm"; //Denna exempelkod är för en undergraf för kryptosamverkan. Ovanstående ipfs-hash är en katalog med tokenmetadata för alla kryptosamverkande NFT:er. export function handleTransfer(event: TransferEvent): void { - let token = Token.load(event.params.tokenId.toString()) + let token = Token.load(event.params.tokenId.toString()); if (!token) { - token = new Token(event.params.tokenId.toString()) - token.tokenID = event.params.tokenId + token = new Token(event.params.tokenId.toString()); + token.tokenID = event.params.tokenId; - token.tokenURI = '/' + event.params.tokenId.toString() + '.json' - const tokenIpfsHash = ipfshash + token.tokenURI + token.tokenURI = "/" + event.params.tokenId.toString() + ".json"; + const tokenIpfsHash = ipfshash + token.tokenURI; //Detta skapar en sökväg till metadata för en enskild Crypto coven NFT. Den konkaterar katalogen med "/" + filnamn + ".json" - token.ipfsURI = tokenIpfsHash + token.ipfsURI = tokenIpfsHash; - TokenMetadataTemplate.create(tokenIpfsHash) + TokenMetadataTemplate.create(tokenIpfsHash); } - token.updatedAtTimestamp = event.block.timestamp - token.owner = event.params.to.toHexString() - token.save() + token.updatedAtTimestamp = event.block.timestamp; + token.owner = event.params.to.toHexString(); + token.save(); } ``` @@ -1215,7 +1471,7 @@ Dessutom är det inte möjligt att skapa datakällor från en filbaserad datakä Om du länkar NFT-metadata till motsvarande token, använd metadata IPFS-hash för att referera till en Metadata-entitet från Token-entiteten. Spara Metadata-entiteten med IPFS-hash som ID. -Du kan använda [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) när du skapar Filbaserade datakällor för att skicka extra information som kommer att vara tillgänglig för Filbaserade datakälla hanteraren. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. Om du har entiteter som uppdateras flera gånger, skapa unika filbaserade entiteter med IPFS-hash & entitets-ID, och referera till dem med hjälp av ett härlett fält i kedjebaserade entiteten. @@ -1225,7 +1481,7 @@ Om du har entiteter som uppdateras flera gånger, skapa unika filbaserade entite Filbaserade datakällor kräver för närvarande ABIs, även om ABIs inte används ([issue](https://github.com/graphprotocol/graph-cli/issues/961)). Ett arbetsområde är att lägga till en ABI. -Hanterare för Filbaserade datakällor kan inte finnas i filer som importerar `eth_call` kontraktsbindningar, vilket misslyckas med "okänd import: `ethereum::ethereum.call` har inte definierats" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)). Ett arbetsområde är att skapa filbaserade datakällahanterare i en dedikerad fil. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Exempel @@ -1234,3 +1490,65 @@ Hanterare för Filbaserade datakällor kan inte finnas i filer som importerar `e #### Referenser [GIP Filbaserade datakällor](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Översikt + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 8a74d440a42968153f9219bc1e15c72e9430bec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:29 -0400 Subject: [PATCH 0303/2326] New translations creating-a-subgraph.mdx (Turkish) --- .../tr/developing/creating-a-subgraph.mdx | 387 ++++++++++++++++-- 1 file changed, 350 insertions(+), 37 deletions(-) diff --git a/website/pages/tr/developing/creating-a-subgraph.mdx b/website/pages/tr/developing/creating-a-subgraph.mdx index dfdd32dac09d..bfb644b67df8 100644 --- a/website/pages/tr/developing/creating-a-subgraph.mdx +++ b/website/pages/tr/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ Subgraph tanımı birkaç dosyadan oluşmaktadır: - `AssemblyScript Mappings`: Olay verilerinden şemanızda tanımlanan varlıklara çeviri yapan [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) kodu (örneğin bu öğretici içerikte `mapping.ts`) -> Subgraph'ınızı Graph'ın merkeziyetsiz ağında kullanmak için [API anahtarı oluşturmanız gerekir](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). Ayrıca subgraph'ınıza en az [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network) [sinyal eklemeniz](/network/curating/#how-to-signal) önerilir. +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Manifest dosyasının içeriği hakkında detaylı bilgilere girmeden önce, bir subgraph oluşturmak ve dağıtmak için ihtiyacınız olan [Graph CLI](https://github.com/graphprotocol/graph-cli)'yi yüklemeniz gereklidir. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Graph CLI'ı Yükleyin @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Kurulduktan sonra `graph init` komutu, mevcut bir sözleşmeden veya örnek bir subgraph'ten yeni bir subgraph projesi oluşturmak için kullanılabilir. Bu komut, `graph init --product subgraph-studio`'yi geçerek Subgraph Stüdyo'da bir subgraph oluşturmak için kullanılabilir. Halihazırda tercih ettiğiniz ağa konuşlandırılmış bir akıllı sözleşmeniz varsa, bu sözleşmeden yeni bir subgraph'i önyüklemek başlamak için iyi bir yol olabilir. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## Mevcut Bir Sözleşmeden @@ -61,7 +61,7 @@ graph init \ graph init --studio ``` -Örnek subgraph, kullanıcı avatarlarını yöneten ve avatarlar oluşturulduğunda veya güncellendiğinde `NewGravatar` veya `UpdateGravatar` olaylarını yayınlayan Dani Grant'in Gravity sözleşmesine dayanmaktadır. Subgraph, bu olayları `Gravatar` varlıklarını Graph Node depolama alanına yazarak ve bunların olaylara göre güncellenmesini sağlayarak işler. Aşağıdaki bölümlerde, bu örnek için subgraph manifest'ini oluşturan dosyaların üzerinden geçilecektir. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Mevcut Bir Subgraph'a Yeni veriKaynakları(dataSources) Ekleme @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,17 +146,21 @@ dataSources: Manifest için güncellenmesi gereken önemli girdiler şunlardır: -- `description`: Subgraph'in ne olduğuna dair insan tarafından okunabilen bir açıklama. Bu açıklama, subgraph barındırılan hizmete deploy edildiğinde Graph Gezgini tarafından görüntülenir. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: Subgraph manifest'inin bulunabileceği havuz URL'si. Ayrıca Graph Gezgini tarafından da görüntülenir. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: kullanılan tüm [özellik(feature)](#experimental-features) adlarının bir listesi. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: Subgraph kaynaklarının olduğu akıllı sözleşmenin adresi ve kullanılacak akıllı sözleşmenin ABI'si. Adres isteğe bağlıdır; atlanması, tüm sözleşmelerden eşleşen olayları indekslemeyi sağlar. - `dataSources.source.startBlock`: veri kaynağının indekslemeye başladığı isteğe bağlı blok numarası. Çoğu durumda, sözleşmenin oluşturulduğu bloğun kullanılmasını öneririz. -- `dataSources.source.endBlock`: Veri kaynağının indekslemeyi durdurduğu bloğun isteğe bağlı numarası (bu blok da dahil). Gereken minimum spesifikasyon sürümü: `0.0.9`. +- `dataSources.source.endBlock`: The optional number of the block that the data source stops indexing at, including that block. Minimum spec version required: `0.0.9`. - `dataSources.context`: subgraph eşleştirmelerinde kullanılabilen anahtar-değer çiftleridir. `Bool`, `String`, `Int`, `Int8`, `BigDecimal`, `Bytes`, `List` ve `BigInt` gibi çeşitli veri tipleri desteklenir. Her değişkenin `type` ve `data` özelliklerinin belirtilmesi gerekir. Bu bağlam değişkenlerine daha sonra eşleştirme dosyalarından erişilebilir ve böylece subgraph geliştirme için daha yapılandırılabilir seçenekler sunulmuş olur. @@ -170,6 +176,8 @@ Manifest için güncellenmesi gereken önemli girdiler şunlardır: Bir subgraph birden fazla akıllı sözleşmeden veri indeksleyebilir. `dataSources` dizisine indekslenmesi gereken veriden her kontrata bir giriş ekleyin. +### Order of Triggering Handlers + Bir bloktaki veri kaynağı için tetikleyiciler şu işlemlerle sıralanır: 1. Olay ve çağrı tetikleyicileri, öncelikle bloktaki işlem indeksine göre sıralanır. @@ -178,6 +186,22 @@ Bir bloktaki veri kaynağı için tetikleyiciler şu işlemlerle sıralanır: Bu sıralama kuralları değişebilir. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Sürüm | Sürüm Notları | +|:-----:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### ABI'leri Alma ABI dosya(lar)ı sözleşme(ler) inizle uygun olmalıdır. ABI dosyalarını edinmek için birkaç yol vardır: @@ -248,15 +272,15 @@ Bazı varlık türleri için `id`, iki diğer varlığın id'lerinden oluşturul GraphQL API'mizde aşağıdaki skalerleri destekliyoruz: -| Tür | Tanım | -| --- | --- | -| `Baytlar` | Byte dizisi, onaltılık bir dizgi olarak temsil edilir. Ethereum hash değerleri ve adresleri için yaygın olarak kullanılır. | -| `Dizgi(String)` | `string` değerleri için skaler. Null karakterleri desteklenmez ve otomatik olarak kaldırılır. | -| `Boolean` | `boolean` değerleri için skaler. | -| `Int` | GraphQL özellikleri, `Int`'in 32 bayt boyutunda olduğunu tanımlar. | -| `Int8` | 64 bitlik işaretli tam sayı olarak da bilinen 8 baytlık işaretli tam sayı, -9,223,372,036,854,775,808 ila 9,223,372,036,854,775,807 aralığındaki değerleri depolayabilir. Ethereum'dan `i64`'ü temsil etmek için bunu kullanmayı tercih edin. | -| `BigInt` | Büyük tamsayılar. Ethereum'un `uint32`, `int64`, `uint64`, ..., `uint256` türleri için kullanılır. Not: `int32`, `uint24` veya `int8` gibi `uint32`'nin altındaki her şey `i32`olarak temsil edilir. | -| `BigDecimal` | `BigDecimal` Yüksek hassasiyetli ondalık sayılar, bir anlamlı ve bir üsle temsil edilir. Üs aralığı -6143 ila +6144 arasındadır. 34 anlamlı rakama yuvarlanır. | +| Tür | Tanım | +| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Baytlar` | Byte dizisi, onaltılık bir dizgi olarak temsil edilir. Ethereum hash değerleri ve adresleri için yaygın olarak kullanılır. | +| `Dizgi(String)` | `string` değerleri için skaler. Null karakterleri desteklenmez ve otomatik olarak kaldırılır. | +| `Boolean` | `boolean` değerleri için skaler. | +| `Int` | GraphQL özellikleri, `Int`'in 32 bayt boyutunda olduğunu tanımlar. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | Büyük tamsayılar. Ethereum'un `uint32`, `int64`, `uint64`, ..., `uint256` türleri için kullanılır. Not: `int32`, `uint24` veya `int8` gibi `uint32`'nin altındaki her şey `i32`olarak temsil edilir. | +| `BigDecimal` | `BigDecimal` Yüksek hassasiyetli ondalık sayılar, bir anlamlı ve bir üsle temsil edilir. Üs aralığı -6143 ila +6144 arasındadır. 34 anlamlı rakama yuvarlanır. | #### Numaralandırmalar @@ -398,11 +422,11 @@ query usersWithOrganizations { #### Şemaya notlar/yorumlar ekleme -GraphQL spesifikasyonuna göre, şema varlık özniteliklerinin üzerinde çift tırnak işaretleri `""` kullanarak yorumlar eklenebilir. Bu aşağıdaki örnekte gösterilmiştir: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -488,7 +512,7 @@ Sonuçları sıralamak için desteklenen algoritmalar: ## Eşleştirmeleri Yazma -Eşlemeler, verileri belirli bir kaynaktan alır ve şemanızda tanımlanan varlıklara dönüştürür. Eşlemeler, WASM ([WebAssembly](https://webassembly.org/))'ye derlenebilen [AssemblyScript](https://github.com/AssemblyScript/assemblyscript/wiki) adlı bir [TypeScript](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html) alt kümesinde yazılır. AssemblyScript, normal TypeScript'ten daha katıdır, ancak yine de tanıdık bir sözdizimi sağlar. +The mappings take data from a particular source and transform it into entities that are defined within your schema. Mappings are written in a subset of [TypeScript](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html) called [AssemblyScript](https://github.com/AssemblyScript/assemblyscript/wiki) which can be compiled to WASM ([WebAssembly](https://webassembly.org/)). AssemblyScript is stricter than normal TypeScript, yet provides a familiar syntax. `subgraph.yaml`'da `mapping.eventHandlers` altında tanımlanan her olay işleyicisi için, aynı isimde dışa aktarılmış bir fonksiyon oluşturun. Her işleyici, işlenen olayın adına karşılık gelen bir türde `event` adında tek bir parametre kabul etmelidir. @@ -525,13 +549,32 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { ### Yeni Varlıklar Oluşturmak için Önerilen Kimlikler(IDs) -Her varlığın aynı türdeki tüm varlıklar arasında benzersiz olan bir `id`'si olması gerekir. Bir varlığın `id` değeri, varlık oluşturulduğunda belirlenir. Aşağıda, yeni varlıklar oluştururken hesaba katılması gereken bazı önerilen `id` değerleri verilmiştir. NOT: `id` değeri bir `dizgi` olmalıdır. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -Graph Node'u mağazasıyla etkileşim kurmaya yönelik yardımcı programları ve akıllı sözleşme verilerini ve varlıklarını yönetmeye yönelik kolaylıkları içeren [Graph Yazı Tipi Kitaplığı](https://github.com/graphprotocol/graph-ts)'nı sağlıyoruz. `@graphprotocol/graph-ts`'i `mapping.ts`'ye aktararak bu kütüphaneyi eşlemelerinizde kullanabilirsiniz. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Kod Oluşturma @@ -573,13 +616,13 @@ import { Gravatar } from '../generated/schema' > **Not:** Kod oluşturma, GraphQL şemasındaki veya manifeste dahil edilen ABI'lerdeki her değişiklikten sonra tekrar yapılmalıdır. Ayrıca, subgraph oluşturulmadan önce en az bir kez yapılmalıdır. -Kod oluşturma, `src/mapping.ts`'deki eşleştirme kodunuzu kontrol etmez. Subgraph'ınızı Graph Gezginine dağıtmadan önce bunu kontrol etmek isterseniz, `yarn build` çalıştırabilir ve TypeScript derleyicisinin bulabileceği herhangi bir sözdizimi hatasını düzeltebilirsiniz. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Veri Kaynağı Şablonları -EVM uyumlu akıllı sözleşmelerdeki yaygın bir model, bir sözleşmenin her birinin kendi durumu ve olayı olan rastgele sayıda başka sözleşmeler oluşturduğu, yönettiği veya bunlara atıfta bulunduğu kayıt defteri veya fabrika sözleşmelerinin kullanılmasıdır. +A common pattern in EVM-compatible smart contracts is the use of registry or factory contracts, where one contract creates, manages, or references an arbitrary number of other contracts that each have their own state and events. -Bu alt sözleşmelerin adresleri önceden bilinebilir veya bilinmeyebilir ve bu sözleşmelerin çoğu zaman içinde oluşturulabilir ve/veya eklenebilir. Bu nedenle, bu gibi durumlarda tek bir veri kaynağı veya sabit sayıda veri kaynağı tanımlamak imkansızdır ve daha dinamik bir yaklaşıma ihtiyaç vardır: _data source templates_. +The addresses of these sub-contracts may or may not be known upfront and many of these contracts may be created and/or added over time. This is why, in such cases, defining a single data source or a fixed number of data sources is impossible and a more dynamic approach is needed: _data source templates_. ### Ana Sözleşme için Veri Kaynağı @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Not:** Yeni bir veri kaynağı, oluşturulduğu blok ve tüm takip eden bloklar için yalnızca çağrıları ve olayları işleyecektir, ancak önceki bloklarda bulunan geçmiş verileri işlemeyecektir. -> +> > Eğer önceki bloklar, yeni veri kaynağı için ilgili veri içeriyorsa, o veriyi indekslemek için sözleşmenin mevcut durumunu okuyarak ve yeni veri kaynağı oluşturulurken o zaman dilimindeki durumu temsil eden varlıklar oluşturarak yapmak en iyisidir. ### Veri Kaynağı Bağlamı @@ -716,11 +759,219 @@ dataSources: ``` > **Not:** Sözleşme oluşturma bloğu hızlı bir şekilde Etherscan'da aranabilir: -> +> > 1. Arama çubuğuna adresini girerek sözleşmeyi arayın. > 2. `Contract Creator` bölümünde oluşturma işlemi hash'ına tıklayın. > 3. İşlem detayları sayfasını yükleyin ve bu sözleşme için başlangıç bloğunu bulacaksınız. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Çağrı İşleyicileri Etkinliğin bir sözleşmenin durumunda ilgili değişiklikleri toplamak için etkili bir yol sağlamasıyla birlikte, birçok sözleşme gaz maliyetlerini optimize etmek için günlük oluşturmaktan kaçınır. Bu durumlarda, bir subgraph veri kaynağı sözleşmesine yapılan çağrılara abone olabilir. Bunun için, işlev imzasına ve bu işlevi işleyecek eşleme işleyicisine başvurularak çağrı işleyicileri tanımlanır. Bu çağrıları işlemek için eşleme işleyicisi, `ethereum.Call` olarak adlandırılan ve çağrıya ilişkin yazılım girdileri ve çıktıları olan bir argüman alır. İşlem'in çağrı zincirinin herhangi bir derinliğinde yapılan çağrılar eşleştirmeyi tetikleyecektir, bu sayede veri kaynağı sözleşmesi aracılığıyla proxy sözleşmeleri aracılığıyla gerçekleştirilen faaliyetler yakalanabilir. @@ -783,7 +1034,7 @@ Bir subgraph, sözleşme olaylarına veya işlev çağrılarına abone olmanın ### Desteklenen Filtreler -#### Arama Filtresi +#### Call Filter ```yaml filter: @@ -1027,7 +1278,7 @@ Dosya veri kaynakları, indeksleme sırasında zincir dışı verilere sağlam v İşleyici yürütme sırasında dosyaları "sıralı" olarak getirmek yerine bu, belirli bir dosya tanımlayıcısı için yeni veri kaynakları olarak üretilebilecek şablonları sunar. Bu yeni veri kaynakları dosyaları alır, başarısız olursa yeniden denener ve dosya bulunduğunda ayrılmış bir işleyici çalıştırır. -Bu, yeni zincir tabanlı veri kaynaklarını dinamik olarak oluşturmak için kullanılan [mevcut veri kaynağı şablonlarına](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates) benzer. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > Bu, mevcut `ipfs.cat` API'sinin yerini alır @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { Ana varlık ve sonuç dosya veri kaynak varlığı arasındaki ilişki bire bir ise, en basit kalıp, IPFS CID'yi arama anahtarı olarak kullanarak ana varlığını sonuç dosya varlığına bağlamaktır. Yeni dosya tabanlı varlıklarınızın modellemesiyle ilgili sorun yaşarsanız Discord üzerinden iletişime geçin! -> Ana varlıkları bu iç içe geçmiş varlıklar temelinde filtrelemek için [iç içe filtreleri](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) kullanabilirsiniz. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### `kind: file/ipfs` veya `kind: file/arweave` ile yeni bir şablonlu veri kaynağı ekleyin @@ -1108,11 +1359,11 @@ templates: > Şu anda `abis` gerekli olsa da, dosya veri kaynaklarından sözleşmeleri çağırmak mümkün değildir -Dosya veri kaynağı, varlıklar(`entities`) altında etkileşimde bulunacağı tüm varlık türlerini özellikle belirtmelidir. Daha fazla ayrıntı için sınırlamalara([limitations](#Limitations)) bakın. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Dosyaları işlemek için yeni bir işleyici oluşturun -Bu işleyici, bulunduğunda dosyanın içeriği olacak ve daha sonra işlenebilecek bir `Bytes` parametresini kabul etmelidir. Bu genellikle, `graph-ts` yardımcıları ([dökümantasyon](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)) ile işlenebilen bir JSON dosyası olacaktır. +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). Dosyanın okunabilir bir dize olarak CID'sine `dataSource` aracılığıyla şu şekilde erişilebilir: @@ -1156,7 +1407,7 @@ Artık zincir tabanlı işleyicilerin yürütülmesi sırasında dosya veri kayn Graph Düğümü, IPFS için [v0 ve v1 içerik tanımlayıcılarını](https://docs.ipfs.tech/concepts/content-addressing/), ve dizinli içerik tanımlayıcılarını desteklemektedir. (örneğin `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`) -Arweave için, 0.33.0 sürümünden itibaren Graph Düğümü, bir Arweave ağ geçidinden [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) öğelerine göre Arweave'de depolanan dosyaları getirebilir ([örnek dosya](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave, Bundlr aracılığıyla yüklenen işlemleri destekler ve Graph Düğümü, [Bundlr manifestlerine](https://docs.bundlr.network/learn/gateways#indexing) dayalı olarak dosyaları da getirebilir. +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Örnek: @@ -1215,7 +1466,7 @@ Ek olarak, zincir üstü bir veri kaynağı veya başka bir dosya veri kaynağı NFT meta verilerini ilgili tokenleri bağlarken, Üst veri varlığına Token varlığından başvurmak için üst verinin IPFS hash değerini kullanın. Üst veri varlığını IPFS hash değerini bir kimlik olarak kullanarak kaydedin. -Dosya Veri Kaynakları oluştururken, File Data Source işleyicisine kullanılabilir olan ekstra bilgileri geçmek için [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context)'i kullanabilirsiniz. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. Birden çok kez yenilenen varlıklarınız varsa, IPFS hash değeri & varlık kimliğini kullanarak benzersiz dosya tabanlı varlıklar oluşturun ve bunları zincir tabanlı bir varlıkta türetilmiş alanda referans gösterin. @@ -1225,7 +1476,7 @@ Birden çok kez yenilenen varlıklarınız varsa, IPFS hash değeri & varlık ki Dosya veri kaynakları şu anda ABI'leri gerektirir, ancak ABI'ler kullanılmaz ([github issue](https://github.com/graphprotocol/graph-cli/issues/961)). Geçici çözüm, herhangi bir ABI eklemektir. -Dosya Veri Kaynakları için işleyiciler, "unknown import: `ethereum::ethereum.call` has not been defined" ([github issue](https://github.com/graphprotocol/graph-cli/issues/4309)) ile başarısız olan `eth_call` sözleşme bağlamlarını içe aktaran dosyalarda olamaz. Geçici çözüm yolu, dosya veri kaynağı işleyicilerini ayrılmış bir dosyada oluşturmaktır. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Örnekler @@ -1234,3 +1485,65 @@ Dosya Veri Kaynakları için işleyiciler, "unknown import: `ethereum::ethereum. #### Referanslar [GIP Dosyası Veri Kaynakları](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Overview + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 544ecfd743cdc51cdd02034bd2bcb34b19cb4298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:31 -0400 Subject: [PATCH 0304/2326] New translations creating-a-subgraph.mdx (Ukrainian) --- .../uk/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/uk/developing/creating-a-subgraph.mdx b/website/pages/uk/developing/creating-a-subgraph.mdx index aae315292349..b808e5987fd0 100644 --- a/website/pages/uk/developing/creating-a-subgraph.mdx +++ b/website/pages/uk/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ The subgraph definition consists of a few files: - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) code that translates from the event data to the entities defined in your schema (e.g. `mapping.ts` in this tutorial) -> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-cli) which you will need to build and deploy a subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Install the Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph on the Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## From An Existing Contract @@ -61,7 +61,7 @@ The second mode `graph init` supports is creating a new project from an example graph init --studio ``` -The example subgraph is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Add New dataSources To An Existing Subgraph @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: The important entries to update for the manifest are: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed by The Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: a list of all used [feature](#experimental-features) names. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: the address of the smart contract the subgraph sources, and the ABI of the smart contract to use. The address is optional; omitting it allows to index matching events from all contracts. - `dataSources.source.startBlock`: the optional number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created. @@ -170,6 +176,8 @@ The important entries to update for the manifest are: A single subgraph can index data from multiple smart contracts. Add an entry for each contract from which data needs to be indexed to the `dataSources` array. +### Order of Triggering Handlers + The triggers for a data source within a block are ordered using the following process: 1. Event and call triggers are first ordered by transaction index within the block. @@ -178,6 +186,22 @@ The triggers for a data source within a block are ordered using the following pr These ordering rules are subject to change. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Version | Release notes | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Getting The ABIs The ABI file(s) must match your contract(s). There are a few ways to obtain ABI files: @@ -248,15 +272,15 @@ For some entity types the `id` is constructed from the id's of two other entitie We support the following scalars in our GraphQL API: -| Type | Description | -| --- | --- | -| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | -| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | -| `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | -| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| Type | Description | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | +| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | +| `Boolean` | Scalar for `boolean` values. | +| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | +| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | #### Enums @@ -398,11 +422,11 @@ This more elaborate way of storing many-to-many relationships will result in les #### Adding comments to the schema -As per GraphQL spec, comments can be added above schema entity attributes using double quotations `""`. This is illustrated in the example below: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ The second handler tries to load the existing `Gravatar` from the Graph Node sto ### Recommended IDs for Creating New Entities -Every entity has to have an `id` that is unique among all entities of the same type. An entity's `id` value is set when the entity is created. Below are some recommended `id` values to consider when creating new entities. NOTE: The value of `id` must be a `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Code Generation @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Note:** The code generation must be performed again after every change to the GraphQL schema or the ABIs included in the manifest. It must also be performed at least once before building or deploying the subgraph. -Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to the Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Data Source Templates @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Note:** A new data source will only process the calls and events for the block in which it was created and all following blocks, but will not process historical data, i.e., data that is contained in prior blocks. -> +> > If prior blocks contain data relevant to the new data source, it is best to index that data by reading the current state of the contract and creating entities representing that state at the time the new data source is created. ### Data Source Context @@ -716,11 +759,219 @@ dataSources: ``` > **Note:** The contract creation block can be quickly looked up on Etherscan: -> +> > 1. Search for the contract by entering its address in the search bar. > 2. Click on the creation transaction hash in the `Contract Creator` section. > 3. Load the transaction details page where you'll find the start block for that contract. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1027,7 +1278,7 @@ File data sources are a new subgraph functionality for accessing off-chain data Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. -This is similar to the [existing data source templates](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > This replaces the existing `ipfs.cat` API @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { If the relationship is 1:1 between the parent entity and the resulting file data source entity, the simplest pattern is to link the parent entity to a resulting file entity by using the IPFS CID as the lookup. Get in touch on Discord if you are having difficulty modelling your new file-based entities! -> You can use [nested filters](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Currently `abis` are required, though it is not possible to call contracts from within file data sources -The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#Limitations) for more details. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Create a new handler to process files -This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). The CID of the file as a readable string can be accessed via the `dataSource` as follows: @@ -1156,7 +1407,7 @@ You can now create file data sources during execution of chain-based handlers: For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Example: @@ -1215,7 +1466,7 @@ Additionally, it is not possible to create data sources from a file data source, If you are linking NFT metadata to corresponding tokens, use the metadata's IPFS hash to reference a Metadata entity from the Token entity. Save the Metadata entity using the IPFS hash as an ID. -You can use [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. If you have entities which are refreshed multiple times, create unique file-based entities using the IPFS hash & the entity ID, and reference them using a derived field in the chain-based entity. @@ -1225,7 +1476,7 @@ If you have entities which are refreshed multiple times, create unique file-base File data sources currently require ABIs, even though ABIs are not used ([issue](https://github.com/graphprotocol/graph-cli/issues/961)). Workaround is to add any ABI. -Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)). Workaround is to create file data source handlers in a dedicated file. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Examples @@ -1234,3 +1485,65 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Короткий огляд + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 2c345b15c35740472ef224969d91e96ddbdca727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:32 -0400 Subject: [PATCH 0305/2326] New translations creating-a-subgraph.mdx (Chinese Simplified) --- .../zh/developing/creating-a-subgraph.mdx | 431 +++++++++++++++--- 1 file changed, 372 insertions(+), 59 deletions(-) diff --git a/website/pages/zh/developing/creating-a-subgraph.mdx b/website/pages/zh/developing/creating-a-subgraph.mdx index 261219b482d3..d9eb195ca58a 100644 --- a/website/pages/zh/developing/creating-a-subgraph.mdx +++ b/website/pages/zh/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ title: 创建子图 - `AssemblyScript映射`: 将事件数据转换为模式中定义的实体(例如本教程中的`mapping.ts`)的 [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) 代码 -> 为了在Graph的去中心化网络上使用子图,您需要[创建一个API密钥](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key)。建议您将至少[10000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network)的[信号添加](/network/curating/#how-to-signal)到子图中。 +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -在详细了解清单文件的内容之前,您需要安装[Graph CLI](https://github.com/graphprotocol/graph-cli),以构建和部署子图。 +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## 安装 Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -`graph init` 命令可用于从任何公共以太坊网络上的现有合约或示例子图中设置新的子图项目。 此命令可用于通过 `graph init --product subgraph-studio` 命令在 Subgraph 工作室上创建子图。 如果你已经在你喜欢的网络上部署了一个智能合约,那么从该合约中引导一个新的子图可能是一个很好的开始方式。 +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## 基于现有合约 @@ -61,7 +61,7 @@ graph init \ graph init --studio ``` -示例子图基于 Dani Grant 的 Gravity 合约,该合约管理用户头像并在创建或更新头像时发出 `NewGravatar` 或 `UpdateGravatar` 事件。 子图通过将 `Gravatar` 实体写入 Graph Node存储并确保根据事件更新这些事件来处理这些事件。 以下部分将介绍构成此示例的子图清单的文件。 +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## 将新数据源添加到现有子图 @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: 清单中要更新的重要条目是: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`:可以找到子图清单的存储库的 URL。 这也由 Graph 浏览器显示。 +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`:所有使用的 [功能](#experimental-features) 名称的列表。 +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`:智能合约子图源的地址,以及要使用的智能合约的ABI。 地址是可选的; 省略它允许索引来自所有合约的匹配事件。 - `dataSources.source.startBlock`:数据源开始索引的区块的可选编号。 在大多数情况下,我们建议使用创建合约的区块。 @@ -170,6 +176,8 @@ dataSources: 通过为每个需要将数据索引到 `dataSources` 数组的合约添加一个条目,单个子图可以索引来自多个智能合约的数据。 +### Order of Triggering Handlers + 区块内数据源的触发器使用以下流程进行排序: 1. 事件和调用触发器首先按区块内的交易索引排序。 @@ -178,6 +186,22 @@ dataSources: 这些排序规则可能会发生变化。 +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| 版本 | Release 说明 | +|:-----:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### 获取 ABI ABI 文件必须与您的合约相匹配。 获取 ABI 文件的方法有以下几种: @@ -248,15 +272,15 @@ Null value resolved for non-null field 'name' 我们在 GraphQL API 中支持以下标量: -| 类型 | 描述 | -| --- | --- | -| `字节` | 字节数组,表示为十六进制字符串。 通常用于以太坊hash和地址。 | -| `字符串` | `string` 值的标量。 不支持空字符,并会自动进行删除。 | -| `Boolean` | `boolean` 值的标量。 | -| `Int` | GraphQL 规范将 `Int` 定义为 32 字节的大小。 | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | 大整数。 用于以太坊的 `uint32`、`int64`、`uint64`、...、`uint256` 类型。 注意:`uint32`以下的所有类型,例如`int32`、`uint24`或`int8`都表示为`i32`。 | -| `BigDecimal` | `BigDecimal` 表示为有效数字和指数的高精度小数。 指数范围是 -6143 到 +6144。 四舍五入到 34 位有效数字。 | +| 类型 | 描述 | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `字节` | 字节数组,表示为十六进制字符串。 通常用于以太坊hash和地址。 | +| `字符串` | `string` 值的标量。 不支持空字符,并会自动进行删除。 | +| `Boolean` | `boolean` 值的标量。 | +| `Int` | GraphQL 规范将 `Int` 定义为 32 字节的大小。 | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | 大整数。 用于以太坊的 `uint32`、`int64`、`uint64`、...、`uint256` 类型。 注意:`uint32`以下的所有类型,例如`int32`、`uint24`或`int8`都表示为`i32`。 | +| `BigDecimal` | `BigDecimal` 表示为有效数字和指数的高精度小数。 指数范围是 -6143 到 +6144。 四舍五入到 34 位有效数字。 | #### 枚举类型 @@ -398,11 +422,11 @@ query usersWithOrganizations { #### 向模式添加注释 -根据 GraphQL 规范,可以使用双引号 `""` 在模式实体属性上方添加注释。 这在下面的示例中进行了说明: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -458,33 +482,33 @@ query { 支持的语言词典: -| 代码 | 词典 | -| ------ | ---------- | -| simple | 通用 | -| da | 丹麦语 | -| nl | 荷兰语 | -| en | 英语 | -| fi | 芬兰语 | -| fr | 法语 | -| de | 德语 | -| hu | 匈牙利语 | -| it | 意大利语 | -| no | 挪威语 | -| pt | 葡萄牙语 | +| 代码 | 词典 | +| ------ | ----- | +| simple | 通用 | +| da | 丹麦语 | +| nl | 荷兰语 | +| en | 英语 | +| fi | 芬兰语 | +| fr | 法语 | +| de | 德语 | +| hu | 匈牙利语 | +| it | 意大利语 | +| no | 挪威语 | +| pt | 葡萄牙语 | | ro | 罗马尼亚语 | -| ru | 俄语 | -| es | 西班牙语 | -| sv | 瑞典语 | -| tr | 土耳其语 | +| ru | 俄语 | +| es | 西班牙语 | +| sv | 瑞典语 | +| tr | 土耳其语 | ### 排序算法 支持的排序结果算法: -| 算法 | 描述 | -| ------------- | --------------------------------------------- | +| 算法 | 描述 | +| ------------- | -------------------------- | | rank | 使用全文查询的匹配质量 (0-1) 对结果进行排序。 | -| proximityRank | 与 rank 类似,但也包括匹配的接近程度。 | +| proximityRank | 与 rank 类似,但也包括匹配的接近程度。 | ## 编写映射 @@ -525,13 +549,32 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { ### 用于创建新实体的推荐 ID -每个实体都必须有一个在所有相同类型的实体中唯一的 `id`。 实体的 `id` 值在创建实体时设置。 以下是创建新实体时要考虑的一些推荐 `id` 值。 注意:`id` 的值必须是 `string`。 +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## 代码生成 @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **注意:** 每次更改 GraphQL 模式文件或清单中包含的 ABI 后,都必须再次执行代码生成。 在构建或部署子图之前,它还必须至少执行一次。 -代码生成不会检查 `src/mapping.ts` 中的映射代码。 如果您想在尝试将子图部署到 Graph Explorer 之前进行检查,您可以运行 `yarn build`,并修复 TypeScript 编译器可能发现的任何语法错误。 +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## 数据源模板 @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **注意:** 新的数据源只会处理创建它的区块和所有后续区块的调用和事件,而不会处理历史数据,也就是包含在先前区块中的数据。 -> +> > 如果先前的区块包含与新数据源相关的数据,最好通过读取合约的当前状态,并在创建新数据源时创建表示该状态的实体来索引该数据。 ### 数据源背景 @@ -716,11 +759,219 @@ dataSources: ``` > **注意:** 合约创建区块可以在 Etherscan 上快速查找: -> +> > 1. 通过在搜索栏中输入合约地址来搜索合约。 > 2. 单击 `Contract Creator` 部分中的创建交易hash。 > 3. 加载交易详情页面,您将在其中找到该合约的起始区块。 +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## 调用处理程序 虽然事件提供了一种收集合约状态相关变换的有效方法,但许多合约避免生成日志以优化 gas 成本。 在这些情况下,子图可以订阅对数据源合约的调用。 这是通过定义引用函数签名的调用处理程序,及处理对该函数调用的映射处理程序来实现的。 为了处理这些调用,映射处理程序将接收一个 `ethereum.Call` 作为参数,其中包含调用的类型化输入和输出。 在交易调用链中的任何深度进行的调用都会触发映射,从而捕获通过代理合约与数据源合约的交互活动。 @@ -906,11 +1157,11 @@ eventHandlers: 从 `specVersion` `0.0.4` 开始,子图特征必须使用它们的 `camelCase` 名称,在清单文件顶层的 `features` 部分中显式声明,如下表所列: -| 特征 | 名称 | -| ----------------------------------------- | --------------------------------------------------- | -| [非致命错误](#非致命错误) | `nonFatalErrors` | -| [全文搜索](#定义全文搜索字段) | `fullTextSearch` | -| [嫁接](#嫁接到现有子图) | `grafting` | +| 特征 | 名称 | +| --------------------------- | --------------------------------------------------- | +| [非致命错误](#非致命错误) | `nonFatalErrors` | +| [全文搜索](#定义全文搜索字段) | `fullTextSearch` | +| [嫁接](#嫁接到现有子图) | `grafting` | | [以太坊合约上的IPFS](#以太坊合约上的IPFS) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | 例如,如果子图使用 **Full-Text Search** 和 **Non-fatal Errors** 功能,则清单中的 `features` 字段应为: @@ -990,7 +1241,7 @@ _meta { > **注意:** 在初次升级到The Graph Network时,不建议使用grafting。可以在[这里](/cookbook/grafting/#important-note-on-grafting-when-upgrading-to-the-network)了解更多信息。 -首次部署子图时,它会在相应链的启动区块(或每个数据源定义的 `startBlock` 处)开始索引事件。在某些情况下,可以使用现有子图已经索引的数据并在更晚的区块上开始索引。 这种索引模式称为*Grafting*。 例如,嫁接在开发过程中非常有用,可以快速克服映射中的简单错误,或者在现有子图失败后暂时恢复工作。 +首次部署子图时,它会在相应链的启动区块(或每个数据源定义的 `startBlock` 处)开始索引事件。在某些情况下,可以使用现有子图已经索引的数据并在更晚的区块上开始索引。 这种索引模式称为_Grafting_。 例如,嫁接在开发过程中非常有用,可以快速克服映射中的简单错误,或者在现有子图失败后暂时恢复工作。 当 `subgraph.yaml` 中的子图清单在顶层包含 `graft` 区块时,子图被嫁接到基础子图: @@ -1027,7 +1278,7 @@ graft: 这不是在处理程序执行期间“在线”获取文件,而是引入了可以作为给定文件标识符的新数据源生成的模板。这些新数据源获取文件,如果不成功则重试,找到文件后运行专用处理程序。 -这类似于现有的[数据源模板](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates),用于动态创建新的基于链的数据源。 +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > 这将替换现有的`ipfs.cat` API @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { 如果母实体与生成的文件数据源实体之间的关系为1:1,则最简单的模式是通过使用IPFS CID作为查找将母实体链接到生成的文件实体。如果您在建模新的基于文件的实体时遇到困难,请联系Discord! -> 可以使用[嵌套](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering)过滤器根据这些嵌套实体过滤母实体。 +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### 添加一个新的模板数据源,使用`kind: file/ipfs`或`kind: file/arweave`。 @@ -1108,11 +1359,11 @@ templates: > 目前需要`abis`,但无法从文件数据源中调用合同 -文件数据源必须特别提到它将在`实体`下与之交互的所有实体类型。有关详细信息,请参阅[限制](#Limitations)。 +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### 创建新处理程序以处理文件 -此处理程序应接受一个`Bytes`参数,当找到文件时,该参数将是文件的内容,然后可以对其进行处理。这通常是一个JSON文件,可以用`graph-ts` 助手([文件](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)).处理。 +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). 文件的CID作为可读字符串可通过`数据源访问`,如下所示: @@ -1156,14 +1407,14 @@ export function handleMetadata(content: Bytes): void { 对于IPFS,Graph Node支持[v0和v1内容标识符](https://docs.ipfs.tech/concepts/content-addressing/),以及带有目录的内容标识符(例如`bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`)。 -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). 例子: ```typescript import { TokenMetadata as TokenMetadataTemplate } from '../generated/templates' -const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' +const ipfshash = "QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm" //This example code is for a Crypto coven subgraph. The above ipfs hash is a directory with token metadata for all crypto coven NFTs. export function handleTransfer(event: TransferEvent): void { @@ -1215,7 +1466,7 @@ export function handleTransfer(event: TransferEvent): void { 如果要将 NFT 元数据链接到相应的代币,请使用元数据的 IPFS hash从代币实体引用元数据实体。使用 IPFS hash作为 ID 保存元数据实体。 -在创建文件数据源时,可以使用 [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context)来传递文件数据源处理程序可以使用的额外信息。 +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. 如果您有多次刷新的实体,请使用 IPFS & 一的基于文件的实体。实体 ID,并使用基于链的实体中的派生字段引用它们 @@ -1225,7 +1476,7 @@ export function handleTransfer(event: TransferEvent): void { 文件数据源目前需要 ABI,即使没有使用 ABI ([问题](https://github.com/graphprotocol/graph-cli/issues/961))。解决方法是添加任何 ABI。 -文件数据源的处理程序不能在导入 `eth _ call` 契约绑定的文件中,如果“未知导入: `etherum:: etherum.call` 尚未定义”([问题](https://github.com/graphprotocol/graph-cli/issues/4309)) 则失败。解决办法是在专用文件中创建文件数据源处理程序。 +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### 例子 @@ -1234,3 +1485,65 @@ export function handleTransfer(event: TransferEvent): void { #### 参考 [GIP文件数据源](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### 概述 + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 798e54ad30806fb574d1dc6d0cfb8c142be45b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:33 -0400 Subject: [PATCH 0306/2326] New translations creating-a-subgraph.mdx (Urdu (Pakistan)) --- .../ur/developing/creating-a-subgraph.mdx | 379 ++++++++++++++++-- 1 file changed, 346 insertions(+), 33 deletions(-) diff --git a/website/pages/ur/developing/creating-a-subgraph.mdx b/website/pages/ur/developing/creating-a-subgraph.mdx index a3659fab075b..b5950df3edb6 100644 --- a/website/pages/ur/developing/creating-a-subgraph.mdx +++ b/website/pages/ur/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ title: سب گراف بنانا - `AssemblyScript Mappings`: [اسمبلی اسکرپٹ](https://github.com/AssemblyScript/assemblyscript) کوڈ جو ایونٹ کے ڈیٹا سے آپ کے اسکیما کی ہستیوں میں تبدیل کرتا ہے (جیسے `mapping.ts` اس ٹیوٹوریل میں) -> گراف کے ڈیسینٹرالائزڈ نیٹ ورک پر اپنا سب گراف استعمال کرنے کے لیے، آپ کو [ایک API کلید بنانا ہوگا](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key)۔ یہ تجویز کیا جاتا ہے کہ آپ کم از کم [10,000 جی آر ٹی](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network) کے ساتھ اپنے سب گراف میں [سگنل شامل کریں](/network/curating/#how-to-signal). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -اس سے پہلے کہ آپ مینی فیسٹ فائل کے مواد کے بارے میں تفصیل میں جائیں, آپ کو [Graph CLI](https://github.com/graphprotocol/graph-cli) انسٹال کرنے کی ضرورت ہے جس کی ضرورت آپ کو سب گراف بنانے اور تعین کرنے میں ہوگی. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## گراف CLI انسٹال کریں @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -ایک بار انسٹال ہونے کے بعد، `graph init` کمانڈ کو ایک نیا سب گراف پروجیکٹ ترتیب دینے کے لیے استعمال کیا جا سکتا ہے، یا تو موجودہ معاہدے سے یا مثال کے سب گراف سے۔ اس کمانڈ کو `graph init --product subgraph-studio` میں پاس کرکے سب گراف اسٹوڈیو پر سب گراف بنانے کے لیے استعمال کیا جا سکتا ہے۔ اگر آپ کے پاس پہلے سے ہی اپنے پسندیدہ نیٹ ورک پر ایک سمارٹ کنٹریکٹ تعینات ہے، تو اس کنٹریکٹس سے ایک نیا سب گراف بوٹسٹریپ کرنا شروع کرنے کا ایک اچھا طریقہ ہو سکتا ہے. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## ایک موجودہ کنٹریکٹ سے @@ -61,7 +61,7 @@ graph init \ graph init --studio ``` -مثال کا سب گراف ڈینی گرانٹ کے کشش ثقل کے معاہدے پر مبنی ہے جو صارف کے اوتاروں کا انتظام کرتا ہے اور جب بھی اوتار بنائے جاتے ہیں یا اپ ڈیٹ ہوتے ہیں تو `NewGravatar` یا `UpdateGravatar` ایونٹس کو خارج کرتا ہے. سب گراف ان ایونٹس کو گراف نوڈ اسٹور پر `Gravatar` ہستیوں کو لکھ کر اور اس بات کو یقینی بناتا ہے کہ یہ ایونٹس کے مطابق اپ ڈیٹ ہوں. مندرجہ ذیل حصے ان فائلوں پر جائیں گے جو اس مثال کے لیے سب گراف مینی فیسٹ کو بناتے ہیں. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## موجودہ سب گراف میں نئے ڈیٹا سورسز شامل کریں @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,19 +146,23 @@ dataSources: مینی فیسٹ کے لیے اپ ڈیٹ کرنے کے لیے اہم اندراجات یہ ہیں: -- `تفصیل`: سب گراف کیا ہے اس کی انسانی پڑھنے کے قابل وضاحت۔ یہ تفصیل گراف ایکسپلورر کے ذریعہ اس وقت ظاہر ہوتی ہے جب سب گراف کو ہوسٹڈ سروس میں تعینات کیا جاتا ہے۔ +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: ریپوزٹری کا URL جہاں سب گراف مینی فیسٹ پایا جا سکتا ہے. یہ گراف ایکسپلورر کے ذریعہ بھی ظاہر ہوتا ہے. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: تمام استعمال شدہ [نمایاں](#experimental-features) ناموں کی فہرست. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: سمارٹ کنٹریکٹ کا ایڈریس جو سب گراف کا ذریعہ ہے, اور استعمال کرنے کے لیے سمارٹ کنٹریکٹ کا ABI. ایڈریس اختیاری ہے; اسے چھوڑنا تمام کنٹریکٹس سے مماثل ایونٹس کو انڈیکس کرنے کی اجازت دیتا ہے. - `dataSources.source.startBlock`: بلاک کا اختیاری نمبر جس سے ڈیٹا سورس انڈیکس کرنا شروع کرتا ہے. زیادہ تر معاملات میں، ہم اس بلاک کو استعمال کرنے کا مشورہ دیتے ہیں جس میں کنٹریکٹ بنایا گیا تھا. - `dataSources.source.endBlock`: بلاک کا اختیاری نمبر جس پر ڈیٹا سورس انڈیکس کرنا روکتا ہے، اس بلاک سمیت۔ کم از کم مخصوص ورژن درکار ہے: `0.0.9`۔ -- `dataSources.context`: کلیدی ویلیو کے جوڑے جو سب گراف میپنگ میں استعمال کیے جاسکتے ہیں۔ مختلف قسم کے ڈیٹا کو سپورٹ کرتا ہے جیسے `Bool`, `String`, `Int`, `Int8`, `BigDecimal`, `Bytes`، `List`، اور `BigInt`۔ ہر متغیر کو اپنی `type` اور `data` کی وضاحت کرنے کی ضرورت ہے۔ یہ سیاق و سباق کے متغیرات پھر میپنگ فائلوں میں قابل رسائی ہوتے ہیں، جو سب گراف کی ترقی کے لیے مزید قابل ترتیب اختیارات پیش کرتے ہیں۔ +- `dataSources.context`: کلیدی ویلیو کے جوڑے جو سب گراف میپنگ میں استعمال کیے جاسکتے ہیں۔ مختلف قسم کے ڈیٹا کو سپورٹ کرتا ہے جیسے `Bool`, `String`, `Int`, `Int8`, `BigDecimal`, ` Bytes `، ` List `، اور `BigInt`۔ ہر متغیر کو اپنی ` type ` اور ` data ` کی وضاحت کرنے کی ضرورت ہے۔ یہ سیاق و سباق کے متغیرات پھر میپنگ فائلوں میں قابل رسائی ہوتے ہیں، جو سب گراف کی ترقی کے لیے مزید قابل ترتیب اختیارات پیش کرتے ہیں۔ - `dataSources.mapping.entities`: وہ اینٹیٹیز جنہیں ڈیٹا سورس اسٹور کو لکھتا ہے۔ schema.graphql فائل میں ہر اینٹیٹی کے لیے اسکیما کی وضاحت کی گئی ہے. @@ -170,6 +176,8 @@ dataSources: ایک واحد سب گراف متعدد سمارٹ کنٹریکٹ سے ڈیٹا کو انڈیکس کر سکتا ہے. ہر کنٹریکٹ کے لیے ایک اندراج شامل کریں جس سے ڈیٹا کو `dataSources` ایرے میں انڈیکس کرنے کی ضرورت ہے. +### Order of Triggering Handlers + بلاک کے اندر ڈیٹا سورس کے لیے محرکات درج ذیل عمل کا استعمال کرتے ہوئے ترتیب دیے گئے ہیں: 1. ایونٹ اور کال ٹریگرز کو پہلے بلاک کے اندر ٹرانزیکشن انڈیکس سے ترتیب دیا جاتا ہے. @@ -178,6 +186,22 @@ dataSources: ترتیب دینے کے یہ اصول تبدیل کیے جا سکتے ہیں. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| ورزن | جاری کردہ نوٹس | +|:-----:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### ABIs حاصل کرنا ABI فائل (فائلیں) آپ کے کنٹریکٹ (کنٹریکٹس) سے مماثل ہونی چاہیں. ABI کی فائلیں حاصل کرنے کے چند طریقے ہیں: @@ -248,15 +272,15 @@ type GravatarDeclined @entity { ہم اپنے GraphQL API میں درج ذیل اسکیلرز کی حمایت کرتے ہیں: -| قسم | تفصیل | -| --- | --- | -| `Bytes` | Byte array، ایک ہیکساڈیسیمل سٹرنگ کے طور پر پیش کیا جاتا ہے. عام طور پر Ethereum hashes اور ایڈریسیس کے لیے استعمال ہوتا ہے. | -| `String` | `string` ویلیوز کے لیے اسکیلر. خالی حروف تعاون یافتہ نہیں ہیں اور خود بخود ہٹا دیے جاتے ہیں. | -| `Boolean` | `Boolean` ویلیوز کے لیے اسکیلر. | -| `Int` | GraphQL spec `Int` کی وضاحت کرتا ہے جس کا سائز 32 bytes ہے. | -| `Int8` | ایک 8-بائٹ دستخط شدہ عدد، جسے 64-بٹ دستخط شدہ عدد بھی کہا جاتا ہے، -9,223,372,036,854,775,808 سے لے کر 9,223,372,036,854,775,807 تک کی ویلیوز کو ذخیرہ کرسکتا ہے۔ ایتھیریم سے `i64` کی نمائندگی کرنے کے لیے اسے استعمال کرنے کو ترجیح دیں۔ | -| `BigInt` | بڑے integers۔ Ethereum کی `uint32`، `int64`، `uint64`، ..., `uint256` اقسام کے لیے استعمال کیا جاتا ہے. نوٹ: `uint32` کے نیچے ہر چیز، جیسے `int32`، `uint24` یا `int8` کو `i32` کے طور پر دکھایا گیا ہے. | -| `BigDecimal` | `BigDecimal` اعلی درستگی والے اعشاریہ ایک significand اور ایک exponent کے طور پر پیش کیا جاتے ہہیں. Exponent رینج −6143 سے +6144 تک ہے۔ 34 سگنیفیکینڈ ہندسوں پر rounded کیا گیا۔. | +| قسم | تفصیل | +| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `Bytes` | Byte array، ایک ہیکساڈیسیمل سٹرنگ کے طور پر پیش کیا جاتا ہے. عام طور پر Ethereum hashes اور ایڈریسیس کے لیے استعمال ہوتا ہے. | +| `String` | `string` ویلیوز کے لیے اسکیلر. خالی حروف تعاون یافتہ نہیں ہیں اور خود بخود ہٹا دیے جاتے ہیں. | +| `Boolean` | `Boolean` ویلیوز کے لیے اسکیلر. | +| `Int` | GraphQL spec `Int` کی وضاحت کرتا ہے جس کا سائز 32 bytes ہے. | +| `Int8` | ایک 8-بائٹ دستخط شدہ عدد، جسے 64-بٹ دستخط شدہ عدد بھی کہا جاتا ہے، -9,223,372,036,854,775,808 سے لے کر 9,223,372,036,854,775,807 تک کی ویلیوز کو ذخیرہ کرسکتا ہے۔ ایتھیریم سے `i64` کی نمائندگی کرنے کے لیے اسے استعمال کرنے کو ترجیح دیں۔ | +| `BigInt` | بڑے integers۔ Ethereum کی `uint32`، `int64`، `uint64`، ..., `uint256` اقسام کے لیے استعمال کیا جاتا ہے. نوٹ: `uint32` کے نیچے ہر چیز، جیسے `int32`، `uint24` یا `int8` کو `i32` کے طور پر دکھایا گیا ہے. | +| `BigDecimal` | `BigDecimal` اعلی درستگی والے اعشاریہ ایک significand اور ایک exponent کے طور پر پیش کیا جاتے ہہیں. Exponent رینج −6143 سے +6144 تک ہے۔ 34 سگنیفیکینڈ ہندسوں پر rounded کیا گیا۔. | #### Enums @@ -398,11 +422,11 @@ Many-to-many تعلقات کو ذخیرہ کرنے کے اس زیادہ وسیع #### اسکیما میں کامینٹس شامل کرنا -GraphQL spec کے مطابق، ڈبل کوٹیشن `""` کا استعمال کرتے ہوئے اسکیما اینٹیٹی کے اوصاف کے اوپر کامینٹس شامل کیے جا سکتے ہیں۔ ذیل کی مثال میں اس کی وضاحت کی گئی ہے: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { ### نئ ہستیوں بنانے کے لیے تجویز کردہ IDs -ہر ہستی کے پاس ایک `id` ہونا ضروری ہے جو ایک ہی قسم کے تمام ہستیوں میں منفرد ہو. ایک ہستی کی `id` قدر سیٹ کی جاتی ہے جب ہستی بنائی جاتی ہے. ذیل میں کچھ تجویز کردہ `id` قدریں دی گئی ہیں جن پر نئ ہستی بناتے وقت غور کرنا چاہیے۔ نوٹ: `id` کی قدر ایک `string` ہونی چاہیے. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -ہم [گراف ٹائپ سکرپٹ لائبریری](https://github.com/graphprotocol/graph-ts) فراہم کرتے ہیں جس میں گراف نوڈ سٹور کے ساتھ تعامل کے لیے افادیت اور سمارٹ کنٹریکٹ ڈیٹا اور اداروں کو سنبھالنے کے لیے سہولتیں شامل ہیں۔ آپ `mapping.ts` میں `@graphprotocol/graph-ts` درآمد کرکے اس لائبریری کو اپنی میپنگ میں استعمال کرسکتے ہیں۔ +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## کوڈ تخلیق کرنا @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **نوٹ:** GraphQL اسکیما یا مینی فیسٹ میں شامل ABIs میں ہر تبدیلی کے بعد کوڈ جنریشن کو دوبارہ انجام دیا جانا چاہیے۔ سب گراف کی تعمیر یا تعیناتی سے پہلے اسے کم از کم ایک بار انجام دینا بھی ضروری ہے. -کوڈ جنریشن آپ کے میپنگ کوڈ کو `src/mapping.ts` میں چیک نہیں کرتی ہے. اگر آپ اپنے سب گراف کو گراف ایکسپلورر پر تعینات کرنے کی کوشش کرنے سے پہلے یہ چیک کرنا چاہتے ہیں، تو آپ `yarn build` چلا سکتے ہیں اور کسی بھی نحوی خامیوں کو ٹھیک کر سکتے ہیں جو TypeScript کمپائلر کو مل سکتی ہیں. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## ڈیٹا سورس ٹیمپلیٹس @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **نوٹ:** ایک نیا ڈیٹا سورس صرف اس بلاک کے لیے کالز اور ایونٹس پر کارروائی کرے گا جس میں اسے بنایا گیا تھا اور تمام مندرجہ ذیل بلاکس، لیکن تاریخی ڈیٹا، یعنی ڈیٹا پر کارروائی نہیں کرے گا جو پہلے سے بلاکس میں موجود ہے. -> +> > اگر پہلے والے بلاکس میں نئے ڈیٹا سورس سے متعلقہ ڈیٹا ہوتا ہے، تو یہ بہترین ہے کہ کنٹریکٹ کی موجودہ حالت کو پڑھ کر اور ڈیٹا کا نیا سورس بننے کے وقت اس سٹیٹ کی نمائندگی کرنے والی اینٹیٹیز بنا کر اس ڈیٹا کو انڈیکس کریں. ### ڈیٹا سورس سیاق و سباق @@ -716,11 +759,219 @@ dataSources: ``` > **نوٹ:** کنٹریکٹ تخلیق والے بلاک کو ایتھر سکین پر تیزی سے دیکھا جا سکتا ہے: -> +> > 1. سرچ بار میں اس کا ایڈریس درج کرکے کنٹریکٹ کو تلاش کریں. > 2. `Contract Creator` سیکشن میں تخلیق ٹرانزیکشن ہیش پر کلک کریں. > 3. ٹرانزیکشن کی تفصیلات کا صفحہ لوڈ کریں جہاں آپ کو اس کنٹریکٹ کے لیے اسٹارٹ بلاک ملے گا. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## کال ہینڈلرز جب کہ ایوینٹس کنٹریکٹ کی سٹیٹ میں متعلقہ تبدیلیاں جمع کرنے کا ایک مؤثر طریقہ فراہم کرتے ہیں، بہت سے کنٹریکٹ گیس کے اخراجات کو بہتر بنانے کے لیے لاگ بنانے سے گریز کرتے ہیں. ان صورتوں میں، ایک سب گراف ڈیٹا سورس کنٹریکٹ پر کی گئی کالوں کو سبسکرائب کر سکتا ہے. یہ فنکشن کے سگنیچر اور میپنگ ہینڈلر کا حوالہ دینے والے کال ہینڈلرز کو بیان کرکے حاصل کیا جاتا ہے جو اس فنکشن میں کالوں پر کارروائی کرے گا. ان کالوں پر کارروائی کرنے کے لیے، میپنگ ہینڈلر کو کال کے ٹائپ کردہ ان پٹس اور آؤٹ پٹس کے ساتھ آرگومینٹ کے طور پر `ethereum.Call` موصول ہوگا. ٹرانزیکشن کی کال چین میں کسی بھی گہرائی میں کی گئی کالز میپنگ کو متحرک کریں گی، جس سے پراکسی کنٹریکٹ کے ذریعے ڈیٹا سورس کنٹریکٹ کے ساتھ سرگرمی کیپچر کی جا سکے گی. @@ -1027,7 +1278,7 @@ graft: ہینڈلر کے عمل کے دوران فائلوں کو "لائن میں" لانے کے بجائے، یہ ٹیمپلیٹس کو متعارف کرایا جاتا ہے جو کسی دیے گئے فائل شناخت کنندہ کے لیے نئے ڈیٹا سورسز کے طور پر تیار کیے جا سکتے ہیں۔ ڈیٹا کے یہ نئے ذرائع فائلوں کو بازیافت کرتے ہیں، اگر وہ ناکام ہو جائیں تو دوبارہ کوشش کرتے ہیں، جب فائل مل جاتی ہے تو ایک سرشار ہینڈلر چلاتے ہیں. -یہ [ موجودہ ڈیٹا سورسز کے ٹیمپلیٹس](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates) سے ملتا جلتا ہے، جو استعمال کیے جاتے ہیں متحرک طور پر نئے چین پر مبنی ڈیٹا ذرائع تخلیق کرنے کے لیے. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > یہ موجودہ `ipfs.cat` API کی جگہ لے لیتا ہے @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { اگر رشتہ پیرنٹ ادارے اور نتیجے میں آنے والی فائل ڈیٹا سورس ہستی کے درمیان 1:1 ہے، تو سادہ ترین نمونہ IPFS CID کو بطور لوک اپ استعمال کر کے پیرنٹ کی ہستی کو نتیجے میں آنے والی فائل ہستی سے جوڑنا ہے۔ اگر آپ کو اپنی نئی فائل پر مبنی ہستیوں کو ماڈل بنانے میں دشواری ہو رہی ہے تو ڈسکورڈ پر رابطہ کریں! -> آپ پیرنٹ ہستیوں کو فلٹر کرنے کے لیے [نیسٹڈ فلٹرز](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) استعمال کر سکتے ہیں ان نیسٹڈ اداروں کی بنیاد پر. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### `kind: file/ipfs` یا `kind: file/arweave` کے ساتھ ایک نیا ٹیمپلیٹڈ ڈیٹا ماخذ شامل کریں @@ -1108,11 +1359,11 @@ templates: > فی الحال `abis` کی ضرورت ہے، حالانکہ فائل ڈیٹا کے ذرائع کے اندر سے کنٹریکٹس کو کال کرنا ممکن نہیں ہے -فائل ڈیٹا کے ذرائع کو خاص طور پر ان تمام ہستیوں کی اقسام کا ذکر کرنا چاہیے جن کے ساتھ یہ `entities` کے تحت تعامل کرے گا۔ مزید تفصیلات کے لیے [حدود](#Limitations) دیکھیں. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### فائلوں پر کارروائی کرنے کے لیے ایک نیا ہینڈلر بنائیں -اس ہینڈلر کو ایک `Bytes` پیرامیٹر کو قبول کرنا چاہیے، جو فائل کا مواد ہو گا، جب یہ مل جائے گا، جس پر پھر کارروائی کی جا سکتی ہے۔ یہ اکثر ایک JSON فائل ہوگی، جس پر `graph-ts` ہیلپرز ([دستاویزات](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)) سے کاروائ کی جا سکتی ہے. +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). پڑھنے کے قابل سٹرنگ کے طور پر فائل کی CID تک `dataSource` کے ذریعے اس طرح رسائی حاصل کی جا سکتی ہے: @@ -1156,7 +1407,7 @@ export function handleMetadata(content: Bytes): void { IPFS کے لیے، گراف نوڈ [v0 اور v1 مواد کے شناخت کنندگان](https://docs.ipfs.tech/concepts/content-addressing/) کو سپورٹ کرتا ہے، اور ڈائرکٹریز کے ساتھ مواد کی شناخت کرنے والوں کو سپورٹ کرتا ہے (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -Arweave کے لیے، ورژن 0.33.0 کے مطابق گراف نوڈ Arweave پر اسٹور کردہ فائلوں کو Arweave گیٹ وے ([مثال کی فائل](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)) سے ان کی [ٹرانزیکشن ID](https://docs.arweave.org/developers/server/http-api#transactions) کی بنیاد پر بازیافت کرسکتا ہے۔ Arweave Bundlr کے ذریعے اپ لوڈ کردہٹرانزیکشن کو سپورٹ کرتا ہے، اور گراف نوڈ [Bundlr مینی فیسٹس](https://docs.bundlr.network/learn/gateways#indexing) کی بنیاد پر فائلیں بھی حاصل کر سکتا ہے. +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). مثال: @@ -1215,7 +1466,7 @@ export function handleTransfer(event: TransferEvent): void { اگر آپ NFT میٹا ڈیٹا کو متعلقہ ٹوکنز سے جوڑ رہے ہیں، تو ٹوکن ہستی سے میٹا ڈیٹا ہستی کا حوالہ دینے کے لیے میٹا ڈیٹا کے IPFS ہیش کا استعمال کریں۔ آئی پی ایف ایس ہیش کو بطور ID استعمال کرتے ہوئے میٹا ڈیٹا ہستی کو محفوظ کریں. -آپ فائل ڈیٹا سورسز بناتے وقت [ڈیٹا سورس کونٹیکسٹ](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) استعمال کر سکتے ہیں اضافی معلومات پاس کریں جو فائل ڈیٹا سورس ہینڈلر کو دستیاب ہوگی. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. اگر آپ کے پاس ایسی ہستی ہیں جو کئی بار ریفریش ہوتے ہیں، تو IPFS ہیش کا استعمال کرتے ہوئے فائل پر مبنی منفرد ہستی بنائیں۔ entity ID، اور چین پر مبنی ہستی میں اخذ کردہ فیلڈ کا استعمال کرتے ہوئے ان کا حوالہ دیں. @@ -1225,7 +1476,7 @@ export function handleTransfer(event: TransferEvent): void { فائل ڈیٹا سورسز کو فی الحال ABIs کی ضرورت ہے، حالانکہ ABIs استعمال کیے جانے والا ([مسئلہ](https://github.com/graphprotocol/graph-cli/issues/961)) نہیں۔ کام کا مقصد کسی بھی ABI کو شامل کرنا ہے. -فائل ڈیٹا سورسز کے ہینڈلرز ان فائلوں میں نہیں ہو سکتے جو `eth_call` کنٹریکٹس کی پابندیاں درآمد کرتی ہیں، "نامعلوم درآمد: `ethereum::ethereum.call` کی وضاحت نہیں کی گئی ہے" ([مسئلہ](https://github.com/graphprotocol/graph-cli/issues/4309))۔ کام کا مقصد ایک سرشار فائل میں فائل ڈیٹا سورس ہینڈلرز بنانا ہے. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### مثالیں @@ -1234,3 +1485,65 @@ export function handleTransfer(event: TransferEvent): void { #### حوالہ جات [GIP فائل ڈیٹا سورسز](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### جائزہ + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 1e44c3a78d5587d0aca74f9c76b9d5545536750a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:34 -0400 Subject: [PATCH 0307/2326] New translations creating-a-subgraph.mdx (Vietnamese) --- .../vi/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/vi/developing/creating-a-subgraph.mdx b/website/pages/vi/developing/creating-a-subgraph.mdx index dbab1be03c36..cb9fa469c3a2 100644 --- a/website/pages/vi/developing/creating-a-subgraph.mdx +++ b/website/pages/vi/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ A subgraph extracts data from a blockchain, processing it and storing it so that - `Ánh xạ AssemblyScript`: Mã [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) dịch từ dữ liệu sự kiện sang các thực thể được xác định trong lược đồ của bạn (ví dụ: `mapping.ts` trong hướng dẫn này) -> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Trước khi đi vào chi tiết về nội dung của tệp kê khai, bạn cần cài đặt [Graph CLI](https://github.com/graphprotocol/graph-cli) mà bạn sẽ cần để xây dựng và triển khai một subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Cài đặt Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph on the Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## Từ Một Hợp đồng Hiện có @@ -61,7 +61,7 @@ Chế độ thứ hai mà `graph init` hỗ trợ là tạo một dự án mới graph init --studio ``` -Subgraph mẫu dựa trên hợp đồng Gravity của Dani Grant quản lý hình đại diện của người dùng và phát ra các sự kiện `NewGravatar` hoặc `UpdateGravatar` bất cứ khi nào hình đại diện được tạo hoặc cập nhật. Subgraph xử lý các sự kiện này bằng cách ghi các thực thể `Gravatar` vào kho lưu trữ Graph Node và đảm bảo chúng được cập nhật theo sự kiện. Các phần sau sẽ xem xét các tệp tạo nên subgraph cho ví dụ này. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Add New dataSources To An Existing Subgraph @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: Các mục nhập quan trọng cần cập nhật cho tệp kê khai là: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed by The Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: một danh sách tất cả các tên [tính năng](#experimental-features) đã sử dụng. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: the address of the smart contract the subgraph sources, and the ABI of the smart contract to use. The address is optional; omitting it allows to index matching events from all contracts. - `dataSources.source.startBlock`: the optional number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created. @@ -170,6 +176,8 @@ Các mục nhập quan trọng cần cập nhật cho tệp kê khai là: A single subgraph can index data from multiple smart contracts. Add an entry for each contract from which data needs to be indexed to the `dataSources` array. +### Order of Triggering Handlers + Các trình kích hoạt cho nguồn dữ liệu trong một khối được sắp xếp theo quy trình sau: 1. Trình kích hoạt sự kiện và cuộc gọi được sắp xếp đầu tiên theo chỉ mục giao dịch trong khối. @@ -178,6 +186,22 @@ Các trình kích hoạt cho nguồn dữ liệu trong một khối được s These ordering rules are subject to change. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Phiên bản | Ghi chú phát hành | +|:---------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Nhận các ABI (Các) tệp ABI phải khớp với (các) hợp đồng của bạn. Có một số cách để lấy tệp ABI: @@ -248,15 +272,15 @@ For some entity types the `id` is constructed from the id's of two other entitie We support the following scalars in our GraphQL API: -| Loại | Miêu tả | -| --- | --- | -| `Bytes` | Mảng byte, được biểu diễn dưới dạng chuỗi thập lục phân. Thường được sử dụng cho các mã băm và địa chỉ Ethereum. | -| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | -| `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | -| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| Loại | Miêu tả | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Mảng byte, được biểu diễn dưới dạng chuỗi thập lục phân. Thường được sử dụng cho các mã băm và địa chỉ Ethereum. | +| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | +| `Boolean` | Scalar for `boolean` values. | +| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | +| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | #### Enums @@ -398,11 +422,11 @@ This more elaborate way of storing many-to-many relationships will result in les #### Adding comments to the schema -As per GraphQL spec, comments can be added above schema entity attributes using double quotations `""`. This is illustrated in the example below: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ The second handler tries to load the existing `Gravatar` from the Graph Node sto ### Các ID được Đề xuất để tạo các Thực thể Mới -Every entity has to have an `id` that is unique among all entities of the same type. An entity's `id` value is set when the entity is created. Below are some recommended `id` values to consider when creating new entities. NOTE: The value of `id` must be a `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Tạo mã @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Note:** The code generation must be performed again after every change to the GraphQL schema or the ABIs included in the manifest. It must also be performed at least once before building or deploying the subgraph. -Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to the Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Mẫu Nguồn Dữ liệu @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Lưu ý:** Nguồn dữ liệu mới sẽ chỉ xử lý các lệnh gọi và sự kiện cho khối mà nó được tạo và tất cả các khối tiếp theo, nhưng sẽ không xử lý dữ liệu lịch sử, tức là dữ liệu được chứa trong các khối trước đó. -> +> > Nếu các khối trước đó chứa dữ liệu có liên quan đến nguồn dữ liệu mới, tốt nhất là lập chỉ mục dữ liệu đó bằng cách đọc trạng thái hiện tại của hợp đồng và tạo các thực thể đại diện cho trạng thái đó tại thời điểm nguồn dữ liệu mới được tạo. ### Bối cảnh Nguồn Dữ liệu @@ -716,11 +759,219 @@ dataSources: ``` > **Lưu ý:** Khối tạo hợp đồng có thể được nhanh chóng tra cứu trên Etherscan: -> +> > 1. Tìm kiếm hợp đồng bằng cách nhập địa chỉ của nó vào thanh tìm kiếm. > 2. Nhấp vào băm giao dịch tạo trong phần `Contract Creator`. > 3. Tải trang chi tiết giao dịch nơi bạn sẽ tìm thấy khối bắt đầu cho hợp đồng đó. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Trình xử lý lệnh gọi While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1027,7 +1278,7 @@ File data sources are a new subgraph functionality for accessing off-chain data Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. -This is similar to the [existing data source templates](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > This replaces the existing `ipfs.cat` API @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { If the relationship is 1:1 between the parent entity and the resulting file data source entity, the simplest pattern is to link the parent entity to a resulting file entity by using the IPFS CID as the lookup. Get in touch on Discord if you are having difficulty modelling your new file-based entities! -> You can use [nested filters](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Currently `abis` are required, though it is not possible to call contracts from within file data sources -The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#Limitations) for more details. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Create a new handler to process files -This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). The CID of the file as a readable string can be accessed via the `dataSource` as follows: @@ -1156,7 +1407,7 @@ You can now create file data sources during execution of chain-based handlers: For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Example: @@ -1215,7 +1466,7 @@ Additionally, it is not possible to create data sources from a file data source, If you are linking NFT metadata to corresponding tokens, use the metadata's IPFS hash to reference a Metadata entity from the Token entity. Save the Metadata entity using the IPFS hash as an ID. -You can use [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. If you have entities which are refreshed multiple times, create unique file-based entities using the IPFS hash & the entity ID, and reference them using a derived field in the chain-based entity. @@ -1225,7 +1476,7 @@ If you have entities which are refreshed multiple times, create unique file-base File data sources currently require ABIs, even though ABIs are not used ([issue](https://github.com/graphprotocol/graph-cli/issues/961)). Workaround is to add any ABI. -Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)). Workaround is to create file data source handlers in a dedicated file. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Examples @@ -1234,3 +1485,65 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Tổng quan + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From cc3b3bc41e9a6c0591f7b1adb5daf6f13a8c36ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:35 -0400 Subject: [PATCH 0308/2326] New translations creating-a-subgraph.mdx (Marathi) --- .../mr/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/mr/developing/creating-a-subgraph.mdx b/website/pages/mr/developing/creating-a-subgraph.mdx index 060f832cf1b3..b7da72b70d58 100644 --- a/website/pages/mr/developing/creating-a-subgraph.mdx +++ b/website/pages/mr/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ The subgraph definition consists of a few files: - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) code that translates from the event data to the entities defined in your schema (e.g. `mapping.ts` in this tutorial) -> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -तुम्ही मॅनिफेस्ट फाइलच्या सामग्रीबद्दल तपशीलात जाण्यापूर्वी, तुम्हाला [ग्राफ CLI](https://github.com/graphprotocol/graph-cli) स्थापित करणे आवश्यक आहे जे तुम्हाला तयार करण्यासाठी आवश्यक असेल. आणि सबग्राफ तैनात करा. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Install the Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -एकदा स्थापित केल्यानंतर, `graph init` कमांडचा वापर नवीन सबग्राफ प्रोजेक्ट सेट करण्यासाठी केला जाऊ शकतो, एकतर विद्यमान करारातून किंवा उदाहरण सबग्राफमधून. ही कमांड `graph init --product subgraph-studio` मध्ये पास करून सबग्राफ स्टुडिओवर सबग्राफ तयार करण्यासाठी वापरली जाऊ शकते. जर तुमच्याकडे आधीपासून तुमच्या पसंतीच्या नेटवर्कवर स्मार्ट कॉन्ट्रॅक्ट तैनात केले असेल, तर त्या कॉन्ट्रॅक्टमधून नवीन सबग्राफ बूटस्ट्रॅप करणे हा सुरू करण्याचा एक चांगला मार्ग असू शकतो. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## From An Existing Contract @@ -61,7 +61,7 @@ The `` is the ID of your subgraph in Subgraph Studio, it can be f आलेख init --studio ``` -उदाहरण सबग्राफ हे Dani Grant च्या ग्रॅव्हिटी कॉन्ट्रॅक्टवर आधारित आहे जे वापरकर्ता अवतार व्यवस्थापित करते आणि `NewGravatar` किंवा `UpdateGravatar` इव्हेंट जेव्हाही अवतार तयार किंवा अपडेट केले जातात. सबग्राफ ग्राफ नोड स्टोअरमध्ये `Gravatar` संस्था लिहून आणि हे इव्हेंटनुसार अपडेट केले जातील याची खात्री करून हे इव्हेंट हाताळते. या उदाहरणासाठी सबग्राफ मॅनिफेस्ट बनवणार्‍या फाइल्सवर पुढील विभाग जातील. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Add New dataSources To An Existing Subgraph @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: मॅनिफेस्टसाठी अद्यतनित करण्याच्या महत्त्वाच्या नोंदी आहेत: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed by The Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `वैशिष्ट्ये`: सर्व वापरलेल्या [वैशिष्ट्य](#experimental-features) नावांची सूची. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: स्मार्ट कॉन्ट्रॅक्टचा पत्ता सबग्राफ स्त्रोत आणि वापरण्यासाठी स्मार्ट कॉन्ट्रॅक्टचा ABI. पत्ता ऐच्छिक आहे; ते वगळणे सर्व करारांमधून जुळणारे इव्हेंट अनुक्रमित करण्यास अनुमती देते. - `dataSources.source.startBlock`: ब्लॉकची पर्यायी संख्या ज्यावरून डेटा स्रोत अनुक्रमणिका सुरू करतो. बहुतेक प्रकरणांमध्ये, आम्ही ज्या ब्लॉकमध्ये करार तयार केला होता तो वापरण्याचा सल्ला देतो. @@ -170,6 +176,8 @@ dataSources: एकच सबग्राफ एकाधिक स्मार्ट कॉन्ट्रॅक्ट्समधील डेटा अनुक्रमित करू शकतो. प्रत्येक करारासाठी एक एंट्री जोडा ज्यामधून डेटा `डेटास्रोत` अॅरेमध्ये अनुक्रमित करणे आवश्यक आहे. +### Order of Triggering Handlers + The triggers for a data source within a block are ordered using the following process: 1. Event and call triggers are first ordered by transaction index within the block. @@ -178,6 +186,22 @@ The triggers for a data source within a block are ordered using the following pr These ordering rules are subject to change. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| आवृत्ती | रिलीझ नोट्स | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### ABIs मिळवणे The ABI file(s) must match your contract(s). There are a few ways to obtain ABI files: @@ -248,15 +272,15 @@ type GravatarDeclined @entity { We support the following scalars in our GraphQL API: -| प्रकार | वर्णन | -| --- | --- | -| `बाइट्स` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | -| `स्ट्रिंग` | Scalar for `string` values. Null characters are not supported and are automatically removed. | -| `बुलियन` | `बूलियन` मूल्यांसाठी स्केलर. | -| `इंट` | GraphQL spec `Int` ला ३२ बाइट्सचा आकार ठरवतो. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | मोठे पूर्णांक. इथरियमच्या `uint32`, `int64`, `uint64`, ..., `uint256` प्रकारांसाठी वापरले जाते. टीप: `uint32` खाली सर्व काही, जसे की `int32`, `uint24` किंवा `int8` `i32` म्हणून प्रस्तुत केले जाते 0>. | -| `बिग डेसिमल` | `BigDecimal` उच्च सुस्पष्टता दशांश एक महत्त्वपूर्ण आणि घातांक म्हणून प्रस्तुत केले जाते. घातांक श्रेणी −6143 ते +6144 पर्यंत आहे. 34 लक्षणीय अंकांपर्यंत पूर्णांक. | +| प्रकार | वर्णन | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `बाइट्स` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | +| `स्ट्रिंग` | Scalar for `string` values. Null characters are not supported and are automatically removed. | +| `बुलियन` | `बूलियन` मूल्यांसाठी स्केलर. | +| `इंट` | GraphQL spec `Int` ला ३२ बाइट्सचा आकार ठरवतो. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | मोठे पूर्णांक. इथरियमच्या `uint32`, `int64`, `uint64`, ..., `uint256` प्रकारांसाठी वापरले जाते. टीप: `uint32` खाली सर्व काही, जसे की `int32`, `uint24` किंवा `int8` `i32` म्हणून प्रस्तुत केले जाते 0>. | +| `बिग डेसिमल` | `BigDecimal` उच्च सुस्पष्टता दशांश एक महत्त्वपूर्ण आणि घातांक म्हणून प्रस्तुत केले जाते. घातांक श्रेणी −6143 ते +6144 पर्यंत आहे. 34 लक्षणीय अंकांपर्यंत पूर्णांक. | #### एनम्स @@ -398,11 +422,11 @@ query usersWithOrganizations { #### स्कीमामध्ये टिप्पण्या जोडत आहे -GraphQL स्पेसनुसार, दुहेरी कोटेशन `""` वापरून स्कीमा एंटिटी विशेषतांवर टिप्पण्या जोडल्या जाऊ शकतात. हे खालील उदाहरणात स्पष्ट केले आहे: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { ### नवीन संस्था तयार करण्यासाठी शिफारस केलेले आयडी -प्रत्येक घटकाकडे एक `id` असणे आवश्यक आहे जे समान प्रकारच्या सर्व घटकांमध्ये अद्वितीय आहे. जेव्हा अस्तित्व तयार केले जाते तेव्हा घटकाचे `id` मूल्य सेट केले जाते. नवीन घटक तयार करताना विचारात घेण्यासाठी खाली काही शिफारस केलेली `id` मूल्ये आहेत. टीप: `id` चे मूल्य `स्ट्रिंग` असणे आवश्यक आहे. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## कोड जनरेशन @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **टीप:** मॅनिफेस्टमध्ये समाविष्ट केलेल्या GraphQL स्कीमा किंवा ABI मध्ये प्रत्येक बदलानंतर कोड जनरेशन पुन्हा केले जाणे आवश्यक आहे. सबग्राफ तयार करण्यापूर्वी किंवा उपयोजित करण्यापूर्वी ते किमान एकदा केले जाणे आवश्यक आहे. -कोड जनरेशन तुमचा मॅपिंग कोड `src/mapping.ts` मध्ये तपासत नाही. ग्राफ एक्सप्लोररमध्ये तुमचा सबग्राफ उपयोजित करण्याचा प्रयत्न करण्यापूर्वी तुम्हाला ते तपासायचे असल्यास, तुम्ही `यार्न बिल्ड` चालवू शकता आणि टाइपस्क्रिप्ट कंपायलरला सापडलेल्या कोणत्याही वाक्यरचना त्रुटींचे निराकरण करू शकता. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## डेटा स्रोत टेम्पलेट्स @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **टीप:** नवीन डेटा स्रोत केवळ तो ज्या ब्लॉकमध्ये तयार केला गेला होता आणि पुढील सर्व ब्लॉकसाठी कॉल्स आणि इव्हेंटवर प्रक्रिया करेल, परंतु ऐतिहासिक डेटावर प्रक्रिया करणार नाही, म्हणजे, डेटावर प्रक्रिया करणार नाही. जे आधीच्या ब्लॉक्समध्ये समाविष्ट आहे. -> +> > पूर्वीच्या ब्लॉक्समध्ये नवीन डेटा स्रोताशी संबंधित डेटा असल्यास, कराराची वर्तमान स्थिती वाचून आणि नवीन डेटा स्रोत तयार करताना त्या स्थितीचे प्रतिनिधित्व करणारी संस्था तयार करून तो डेटा अनुक्रमित करणे सर्वोत्तम आहे. ### डेटा स्रोत संदर्भ @@ -716,11 +759,219 @@ dataSources: ``` > **Note:** The contract creation block can be quickly looked up on Etherscan: -> +> > 1. Search for the contract by entering its address in the search bar. > 2. Click on the creation transaction hash in the `Contract Creator` section. > 3. Load the transaction details page where you'll find the start block for that contract. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## हँडलर्सना कॉल करा इव्हेंट्स कराराच्या स्थितीत संबंधित बदल एकत्रित करण्याचा एक प्रभावी मार्ग प्रदान करतात, तर अनेक करार गॅसच्या किमती ऑप्टिमाइझ करण्यासाठी लॉग तयार करणे टाळतात. या प्रकरणांमध्ये, सबग्राफ डेटा स्त्रोत करारावर केलेल्या कॉलची सदस्यता घेऊ शकतो. फंक्शन सिग्नेचर आणि मॅपिंग हँडलरचा संदर्भ देणारे कॉल हँडलर परिभाषित करून हे साध्य केले जाते जे या फंक्शनवर कॉलवर प्रक्रिया करेल. या कॉल्सवर प्रक्रिया करण्यासाठी, मॅपिंग हँडलरला कॉलमधील टाइप केलेल्या इनपुट आणि आउटपुटसह युक्तिवाद म्हणून `ethereum.Call` प्राप्त होईल. व्यवहाराच्या कॉल साखळीतील कोणत्याही खोलीत केलेले कॉल मॅपिंगला ट्रिगर करतील, प्रॉक्सी कॉन्ट्रॅक्टद्वारे डेटा स्त्रोत करारासह क्रियाकलाप कॅप्चर करण्यास अनुमती देईल. @@ -1027,7 +1278,7 @@ File data sources are a new subgraph functionality for accessing off-chain data हँडलर कार्यान्वित करताना फाईल्स "इन लाइन" आणण्याऐवजी, हे टेम्पलेट्स सादर करते जे दिलेल्या फाइल आयडेंटिफायरसाठी नवीन डेटा स्रोत म्हणून तयार केले जाऊ शकतात. हे नवीन डेटा स्रोत फाइल्स आणतात, अयशस्वी झाल्यास पुन्हा प्रयत्न करतात, फाइल सापडल्यावर समर्पित हँडलर चालवतात. -हे [विद्यमान डेटा स्रोत टेम्पलेट](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates) सारखे आहे, जे वापरले जातात गतिशीलपणे नवीन साखळी-आधारित डेटा स्रोत तयार करण्यासाठी. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > हे विद्यमान `ipfs.cat` API बदलते @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { जर मूळ घटक आणि परिणामी फाइल डेटा स्रोत घटक यांच्यातील संबंध 1:1 असेल तर, आयपीएफएस सीआयडी लुकअप म्हणून वापरून मूळ घटकाला परिणामी फाइल घटकाशी जोडणे हा सर्वात सोपा नमुना आहे. तुम्हाला तुमच्या नवीन फाइल-आधारित घटकांचे मॉडेलिंग करण्यात अडचण येत असल्यास Discord वर संपर्क साधा! -> You can use [nested filters](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Currently `abis` are required, though it is not possible to call contracts from within file data sources -फाइल डेटा स्रोताने विशेषत: सर्व घटक प्रकारांचा उल्लेख करणे आवश्यक आहे ज्यांच्याशी तो `संस्था` अंतर्गत संवाद साधेल. अधिक तपशीलांसाठी [मर्यादा](#Limitations) पहा. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### फाइल्सवर प्रक्रिया करण्यासाठी नवीन हँडलर तयार करा -This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). The CID of the file as a readable string can be accessed via the `dataSource` as follows: @@ -1156,7 +1407,7 @@ You can now create file data sources during execution of chain-based handlers: For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). उदाहरण: @@ -1215,7 +1466,7 @@ You can now `build` and `deploy` your subgraph to any Graph Node >=v0.30.0-rc.0. तुम्ही एनएफटी मेटाडेटाला संबंधित टोकनशी लिंक करत असल्यास, टोकन एंटिटीमधील मेटाडेटा घटकाचा संदर्भ देण्यासाठी मेटाडेटाचा IPFS हॅश वापरा. आयडी म्हणून IPFS हॅश वापरून मेटाडेटा घटक जतन करा. -फाइल डेटा स्रोत तयार करताना तुम्ही [डेटास्रोत संदर्भ](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) वापरू शकता अतिरिक्त माहिती पास करा जी फाइल डेटा स्रोत हँडलरकडे उपलब्ध असेल. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. तुमच्याकडे अनेक वेळा रीफ्रेश केलेल्या संस्था असल्यास, IPFS हॅश वापरून अद्वितीय फाइल-आधारित संस्था तयार करा & एंटिटी आयडी आणि साखळी-आधारित घटकामध्ये व्युत्पन्न फील्ड वापरून त्यांचा संदर्भ द्या. @@ -1225,7 +1476,7 @@ You can now `build` and `deploy` your subgraph to any Graph Node >=v0.30.0-rc.0. File data sources currently require ABIs, even though ABIs are not used ([issue](https://github.com/graphprotocol/graph-cli/issues/961)). Workaround is to add any ABI. -फाइल डेटा स्रोतांसाठी हँडलर फाईल्समध्ये असू शकत नाहीत जे `eth_call` कॉन्ट्रॅक्ट बाइंडिंग आयात करतात, "अज्ञात आयात: `ethereum::ethereum.call` परिभाषित केले गेले नाहीत" ([ समस्या](https://github.com/graphprotocol/graph-cli/issues/4309)). वर्कअराउंड म्हणजे समर्पित फाइलमध्ये फाइल डेटा स्रोत हँडलर तयार करणे. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### उदाहरणे @@ -1234,3 +1485,65 @@ File data sources currently require ABIs, even though ABIs are not used ([issue] #### संदर्भ [GIP फाइल डेटा स्रोत](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### सारांश + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From b8d91159622af4e5b1a6e95913c2fc06ca83a5bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:37 -0400 Subject: [PATCH 0309/2326] New translations creating-a-subgraph.mdx (Hindi) --- .../hi/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/hi/developing/creating-a-subgraph.mdx b/website/pages/hi/developing/creating-a-subgraph.mdx index b146210f6aec..6f3d5a01e4dc 100644 --- a/website/pages/hi/developing/creating-a-subgraph.mdx +++ b/website/pages/hi/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ title: सबग्राफ बनाना - `AssemblyScript मैपिंग`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) कोड जो इवेंट डेटा से आपके स्कीमा में परिभाषित इकाइयों में अनुवाद करता है (उदाहरण के लिए `mapping.ts` इस ट्यूटोरियल में) -> ग्राफ़ के विकेन्द्रीकृत नेटवर्क पर अपने सबग्राफ का उपयोग करने के लिए, आपको [एक बनाना होगा एपीआई कुंजी](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key)। यह अनुशंसा की जाती है कि आप कम से कम [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network) के साथ [सिग्नल जोड़ें](/network/curating/#how-to-signal) +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -मेनिफ़ेस्ट फ़ाइल की सामग्री के बारे में विस्तार से जाने से पहले, आपको [ग्राफ़ CLI](https://github.com/graphprotocol/graph-cli) इंस्टॉल करना होगा जिसे आपको बनाना होगा और एक सबग्राफ तैनात करें। +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## . ग्राफ़ सीएलआई इनस्टॉल करें @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -एक बार इंस्टॉल हो जाने पर, `ग्राफ़ इनिट` कमांड का उपयोग मौजूदा अनुबंध से या किसी उदाहरण सबग्राफ से एक नया सबग्राफ प्रोजेक्ट सेट करने के लिए किया जा सकता है। `ग्राफ़ इनिट --प्रोडक्ट सबग्राफ़-स्टूडियो` पास करके सबग्राफ़ स्टूडियो पर सबग्राफ़ बनाने के लिए इस कमांड का इस्तेमाल किया जा सकता है। यदि आपके पास पहले से ही आपके पसंदीदा नेटवर्क पर एक स्मार्ट अनुबंध तैनात है, तो उस अनुबंध से एक नया सबग्राफ बूटस्ट्रैप करना आरंभ करने का एक अच्छा तरीका हो सकता है। +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## एक मौजूदा कॉन्ट्रैक्ट से @@ -61,7 +61,7 @@ graph init \ graph init --studio ``` -उदाहरण सबग्राफ दानी ग्रांट के ग्रेविटी अनुबंध पर आधारित है जो उपयोगकर्ता के अवतारों का प्रबंधन करता है और जब भी अवतार बनाए या अपडेट किए जाते हैं तो `NewGravatar` या `UpdateGravatar` ईवेंट उत्सर्जित करता है। सबग्राफ इन घटनाओं को ग्राफ़ नोड स्टोर में `Gravatar` संस्थाओं को लिखकर और सुनिश्चित करता है कि इन्हें घटनाओं के अनुसार अपडेट किया जाता है। निम्नलिखित खंड उन फाइलों पर जाएंगे जो इस उदाहरण के लिए सबग्राफ मेनिफेस्ट बनाते हैं। +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## मौजूदा सबग्राफ में नए डेटा स्रोत जोड़ें @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: मेनिफेस्ट के लिए अद्यतन करने के लिए महत्वपूर्ण प्रविष्टियां हैं: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `रिपॉजिटरी`: रिपॉजिटरी का URL जहां सबग्राफ मेनिफेस्ट पाया जा सकता है। यह द ग्राफ एक्सप्लोरर द्वारा भी प्रदर्शित किया गया है। +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `विशेषताएं`: सभी प्रयुक्त [विशेषता](#experimental-features) नामों की सूची। +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: स्मार्ट अनुबंध का पता सबग्राफ स्रोत, और उपयोग करने के लिए स्मार्ट अनुबंध का ABI। पता वैकल्पिक है; इसे छोड़ने से सभी अनुबंधों से मिलान करने वाले ईवेंट को अनुक्रमित करने की अनुमति मिलती है। - `dataSources.source.startBlock`: उस ब्लॉक की वैकल्पिक संख्या जिससे डेटा स्रोत इंडेक्स करना शुरू करता है। ज्यादातर मामलों में, हम उस ब्लॉक का उपयोग करने का सुझाव देते हैं जिसमें अनुबंध बनाया गया था। @@ -170,6 +176,8 @@ dataSources: एक सबग्राफ कई स्मार्ट कॉन्ट्रैक्ट्स से डेटा को इंडेक्स कर सकता है। प्रत्येक अनुबंध के लिए एक प्रविष्टि जोड़ें जिससे डेटा को `dataSources` सरणी में अनुक्रमित करने की आवश्यकता है। +### Order of Triggering Handlers + निम्नलिखित प्रक्रिया का उपयोग करके एक ब्लॉक के भीतर डेटा स्रोत के लिए ट्रिगर्स का आदेश दिया गया है: 1. ईवेंट और कॉल ट्रिगर्स को पहले ब्लॉक के भीतर ट्रांजैक्शन इंडेक्स द्वारा ऑर्डर किया जाता है। @@ -178,6 +186,22 @@ dataSources: ये आदेश नियम परिवर्तन के अधीन हैं। +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| संस्करण | रिलीज नोट्स | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### एबीआई प्राप्त करना एबीआई फाइल(फाइलों) को आपके अनुबंध(ओं) से मेल खाना चाहिए। ABI फ़ाइलें प्राप्त करने के कुछ तरीके हैं: @@ -248,15 +272,15 @@ type GravatarDeclined @entity { हम अपने ग्राफक्यूएल एपीआई में निम्नलिखित स्केलर्स का समर्थन करते हैं: -| प्रकार | विवरण | -| --- | --- | -| `Bytes` | बाइट सरणी, एक हेक्साडेसिमल स्ट्रिंग के रूप में दर्शाया गया है। आमतौर पर एथेरियम हैश और पतों के लिए उपयोग किया जाता है। | -| `String` | `स्ट्रिंग` मानों के लिए स्केलर। अशक्त वर्ण समर्थित नहीं हैं और स्वचालित रूप से हटा दिए जाते हैं। | -| `Boolean` | `boolean` मानों के लिए स्केलर। | -| `Int` | ग्राफक्लाइन स्पेक `Int` को 32 बाइट्स के आकार के रूप में परिभाषित करता है। | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | बड़े पूर्णांक। एथेरियम के `uint32`, `int64`, `uint64`, ..., `uint256` प्रकारों के लिए उपयोग किया जाता है। नोट: `uint32` के नीचे सब कुछ, जैसे `int32`, `uint24` या `int8` को `i32` के रूप में दर्शाया गया है। | -| `BigDecimal` | `BigDecimal` उच्च परिशुद्धता दशमलव एक महत्व और एक प्रतिपादक के रूप में दर्शाया गया है। एक्सपोनेंट रेंज -6143 से +6144 तक है। 34 महत्वपूर्ण अंकों तक गोल। | +| प्रकार | विवरण | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | बाइट सरणी, एक हेक्साडेसिमल स्ट्रिंग के रूप में दर्शाया गया है। आमतौर पर एथेरियम हैश और पतों के लिए उपयोग किया जाता है। | +| `String` | `स्ट्रिंग` मानों के लिए स्केलर। अशक्त वर्ण समर्थित नहीं हैं और स्वचालित रूप से हटा दिए जाते हैं। | +| `Boolean` | `boolean` मानों के लिए स्केलर। | +| `Int` | ग्राफक्लाइन स्पेक `Int` को 32 बाइट्स के आकार के रूप में परिभाषित करता है। | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | बड़े पूर्णांक। एथेरियम के `uint32`, `int64`, `uint64`, ..., `uint256` प्रकारों के लिए उपयोग किया जाता है। नोट: `uint32` के नीचे सब कुछ, जैसे `int32`, `uint24` या `int8` को `i32` के रूप में दर्शाया गया है। | +| `BigDecimal` | `BigDecimal` उच्च परिशुद्धता दशमलव एक महत्व और एक प्रतिपादक के रूप में दर्शाया गया है। एक्सपोनेंट रेंज -6143 से +6144 तक है। 34 महत्वपूर्ण अंकों तक गोल। | #### Enums @@ -398,11 +422,11 @@ query usersWithOrganizations { #### स्कीमा में टिप्पणियां जोड़ना -रेखांकन विनिर्देश के अनुसार, डबल कोटेशन `""` का उपयोग करके स्कीमा इकाई विशेषताओं के ऊपर टिप्पणियाँ जोड़ी जा सकती हैं। यह नीचे दिए गए उदाहरण में दिखाया गया है: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { ### नई संस्थाओं को बनाने के लिए अनुशंसित आईडी -प्रत्येक इकाई के पास एक `id` होना चाहिए जो एक ही प्रकार की सभी संस्थाओं के बीच अद्वितीय हो। किसी इकाई का `आईडी` मान तब सेट किया जाता है जब इकाई बनाई जाती है। नीचे कुछ सुझाए गए `आईडी` मान दिए गए हैं जिन पर नई इकाइयां बनाते समय विचार किया जाना चाहिए। नोट: `आईडी` का मान एक `स्ट्रिंग` होना चाहिए। +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## कोड जनरेशन @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **ध्यान दें:** मेनिफेस्ट में शामिल ग्राफ़क्यूएल स्कीमा या एबीआई में हर बदलाव के बाद कोड जेनरेशन फिर से किया जाना चाहिए। सबग्राफ बनाने या तैनात करने से पहले इसे कम से कम एक बार अवश्य किया जाना चाहिए। -कोड जेनरेशन `src/mapping.ts` में आपके मैपिंग कोड की जांच नहीं करता है। यदि आप यह जांचना चाहते हैं कि अपने सबग्राफ को ग्राफ़ एक्सप्लोरर में तैनात करने का प्रयास करने से पहले, आप यार्न बिल्ड चला सकते हैं और किसी भी सिंटैक्स त्रुटियों को ठीक कर सकते हैं जो टाइपस्क्रिप्ट कंपाइलर को मिल सकती है। +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## डेटा स्रोत टेम्पलेट्स @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **ध्यान दें:** एक नया डेटा स्रोत केवल उस ब्लॉक के लिए कॉल और ईवेंट को प्रोसेस करेगा जिसमें इसे बनाया गया था और सभी बाद के ब्लॉक, लेकिन ऐतिहासिक डेटा, यानी डेटा को प्रोसेस नहीं करेगा जो पिछले ब्लॉकों में निहित है। -> +> > यदि पिछले ब्लॉक में नए डेटा स्रोत के लिए प्रासंगिक डेटा है, तो उस डेटा को अनुबंध की वर्तमान स्थिति को पढ़कर और नए डेटा स्रोत के निर्माण के समय उस स्थिति का प्रतिनिधित्व करने वाली संस्थाओं का निर्माण करना सबसे अच्छा है। ### डेटा स्रोत प्रसंग @@ -716,11 +759,219 @@ dataSources: ``` > **ध्यान दें:** इथरस्कैन पर अनुबंध निर्माण ब्लॉक को जल्दी से देखा जा सकता है: -> +> > 1. खोज बार में उसका पता दर्ज करके अनुबंध की खोज करें। > 2. `अनुबंध निर्माता` अनुभाग में निर्माण लेनदेन हैश पर क्लिक करें। > 3. लेन-देन विवरण पृष्ठ लोड करें जहां आपको उस अनुबंध के लिए प्रारंभ ब्लॉक मिलेगा। +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## कॉल हैंडलर्स जबकि घटनाएँ एक अनुबंध की स्थिति में प्रासंगिक परिवर्तन एकत्र करने का एक प्रभावी तरीका प्रदान करती हैं, कई अनुबंध गैस लागतों को अनुकूलित करने के लिए लॉग उत्पन्न करने से बचते हैं। इन मामलों में, एक सबग्राफ डेटा स्रोत अनुबंध में किए गए कॉलों की सदस्यता ले सकता है। यह फ़ंक्शन सिग्नेचर और मैपिंग हैंडलर को संदर्भित करने वाले कॉल हैंडलर को परिभाषित करके प्राप्त किया जाता है जो इस फ़ंक्शन को कॉल संसाधित करेगा। इन कॉल्स को प्रोसेस करने के लिए, मैपिंग हैंडलर को `ethereum.Call` एक आर्गुमेंट के रूप में प्राप्त होगा, जिसमें टाइप किए गए इनपुट और कॉल के आउटपुट होंगे। लेन-देन की कॉल श्रृंखला में किसी भी गहराई पर किए गए कॉल मैपिंग को ट्रिगर करेंगे, जिससे प्रॉक्सी अनुबंधों के माध्यम से डेटा स्रोत अनुबंध के साथ गतिविधि को कैप्चर किया जा सकेगा। @@ -1027,7 +1278,7 @@ File data sources are a new subgraph functionality for accessing off-chain data हैंडलर निष्पादन के दौरान "इन लाइन" फ़ाइलों को लाने के बजाय, यह उन टेम्पलेट्स को प्रस्तुत करता है जिन्हें किसी दिए गए फ़ाइल पहचानकर्ता के लिए नए डेटा स्रोतों के रूप में उत्पन्न किया जा सकता है। ये नए डेटा स्रोत फ़ाइलें प्राप्त करते हैं, असफल होने पर पुनः प्रयास करते हैं, फ़ाइल मिलने पर एक समर्पित हैंडलर चलाते हैं। -यह [मौजूदा डेटा स्रोत टेम्प्लेट](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates) के समान है, जिनका उपयोग किया जाता है नए श्रृंखला-आधारित डेटा स्रोतों को गतिशील रूप से बनाने के लिए। +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > यह मौजूदा `ipfs.cat` API को प्रतिस्थापित करता है @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { यदि पैरेंट इकाई और परिणामी फ़ाइल डेटा स्रोत इकाई के बीच संबंध 1:1 है, तो सबसे सरल पैटर्न मूल इकाई को लुकअप के रूप में IPFS CID का उपयोग करके परिणामी फ़ाइल इकाई से लिंक करना है। यदि आपको अपनी नई फ़ाइल-आधारित संस्थाओं को मॉडलिंग करने में कठिनाई हो रही है, तो डिस्कॉर्ड पर संपर्क करें! -> आप इन नेस्टेड इकाइयों के आधार पर पैरेंट इकाइयों को फ़िल्टर करने के लिए [नेस्टेड फ़िल्टर](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) का उपयोग कर सकते हैं। +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > वर्तमान में `abis` की आवश्यकता है, हालांकि फ़ाइल डेटा स्रोतों के भीतर से अनुबंधों को कॉल करना संभव नहीं है -फ़ाइल डेटा स्रोत को विशेष रूप से उन सभी इकाई प्रकारों का उल्लेख करना चाहिए जिनके साथ यह `इकाइयों` के तहत इंटरैक्ट करेगा। अधिक विवरण के लिए [सीमाएं](#Limitations) देखें। +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### फ़ाइलों को संसाधित करने के लिए एक नया हैंडलर बनाएँ -इस हैंडलर को एक `बाइट्स` पैरामीटर स्वीकार करना चाहिए, जो फ़ाइल के मिलने पर उसकी सामग्री होगी, जिसे बाद में संसाधित किया जा सकता है। यह अक्सर एक JSON फ़ाइल होगी, जिसे `ग्राफ़-टीएस` हेल्पर्स ([दस्तावेज़ीकरण](https://thegraph.com/docs/en/developing/assemblyscript-api/#json) के साथ प्रोसेस किया जा सकता है -api))। +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). पढ़ने योग्य स्ट्रिंग के रूप में फ़ाइल की CID को `dataSource` के माध्यम से निम्नानुसार एक्सेस किया जा सकता है: @@ -1156,7 +1407,7 @@ export function handleMetadata(content: Bytes): void { For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). उदाहरण: @@ -1215,7 +1466,7 @@ This will create a new file data source, which will poll Graph Node's configured यदि आप NFT मेटाडेटा को संबंधित टोकन से लिंक कर रहे हैं, तो टोकन इकाई से मेटाडेटा इकाई को संदर्भित करने के लिए मेटाडेटा के IPFS हैश का उपयोग करें। एक आईडी के रूप में IPFS हैश का उपयोग करके मेटाडेटा इकाई को सहेजें। -फ़ाइल डेटा स्रोत बनाते समय आप [DataSource प्रसंग](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) का उपयोग कर सकते हैं अतिरिक्त जानकारी पास करें जो फ़ाइल डेटा स्रोत हैंडलर के लिए उपलब्ध होगी। +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. यदि आपके पास ऐसे निकाय हैं जो कई बार रीफ़्रेश किए गए हैं, तो IPFS हैश & amp का उपयोग करके अद्वितीय फ़ाइल-आधारित निकाय बनाएँ; इकाई आईडी, और श्रृंखला-आधारित इकाई में एक व्युत्पन्न क्षेत्र का उपयोग करके उनका संदर्भ लें। @@ -1225,7 +1476,7 @@ This will create a new file data source, which will poll Graph Node's configured फ़ाइल डेटा स्रोतों को वर्तमान में ABI की आवश्यकता है, भले ही ABI का उपयोग नहीं किया जाता है ([issue](https://github.com/graphprotocol/graph-cli/issues/961))। वर्कअराउंड किसी भी एबीआई को जोड़ना है। -फ़ाइल डेटा स्रोतों के लिए हैंडलर उन फ़ाइलों में नहीं हो सकते हैं जो `eth_call` अनुबंध बाइंडिंग आयात करते हैं, "अज्ञात आयात: `ethereum::ethereum.call` परिभाषित नहीं किया गया है" ([ मुद्दा](https://github.com/graphprotocol/graph-cli/issues/4309))। वर्कअराउंड एक समर्पित फ़ाइल में फ़ाइल डेटा स्रोत हैंडलर बनाना है। +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### उदाहरण @@ -1234,3 +1485,65 @@ This will create a new file data source, which will poll Graph Node's configured #### संदर्भ [GIP फ़ाइल डेटा स्रोत](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### अवलोकन + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 7dcbe4fa370db8994a402f14d84f2270b36a4229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:38 -0400 Subject: [PATCH 0310/2326] New translations creating-a-subgraph.mdx (Yoruba) --- .../yo/developing/creating-a-subgraph.mdx | 377 ++++++++++++++++-- 1 file changed, 345 insertions(+), 32 deletions(-) diff --git a/website/pages/yo/developing/creating-a-subgraph.mdx b/website/pages/yo/developing/creating-a-subgraph.mdx index 39f58ac2083b..fd9550e8df79 100644 --- a/website/pages/yo/developing/creating-a-subgraph.mdx +++ b/website/pages/yo/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ The subgraph definition consists of a few files: - `AssemblyScript Mappings`: [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) code that translates from the event data to the entities defined in your schema (e.g. `mapping.ts` in this tutorial) -> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [10,000 GRT](/network-transition-faq/#how-can-i-ensure-that-my-subgraph-will-be-picked-up-by-indexer-on-the-graph-network). +> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-cli) which you will need to build and deploy a subgraph. +Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. ## Install the Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph on the Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. +Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. ## From An Existing Contract @@ -61,7 +61,7 @@ The second mode `graph init` supports is creating a new project from an example graph init --studio ``` -The example subgraph is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. +The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. ## Add New dataSources To An Existing Subgraph @@ -101,6 +101,8 @@ description: Gravatar for Ethereum repository: https://github.com/graphprotocol/graph-tooling schema: file: ./schema.graphql +indexerHints: + prune: auto dataSources: - kind: ethereum/contract name: Gravity @@ -144,12 +146,16 @@ dataSources: The important entries to update for the manifest are: -- `description`: a human-readable description of what the subgraph is. This description is displayed by the Graph Explorer when the subgraph is deployed to the hosted service. +- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. -- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed by The Graph Explorer. +- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. + +- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. - `features`: a list of all used [feature](#experimental-features) names. +- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. + - `dataSources.source`: the address of the smart contract the subgraph sources, and the ABI of the smart contract to use. The address is optional; omitting it allows to index matching events from all contracts. - `dataSources.source.startBlock`: the optional number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created. @@ -170,6 +176,8 @@ The important entries to update for the manifest are: A single subgraph can index data from multiple smart contracts. Add an entry for each contract from which data needs to be indexed to the `dataSources` array. +### Order of Triggering Handlers + The triggers for a data source within a block are ordered using the following process: 1. Event and call triggers are first ordered by transaction index within the block. @@ -178,6 +186,22 @@ The triggers for a data source within a block are ordered using the following pr These ordering rules are subject to change. +> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. + +### SpecVersion Releases + +| Version | Release notes | +|:-------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | +| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | +| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | +| 0.0.9 | Supports `endBlock` feature | +| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | +| 0.0.5 | Added support for event handlers having access to transaction receipts. | +| 0.0.4 | Added support for managing subgraph features. | + ### Getting The ABIs The ABI file(s) must match your contract(s). There are a few ways to obtain ABI files: @@ -248,15 +272,15 @@ For some entity types the `id` is constructed from the id's of two other entitie We support the following scalars in our GraphQL API: -| Type | Description | -| --- | --- | -| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | -| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | -| `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | -| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | -| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | -| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| Type | Description | +| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | +| `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | +| `Boolean` | Scalar for `boolean` values. | +| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | +| `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | +| `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | #### Enums @@ -398,11 +422,11 @@ This more elaborate way of storing many-to-many relationships will result in les #### Adding comments to the schema -As per GraphQL spec, comments can be added above schema entity attributes using double quotations `""`. This is illustrated in the example below: +As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: ```graphql type MyFirstEntity @entity { - "unique identifier and primary key of the entity" + # unique identifier and primary key of the entity id: Bytes! address: Bytes! } @@ -525,13 +549,32 @@ The second handler tries to load the existing `Gravatar` from the Graph Node sto ### Recommended IDs for Creating New Entities -Every entity has to have an `id` that is unique among all entities of the same type. An entity's `id` value is set when the entity is created. Below are some recommended `id` values to consider when creating new entities. NOTE: The value of `id` must be a `string`. +It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. + +- `transfer.id = event.transaction.hash` + +- `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- `event.params.id.toHex()` -- `event.transaction.from.toHex()` -- `event.transaction.hash.toHex() + "-" + event.logIndex.toString()` +- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like -We provide the [Graph Typescript Library](https://github.com/graphprotocol/graph-ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. You can use this library in your mappings by importing `@graphprotocol/graph-ts` in `mapping.ts`. +```typescript +let dayID = event.block.timestamp.toI32() / 86400 +let id = Bytes.fromI32(dayID) +``` + +- Convert constant addresses to `Bytes`. + +`const id = Bytes.fromHexString('0xdead...beef')` + +There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. + +### Handling of entities with identical IDs + +When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. + +If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. + +If no value is set for a field in the new entity with the same ID, the field will result in null as well. ## Code Generation @@ -573,7 +616,7 @@ import { Gravatar } from '../generated/schema' > **Note:** The code generation must be performed again after every change to the GraphQL schema or the ABIs included in the manifest. It must also be performed at least once before building or deploying the subgraph. -Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to the Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. +Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. ## Data Source Templates @@ -659,7 +702,7 @@ export function handleNewExchange(event: NewExchange): void { ``` > **Note:** A new data source will only process the calls and events for the block in which it was created and all following blocks, but will not process historical data, i.e., data that is contained in prior blocks. -> +> > If prior blocks contain data relevant to the new data source, it is best to index that data by reading the current state of the contract and creating entities representing that state at the time the new data source is created. ### Data Source Context @@ -716,11 +759,219 @@ dataSources: ``` > **Note:** The contract creation block can be quickly looked up on Etherscan: -> +> > 1. Search for the contract by entering its address in the search bar. > 2. Click on the creation transaction hash in the `Contract Creator` section. > 3. Load the transaction details page where you'll find the start block for that contract. +## Indexer Hints + +The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. + +> This feature is available from `specVersion: 1.0.0` + +### Prune + +`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: + +1. `"never"`: No pruning of historical data; retains the entire history. +2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. +3. A specific number: Sets a custom limit on the number of historical blocks to retain. + +``` + indexerHints: + prune: auto +``` + +> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. + +History as of a given block is required for: + +- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history +- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block +- Rewinding the subgraph back to that block + +If historical data as of the block has been pruned, the above capabilities will not be available. + +> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. + +For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: + +To retain a specific amount of historical data: + +``` + indexerHints: + prune: 1000 # Replace 1000 with the desired number of blocks to retain +``` + +To preserve the complete history of entity states: + +``` +indexerHints: + prune: never +``` + +You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): + +``` +{ + indexingStatuses(subgraphs: ["Qm..."]) { + subgraph + synced + health + chains { + earliestBlock { + number + } + latestBlock { + number + } + chainHeadBlock { number } + } + } +} +``` + +Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. + +## Event Handlers + +Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. + +### Defining an Event Handler + +An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. + +```yaml +dataSources: + - kind: ethereum/contract + name: Gravity + network: dev + source: + address: '0x731a10897d267e19b34503ad902d0a29173ba4b1' + abi: Gravity + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + entities: + - Gravatar + - Transaction + abis: + - name: Gravity + file: ./abis/Gravity.json + eventHandlers: + - event: Approval(address,address,uint256) + handler: handleApproval + - event: Transfer(address,address,uint256) + handler: handleTransfer + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. +``` + +### Indexed Argument Filters / Topic Filters + +> **Requires `specVersion` >= 1.2.0** + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +### Example 1: Tracking a Single Address's Transfer Transactions + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic1: ['0xSpecificAddress'] + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransfer + topic2: ['0xSpecificAddress'] +``` + +In this configuration: + +- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. +- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. + +### Example 2: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +### Example 3: Tracking Transactions in Either Direction Between Two Addresses + +``` +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ["0xAddressA"] # Sender or Receiver Address + topic2: ["0xAddressB"] # Sender or Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. +- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. + ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1027,7 +1278,7 @@ File data sources are a new subgraph functionality for accessing off-chain data Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. -This is similar to the [existing data source templates](https://thegraph.com/docs/en/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. +This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. > This replaces the existing `ipfs.cat` API @@ -1084,7 +1335,7 @@ type TokenMetadata @entity { If the relationship is 1:1 between the parent entity and the resulting file data source entity, the simplest pattern is to link the parent entity to a resulting file entity by using the IPFS CID as the lookup. Get in touch on Discord if you are having difficulty modelling your new file-based entities! -> You can use [nested filters](https://thegraph.com/docs/en/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. +> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. #### Add a new templated data source with `kind: file/ipfs` or `kind: file/arweave` @@ -1108,11 +1359,11 @@ templates: > Currently `abis` are required, though it is not possible to call contracts from within file data sources -The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#Limitations) for more details. +The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. #### Create a new handler to process files -This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](https://thegraph.com/docs/en/developing/assemblyscript-api/#json-api)). +This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). The CID of the file as a readable string can be accessed via the `dataSource` as follows: @@ -1156,7 +1407,7 @@ You can now create file data sources during execution of chain-based handlers: For IPFS, Graph Node supports [v0 and v1 content identifiers](https://docs.ipfs.tech/concepts/content-addressing/), and content identifers with directories (e.g. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Bundlr, and Graph Node can also fetch files based on [Bundlr manifests](https://docs.bundlr.network/learn/gateways#indexing). +For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). Example: @@ -1215,7 +1466,7 @@ Additionally, it is not possible to create data sources from a file data source, If you are linking NFT metadata to corresponding tokens, use the metadata's IPFS hash to reference a Metadata entity from the Token entity. Save the Metadata entity using the IPFS hash as an ID. -You can use [DataSource context](https://thegraph.com/docs/en/developing/assemblyscript-api/#entity-and-data-source-context) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. +You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. If you have entities which are refreshed multiple times, create unique file-based entities using the IPFS hash & the entity ID, and reference them using a derived field in the chain-based entity. @@ -1225,7 +1476,7 @@ If you have entities which are refreshed multiple times, create unique file-base File data sources currently require ABIs, even though ABIs are not used ([issue](https://github.com/graphprotocol/graph-cli/issues/961)). Workaround is to add any ABI. -Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-cli/issues/4309)). Workaround is to create file data source handlers in a dedicated file. +Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. #### Examples @@ -1234,3 +1485,65 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) + +## Timeseries and Aggregations + +### Overview + +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. + +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. + +#### Example Schema + +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} + +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 8bba341e41ec1bb28ada6a50166e9258294680c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:39 -0400 Subject: [PATCH 0311/2326] New translations developer-faqs.mdx (Romanian) --- .../pages/ro/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/ro/developing/developer-faqs.mdx b/website/pages/ro/developing/developer-faqs.mdx index 5921e8fb8cf5..38f0042eb7ec 100644 --- a/website/pages/ro/developing/developer-faqs.mdx +++ b/website/pages/ro/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. How do I call a contract function or access a public state variable from my subgraph mappings? -Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Is it possible to set up a subgraph using `graph init` from `graph-cli` with two contracts? Or should I manually add another datasource in `subgraph.yaml` after running `graph init`? -Unfortunately, this is currently not possible. `graph init` is intended as a basic starting point, from which you can then add more data sources manually. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. I want to contribute or add a GitHub issue. Where can I find the open source repositories? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. What is the recommended way to build "autogenerated" ids for an entity when handling events? @@ -87,7 +88,7 @@ Not currently, as mappings are written in AssemblyScript. One possible alternati ## 17. Is it possible to specify what block to start indexing on? -Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: Start blocks +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Are there some tips to increase the performance of indexing? My subgraph is taking a very long time to sync @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 4a48a5235e45a820ef4d747593102e0f02559a88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:40 -0400 Subject: [PATCH 0312/2326] New translations developer-faqs.mdx (French) --- .../pages/fr/developing/developer-faqs.mdx | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/website/pages/fr/developing/developer-faqs.mdx b/website/pages/fr/developing/developer-faqs.mdx index 5abbd3867365..7203a2843057 100644 --- a/website/pages/fr/developing/developer-faqs.mdx +++ b/website/pages/fr/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:dernier ## 9. Comment appeler une fonction de contrat ou accéder à une variable d'état publique à partir de mes mappages de subgraphs ? -Jetez un œil à l'état `Accès au contrat intelligent` dans la section [API AssemblyScript](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Est-il possible de configurer un subgraph en utilisant `graph init` à partir de `graph-cli` avec deux contrats ? Ou dois-je ajouter manuellement une autre source de données dans `subgraph.yaml` après avoir exécuté `graph init` ? -Malheureusement, ce n'est actuellement pas possible. `graph init` est conçu comme un point de départ de base, à partir duquel vous pouvez ajouter manuellement d'autres sources de données. +Oui. Dans la commande `graph init` elle-même, vous pouvez ajouter plusieurs sources de données en saisissant les contrats l'un après l'autre. Vous pouvez également utiliser la commande `graph add` pour ajouter une nouvelle source de données. ## 11. Je souhaite contribuer ou ajouter un problème GitHub. Où puis-je trouver les référentiels open source ? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [l'outil de graph](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. Quelle est la méthode recommandée pour créer des identifiants « générés automatiquement » pour une entité lors du traitement des événements ? @@ -87,11 +88,11 @@ Pas pour le moment, car les mappages sont écrits en AssemblyScript. Une autre s ## 17. Est-il possible de spécifier sur quel bloc démarrer l'indexation ? -Oui. `dataSources.source.startBlock` dans le fichier `subgraph.yaml` spécifie le numéro du bloc à partir duquel la source de données commence l'indexation. Dans la plupart des cas, nous proposons d'utiliser le bloc dans lequel le contrat a été créé : Blocs de départ +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Existe-t-il des astuces pour améliorer les performances de l'indexation ? La synchronisation de mon subgraph prend beaucoup de temps -Yes, you should take a look at the optional start block feature to start indexing from the block that the contract was deployed: [Start blocks](/developing/creating-a-subgraph#start-blocks) +Oui, vous devriez jeter un coup d'œil à la fonctionnalité optionnelle de bloc de départ pour commencer l'indexation à partir du bloc où le contrat a été déployé : [Blocs de départ](/developing/creating-a-subgraph#start-blocks) ## 19. Existe-t-il un moyen d'interroger directement le subgraph pour déterminer le dernier numéro de bloc qu'il a indexé ? @@ -135,4 +136,10 @@ The Graph ne facturera jamais le service hébergé. The Graph est un protocole d ## 27. How do I update a subgraph on mainnet? -Si vous êtes un développeur de subgraphs, vous pouvez déployer une nouvelle version de votre subgraph sur Subgraph Studio à l'aide de la CLI. Ce sera privé à ce stade, mais si vous en êtes satisfait, vous pouvez le publier sur Graph Explorer décentralisé. Cela créera une nouvelle version de votre subgraph sur laquelle les conservateurs pourront commencer à signaler. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. Dans quel ordre les gestionnaires d'événements, de blocages et d'appels sont-ils déclenchés pour une source de données ? + +Les gestionnaires d'événements et d'appels sont d'abord classés par index de transaction à l'intérieur du bloc. Les gestionnaires d'événements et d'appels au sein d'une même transaction sont ordonnés selon une convention : d'abord les gestionnaires d'événements, puis les gestionnaires d'appels, chaque type respectant l'ordre défini dans le manifeste. Les gestionnaires de blocs sont exécutés après les gestionnaires d'événements et d'appels, dans l'ordre où ils sont définis dans le manifeste. Ces règles d'ordre sont également susceptibles d'être modifiées. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From ffef55bdea11dbeb0bc403aedbdfa7e326f4f599 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:41 -0400 Subject: [PATCH 0313/2326] New translations developer-faqs.mdx (Spanish) --- .../pages/es/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/es/developing/developer-faqs.mdx b/website/pages/es/developing/developer-faqs.mdx index 6e995d99675d..64da913733b4 100644 --- a/website/pages/es/developing/developer-faqs.mdx +++ b/website/pages/es/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. ¿Cómo llamo a una función de contrato o accedo a una variable de estado pública desde mis mapeos de subgrafos? -Echa un vistazo al estado `Access to smart contract` dentro de la sección [API de AssemblyScript](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. ¿Es posible configurar un subgrafo usando `graph init` de `graph-cli` con dos contratos? ¿O debo agregar manualmente otra fuente de datos en `subgraph.yaml` después de ejecutar `graph init`? -Desafortunadamente, esto no es posible actualmente. `graph init` pretende ser un punto de partida básico, a partir del cual puedas añadir más fuentes de datos manualmente. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. Quiero contribuir o agregar un problema de GitHub. ¿Dónde puedo encontrar los repositorios de código abierto? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. ¿Cuál es la forma recomendada para crear ids "autogeneradas" para una entidad al manejar eventos? @@ -87,7 +88,7 @@ Actualmente no, ya que los mapeos se escriben en AssemblyScript. Una posible sol ## 17. ¿Es posible especificar en qué bloque comenzar a indexar? -Sí. `dataSources.source.startBlock` en el archivo `subgraph.yaml` especifica el número del bloque desde el que la fuente de datos comienza a indexar. En la mayoría de los casos, sugerimos utilizar el bloque en el que se creó el contrato: Start block +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. ¿Hay algunos consejos para aumentar el rendimiento de la indexación? Mi subgrafo está tardando mucho en sincronizarse @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 286d8b40c657db0171a54807a714caa6fed02f11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:42 -0400 Subject: [PATCH 0314/2326] New translations developer-faqs.mdx (Arabic) --- .../pages/ar/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/ar/developing/developer-faqs.mdx b/website/pages/ar/developing/developer-faqs.mdx index 94efea905584..883d0359a225 100644 --- a/website/pages/ar/developing/developer-faqs.mdx +++ b/website/pages/ar/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. How do I call a contract function or access a public state variable from my subgraph mappings? -Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Is it possible to set up a subgraph using `graph init` from `graph-cli` with two contracts? Or should I manually add another datasource in `subgraph.yaml` after running `graph init`? -Unfortunately, this is currently not possible. `graph init` is intended as a basic starting point, from which you can then add more data sources manually. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. I want to contribute or add a GitHub issue. Where can I find the open source repositories? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. What is the recommended way to build "autogenerated" ids for an entity when handling events? @@ -87,7 +88,7 @@ Yes. Goerli supports block handlers, call handlers and event handlers. It should ## 17. Is it possible to specify what block to start indexing on? -Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: Start blocks +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Are there some tips to increase the performance of indexing? My subgraph is taking a very long time to sync @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 8f6b492b0498108e13e38a429e8cf9144df3c26a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:43 -0400 Subject: [PATCH 0315/2326] New translations developer-faqs.mdx (Czech) --- .../pages/cs/developing/developer-faqs.mdx | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/website/pages/cs/developing/developer-faqs.mdx b/website/pages/cs/developing/developer-faqs.mdx index 5d38f0298ee5..ea5142b430ff 100644 --- a/website/pages/cs/developing/developer-faqs.mdx +++ b/website/pages/cs/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. Jak mohu z mapování podgrafů zavolat smluvní funkci nebo přistupovat k veřejné stavové proměnné? -Podívejte se na stav `Přístup k chytrá smlouva` v části [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Je možné vytvořit podgraf pomocí `graph init` z `graph-cli` se dvěma smlouvami? Nebo mám po spuštění `graph init` ručně přidat další datový zdroj v `subgraph.yaml`? -V současné době to bohužel není možné. `graph init` je určen jako základní výchozí bod, ze kterého pak můžete ručně přidávat další zdroje dat. +Ano. V samotném příkazu `graph init` můžete přidat více datových zdrojů zadáním smluv za sebou. Pro přidání nového datového zdroje můžete také použít příkaz `graph add`. ## 11. Chci přispět nebo přidat problém na GitHub. Kde najdu repozitáře s otevřeným zdrojovým kódem? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. Jaký je doporučený způsob vytváření "automaticky generovaných" ids pro entity při zpracování událostí? @@ -87,7 +88,7 @@ V současné době ne, protože mapování jsou zapsána v AssemblyScript. Jedn ## 17. Je možné určit, od kterého bloku se má indexování spustit? -Ano. `dataSources.source.startBlock` v souboru `subgraph.yaml` určuje číslo bloku, od kterého zdroj dat začíná indexovat. Ve většině případů doporučujeme použít blok, ve kterém byl kontrakt vytvořen: Start bloky +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Existují nějaké tipy, jak zvýšit výkon indexování? Synchronizace mého podgrafu trvá velmi dlouho @@ -129,10 +130,16 @@ V současné době je doporučeným přístupem pro dapp přidání klíče do f Přejděte do hostované služby, abyste našli podgrafy, které jste vy nebo jiní uživatelé nasadili do hostované služby. Najdete ji [zde](https://thegraph.com/hosted-service). -## 26. Will the hosted service start charging query fees? +## 26. Začne hostovaná služba účtovat poplatky za dotazy? -The Graph will never charge for the hosted service. The Graph is a decentralized protocol, and charging for a centralized service is not aligned with The Graph’s values. The hosted service was always a temporary step to help get to the decentralized network. Developers will have a sufficient amount of time to upgrade to the decentralized network as they are comfortable. +Graf nikdy nebude účtovat poplatky za hostovanou službu. Graf je decentralizovaný protokol a zpoplatnění centralizované služby není v souladu s hodnotami Graf. Hostovaná služba byla vždy dočasným krokem, který měl pomoci dostat se k decentralizované síti. Vývojáři budou mít dostatek času přejít na decentralizovanou síť, jak jim to bude vyhovovat. -## 27. How do I update a subgraph on mainnet? +## 27. Jak mohu aktualizovat podgraf v síti mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. V jakém pořadí se spouštějí obsluhy událostí, bloků a volání pro zdroj dat? + +Obsluhy událostí a volání jsou nejprve seřazeny podle indexu transakce v rámci bloku. Obsluhy událostí a volání v rámci téže transakce jsou seřazeny podle konvence: nejprve obsluhy událostí, pak obsluhy volání, přičemž každý typ dodržuje pořadí, v jakém jsou definovány v manifestu. Obsluhy bloků se spouštějí po obsluhách událostí a volání v pořadí, v jakém jsou definovány v manifestu. I tato pravidla řazení se mohou měnit. + +Při vytváření nových dynamických zdrojů dat se obslužné rutiny definované pro dynamické zdroje dat začnou zpracovávat až po zpracování všech existujících obslužných rutin zdrojů dat a budou se opakovat ve stejném pořadí, kdykoli budou spuštěny. From 844e8c9a57e8786a8ec0a2c0d6b298d73c5a7dca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:44 -0400 Subject: [PATCH 0316/2326] New translations developer-faqs.mdx (German) --- .../pages/de/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/de/developing/developer-faqs.mdx b/website/pages/de/developing/developer-faqs.mdx index 053853897a41..09beeddac20f 100644 --- a/website/pages/de/developing/developer-faqs.mdx +++ b/website/pages/de/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. How do I call a contract function or access a public state variable from my subgraph mappings? -Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Is it possible to set up a subgraph using `graph init` from `graph-cli` with two contracts? Or should I manually add another datasource in `subgraph.yaml` after running `graph init`? -Unfortunately, this is currently not possible. `graph init` is intended as a basic starting point, from which you can then add more data sources manually. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. I want to contribute or add a GitHub issue. Where can I find the open source repositories? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. What is the recommended way to build "autogenerated" ids for an entity when handling events? @@ -87,7 +88,7 @@ Not currently, as mappings are written in AssemblyScript. One possible alternati ## 17. Is it possible to specify what block to start indexing on? -Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: Start blocks +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Are there some tips to increase the performance of indexing? My subgraph is taking a very long time to sync @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 14e8de8c66e77baa96a8c6bd6958a6615384f8c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:45 -0400 Subject: [PATCH 0317/2326] New translations developer-faqs.mdx (Italian) --- .../pages/it/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/it/developing/developer-faqs.mdx b/website/pages/it/developing/developer-faqs.mdx index 053853897a41..09beeddac20f 100644 --- a/website/pages/it/developing/developer-faqs.mdx +++ b/website/pages/it/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. How do I call a contract function or access a public state variable from my subgraph mappings? -Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Is it possible to set up a subgraph using `graph init` from `graph-cli` with two contracts? Or should I manually add another datasource in `subgraph.yaml` after running `graph init`? -Unfortunately, this is currently not possible. `graph init` is intended as a basic starting point, from which you can then add more data sources manually. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. I want to contribute or add a GitHub issue. Where can I find the open source repositories? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. What is the recommended way to build "autogenerated" ids for an entity when handling events? @@ -87,7 +88,7 @@ Not currently, as mappings are written in AssemblyScript. One possible alternati ## 17. Is it possible to specify what block to start indexing on? -Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: Start blocks +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Are there some tips to increase the performance of indexing? My subgraph is taking a very long time to sync @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From bc5f824a73519b8c0d5d35498485345064f4c5f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:46 -0400 Subject: [PATCH 0318/2326] New translations developer-faqs.mdx (Japanese) --- .../pages/ja/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/ja/developing/developer-faqs.mdx b/website/pages/ja/developing/developer-faqs.mdx index af307e407535..3f253e5ab0e3 100644 --- a/website/pages/ja/developing/developer-faqs.mdx +++ b/website/pages/ja/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. コントラクト関数を呼び出したり、サブグラフ マッピングから公開状態変数にアクセスするにはどうすればよいですか? -[AssemblyScript API](/developing/assemblyscript-api) セクション内の `スマート コントラクトへのアクセス` 状態を見てください。 +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. 2 つのコントラクトを持つ `graph-cli` から `graph init` を使用してサブグラフをセットアップすることは可能ですか?または、`graph init` を実行した後、`subgraph.yaml` に別のデータソースを手動で追加する必要がありますか? -`graph init`は基本的な出発点として意図されており、そこから手動でデータソースを追加することができます。 +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. GitHub の問題に貢献または追加したい。オープンソースのリポジトリはどこにありますか? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. イベントを処理するときに、エンティティの「自動生成」Id を作成するための推奨される方法は何ですか? @@ -87,7 +88,7 @@ dataSource.address() ## 17. インデックス作成を開始するブロックを指定することはできますか? -はい。`subgraph.yaml`ファイルの`dataSources.source.startBlock`は、データソースがインデックス作成を開始するブロックの番号を指定します。ほとんどの場合、コントラクトが作成されたブロックを使用することをお勧めします。開始ブロック +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. インデックス作成のパフォーマンスを向上させるためのヒントはありますか? サブグラフの同期に非常に時間がかかる @@ -135,4 +136,10 @@ Graph は、ホストされるサービスに対して料金を請求するこ ## 27. メインネットのサブグラフを更新するには? -サブグラフ開発者の場合は、CLI を使用して新しいバージョンのサブグラフを Subgraph Studio にデプロイできます。この時点では非公開になりますが、問題がなければ、分散型の Graph Explorer に公開できます。これにより、キュレーターがシグナリングを開始できるサブグラフの新しいバージョンが作成されます。 +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 9ee16c4e87503d29633f2ca82497a675502b2c15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:47 -0400 Subject: [PATCH 0319/2326] New translations developer-faqs.mdx (Korean) --- .../pages/ko/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/ko/developing/developer-faqs.mdx b/website/pages/ko/developing/developer-faqs.mdx index 053853897a41..09beeddac20f 100644 --- a/website/pages/ko/developing/developer-faqs.mdx +++ b/website/pages/ko/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. How do I call a contract function or access a public state variable from my subgraph mappings? -Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Is it possible to set up a subgraph using `graph init` from `graph-cli` with two contracts? Or should I manually add another datasource in `subgraph.yaml` after running `graph init`? -Unfortunately, this is currently not possible. `graph init` is intended as a basic starting point, from which you can then add more data sources manually. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. I want to contribute or add a GitHub issue. Where can I find the open source repositories? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. What is the recommended way to build "autogenerated" ids for an entity when handling events? @@ -87,7 +88,7 @@ Not currently, as mappings are written in AssemblyScript. One possible alternati ## 17. Is it possible to specify what block to start indexing on? -Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: Start blocks +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Are there some tips to increase the performance of indexing? My subgraph is taking a very long time to sync @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 0b10d357a581e54a27dea5d6d737270a007ce829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:47 -0400 Subject: [PATCH 0320/2326] New translations developer-faqs.mdx (Dutch) --- .../pages/nl/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/nl/developing/developer-faqs.mdx b/website/pages/nl/developing/developer-faqs.mdx index 3bd97d49dc35..1b4fc51378cd 100644 --- a/website/pages/nl/developing/developer-faqs.mdx +++ b/website/pages/nl/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. How do I call a contract function or access a public state variable from my subgraph mappings? -Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Is it possible to set up a subgraph using `graph init` from `graph-cli` with two contracts? Or should I manually add another datasource in `subgraph.yaml` after running `graph init`? -Unfortunately, this is currently not possible. `graph init` is intended as a basic starting point, from which you can then add more data sources manually. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. I want to contribute or add a GitHub issue. Where can I find the open source repositories? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. What is the recommended way to build "autogenerated" ids for an entity when handling events? @@ -87,7 +88,7 @@ Not currently, as mappings are written in AssemblyScript. One possible alternati ## 17. Is it possible to specify what block to start indexing on? -Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: Start blocks +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Are there some tips to increase the performance of indexing? My subgraph is taking a very long time to sync @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From b9ebcff111711e0ac235470cd30fa32f714183c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:49 -0400 Subject: [PATCH 0321/2326] New translations developer-faqs.mdx (Polish) --- .../pages/pl/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/pl/developing/developer-faqs.mdx b/website/pages/pl/developing/developer-faqs.mdx index c3769743472b..0ed7ec4c6846 100644 --- a/website/pages/pl/developing/developer-faqs.mdx +++ b/website/pages/pl/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. How do I call a contract function or access a public state variable from my subgraph mappings? -Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Is it possible to set up a subgraph using `graph init` from `graph-cli` with two contracts? Or should I manually add another datasource in `subgraph.yaml` after running `graph init`? -Unfortunately, this is currently not possible. `graph init` is intended as a basic starting point, from which you can then add more data sources manually. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. I want to contribute or add a GitHub issue. Where can I find the open source repositories? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. What is the recommended way to build "autogenerated" ids for an entity when handling events? @@ -87,7 +88,7 @@ Not currently, as mappings are written in AssemblyScript. One possible alternati ## 17. Is it possible to specify what block to start indexing on? -Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: Start blocks +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Are there some tips to increase the performance of indexing? My subgraph is taking a very long time to sync @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 56ae475d03912f1deac8012a25b7775552e24688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:50 -0400 Subject: [PATCH 0322/2326] New translations developer-faqs.mdx (Portuguese) --- .../pages/pt/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/pt/developing/developer-faqs.mdx b/website/pages/pt/developing/developer-faqs.mdx index a582f673c640..554067221af7 100644 --- a/website/pages/pt/developing/developer-faqs.mdx +++ b/website/pages/pt/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. Como chamo uma função de contrato ou acesso uma variável de estado público dos meus mapeamentos de subgraph? -Confira o estado `Access to smart contract` dentro da seção [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. É possível preparar um subgraph através de `graph init` a partir do `graph-cli` com dois contratos? Ou devo adicionar, manualmente, outra fonte de dados no `subgraph.yaml` após executar o `graph init`? -Infelizmente, isto não é possível no momento. O `graph init` é projetado como um ponto de início básico, de qual pode então adicionar manualmente mais fontes de dados. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. Quero contribuir ou adicionar um problema no GitHub. Onde posso encontrar os repositórios de código aberto? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. Qual é a forma recomendada de construir ids "autogeradas" para uma entidade ao lidar com eventos? @@ -87,7 +88,7 @@ Não no momento, já que mapeamentos são escritos em AssemblyScript. Outra solu ## 17. É possível especificar em qual bloco começar a indexação? -Sim. O `dataSources.source.startBlock`, no arquivo `subgraph.yaml`, especifica o número do bloco do qual a fonte de dados começa a indexar. Em muitos casos, sugerimos usar o bloco em que o contrato foi criado: Blocos de início +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Alguma dica para aumentar o desempenho da indexação? O meu subgraph demora muito para sincronizar @@ -135,4 +136,10 @@ The Graph nunca cobrará pelo Serviço Hospedado. Este é um protocolo descentra ## 27. Como atualizar um subgraph na mainnet? -Se for um programador de subgraph, podes atualizar para uma versão nova do seu subgraph no Studio com a CLI. Ela será privada por enquanto, mas se estiver contente, pode editá-la no Graph Explorer descentralizado. Isto criará uma nova versão do seu subgraph sobre a qual Curadores podem começar a sinalizar. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 8e3eb08330d65de670bb034ebae10a844cb4f13b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:51 -0400 Subject: [PATCH 0323/2326] New translations developer-faqs.mdx (Russian) --- .../pages/ru/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/ru/developing/developer-faqs.mdx b/website/pages/ru/developing/developer-faqs.mdx index c266c4383068..6fa8f23e3de6 100644 --- a/website/pages/ru/developing/developer-faqs.mdx +++ b/website/pages/ru/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. Как вызвать контрактную функцию или получить доступ к публичной переменной состояния из моих мэппингов субграфа? -Просмотрите положение `Доступ к смарт-контракту` в разделе [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Можно ли настроить субграф с помощью `graph init` из `graph-cli` с двумя контрактами? Или мне следует вручную добавить другой источник данных в `subgraph.yaml` после запуска `graph init`? -К сожалению, в настоящее время это невозможно. `graph init` предназначен для использования в качестве базовой отправной точки, из которой Вы можете вручную добавить дополнительные источники данных. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. Я хочу внести свой вклад или добавить issue на GitHub. Где я могу найти репозитории с открытым исходным кодом? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. Каков рекомендуемый способ создания "автоматически сгенерированных" идентификаторов для объекта при обработке событий? @@ -87,7 +88,7 @@ dataSource.address() ## 17. Можно ли указать, с какого блока следует начинать индексацию? -Да. `dataSources.source.startBlock` в файле `subgraph.yaml` указывает номер блока, с которого источник данных начинает индексацию. В большинстве случаев мы предлагаем использовать блок, в котором создавался контракт: Стартовые блоки +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Есть ли какие-нибудь советы по увеличению производительности индексации? Мой субграф очень долго синхронизируется @@ -135,4 +136,10 @@ The Graph никогда не будет взимать плату за Hosted S ## 27. How do I update a subgraph on mainnet? -Если Вы являетесь разработчиком субграфа, Вы можете развернуть новую версию своего субграфа в Subgraph Studio с помощью интерфейса командной строки (CLI). На этом этапе он будет приватным, но, если Вы захотите, Вы сможете опубликовать его в децентрализованном Graph Explorer. Это создаст новую версию Вашего субграфа, на которую кураторы смогут начать подавать сигналы. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 60435a2ddbf8726cd586bbc97fc27c2bb63c5c8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:51 -0400 Subject: [PATCH 0324/2326] New translations developer-faqs.mdx (Swedish) --- .../pages/sv/developing/developer-faqs.mdx | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/website/pages/sv/developing/developer-faqs.mdx b/website/pages/sv/developing/developer-faqs.mdx index 85dc3131826b..8f122ebbcb8e 100644 --- a/website/pages/sv/developing/developer-faqs.mdx +++ b/website/pages/sv/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. Hur anropar jag en kontraktsfunktion eller får åtkomst till en offentlig statisk variabel från mina subgraf-mappningar? -Ta en titt på `Åtkomst till smart kontrakts`-stat i avsnittet [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Är det möjligt att ställa in en subgraf med hjälp av `graph init` från `graph-cli` med två kontrakt? Eller bör jag manuellt lägga till en annan datakälla i `subgraph.yaml` efter att jag har kört `graph init`? -Tyvärr är detta för närvarande inte möjligt. `graph init` är avsett som en grundläggande startpunkt, från vilken du sedan manuellt kan lägga till fler datakällor. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. Jag vill bidra eller lägga till ett GitHub-ärende. Var hittar jag öppna källkodsrepository? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. Vad är det rekommenderade sättet att bygga "automatiskt genererade" ID för en entitet när man hanterar händelser? @@ -71,7 +72,7 @@ Inom en subgraf behandlas händelser alltid i den ordning de visas i blocken, oa Ja, du kan göra detta genom att importera `graph-ts` enligt exemplet nedan: ```javascript -import { dataSource } from '@graphprotocol/graph-ts' +import { dataSource } from "@graphprotocol/graph-ts" dataSource.network() dataSource.address() @@ -87,7 +88,7 @@ För närvarande inte, eftersom mappningar är skrivna i AssemblyScript. En möj ## 17. Är det möjligt att specificera vilket block som ska börja indexera? -Ja. `dataSources.source.startBlock` i filen `subgraph.yaml` anger numret på det block som datakällan börjar indexera från. I de flesta fall föreslår vi att använda det block där kontraktet skapades: Start blocks +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Finns det några tips för att öka prestandan vid indexering? Min subgraf tar väldigt lång tid att synkronisera @@ -135,4 +136,10 @@ The Graph kommer aldrig ta ut avgifter för hosted service. The Graph är en dec ## 27. How do I update a subgraph on mainnet? -Om du är en subgraf-utvecklare kan du distribuera en ny version av din subgraf till Subgraf Studio med hjälp av CLI. Den kommer att vara privat vid den punkten, men om du är nöjd med den kan du publicera den till den decentraliserade Graph Explorer. Detta kommer att skapa en ny version av din subgraf som Curators kan börja signalera på. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 15ba5501a34d6748fa95de9cda32a8858d53f2a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:52 -0400 Subject: [PATCH 0325/2326] New translations developer-faqs.mdx (Turkish) --- .../pages/tr/developing/developer-faqs.mdx | 71 ++++++++++--------- 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/website/pages/tr/developing/developer-faqs.mdx b/website/pages/tr/developing/developer-faqs.mdx index 1d0a2a0f1cbb..06c8c5676aae 100644 --- a/website/pages/tr/developing/developer-faqs.mdx +++ b/website/pages/tr/developing/developer-faqs.mdx @@ -4,71 +4,72 @@ title: Geliştirici SSS ## 1. Subgraph nedir? -Bir subgraph, blockchain verileri üzerine inşa edilmiş özel bir API'dır. Subgraph'ler, GraphQL sorgulama dili kullanılarak sorgulanır ve Graph CLI kullanılarak bir Graph node'una deploy edilir. İndeksleyiciler, Graph'in merkeziyetsiz ağına deploy edilip yayınlandıktan sonra subgraph'leri işler ve subgraph tüketicileri tarafından sorgulanmak üzere kullanılabilir hale getirir. +A subgraph is a custom API built on blockchain data. Subgraphs are queried using the GraphQL query language and are deployed to a Graph Node using the Graph CLI. Once deployed and published to The Graph's decentralized network, Indexers process subgraphs and make them available to be queried by subgraph consumers. ## 2. Subgraph'ımı silebilir miyim? -Subgraph'ler oluşturulduktan sonra silinemez. +It is not possible to delete subgraphs once they are created. ## 3. Subgraph ismimi değiştirebilir miyim? -Hayır. Bir subgraph oluşturulduktan sonra adı değiştirilemez. Subgraph'inizi inşa etmeden önce bunu dikkatlice düşündüğünüzden emin olun, böylece diğer merkeziyetsiz uygulamalar tarafından kolayca aranabilir ve tanımlanabilir. +No. Once a subgraph is created, the name cannot be changed. Make sure to think of this carefully before you create your subgraph so it is easily searchable and identifiable by other dapps. ## 4. Subgraph'ımla ilişkili GitHub hesabını değiştirebilir miyim? -Hayır. Bir subgraph oluşturulduktan sonra ilişkili GitHub hesabı değiştirilemez. Subgraph'inizi oluşturmadan önce bunu dikkatlice düşündüğünüzden emin olun. +No. Once a subgraph is created, the associated GitHub account cannot be changed. Make sure to think of this carefully before you create your subgraph. ## 5. Akıllı sözleşmelerimin olayları yoksa yine de bir subgraph oluşturabilir miyim? -Akıllı sözleşmelerinizi, sorgulamak istediğiniz verilerle ilişkili olaylara sahip olacak şekilde yapılandırmanız önemle tavsiye edilir. Subgraph'teki etkinlik işleyicileri, sözleşme etkinlikleri tarafından tetiklenir ve faydalı verileri almanın açık ara en hızlı yoludur. +It is highly recommended that you structure your smart contracts to have events associated with data you are interested in querying. Event handlers in the subgraph are triggered by contract events and are by far the fastest way to retrieve useful data. -Çalıştığınız sözleşmeler olay içermiyorsa, subgraph'iniz indekslemeyi tetiklemek için arama ve engelleme işleyicilerini kullanabilir. Performans önemli ölçüde daha yavaş olacağından bu önerilmez. +If the contracts you are working with do not contain events, your subgraph can use call and block handlers to trigger indexing. Although this is not recommended, as performance will be significantly slower. ## 6. Birden fazla ağ için aynı isme sahip bir subgraph'ı dağıtmak mümkün mü? -Birden çok ağ için ayrı adlara ihtiyacınız olacak. Aynı ad altında farklı subgraph'lere sahip olamasanız da, birden çok ağ için tek bir kod tabanına sahip olmanın uygun yolları vardır. Bununla ilgili daha fazla bilgiyi belgelerimizde bulabilirsiniz: [Bir Subgraph'i Yeniden Deploy Etme](/deploying/deploying-a-subgraph-to-hosted#redeploying-a-subgraph) +You will need separate names for multiple networks. While you can't have different subgraphs under the same name, there are convenient ways of having a single codebase for multiple networks. Find more on this in our documentation: [Redeploying a Subgraph](/deploying/deploying-a-subgraph-to-hosted#redeploying-a-subgraph) ## 7. Şablonların veri kaynaklarından farkı nedir? -Şablonlar, subgraph'inizin indekslenirken anında veri kaynakları oluşturmanıza olanak tanır. İnsanlar onunla etkileşime girdikçe sözleşmenizin yeni sözleşmeler oluşturması söz konusu olabilir ve bu sözleşmelerin şeklini (ABI, etkinlikler, vb.) önceden bildiğiniz için, bunları bir şablonda nasıl dizine eklemek istediğinizi tanımlayabilirsiniz. Ortaya çıktığında, subgraph'iniz sözleşme adresini sağlayarak dinamik bir veri kaynağı oluşturacaktır. +Templates allow you to create data sources on the fly, while your subgraph is indexing. It might be the case that your contract will spawn new contracts as people interact with it, and since you know the shape of those contracts (ABI, events, etc) upfront you can define how you want to index them in a template and when they are spawned your subgraph will create a dynamic data source by supplying the contract address. -Şu konudaki "Veri kaynağı şablonunu başlatma" bölümüne göz atın: [Veri Kaynağı Şablonları](/developing/creating-a-subgraph#data-source-templates). +Check out the "Instantiating a data source template" section on: [Data Source Templates](/developing/creating-a-subgraph#data-source-templates). ## 8. Yerel dağıtımlarım için graph-node'un en son sürümünü kullandığımdan nasıl emin olabilirim? -Aşağıdaki komutu çalıştırabilirsiniz: +You can run the following command: ```sh docker pull graphprotocol/graph-node:latest ``` -**NOT:** docker / docker-compose her zaman ilk çalıştırdığınızda çizilen graph node'u sürümünü kullanır, bu nedenle graph node'unun en son sürümüyle güncel durumda olduğunuzdan emin olmak için bunu yapmanız önemlidir. +**NOTE:** docker / docker-compose will always use whatever graph-node version was pulled the first time you ran it, so it is important to do this to make sure you are up to date with the latest version of graph-node. ## 9. Subgraph eşleştirmelerimden bir sözleşme fonksiyonunu nasıl çağırabilirim veya genel bir durum değişkenine nasıl erişebilirim? -[AssemblyScript API](/developing/assemblyscript-api) bölümünün içindeki `Access to smart contrac` durumuna bir göz atın. +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. İki sözleşme ile `graph-cli`den `graph init` kullanarak bir subgraph oluşturmak mümkün mü? Yoksa `graph init`'i çalıştırdıktan sonra `subgraph.yaml` dosyasına manuel olarak başka bir veri kaynağı mı eklemeliyim? -Ne yazık ki, bu şu anda mümkün değil. `graph init`, daha sonra manuel olarak daha fazla veri kaynağı ekleyebileceğiniz temel bir başlangıç noktası olarak tasarlanmıştır. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. Katkıda bulunmak veya bir GitHub sorunu eklemek istiyorum. Açık kaynak depolarını nerede bulabilirim? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. Olayları işlerken bir varlık için "otomatik oluşturulan" kimlikler oluşturmanın önerilen yolu nedir? -Etkinlik sırasında yalnızca bir varlık oluşturulursa ve daha iyi bir varlık yoksa işlem hash + günlük dizini benzersiz olur. Bunu Bayt'a dönüştürerek ve ardından `crypto.keccak256` üzerinden aktararak bunları şaşırtabilirsiniz, ancak bu onu daha benzersiz yapmaz. +If only one entity is created during the event and if there's nothing better available, then the transaction hash + log index would be unique. You can obfuscate these by converting that to Bytes and then piping it through `crypto.keccak256` but this won't make it more unique. ## 13. Birden fazla sözleşmenin etkinliklerini gözlemlerken, olayların etkinliklerini gözlemlemek için sözleşme sırasını seçmek mümkün mü? -Bir subgraph içinde, birden çok sözleşmede olup olmadığına bakılmaksızın olaylar her zaman bloklarda göründükleri sırayla işlenir. +Within a subgraph, the events are always processed in the order they appear in the blocks, regardless of whether that is across multiple contracts or not. ## 14. Olay işleyicileri içinden ağlar (mainnet, Göerli, local) arasında ayrım yapmak mümkün mü? -Evet. Bunu, aşağıdaki örneğe göre `graph-ts`'i içe aktararak yapabilirsiniz: +Yes. You can do this by importing `graph-ts` as per the example below: ```javascript import { dataSource } from '@graphprotocol/graph-ts' @@ -79,23 +80,23 @@ dataSource.address() ## 15. Göerli'de blok ve çağrı işleyicilerini destekliyor musunuz? -Evet. Goerli, blok işleyicileri, çağrı işleyicileri ve olay işleyicileri destekler. Olay işleyicilerin diğer iki işleyiciden çok daha yüksek performans gösterdiğine ve EVM uyumlu her ağda desteklendiğine dikkat edilmelidir. +Yes. Goerli supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Subgraph eşleştirmelerime ethers.js veya diğer JS kütüphanelerini aktarabilir miyim? -Eşlemeler AssemblyScript'te yazıldığı için şu anda değildir. Buna olası bir alternatif çözüm, ham verileri varlıklarda depolamak ve istemcide JS kitaplıkları gerektiren mantık gerçekleştirmektir. +Not currently, as mappings are written in AssemblyScript. One possible alternative solution to this is to store raw data in entities and perform logic that requires JS libraries on the client. ## 17. İndekslemeye hangi bloktan başlanacağını belirtmek mümkün mü? -Evet. `dataSources.source.startBlock` in the `subgraph.yaml` dosyası, veri kaynağının indekslemeye başladığı bloğun numarasını belirtir. Çoğu durumda, sözleşmenin oluşturulduğu bloğu kullanmanızı öneririz: Başlangıç blokları +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. İndeksleme performansını artırmak için bazı ipuçları var mı? Subgraph'ımın senkronize edilmesi çok uzun zaman alıyor -Evet, sözleşmenin deploy edildiği bloktan indekslemeye başlamak için isteğe bağlı blok başlatma özelliğine bir göz atmalısınız: [Başlangıç blokları](/developing/creating-a-subgraph#start-blocks) +Yes, you should take a look at the optional start block feature to start indexing from the block that the contract was deployed: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 19. Subgraph üzerinde doğrudan sorgulama yaparak indekslediği en son blok numarasını belirlemenin bir yol var mı? -Evet! Aşağıdaki komutu, "organization/subgraphName", altındaki organizasyon ve subgraph'inizin adıyla değiştirerek deneyin: +Yes! Try the following command, substituting "organization/subgraphName" with the organization under it is published and the name of your subgraph: ```sh curl -X POST -d '{ "query": "{indexingStatusForCurrentVersion(subgraphName: \"organization/subgraphName\") { chains { latestBlock { hash number }}}}"}' https://api.thegraph.com/index-node/graphql @@ -103,19 +104,19 @@ curl -X POST -d '{ "query": "{indexingStatusForCurrentVersion(subgraphName: \"or ## 20. Graph hangi ağları destekliyor? -Desteklenen ağların listesini [burada](/developing/supported-networks) bulabilirsiniz. +You can find the list of the supported networks [here](/developing/supported-networks). ## 21. Bir subgraph'ı yeniden dağıtmadan başka bir hesaba veya uç noktaya çoğaltmak mümkün mü? -Subgraph'i yeniden deploy etmeniz gerekir, ancak subgraph kimliği (IPFS hash) değişmezse baştan eşitlenmesi gerekmez. +You have to redeploy the subgraph, but if the subgraph ID (IPFS hash) doesn't change, it won't have to sync from the beginning. ## 22. Apollo Federation'ı graph-node üzerinde kullanmak mümkün mü? -Gelecekte desteklemek istememize rağmen federasyon henüz desteklenmiyor. Şu anda yapabileceğiniz bir şey, istemcide veya bir proxy hizmeti aracılığıyla şema birleştirme kullanmaktır. +Federation is not supported yet, although we do want to support it in the future. At the moment, something you can do is use schema stitching, either on the client or via a proxy service. ## 23. Graph'ın sorgu başına kaç nesne döndürebileceğine dair bir sınır var mı? -Varsayılan olarak, sorgu yanıtları koleksiyon başına 100 öğeyle sınırlıdır. Daha fazlasını almak istiyorsanız koleksiyon başına 1000 öğeye kadar çıkabilirsiniz ve bunun ötesinde aşağıdakilerle sayfalandırabilirsiniz: +By default, query responses are limited to 100 items per collection. If you want to receive more, you can go up to 1000 items per collection and beyond that, you can paginate with: ```graphql someCollection(first: 1000, skip: ) { ... } @@ -123,16 +124,22 @@ someCollection(first: 1000, skip: ) { ... } ## Dapp önyüzüm Graph'ı sorgulamak için kullanıyorsa, sorgu anahtarını önyüze doğrudan yazmam gerekiyor mu? Kullanıcılar için sorgu ücreti ödesek, kötü niyetli kullanıcılar sorgu ücretlerimizin çok yüksek olmasına neden olabilir mi? -Şu anda, bir merkeziyetsiz uygulama için önerilen yaklaşım, anahtarı ön uca eklemek ve son kullanıcılara göstermektir. Bununla birlikte, bu anahtarı _yourdapp.io_ ve subgraph gibi bir ana bilgisayar adıyla sınırlayabilirsiniz. Ağ geçidi şu anda Edge & Node tarafından çalıştırılıyor. Bir ağ geçidinin sorumluluğunun bir kısmı, kötü amaçlı davranışları izlemek ve kötü niyetli istemcilerden gelen trafiği engellemektir. +Currently, the recommended approach for a dapp is to add the key to the frontend and expose it to end users. That said, you can limit that key to a hostname, like _yourdapp.io_ and subgraph. The gateway is currently being run by Edge & Node. Part of the responsibility of a gateway is to monitor for abusive behavior and block traffic from malicious clients. -## 25. Barındırılan hizmetteki mevcut subgraph'imi nerede bulabilirim? +## 25. Where do I go to find my current subgraph on the hosted service? Sizin veya başkalarının barındırılan hizmete dağıttığı subgraphları bulmak için barındırılan hizmete gidin. [Burada](https://thegraph.com/hosted-service) bulabilirsiniz. -## 26. Barındırılan hizmet sorgu ücreti almaya başlayacak mı? +## 26. Will the hosted service start charging query fees? Graph, barındırılan hizmet için asla ücret talep etmeyecektir. Graph merkeziyetsiz bir protokoldür ve merkezi bir hizmet için ücret almak Graph'in değerleriyle uyuşmamaktadır. Barındırılan hizmet, merkeziyetsiz ağa ulaşmaya yardımcı olmak için her zaman geçici bir adım olmuştur. Geliştiriciler, merkeziyetsiz ağa rahatça yükseltebilmek için yeterli süreye sahip olacaklardır. -## 27. Mainnet üzerinde bir subgraph'i nasıl güncellerim? +## 27. How do I update a subgraph on mainnet? -Bir subgraph geliştiricisiyseniz, CLI'yi kullanarak subgraph'ınızın yeni bir sürümünü Subgraph Stüdyo'ya dağıtabilirsiniz. Bu noktada gizli olarak kalacaktır, ancak isterseniz, merkeziyetsiz Graph Gezgini'nde yayınlayabilirsiniz. Bu, subgraph'ınızın Küratörlerin üzerinde sinyal iletmeye başlayabileceği yeni bir sürümünü oluşturacaktır. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 714b305de7dc2ba9667f4aa1f72b03b108075dcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:53 -0400 Subject: [PATCH 0326/2326] New translations developer-faqs.mdx (Ukrainian) --- .../pages/uk/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/uk/developing/developer-faqs.mdx b/website/pages/uk/developing/developer-faqs.mdx index 598387ca119f..dfd4374f742f 100644 --- a/website/pages/uk/developing/developer-faqs.mdx +++ b/website/pages/uk/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. How do I call a contract function or access a public state variable from my subgraph mappings? -Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Is it possible to set up a subgraph using `graph init` from `graph-cli` with two contracts? Or should I manually add another datasource in `subgraph.yaml` after running `graph init`? -Unfortunately, this is currently not possible. `graph init` is intended as a basic starting point, from which you can then add more data sources manually. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. I want to contribute or add a GitHub issue. Where can I find the open source repositories? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. What is the recommended way to build "autogenerated" ids for an entity when handling events? @@ -87,7 +88,7 @@ Not currently, as mappings are written in AssemblyScript. One possible alternati ## 17. Is it possible to specify what block to start indexing on? -Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: Start blocks +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Are there some tips to increase the performance of indexing? My subgraph is taking a very long time to sync @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 63fb4f265b7f78bc9c2b82a2cbcbeb0d1c12d80b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:54 -0400 Subject: [PATCH 0327/2326] New translations developer-faqs.mdx (Chinese Simplified) --- .../pages/zh/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/zh/developing/developer-faqs.mdx b/website/pages/zh/developing/developer-faqs.mdx index 3e89710c94dd..4245bcede3eb 100644 --- a/website/pages/zh/developing/developer-faqs.mdx +++ b/website/pages/zh/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. 如何从我的子图映射中调用合约函数,或访问公共状态变量? -查看[AssemblyScript API](/developing/assemblyscript-api) 部分中的`访问智能合约` 状态。 +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. 是否可以使用 `graph-cli` 中的 `graph init` 和两个合约来设置子图? 还是应该在运行 `graph init` 之后在 `subgraph.yaml` 中手动添加另一个数据源? -不幸的是,目前这是不可能的。 `graph init` 旨在作为一个基本起点,然后您可以从中手动添加更多数据源。 +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. 我想向 GitHub 贡献代码或者添加 issue,在哪里可以找到相关代码? - [图节点](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. 在处理事件时,为实体构建“自动生成”id 的推荐方法是什么? @@ -87,7 +88,7 @@ dataSource.address() ## 17. 是否可以指定从哪个特定区块开始索引? -可以。 `subgraph.yaml` 文件中的 `dataSources.source.startBlock` 可以用来指定数据源开始索引的区块的编号。 在大多数情况下,我们建议使用创建合约的区块,也就是开始区块。 +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. 有没有一些提高索引性能的技巧? 子图需要很长时间才能同步。 @@ -135,4 +136,10 @@ Graph 永远不会对托管服务收费。 Graph 是一个去中心化的协议 ## 27. How do I update a subgraph on mainnet? -如果您是子图开发人员,您可以使用 CLI 将新版本的子图升级到工作室。 届时子图将是私有的,但如果您对它感到满意,您可以发布到去中心化的 Graph浏览器。 这将创建一个新版本的子图,策展人可以开始对其发出信号。 +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 104ff41b03a4ebd05629d70b5873470e89294ee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:55 -0400 Subject: [PATCH 0328/2326] New translations developer-faqs.mdx (Urdu (Pakistan)) --- .../pages/ur/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/ur/developing/developer-faqs.mdx b/website/pages/ur/developing/developer-faqs.mdx index 3565c0b6e593..9f59d0de9c9a 100644 --- a/website/pages/ur/developing/developer-faqs.mdx +++ b/website/pages/ur/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. میں کنٹریکٹ فنکشن کو کیسے کال کر سکتا ہوں یا اپنے سب گراف میپنگ سے پبلک سٹیٹ متغیر تک کیسے رسائ حاصل کر سکتا ہوں؟ -`Access to smart contract` کے سٹیٹ پر ایک نظر ڈالیں جو [اسبلی اسکرپٹ API](/developing/assemblyscript-api) سیکشن کے اندر ہے. +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. کیا دو کنٹریکٹس کے ساتھ `graph init` سے `graph` کا استعمال کرتے ہوئے سب گراف ترتیب دینا ممکن ہے؟ یا مجھے `graph init` چلانے کے بعد دستی طور پر `subgraph.yaml` میں دوسرا ڈیٹا سورس شامل کرنا چاہیے؟ -بدقسمتی سے، فی الحال یہ ممکن نہیں ہے۔ `graph init` کا مقصد ایک بنیادی نقطہ آغاز کے طور پر ہے، جہاں سے آپ دستی طور پر مزید ڈیٹا ذرائع شامل کر سکتے ہیں. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. میں تعاون کرنا چاہتا ہوں یا گٹ ہب اشو شامل کرنا چاہتا ہوں۔ مجھے اوپن سورس ریپوزٹریز کہاں سے مل سکتی ہیں؟ - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. ایونٹس کو سنبھالتے وقت کسی ہستی کے لیے "خود کار طریقے سے تیار کردہ" آئی ڈیز بنانے کا تجویز کردہ طریقہ کیا ہے؟ @@ -87,7 +88,7 @@ dataSource.address() ## 17. کیا یہ وضاحت کرنا ممکن ہے کہ کس بلاک پر انڈیکسنگ شروع کرنی ہے؟ -جی ہاں. `subgraph.yaml` فائل میں `dataSources.source.startBlock` فائل اس بلاک کی تعداد کی وضاحت کرتی ہے جس سے ڈیٹا سورس انڈیکس کرنا شروع کرتا ہے۔ زیادہ تر معاملات میں، ہم اس بلاک کو استعمال کرنے کی تجویز کرتے ہیں جس میں کنٹریکٹ بنایا گیا تھا: بلاکس شروع کریں +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. کیا انڈیکسنگ کی کارکردگی کو بڑھانے کے لیے کچھ نکات ہیں؟ میرا سب گراف مطابقت پزیر ہونے میں بہت زیادہ وقت لے رہا ہے @@ -135,4 +136,10 @@ someCollection(first: 1000, skip: ) { ... } ## 27. How do I update a subgraph on mainnet? -اگر آپ سب گراف ڈویلپر ہیں، تو آپ CLI کا استعمال کرتے ہوئے اپنے سب گراف کے نئے ورزن کو سٹوڈیو میں اپ گریڈ کر سکتے ہیں۔ اس وقت یہ پرائیویٹ ہو جائے گا، لیکن اگر آپ اس سے خوش ہیں، تو آپ ڈیسینٹرالائزڈ گراف ایکسپلورر پر شائع کر سکتے ہیں۔ یہ آپ کے سب گراف کا ایک نیا ورزن بنا دے گا جس پر کیوریٹرز سگنل دینا شروع کر سکتے ہیں۔ +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From fa807d63d165c12d39f3b43620d378e5eb8b2ead Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:56 -0400 Subject: [PATCH 0329/2326] New translations developer-faqs.mdx (Vietnamese) --- .../pages/vi/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/vi/developing/developer-faqs.mdx b/website/pages/vi/developing/developer-faqs.mdx index ad92cfc58a79..d544a1a02a79 100644 --- a/website/pages/vi/developing/developer-faqs.mdx +++ b/website/pages/vi/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. How do I call a contract function or access a public state variable from my subgraph mappings? -Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Is it possible to set up a subgraph using `graph init` from `graph-cli` with two contracts? Or should I manually add another datasource in `subgraph.yaml` after running `graph init`? -Unfortunately, this is currently not possible. `graph init` is intended as a basic starting point, from which you can then add more data sources manually. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. I want to contribute or add a GitHub issue. Where can I find the open source repositories? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. What is the recommended way to build "autogenerated" ids for an entity when handling events? @@ -87,7 +88,7 @@ Hiện tại thì không, vì các ánh xạ được viết bằng AssemblyScri ## 17. Is it possible to specify what block to start indexing on? -Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: Start blocks +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Are there some tips to increase the performance of indexing? My subgraph is taking a very long time to sync @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From f93f356d30bef063ecc5dc79fdf8f594cd1eec3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:57 -0400 Subject: [PATCH 0330/2326] New translations developer-faqs.mdx (Marathi) --- .../pages/mr/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/mr/developing/developer-faqs.mdx b/website/pages/mr/developing/developer-faqs.mdx index 0e7e5208490e..c02cd0339b64 100644 --- a/website/pages/mr/developing/developer-faqs.mdx +++ b/website/pages/mr/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ title: विकसक वारंवार विचारले जाणा ## 9. मी माझ्या सबग्राफ मॅपिंगमधून कॉन्ट्रॅक्ट फंक्शन कसे कॉल करू किंवा सार्वजनिक स्टेट व्हेरिएबलमध्ये प्रवेश कसा करू? -` वर एक नजर टाका स्मार्ट करारामध्ये प्रवेश` [ विभागामध्ये सांगा असेंबलीस्क्रिप्ट API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. दोन करारांसह `graph-cli` वरून `graph init` वापरून सबग्राफ सेट करणे शक्य आहे का? किंवा `graph init` चालवल्यानंतर `subgraph.yaml` मध्ये मी व्यक्तिचलितपणे दुसरा डेटासोर्स जोडायचा? -दुर्दैवाने, हे सध्या शक्य नाही. `ग्राफ init` हा मूळ प्रारंभिक बिंदू म्हणून अभिप्रेत आहे, ज्यामधून तुम्ही व्यक्तिचलितपणे अधिक डेटा स्रोत जोडू शकता. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. मला GitHub समस्या योगदान किंवा जोडायचे आहे. मी ओपन सोर्स रिपॉजिटरीज कुठे शोधू शकतो? - [आलेख नोड](https://github.com/graphprotocol/graph-node) -- [आलेख-क्ली](https://github.com/graphprotocol/graph-cli) -- [आलेख-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. इव्हेंट हाताळताना एखाद्या घटकासाठी "स्वयंजनित" आयडी तयार करण्याचा शिफारस केलेला मार्ग कोणता आहे? @@ -87,7 +88,7 @@ dataSource.address() ## 17. कोणत्या ब्लॉकवर अनुक्रमणिका सुरू करायची हे निर्दिष्ट करणे शक्य आहे का? -होय. `subgraph.yaml` फाइलमध्‍ये `dataSources.source.startBlock` डेटा स्रोत ज्या ब्लॉकमधून अनुक्रमणिका सुरू करतो त्या ब्लॉकची संख्या निर्दिष्ट करते. बर्याच प्रकरणांमध्ये, आम्ही सुचवितो की ज्या ब्लॉकमध्ये करार तयार केला गेला होता ते वापरा: ब्लॉक्स सुरू करा +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. इंडेक्सिंगची कार्यक्षमता वाढवण्यासाठी काही टिपा आहेत का? माझा सबग्राफ समक्रमित होण्यासाठी खूप वेळ घेत आहे @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 7489cfb85beae2300a20fc74bd31715aa060e8e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:58 -0400 Subject: [PATCH 0331/2326] New translations developer-faqs.mdx (Hindi) --- .../pages/hi/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/hi/developing/developer-faqs.mdx b/website/pages/hi/developing/developer-faqs.mdx index 63c37db5b205..387329b215c7 100644 --- a/website/pages/hi/developing/developer-faqs.mdx +++ b/website/pages/hi/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. मैं अपने सबग्राफ मैपिंग से किसी अनुबंध फ़ंक्शन को कैसे कॉल करूं या किसी सार्वजनिक स्थिति चर तक कैसे पहुंचूं? -[AssemblyScript API](/developing/assemblyscript-api) अनुभाग के अंदर `स्मार्ट अनुबंध तक पहुंच` स्थिति पर एक नज़र डालें। +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. क्या दो अनुबंधों के साथ `graph-cli` से `graph init` का उपयोग करके एक सबग्राफ सेट करना संभव है? या `graph init` चलाने के बाद मुझे `subgraph.yaml` में मैन्युअल रूप से एक और डेटा स्रोत जोड़ना चाहिए? -दुर्भाग्य से, यह वर्तमान में संभव नहीं है। `ग्राफ़ इनिट` का उद्देश्य मूल प्रारंभिक बिंदु के रूप में है, जिससे आप मैन्युअल रूप से अधिक डेटा स्रोत जोड़ सकते हैं। +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. मैं गिटहब मुद्दे में योगदान देना चाहता हूं या जोड़ना चाहता हूं। मुझे ओपन सोर्स रिपॉजिटरी कहां मिल सकती है? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. घटनाओं को संभालते समय एक इकाई के लिए "ऑटोजेनरेटेड" आईडी बनाने का अनुशंसित तरीका क्या है? @@ -87,7 +88,7 @@ dataSource.address() ## 17. क्या यह निर्दिष्ट करना संभव है कि किस ब्लॉक पर अनुक्रमण शुरू करना है? -हाँ। `subgraph.yaml` फ़ाइल में `dataSources.source.startBlock` उस ब्लॉक की संख्या निर्दिष्ट करता है जिससे डेटा स्रोत अनुक्रमण करना शुरू करता है। ज्यादातर मामलों में, हम उस ब्लॉक का उपयोग करने का सुझाव देते हैं जिसमें अनुबंध बनाया गया था: ब्लॉक प्रारंभ करें +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. क्या इंडेक्सिंग के प्रदर्शन को बढ़ाने के लिए कुछ टिप्स हैं? मेरा सबग्राफ सिंक होने में काफी समय ले रहा है @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From b85b5defaa2e2c723fbea2fd5d75d6b73da04ba3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:31:59 -0400 Subject: [PATCH 0332/2326] New translations developer-faqs.mdx (Yoruba) --- .../pages/yo/developing/developer-faqs.mdx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/website/pages/yo/developing/developer-faqs.mdx b/website/pages/yo/developing/developer-faqs.mdx index fe1317fe2548..b334adf05f45 100644 --- a/website/pages/yo/developing/developer-faqs.mdx +++ b/website/pages/yo/developing/developer-faqs.mdx @@ -46,17 +46,18 @@ docker pull graphprotocol/graph-node:latest ## 9. How do I call a contract function or access a public state variable from my subgraph mappings? -Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/assemblyscript-api). +Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. Is it possible to set up a subgraph using `graph init` from `graph-cli` with two contracts? Or should I manually add another datasource in `subgraph.yaml` after running `graph init`? -Unfortunately, this is currently not possible. `graph init` is intended as a basic starting point, from which you can then add more data sources manually. +Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. ## 11. I want to contribute or add a GitHub issue. Where can I find the open source repositories? - [graph-node](https://github.com/graphprotocol/graph-node) -- [graph-cli](https://github.com/graphprotocol/graph-cli) -- [graph-ts](https://github.com/graphprotocol/graph-ts) +- [graph-tooling](https://github.com/graphprotocol/graph-tooling) +- [graph-docs](https://github.com/graphprotocol/docs) +- [graph-client](https://github.com/graphprotocol/graph-client) ## 12. What is the recommended way to build "autogenerated" ids for an entity when handling events? @@ -87,7 +88,7 @@ Not currently, as mappings are written in AssemblyScript. One possible alternati ## 17. Is it possible to specify what block to start indexing on? -Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: Start blocks +Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) ## 18. Are there some tips to increase the performance of indexing? My subgraph is taking a very long time to sync @@ -135,4 +136,10 @@ The Graph will never charge for the hosted service. The Graph is a decentralized ## 27. How do I update a subgraph on mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to the Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. + +## 28. In what order are the event, block, and call handlers triggered for a data source? + +Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. + +When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. From 8478dbea027060737a30eb424e1025db00c61aaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:00 -0400 Subject: [PATCH 0333/2326] New translations unit-testing-framework.mdx (Romanian) --- .../ro/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/ro/developing/unit-testing-framework.mdx b/website/pages/ro/developing/unit-testing-framework.mdx index 8ffc66465e3a..ed7a2e07b03d 100644 --- a/website/pages/ro/developing/unit-testing-framework.mdx +++ b/website/pages/ro/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ And finally, do not use `graph test` (which uses your global installation of gra ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ You can try out and play around with the examples from this guide by cloning the Also you can check out the video series on ["How to use Matchstick to write unit tests for your subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Tests structure (>=0.5.0) +## Tests structure -_**IMPORTANT: Requires matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Write a Unit Test Let's see how a simple unit test would look like using the Gravatar examples in the [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Users can assert that an entity does not exist in the store. The function takes assert.notInStore('Gravatar', '23') ``` -### Printing the whole store (for debug purposes) +### Printing the whole store, or single entities from it (for debug purposes) You can print the whole store to the console using this helper function: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Expected failure Users can have expected test failures, using the shouldFail flag on the test() functions: @@ -908,26 +947,83 @@ Logging critical errors will stop the execution of the tests and blow everything ### Testing derived fields -Testing derived fields is a feature which (as the example below shows) allows the user to set a field in a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. Important thing to note is that the first entity needs to be reloaded as the automatic update happens in the store in rust of which the AS code is agnostic. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Notice that dataSourceMock.resetValues() is called at the end. That's because the values are remembered when they are changed and need to be reset if you want to go back to the default values. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Test Coverage Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ The log output includes the test run duration. Here's an example: This means you have used `console.log` in your code, which is not supported by AssemblyScript. Please consider using the [Logging API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) The mismatch in arguments is caused by mismatch in `graph-ts` and `matchstick-as`. The best way to fix issues like this one is to update everything to the latest released version. From b62ef44a9a401538692a9f8926c4b6cab0072b08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:01 -0400 Subject: [PATCH 0334/2326] New translations unit-testing-framework.mdx (French) --- .../fr/developing/unit-testing-framework.mdx | 395 +++++++++++++++--- 1 file changed, 341 insertions(+), 54 deletions(-) diff --git a/website/pages/fr/developing/unit-testing-framework.mdx b/website/pages/fr/developing/unit-testing-framework.mdx index bb0bd1d30bef..eead6740337d 100644 --- a/website/pages/fr/developing/unit-testing-framework.mdx +++ b/website/pages/fr/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ Et en conclussion, n'utilisez pas `graph test` (qui utilise votre installation g ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ Vous pouvez tester et jouer avec les exemples de ce guide en clonant le repo [De Vous pouvez également consulter la série de vidéos sur [« comment utiliser Matchstick pour écrire des tests unitaires pour vos subgraphs »](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Structure des essais (>=0.5.0) +## Tests structure -_**IMPORTANT : Requiert matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### décrivez() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Écrire un test unitaire Voyons à quoi ressemblerait un test unitaire simple en utilisant les exemples Gravatar dans le [subgraph de démonstration](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -585,28 +615,28 @@ import { Gravatar } from '../../generated/schema' import { NewGravatar } from '../../generated/Gravity/Gravity' import { createNewGravatarEvent, handleNewGravatars } from '../mappings/gravity' -test('Can call mappings with custom events', () => { - // Create a test entity and save it in the store as initial state (optional) +test('Peut appeler des mappings avec des événements personnalisés', () => { + // Crée une entité de test et l'enregistre dans le store comme état initial (optionnel) let gravatar = new Gravatar('gravatarId0') gravatar.save() - // Create mock events + // Crée des événements factices let newGravatarEvent = createNewGravatarEvent(12345, '0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7', 'cap', 'pac') let anotherGravatarEvent = createNewGravatarEvent(3546, '0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7', 'cap', 'pac') - // Call mapping functions passing the events we just created + // Appelle les fonctions de mapping en passant les événements qu'on vient de créer handleNewGravatars([newGravatarEvent, anotherGravatarEvent]) - // Assert the state of the store + // Vérifie l'état du store assert.fieldEquals('Gravatar', 'gravatarId0', 'id', 'gravatarId0') assert.fieldEquals('Gravatar', '12345', 'owner', '0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7') assert.fieldEquals('Gravatar', '3546', 'displayName', 'cap') - // Clear the store in order to start the next test off on a clean slate + // Vide le store afin de commencer le prochain test avec un état propre clearStore() }) -test('Next test', () => { +test('Test suivant', () => { //... }) ``` @@ -724,7 +754,7 @@ import { assert, test, mockIpfsFile } from 'matchstick-as/assembly/index' import { ipfs } from '@graphprotocol/graph-ts' import { gravatarFromIpfs } from './utils' -// Export ipfs.map() callback in order for matchstck to detect it +// Exportation du callback ipfs.map() pour que matchstck le détecte. export { processGravatar } from './utils' test('ipfs.cat', () => { @@ -757,49 +787,48 @@ test('ipfs.map', () => { Fichier `utils.ts` : ```typescript -importer {Adresse, Ethereum, JSONValue, Valeur, ipfs, json, Octets} depuis "@graphprotocol/graph-ts" -importer { Gravatar } depuis "../../generated/schema" +import { Address, ethereum, JSONValue, Value, ipfs, json, Bytes } from "@graphprotocol/graph-ts" +import { Gravatar } from "../../generated/schema" ... // rappel ipfs.map -fonction d'exportation processGravatar (valeur : JSONValue, userData : valeur) : void { - // Consultez la documentation de JSONValue pour plus de détails sur la façon de traiter les données. - // avec valeurs JSON - laissez obj = valeur.toObject() - laissez id = obj.get('id') +export function processGravatar(value: JSONValue, userData: Value): void { + // Consultez la documentation de JSONValue pour plus de détails sur la façon de traiter les données. + // avec JSON values + let obj = value.toObject() + let id = obj.get('id') - si (!id) { + if (!id) { return } - } - // Des entités de rappel peuvent également être créées - laissez gravatar = new Gravatar(id.toString()) - gravatar.displayName = userData.toString() + id.toString() - gravatar.save() + // Des entités de rappel peuvent également être créées + let gravatar = new Gravatar(id.toString()) + gravatar.displayName = userData.toString() + id.toString() + gravatar.save() } // fonction qui appelle ipfs.cat -fonction d'exportation gravatarFromIpfs() : void { - laissez rawData = ipfs.cat("ipfsCatfileHash") +export function gravatarFromIpfs(): void { + let rawData = ipfs.cat("ipfsCatfileHash") - si (!rawData) { + if (!rawData) { return } - laissez jsonData = json.fromBytes (rawData as Bytes).toObject() + let jsonData = json.fromBytes(rawData as Bytes).toObject() - laissez id = jsonData.get('id') - laissez url = jsonData.get("imageUrl") + let id = jsonData.get('id') + let url = jsonData.get("imageUrl") - si (!id || !url) { + if (!id || !url) { return } - laissez gravatar = new Gravatar(id.toString()) - gravatar.imageUrl = url.toString() - gravatar.save() + let gravatar = new Gravatar(id.toString()) + gravatar.imageUrl = url.toString() + gravatar.save() } ``` @@ -846,7 +875,7 @@ Les utilisateurs peuvent affirmer qu'une entité n'existe pas dans le magasin. L assert.notInStore('Gravatar', '23') ``` -### Impression de l'ensemble du magasin (à des fins de débogage) +### Printing the whole store, or single entities from it (for debug purposes) Vous pouvez imprimer l'intégralité du magasin sur la console à l'aide de cette fonction d'assistance: @@ -856,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Échec prévu Les utilisateurs peuvent s'attendre à des échecs de test, en utilisant l'indicateur ShouldFail sur les fonctions test() : @@ -901,7 +939,7 @@ Les utilisateurs peuvent également simuler une panne critique, comme ceci : ```typescript test('Tout faire exploser', () => { - log.critical('Boom!') + log.critical('Boom!') }) ``` @@ -909,26 +947,83 @@ La journalisation des erreurs critiques arrêtera l’exécution des tests et fe ### Tests dérivés -Le test des champs dérivés est une fonctionnalité qui (comme le montre l'exemple ci-dessous) permet à l'utilisateur de définir un champ dans une certaine entité et de mettre à jour automatiquement une autre entité si elle dérive l'un de ses champs de la première entité. La chose importante à noter est que la première entité doit être rechargée car la mise à jour automatique se produit dans le magasin Rust dont le code AS est indépendant. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' + +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -989,9 +1084,201 @@ test('Exemple moqueur simple de source de données', () => { Notez que dataSourceMock.resetValues() est appelé à la fin. C'est parce que les valeurs sont mémorisées lorsqu'elles sont modifiées et doivent être réinitialisées si vous voulez revenir aux valeurs par défaut. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Couverture de test -Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. +Grâce à **Matchstick**, les développeurs de subgraphs peuvent exécuter un script qui calculera la couverture des tests unitaires écrits. L'outil de couverture de test prend les binaires de test `wasm` compilés et les convertit en fichiers `wat`, qui peuvent ensuite être facilement inspectés pour voir si les gestionnaires définis dans `subgraph .yaml` ont été appelés. Étant donné que la couverture du code (et les tests dans leur ensemble) en sont à leurs tout premiers stades dans AssemblyScript et WebAssembly, **Matchstick** ne peut pas vérifier la couverture des branches. Au lieu de cela, nous nous appuyons sur l'affirmation selon laquelle si un gestionnaire donné a été appelé, l'événement/la fonction correspondant a été correctement simulé. @@ -1082,15 +1369,15 @@ La sortie du journal inclut la durée de l’exécution du test. Voici un exempl Cela signifie que vous avez utilisé `console.log` dans votre code, ce qui n'est pas pris en charge par AssemblyScript. Veuillez envisager d'utiliser l'[API Logging](/developing/assemblyscript-api/#logging-api) > ERREUR TS2554 : attendu ? arguments, mais j'ai eu ?. -> +> > renvoyer le nouveau ethereum.Block (defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt) ; -> +> > dans ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > renvoyer un nouveau ethereum.Transaction (defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt) ; -> +> > dans ~lib/matchstick-as/assembly/defaults.ts(24,12) L'inadéquation des arguments est causée par une inadéquation entre `graph-ts` et `matchstick-as`. La meilleure façon de résoudre des problèmes comme celui-ci est de tout mettre à jour vers la dernière version publiée. From 44d7cb1e979da05d83927f37fc8b68ff780a3b4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:02 -0400 Subject: [PATCH 0335/2326] New translations unit-testing-framework.mdx (Spanish) --- .../es/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/es/developing/unit-testing-framework.mdx b/website/pages/es/developing/unit-testing-framework.mdx index 514f692ac6e9..58fd3be3c996 100644 --- a/website/pages/es/developing/unit-testing-framework.mdx +++ b/website/pages/es/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ Y finalmente, no uses `graph test` (que usa tu instalación global de graph-cli ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ Puedes probar y jugar con los ejemplos de esta guía clonando el [Demo Subgraph También puedes ver la serie de videos en ["How to use Matchstick to write unit tests for your subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Estructura de las pruebas (>=0.5.0) +## Tests structure -_**IMPORTANTE: Requiere matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Escribir un Unit Test Veamos cómo se vería un unit test simple usando los ejemplos de Gravatar en el [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Los usuarios pueden afirmar que una entidad no existe en el almacenamiento. La f assert.notInStore('Gravatar', '23') ``` -### Impresión del almacenamiento entero (para fines de depuración) +### Printing the whole store, or single entities from it (for debug purposes) Puede imprimir todo el almacenamiento a la consola usando esta función de ayuda: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Fallo esperado Los usuarios pueden tener fallas de prueba esperadas, usando el indicador shouldFail en las funciones test(): @@ -908,26 +947,83 @@ El logging de errores críticos detendrá la ejecución de las pruebas y explota ### Testing de campos derivados -Testing de campos derivados es una función que (como muestra el siguiente ejemplo) permite al usuario establecer un campo en una determinada entidad y hacer que otra entidad se actualice automáticamente si deriva uno de sus campos de la primera entidad. Lo importante a tener en cuenta es que la primera entidad debe recargarse ya que la actualización automática ocurre en el store en rust de la cual el código AS es independiente. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Tenga en cuenta que dataSourceMock.resetValues() se llama al final. Esto se debe a que los valores se recuerdan cuando se modifican y deben restablecerse si desea volver a los valores predeterminados. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Cobertura de prueba Usando **Matchstick**, los desarrolladores de subgrafos pueden ejecutar un script que calculará la cobertura de las pruebas unitarias escritas. @@ -1081,15 +1369,15 @@ La salida del log incluye la duración de la ejecución de la prueba. Aquí hay Esto significa que has utilizado `console.log` en tu código, que no es compatible con AssemblyScript. Considera usar la [API de registro](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) La falta de coincidencia en los argumentos se debe a la falta de coincidencia en `graph-ts` y `matchstick-as`. La mejor manera de solucionar problemas como este es actualizar todo a la última versión publicada. From 260ed5ce186d63a1bdc5e769caed1fbb30e7094e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:03 -0400 Subject: [PATCH 0336/2326] New translations unit-testing-framework.mdx (Arabic) --- .../ar/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/ar/developing/unit-testing-framework.mdx b/website/pages/ar/developing/unit-testing-framework.mdx index 54b83b009125..f34cbcbdf6ab 100644 --- a/website/pages/ar/developing/unit-testing-framework.mdx +++ b/website/pages/ar/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ And finally, do not use `graph test` (which uses your global installation of gra ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ You can try out and play around with the examples from this guide by cloning the Also you can check out the video series on ["How to use Matchstick to write unit tests for your subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Tests structure (>=0.5.0) +## Tests structure -_**IMPORTANT: Requires matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Write a Unit Test Let's see how a simple unit test would look like using the Gravatar examples in the [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Users can assert that an entity does not exist in the store. The function takes assert.notInStore('Gravatar', '23') ``` -### Printing the whole store (for debug purposes) +### Printing the whole store, or single entities from it (for debug purposes) You can print the whole store to the console using this helper function: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Expected failure Users can have expected test failures, using the shouldFail flag on the test() functions: @@ -908,26 +947,83 @@ Logging critical errors will stop the execution of the tests and blow everything ### Testing derived fields -Testing derived fields is a feature which (as the example below shows) allows the user to set a field in a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. Important thing to note is that the first entity needs to be reloaded as the automatic update happens in the store in rust of which the AS code is agnostic. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Notice that dataSourceMock.resetValues() is called at the end. That's because the values are remembered when they are changed and need to be reset if you want to go back to the default values. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Test Coverage Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ The log output includes the test run duration. Here's an example: This means you have used `console.log` in your code, which is not supported by AssemblyScript. Please consider using the [Logging API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) The mismatch in arguments is caused by mismatch in `graph-ts` and `matchstick-as`. The best way to fix issues like this one is to update everything to the latest released version. From c27be2049dfbc9779fba2a148d66466fbcc96ba7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:05 -0400 Subject: [PATCH 0337/2326] New translations unit-testing-framework.mdx (Czech) --- .../cs/developing/unit-testing-framework.mdx | 362 ++++++++++++++++-- 1 file changed, 325 insertions(+), 37 deletions(-) diff --git a/website/pages/cs/developing/unit-testing-framework.mdx b/website/pages/cs/developing/unit-testing-framework.mdx index 69093e150a10..f12e7b236a54 100644 --- a/website/pages/cs/developing/unit-testing-framework.mdx +++ b/website/pages/cs/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ A konečně, nepoužívejte `graph test` (který používá globální instalaci ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ Příklady z této příručky si můžete vyzkoušet a pohrát si s nimi naklon Můžete se také podívat na sérii videí ["Jak používat Matchstick k psaní unit test pro vaše podgrafy"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Struktura testů (>=0.5.0) +## Tests structure -_**DŮLEŽITÉ: Vyžaduje matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Napsat jednotkový test Podívejme se, jak by vypadal jednoduchý jednotkový test s použitím příkladů Gravatar v [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Uživatelé mohou tvrdit, že entita v úložišti neexistuje. Funkce přebírá assert.notInStore('Gravatar', '23') ``` -### Tisk celého úložiště (pro účely ladění) +### Printing the whole store, or single entities from it (for debug purposes) Pomocí této pomocné funkce můžete vypsat celý obchod na konzolu: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Očekávané selhání Uživatelé mohou očekávat selhání test pomocí příznaku shouldFail ve funkcích test(): @@ -908,26 +947,83 @@ Zaznamenáním kritických chyb se provádění testů zastaví a vše se pokaz ### Testování odvozených polí -Testování odvozených polí je funkce, která (jak ukazuje příklad níže) umožňuje uživateli nastavit pole v určité entit a nechat automaticky aktualizovat jinou entita, pokud je jedno z jejích polí odvozeno od první entity. Důležité je si uvědomit, že první entita musí být znovu načtena, protože automatická aktualizace probíhá v úložišti v rustu, jehož kód AS je agnostický. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,25 +1084,217 @@ test('Data source simple mocking example', () => { Všimněte si, že na konci je volána funkce dataSourceMock.resetValues(). To proto, že hodnoty se při změně pamatují a je třeba je resetovat, pokud se chcete vrátit k výchozím hodnotám. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Pokrytí test Pomocí nástroje **Matchstick** mohou vývojáři podgrafů spustit skript, který vypočítá pokrytí testů napsaných jednotkových test. -The test coverage tool takes the compiled test `wasm` binaries and converts them to `wat` files, which can then be easily inspected to see whether or not the handlers defined in `subgraph.yaml` have been called. Since code coverage (and testing as whole) is in very early stages in AssemblyScript and WebAssembly, **Matchstick** cannot check for branch coverage. Instead we rely on the assertion that if a given handler has been called, the event/function for it have been properly mocked. +Nástroj pro pokrytí test vezme zkompilované binární soubory `wasm` a převede je na soubory `wat`, které lze poté snadno zkontrolovat a zjistit, zda byly zavolány obslužné programy definované v souboru `subgraph.yaml`. Vzhledem k tomu, že pokrytí kódu (a testování jako celek) je v jazycích AssemblyScript a WebAssembly ve velmi rané fázi, nemůže **Matchstick** kontrolovat pokrytí větví. Místo toho se spoléháme na tvrzení, že pokud byla daná obslužná funkce zavolána, byly událost/funkce pro ni správně zesměšněny. ### Požadavky -To run the test coverage functionality provided in **Matchstick**, there are a few things you need to prepare beforehand: +Chcete-li spustit funkci pokrytí test poskytovanou v nástroji **Matchstick**, musíte si předem připravit několik věcí: -#### Export your handlers +#### Exportování zpracovatelů -In order for **Matchstick** to check which handlers are being run, those handlers need to be exported from the **test file**. So for instance in our example, in our gravity.test.ts file we have the following handler being imported: +Aby **Matchstick** mohl zkontrolovat, které obslužné programy jsou spuštěny, musí být tyto obslužné programy exportovány ze souboru **test**. Takže například v našem příkladu máme v souboru gravity.test.ts importován následující handler: ```typescript import { handleNewGravatar } from '../../src/gravity' ``` -In order for that function to be visible (for it to be included in the `wat` file **by name**) we need to also export it, like this: +Aby byla tato funkce viditelná (aby byla obsažena **podle názvu**), musíme ji také exportovat, například takto: ```typescript export { handleNewGravatar } @@ -1014,13 +1302,13 @@ export { handleNewGravatar } ### Použití -Once that's all set up, to run the test coverage tool, simply run: +Jakmile je vše nastaveno, spusťte nástroj pro pokrytí test: ```sh graph test -- -c ``` -You could also add a custom `coverage` command to your `package.json` file, like so: +Do souboru `package.json` můžete také přidat vlastní příkaz `coverage`, například takto: ```typescript "scripts": { @@ -1029,7 +1317,7 @@ You could also add a custom `coverage` command to your `package.json` file, like }, ``` -That will execute the coverage tool and you should see something like this in the terminal: +Tím se spustí nástroj pro pokrytí a v terminálu by se mělo zobrazit něco takového: ```sh $ graph test -c @@ -1068,32 +1356,32 @@ Test coverage: 0.0% (0/6 handlers). Global test coverage: 22.2% (2/9 handlers). ``` -### Test run time duration in the log output +### Doba trvání test ve výstupu protokolu -The log output includes the test run duration. Here's an example: +Výstup protokolu obsahuje dobu trvání test. Zde je příklad: `[Thu, 31 Mar 2022 13:54:54 +0300] Program executed in: 42.270ms.` -## Common compiler errors +## Běžné chyby překladače -> Critical: Could not create WasmInstance from valid module with context: unknown import: wasi_snapshot_preview1::fd_write has not been defined +> Kritické: Nelze vytvořit WasmInstance z platného modulu s kontextem: neznámý import: wasi_snapshot_preview1::fd_write nebyl definován -This means you have used `console.log` in your code, which is not supported by AssemblyScript. Please consider using the [Logging API](/developing/assemblyscript-api/#logging-api) +To znamená, že jste ve svém kódu použili `console.log`, což není podporováno jazykem AssemblyScript. Zvažte prosím použití [Logging API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) -The mismatch in arguments is caused by mismatch in `graph-ts` and `matchstick-as`. The best way to fix issues like this one is to update everything to the latest released version. +Neshoda v argumentech je způsobena neshodou v `graph-ts` a `matchstick-as`. Nejlepší způsob, jak opravit problémy, jako je tento, je aktualizovat vše na nejnovější vydanou verzi. -## Feedback +## Zpětná vazba -If you have any questions, feedback, feature requests or just want to reach out, the best place would be The Graph Discord where we have a dedicated channel for Matchstick, called 🔥| unit-testing. +Pokud máte nějaké dotazy, zpětnou vazbu, požadavky na funkce nebo se jen chcete ozvat, nejlépe na Graf Discord, kde máme pro Matchstick vyhrazený kanál s názvem 🔥| unit-testing. From a89be78ce94a43848b9ca59d41b3d9b0a668f917 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:06 -0400 Subject: [PATCH 0338/2326] New translations unit-testing-framework.mdx (German) --- .../de/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/de/developing/unit-testing-framework.mdx b/website/pages/de/developing/unit-testing-framework.mdx index 8ffc66465e3a..ed7a2e07b03d 100644 --- a/website/pages/de/developing/unit-testing-framework.mdx +++ b/website/pages/de/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ And finally, do not use `graph test` (which uses your global installation of gra ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ You can try out and play around with the examples from this guide by cloning the Also you can check out the video series on ["How to use Matchstick to write unit tests for your subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Tests structure (>=0.5.0) +## Tests structure -_**IMPORTANT: Requires matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Write a Unit Test Let's see how a simple unit test would look like using the Gravatar examples in the [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Users can assert that an entity does not exist in the store. The function takes assert.notInStore('Gravatar', '23') ``` -### Printing the whole store (for debug purposes) +### Printing the whole store, or single entities from it (for debug purposes) You can print the whole store to the console using this helper function: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Expected failure Users can have expected test failures, using the shouldFail flag on the test() functions: @@ -908,26 +947,83 @@ Logging critical errors will stop the execution of the tests and blow everything ### Testing derived fields -Testing derived fields is a feature which (as the example below shows) allows the user to set a field in a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. Important thing to note is that the first entity needs to be reloaded as the automatic update happens in the store in rust of which the AS code is agnostic. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Notice that dataSourceMock.resetValues() is called at the end. That's because the values are remembered when they are changed and need to be reset if you want to go back to the default values. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Test Coverage Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ The log output includes the test run duration. Here's an example: This means you have used `console.log` in your code, which is not supported by AssemblyScript. Please consider using the [Logging API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) The mismatch in arguments is caused by mismatch in `graph-ts` and `matchstick-as`. The best way to fix issues like this one is to update everything to the latest released version. From a67dba397ec76a0193d4f4b75b238196031729e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:07 -0400 Subject: [PATCH 0339/2326] New translations unit-testing-framework.mdx (Italian) --- .../it/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/it/developing/unit-testing-framework.mdx b/website/pages/it/developing/unit-testing-framework.mdx index 8ffc66465e3a..ed7a2e07b03d 100644 --- a/website/pages/it/developing/unit-testing-framework.mdx +++ b/website/pages/it/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ And finally, do not use `graph test` (which uses your global installation of gra ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ You can try out and play around with the examples from this guide by cloning the Also you can check out the video series on ["How to use Matchstick to write unit tests for your subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Tests structure (>=0.5.0) +## Tests structure -_**IMPORTANT: Requires matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Write a Unit Test Let's see how a simple unit test would look like using the Gravatar examples in the [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Users can assert that an entity does not exist in the store. The function takes assert.notInStore('Gravatar', '23') ``` -### Printing the whole store (for debug purposes) +### Printing the whole store, or single entities from it (for debug purposes) You can print the whole store to the console using this helper function: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Expected failure Users can have expected test failures, using the shouldFail flag on the test() functions: @@ -908,26 +947,83 @@ Logging critical errors will stop the execution of the tests and blow everything ### Testing derived fields -Testing derived fields is a feature which (as the example below shows) allows the user to set a field in a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. Important thing to note is that the first entity needs to be reloaded as the automatic update happens in the store in rust of which the AS code is agnostic. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Notice that dataSourceMock.resetValues() is called at the end. That's because the values are remembered when they are changed and need to be reset if you want to go back to the default values. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Test Coverage Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ The log output includes the test run duration. Here's an example: This means you have used `console.log` in your code, which is not supported by AssemblyScript. Please consider using the [Logging API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) The mismatch in arguments is caused by mismatch in `graph-ts` and `matchstick-as`. The best way to fix issues like this one is to update everything to the latest released version. From 9f81c560042c5f8af0f7430c1f9864a747fbec25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:08 -0400 Subject: [PATCH 0340/2326] New translations unit-testing-framework.mdx (Japanese) --- .../ja/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/ja/developing/unit-testing-framework.mdx b/website/pages/ja/developing/unit-testing-framework.mdx index 49601a107de7..7160450a45a1 100644 --- a/website/pages/ja/developing/unit-testing-framework.mdx +++ b/website/pages/ja/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ sudo apt-get install libpq-dev (インストール) ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ manifestPath: path/to/subgraph.yaml また、[「Matchstickを使ってサブグラフのユニットテストを書く方法」](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h)のビデオシリーズもご覧ください。 -## Tests structure (>=0.5.0) +## Tests structure -_**IMPORTANT: Requires matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## 単体テストを書く [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts) にある Gravatar の例を使って、簡単なユニットテストがどのように見えるか見てみましょう。 @@ -845,7 +875,7 @@ assert.equals(ethereum.Value.fromString("hello"); ethereum.Value.fromString("hel assert.notInStore('Gravatar', '23') ``` -### ストア全体を印刷する(デバッグ用) +### Printing the whole store, or single entities from it (for debug purposes) このヘルパー関数を使って、ストア全体をコンソールに出力することができます: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### 予想される不具合 Test() 関数のshouldFailフラグを使用して、ユーザーがテストの失敗を予想することができます: @@ -908,26 +947,83 @@ test('Blow everything up', () => { ### 派生フィールドのテスト -派生フィールドのテストは、(以下の例で示すように)ユーザーがあるエンティティにフィールドを設定し、それが最初のエンティティからフィールドの1つを派生している場合、別のエンティティが自動的に更新されるようにする機能です。重要なのは、自動更新はASコードが不可知論である錆のストア内で行われるため、最初のエンティティは再ロードされる必要があることです。 +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { 最後にdataSourceMock.resetValues()が呼び出されていることに注目してください。これは、値が変更されると記憶されるため、デフォルトの値に戻したい場合はリセットする必要があるからです。 +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## テストカバレッジ **マッチスティック** を使用すると、サブグラフ開発者は、記述された単体テストのテスト カバレッジを計算するスクリプトを実行できます。 @@ -1081,15 +1369,15 @@ Global test coverage: 22.2% (2/9 handlers). これは、コード内で`console.log`を使用していることを意味し、AssemblyScriptではサポートされていません。[Logging API](/developing/assemblyscript-api/#logging-api) の利用をご検討ください。 > ERROR TS2554: 期待された引数は? -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: 期待された引数は? -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) 引数の不一致は、`graph-ts`と`matchstick-as`の不一致によって起こります。このような問題を解決する最善の方法は、すべてを最新のリリース版にアップデートすることです。 From acdaaf7474044de86779a30add12cc01f1b7ad57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:09 -0400 Subject: [PATCH 0341/2326] New translations unit-testing-framework.mdx (Korean) --- .../ko/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/ko/developing/unit-testing-framework.mdx b/website/pages/ko/developing/unit-testing-framework.mdx index 8ffc66465e3a..ed7a2e07b03d 100644 --- a/website/pages/ko/developing/unit-testing-framework.mdx +++ b/website/pages/ko/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ And finally, do not use `graph test` (which uses your global installation of gra ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ You can try out and play around with the examples from this guide by cloning the Also you can check out the video series on ["How to use Matchstick to write unit tests for your subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Tests structure (>=0.5.0) +## Tests structure -_**IMPORTANT: Requires matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Write a Unit Test Let's see how a simple unit test would look like using the Gravatar examples in the [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Users can assert that an entity does not exist in the store. The function takes assert.notInStore('Gravatar', '23') ``` -### Printing the whole store (for debug purposes) +### Printing the whole store, or single entities from it (for debug purposes) You can print the whole store to the console using this helper function: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Expected failure Users can have expected test failures, using the shouldFail flag on the test() functions: @@ -908,26 +947,83 @@ Logging critical errors will stop the execution of the tests and blow everything ### Testing derived fields -Testing derived fields is a feature which (as the example below shows) allows the user to set a field in a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. Important thing to note is that the first entity needs to be reloaded as the automatic update happens in the store in rust of which the AS code is agnostic. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Notice that dataSourceMock.resetValues() is called at the end. That's because the values are remembered when they are changed and need to be reset if you want to go back to the default values. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Test Coverage Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ The log output includes the test run duration. Here's an example: This means you have used `console.log` in your code, which is not supported by AssemblyScript. Please consider using the [Logging API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) The mismatch in arguments is caused by mismatch in `graph-ts` and `matchstick-as`. The best way to fix issues like this one is to update everything to the latest released version. From 94736d5c35c5d1a68beb8cca7db1de671548679b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:10 -0400 Subject: [PATCH 0342/2326] New translations unit-testing-framework.mdx (Dutch) --- .../nl/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/nl/developing/unit-testing-framework.mdx b/website/pages/nl/developing/unit-testing-framework.mdx index 8ffc66465e3a..ed7a2e07b03d 100644 --- a/website/pages/nl/developing/unit-testing-framework.mdx +++ b/website/pages/nl/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ And finally, do not use `graph test` (which uses your global installation of gra ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ You can try out and play around with the examples from this guide by cloning the Also you can check out the video series on ["How to use Matchstick to write unit tests for your subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Tests structure (>=0.5.0) +## Tests structure -_**IMPORTANT: Requires matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Write a Unit Test Let's see how a simple unit test would look like using the Gravatar examples in the [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Users can assert that an entity does not exist in the store. The function takes assert.notInStore('Gravatar', '23') ``` -### Printing the whole store (for debug purposes) +### Printing the whole store, or single entities from it (for debug purposes) You can print the whole store to the console using this helper function: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Expected failure Users can have expected test failures, using the shouldFail flag on the test() functions: @@ -908,26 +947,83 @@ Logging critical errors will stop the execution of the tests and blow everything ### Testing derived fields -Testing derived fields is a feature which (as the example below shows) allows the user to set a field in a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. Important thing to note is that the first entity needs to be reloaded as the automatic update happens in the store in rust of which the AS code is agnostic. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Notice that dataSourceMock.resetValues() is called at the end. That's because the values are remembered when they are changed and need to be reset if you want to go back to the default values. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Test Coverage Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ The log output includes the test run duration. Here's an example: This means you have used `console.log` in your code, which is not supported by AssemblyScript. Please consider using the [Logging API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) The mismatch in arguments is caused by mismatch in `graph-ts` and `matchstick-as`. The best way to fix issues like this one is to update everything to the latest released version. From 1b9f0944a9fb54af7daa8d13fbb162751bda5d8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:11 -0400 Subject: [PATCH 0343/2326] New translations unit-testing-framework.mdx (Polish) --- .../pl/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/pl/developing/unit-testing-framework.mdx b/website/pages/pl/developing/unit-testing-framework.mdx index 8ffc66465e3a..ed7a2e07b03d 100644 --- a/website/pages/pl/developing/unit-testing-framework.mdx +++ b/website/pages/pl/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ And finally, do not use `graph test` (which uses your global installation of gra ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ You can try out and play around with the examples from this guide by cloning the Also you can check out the video series on ["How to use Matchstick to write unit tests for your subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Tests structure (>=0.5.0) +## Tests structure -_**IMPORTANT: Requires matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Write a Unit Test Let's see how a simple unit test would look like using the Gravatar examples in the [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Users can assert that an entity does not exist in the store. The function takes assert.notInStore('Gravatar', '23') ``` -### Printing the whole store (for debug purposes) +### Printing the whole store, or single entities from it (for debug purposes) You can print the whole store to the console using this helper function: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Expected failure Users can have expected test failures, using the shouldFail flag on the test() functions: @@ -908,26 +947,83 @@ Logging critical errors will stop the execution of the tests and blow everything ### Testing derived fields -Testing derived fields is a feature which (as the example below shows) allows the user to set a field in a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. Important thing to note is that the first entity needs to be reloaded as the automatic update happens in the store in rust of which the AS code is agnostic. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Notice that dataSourceMock.resetValues() is called at the end. That's because the values are remembered when they are changed and need to be reset if you want to go back to the default values. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Test Coverage Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ The log output includes the test run duration. Here's an example: This means you have used `console.log` in your code, which is not supported by AssemblyScript. Please consider using the [Logging API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) The mismatch in arguments is caused by mismatch in `graph-ts` and `matchstick-as`. The best way to fix issues like this one is to update everything to the latest released version. From abc77990d26282e73571837f394a526aaf690425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:12 -0400 Subject: [PATCH 0344/2326] New translations unit-testing-framework.mdx (Portuguese) --- .../pt/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/pt/developing/unit-testing-framework.mdx b/website/pages/pt/developing/unit-testing-framework.mdx index 9acb78b6abde..e2bbd7c88fb1 100644 --- a/website/pages/pt/developing/unit-testing-framework.mdx +++ b/website/pages/pt/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ E finalmente, não use o `graph test` (que usa a sua instalação global do grap ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ Podes experimentar e experimentar com os exemplos deste guia ao clonar a repo do Também pode conferir a série em vídeo sobre ["Como usar o Matchstick para escrever testes de unidade para os seus subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Estrutura de testes (>=0.5.0) +## Tests structure -_**Importante: Exige o matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Como Escrever um Teste de Unidade Vamos ver como um simples teste de unidade pareceria, com os exemplos do Gravatar no [Subgraph de Demonstração](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Os utilizadores podem afirmar que uma entidade não existe no armazenamento. A f assert.notInStore('Gravatar', '23') ``` -### Como imprimir o armazenamento completo (para fins de debug) +### Printing the whole store, or single entities from it (for debug purposes) Pode imprimir o armazenamento inteiro na consola com esta função de helper: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Falhas esperadas Os utilizadores podem encontrar falhas esperadas, com o flag shouldFail nas funções `test()`: @@ -908,26 +947,83 @@ Logar erros críticos interromperá a execução dos testes e causará um desast ### Como testar campos derivados -Testar campos derivados é um recurso que (como o exemplo abaixo mostra) permite ao utilizador configurar um campo em uma certa entidade e atualizar outra imediatamente, se ela derivar um de seus campos da primeira entidade. É importante notar que a primeira entidade deve ser recarregada enquanto a atualização automática acontece no armazenamento do rust, do qual o código em AssemblyScript é agnóstico. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Note que o `dataSourceMock.resetValues()` é chamado no final. Isto é porque os valores são lembrados quando mudados, e devem ser reconfigurados caso queira voltar aos valores padrão. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Cobertura de Testes Com o **Matchstick**, os programadores de subgraph podem executar um script que calcula a cobertura de teste das unidades de teste escritas. @@ -1081,15 +1369,15 @@ A saída do log inclui a duração do teste. Veja um exemplo: Isto significa que usou o `console.log` no seu código, que não é apoiado pelo AssemblyScript. Considere usar a [API de Logging](/developing/assemblyscript-api/#logging-api) > `ERROR TS2554: Expected ? arguments, but got ?.` -> +> > `return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt);` -> +> > `in ~lib/matchstick-as/assembly/defaults.ts(18,12)` -> +> > `ERROR TS2554: Expected ? arguments, but got ?.` -> +> > `return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt);` -> +> > `in ~lib/matchstick-as/assembly/defaults.ts(24,12)` A diferença nos argumentos é causada pela diferença no `graph-ts` e no `matchstick-as`. Problemas como este são melhor resolvidos ao atualizar tudo para a versão mais recente. From ed3a146152d2d897c52e1ca426308eb217f6c4b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:13 -0400 Subject: [PATCH 0345/2326] New translations unit-testing-framework.mdx (Russian) --- .../ru/developing/unit-testing-framework.mdx | 332 ++++++++++++++++-- 1 file changed, 310 insertions(+), 22 deletions(-) diff --git a/website/pages/ru/developing/unit-testing-framework.mdx b/website/pages/ru/developing/unit-testing-framework.mdx index c1b2101a874b..c847aa9059fc 100644 --- a/website/pages/ru/developing/unit-testing-framework.mdx +++ b/website/pages/ru/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ sudo apt-get install libpq-dev ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ manifestPath: path/to/subgraph.yaml Также Вы можете посмотреть серию видеороликов [>"Как использовать Matchstick для написания модульных тестов для Ваших субграфов"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Структура тестов (>=0.5.0) +## Tests structure -_**ВАЖНО: Требуется matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -371,7 +371,7 @@ describe("handleNewGravatars, () => { ```typescript import { describe, test, beforeEach } from 'matchstick-as/assembly/index' -import { handleUpdatedGravatar, handleNewGravatar } from '../../src/gravity' +import { handleUpdatedGravatar, handleNewGravatar } from "../../src/gravity" describe('handleUpdatedGravatars', () => { beforeEach(() => { @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Напишите юнит-тест Давайте посмотрим, как будет выглядеть простой юнит-тест, используя примеры Gravatar в [Демонстрационном субграфе](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ assert.equals(ethereum.Value.fromString("hello"); ethereum.Value.fromString("hel assert.notInStore('Gravatar', '23') ``` -### Распечатка всего хранилища (в целях отладки) +### Printing the whole store, or single entities from it (for debug purposes) С помощью этой вспомогательной функции можно вывести всё хранилище на консоль: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Ожидаемый сбой Пользователи могут ожидать сбоев тестирования, используя флаг shouldFail в функциях test(): @@ -908,26 +947,83 @@ test('Blow everything up', () => { ### Тестирование производных полей -Тестирование производных полей - это функция, которая (как показано в примере ниже) позволяет пользователю задать поле в определенном объекте и автоматически обновить другой объект, если он извлекает одно из своих полей из первого объекта. Важно отметить, что первый объект необходимо перезагрузить, поскольку автоматическое обновление происходит в хранилище в rust, от которого код AS не зависит. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' + +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Обратите внимание, что функция DataSource Mock.resetValues() вызывается в конце. Это происходит потому, что значения запоминаются при их изменении, и их необходимо сбросить, если Вы хотите вернуться к значениям по умолчанию. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Тестовое покрытие Используя **Matchstick**, разработчики субграфов могут запустить скрипт, который вычислит тестовое покрытие написанных модульных тестов. @@ -1081,15 +1369,15 @@ Global test coverage: 22.2% (2/9 handlers). Это означает, что Вы использовали в своем коде `console.log`, который не поддерживается AssemblyScript. Пожалуйста, рассмотрите возможность использования [API логирования](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) Несовпадение в аргументах вызвано несоответствием в `graph-ts` и `matchstick-as`. Лучший способ устранить проблемы, подобные этой, - обновить всё до последней выпущенной версии. From 2700212346ea74ff4c2a39bb499deab107437004 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:14 -0400 Subject: [PATCH 0346/2326] New translations unit-testing-framework.mdx (Swedish) --- .../sv/developing/unit-testing-framework.mdx | 332 ++++++++++++++++-- 1 file changed, 310 insertions(+), 22 deletions(-) diff --git a/website/pages/sv/developing/unit-testing-framework.mdx b/website/pages/sv/developing/unit-testing-framework.mdx index 1496196edc7a..aa7c0f8307cb 100644 --- a/website/pages/sv/developing/unit-testing-framework.mdx +++ b/website/pages/sv/developing/unit-testing-framework.mdx @@ -52,7 +52,7 @@ eller /node_modules/gluegun/build/index.js:13 throw up; ``` -Se till att du använder en nyare version av Node.js eftersom graph-cli inte längre stöder **v10.19.0**, och det är fortfarande standardversionen för nya Ubuntu-bilder på WSL. Till exempel är Matchstick bekräftat fungerande på WSL med **v18.1.0**. Du kan byta till den antingen via** nvm ** eller genom att uppdatera din globala Node.js. Glöm inte att ta bort `node_modules` och köra `npm install`igen efter att du har uppdaterat Node.js! Sedan, se till att du har **libpq** installerat, du kan göra det genom att köra +Se till att du använder en nyare version av Node.js eftersom graph-cli inte längre stöder **v10.19.0**, och det är fortfarande standardversionen för nya Ubuntu-bilder på WSL. Till exempel är Matchstick bekräftat fungerande på WSL med **v18.1.0**. Du kan byta till den antingen via** nvm ** eller genom att uppdatera din globala Node.js. Glöm inte att ta bort `node_modules` och köra ` npm install `igen efter att du har uppdaterat Node.js! Sedan, se till att du har **libpq** installerat, du kan göra det genom att köra ``` sudo apt-get install libpq-dev @@ -69,9 +69,9 @@ Och till sist, använd inte `graph test` (som använder din globala installation ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ Du kan prova och leka med exemplen från den här guiden genom att klona [Demo S Du kan också kolla på videoserien om ["Hur man använder Matchstick för att skriva enhetstester för dina subgraph"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Teststruktur (>=0.5.0) +## Tests structure -_**VIKTIGT: Kräver matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Skriv en enhetstest Låt oss se hur ett enkelt enhetstest skulle se ut med hjälp av Gravatar-exemplen i [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Användare kan hävda att en entitet inte finns i butiken. Funktionen tar en ent assert.notInStore('Gravatar', '23') ``` -### Skriver ut hela butiken (för felsökningsändamål) +### Printing the whole store, or single entities from it (for debug purposes) Du kan skriva ut hela lagret till konsolen med hjälp av denna hjälpfunktion: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Förväntat misslyckande Användare kan ha förväntade testfel genom att använda flaggan shouldFail på test()-funktionerna: @@ -908,26 +947,83 @@ Loggning av kritiska fel kommer att stoppa utförandet av testerna och orsaka to ### Testning av härledda fält -Testning av härledda fält är en funktion som (som exemplet nedan visar) tillåter användaren att ställa in ett fält i en viss entitet och få en annan entitet att uppdateras automatiskt om den härleder ett av sina fält från den första entiteten. Det viktiga att notera är att den första entiteten måste laddas om eftersom den automatiska uppdateringen sker i lagringen i Rust, som AS-koden är omedveten om. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Observera att dataSourceMock.resetValues() anropas i slutet. Det beror på att värdena kom ihåg när de ändrades och behöver återställas om du vill återgå till standardvärdena. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Testtäckning Med **Matchstick** kan subgraph-utvecklare köra ett skript som beräknar täckningen av de skrivna enhetstesterna. @@ -1081,15 +1369,15 @@ Loggutmatningen innehåller testkörningens varaktighet. Här är ett exempel: Det betyder att du har använt `console.log` i din kod, som inte stöds av AssemblyScript. Överväg att använda [Logging API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) Motsägelsen i argumenten beror på en motsägelse i `graph-ts` och `matchstick-as`. Det bästa sättet att åtgärda problem som detta är att uppdatera allt till den senaste utgivna versionen. From 76e63676503eaeba353b35d089ce393baabff2fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:15 -0400 Subject: [PATCH 0347/2326] New translations unit-testing-framework.mdx (Turkish) --- .../tr/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/tr/developing/unit-testing-framework.mdx b/website/pages/tr/developing/unit-testing-framework.mdx index b6229c498b5c..906564207d59 100644 --- a/website/pages/tr/developing/unit-testing-framework.mdx +++ b/website/pages/tr/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ Son olarak, `graph test`'i kullanmayın (global graph-cli yüklemenizi kullanmak ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ manifestPath: path/to/subgraph.yaml Ayrıca, "["How to use Matchstick to write unit tests for your subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h)" konulu video serisine göz atabilirsiniz -## Testlerin yapısı (>=0.5.0) +## Tests structure -_**ÖNEMLİ: matchstick-as >=0.5.0 gerektirir**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Bir Birim Testi Yazın [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts)'taki Gravatar örneklerini kullanarak nasıl basit bir birim test görüneceğini görelim. @@ -845,7 +875,7 @@ Kullanıcılar, bir varlığın depoda olmadığını doğrulayabilirler. Bu fon assert.notInStore('Gravatar', '23') ``` -### Deponun tamamını yazdırma (hata ayıklama amaçlı) +### Printing the whole store, or single entities from it (for debug purposes) Bu yardımcı fonksiyon kullanılarak deponun tamamı konsola yazdırılabilir: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Beklenen başarısızlık Kullanıcılar, shouldFail bayrağını test() fonksiyonlarında kullanarak beklenen test başarısızlıklarına sahip olabilirler: @@ -908,26 +947,83 @@ Kritik hataları kayıt altına almak, testlerin yürütülmesini durduracak ve ### Türetilmiş alanların test edilmesi -Türetilmiş alanların test edilmesi (Aşağıdaki örnekte olduğu gibi), kullanıcının belirli bir varlıkta bir alanı ayarlamasına ve eğer varlıklarından birini ilk varlıktan türetiyorsa diğer varlığın otomatik olarak güncellenmesine olanak sağlar. Not edilmesi gereken önemli nokta, otomatik güncelleme AS kodunun agnostik olduğu rust'daki depoda gerçekleştiği için ilk varlığın yeniden yüklenmesi gerektiğidir. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { dataSourceMock.resetValues()'in en sonda çağrıldığına dikkat edin. Bunun nedeni değerler değiştirildiğinde hatırlanır ve varsayılan değerlere geri dönmek istiyorsanız sıfırlanmaları gerekir. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Test Kapsamı Subgraph geliştiricileri **Matchstick'i** kullanarak, yazılan birim testlerinin test kapsamını hesaplayacak bir komut dosyası çalıştırabilirler. @@ -1081,15 +1369,15 @@ Tutulan kayıt çıktısı test çalışma süresini içerir. İşte buna bir ö Bu, AssemblyScript tarafından desteklenmeyen `console.log`'u kullandığınız anlamına gelmektedir. Lütfen [Logging API](/developing/assemblyscript-api/#logging-api) kullanmayı düşünün > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) Argümanlardaki uyumsuzluk, `graph-ts` ve `matchstick-as` arasındaki uyumsuzluktan kaynaklanır. Bu gibi sorunları düzeltmenin en iyi yolu her şeyi en son yayınlanan sürüme güncellemektir. From 2af8fb3ff308a8786ab0635084cfcc8a1ce5acfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:16 -0400 Subject: [PATCH 0348/2326] New translations unit-testing-framework.mdx (Ukrainian) --- .../uk/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/uk/developing/unit-testing-framework.mdx b/website/pages/uk/developing/unit-testing-framework.mdx index 8ffc66465e3a..ed7a2e07b03d 100644 --- a/website/pages/uk/developing/unit-testing-framework.mdx +++ b/website/pages/uk/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ And finally, do not use `graph test` (which uses your global installation of gra ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ You can try out and play around with the examples from this guide by cloning the Also you can check out the video series on ["How to use Matchstick to write unit tests for your subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Tests structure (>=0.5.0) +## Tests structure -_**IMPORTANT: Requires matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Write a Unit Test Let's see how a simple unit test would look like using the Gravatar examples in the [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Users can assert that an entity does not exist in the store. The function takes assert.notInStore('Gravatar', '23') ``` -### Printing the whole store (for debug purposes) +### Printing the whole store, or single entities from it (for debug purposes) You can print the whole store to the console using this helper function: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Expected failure Users can have expected test failures, using the shouldFail flag on the test() functions: @@ -908,26 +947,83 @@ Logging critical errors will stop the execution of the tests and blow everything ### Testing derived fields -Testing derived fields is a feature which (as the example below shows) allows the user to set a field in a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. Important thing to note is that the first entity needs to be reloaded as the automatic update happens in the store in rust of which the AS code is agnostic. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Notice that dataSourceMock.resetValues() is called at the end. That's because the values are remembered when they are changed and need to be reset if you want to go back to the default values. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Test Coverage Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ The log output includes the test run duration. Here's an example: This means you have used `console.log` in your code, which is not supported by AssemblyScript. Please consider using the [Logging API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) The mismatch in arguments is caused by mismatch in `graph-ts` and `matchstick-as`. The best way to fix issues like this one is to update everything to the latest released version. From 1bf85ca64b990a2ce8bd1d4523a9530062407508 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:17 -0400 Subject: [PATCH 0349/2326] New translations unit-testing-framework.mdx (Chinese Simplified) --- .../zh/developing/unit-testing-framework.mdx | 336 ++++++++++++++++-- 1 file changed, 312 insertions(+), 24 deletions(-) diff --git a/website/pages/zh/developing/unit-testing-framework.mdx b/website/pages/zh/developing/unit-testing-framework.mdx index 4af36839c168..873b20d9d47c 100644 --- a/website/pages/zh/developing/unit-testing-framework.mdx +++ b/website/pages/zh/developing/unit-testing-framework.mdx @@ -24,7 +24,7 @@ Postgres 安装命令: brew install postgresql ``` -创建到最新 libpq.5. lib* 的符号链接,可能需要首先创建这个目录*`/usr/local/opt/postgreql/lib/` +创建到最新 libpq.5. lib_ 的符号链接,可能需要首先创建这个目录_`/usr/local/opt/postgreql/lib/` ```sh ln -sf /usr/local/opt/postgresql@14/lib/postgresql@14/libpq.5.dylib /usr/local/opt/postgresql/lib/libpq.5.dylib @@ -69,9 +69,9 @@ sudo apt-get install libpq-dev ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ manifestPath: path/to/subgraph.yaml 此外,您还可以查看[“如何使用Matchstick为子图编写单元测试”系列视频](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h)。 -## 测试结构(>=0.5.0) +## Tests structure -_**重要事项:需要matchstick-as >=0.5.0。**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### 描述() @@ -225,7 +225,7 @@ test("handleNewGravatar() should create a new entity", () => { 例子: -`beforeAll`中的代码将在文件中的*all*测试之前执行一次。 +`beforeAll`中的代码将在文件中的_all_测试之前执行一次。 ```typescript import { describe, test, beforeAll } from "matchstick-as/assembly/index" @@ -285,7 +285,7 @@ describe("handleUpdatedGravatar()", () => { 例子: -`afterAll`中的代码将在文件中的*all*测试之后执行一次。 +`afterAll`中的代码将在文件中的_all_测试之后执行一次。 ```typescript import { describe, test, afterAll } from "matchstick-as/assembly/index" @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## 编写一个单元测试 让我们看看使用[Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts)中的Gravatar示例进行简单的单元测试的样子。 @@ -845,7 +875,7 @@ assert.equals(ethereum.Value.fromString("hello"); ethereum.Value.fromString("hel assert.notInStore('Gravatar', '23') ``` -### 登载整个存储(用于调试) +### Printing the whole store, or single entities from it (for debug purposes) 您可以使用此助手功能将整个存储登载到控制台: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### 预期故障 使用test()函数上的shouldFail标志,用户可能会出现预期的测试失败: @@ -908,26 +947,83 @@ test('Blow everything up', () => { ### 测试派生字段 -测试派生字段是一项功能(如下面的示例所示),它允许用户在某个实体中设置字段,并且如果另一个实体从第一个实体派生其字段之一,则自动更新该实体。需要注意的重要一点是,当自动更新发生在AS代码不可知的存储中时,需要重新加载第一个实体。 +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { 注意,dataSourceMock.resetValues()在末尾被调用。这是因为值在更改时会被记住,如果要返回到默认值,则需要重新设置。 +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## 测试覆盖率 使用**Matchstick**,子图开发者可以运行一个脚本,计算编写的单元测试的测试覆盖率。 @@ -1081,15 +1369,15 @@ Global test coverage: 22.2% (2/9 handlers). 这意味着您在代码中使用了`console.log`,而AssemblyScript不支持此选项。请考虑使用[日志API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > 返回ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > 返回新ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) 参数不匹配是由`graph-ts` and `matchstick-as`不匹配造成的。解决此类问题的最佳方法是将所有内容更新到最新发布的版本。 From cd5079d099533bd57e0f5c29570380e4900582fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:18 -0400 Subject: [PATCH 0350/2326] New translations unit-testing-framework.mdx (Urdu (Pakistan)) --- .../ur/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/ur/developing/unit-testing-framework.mdx b/website/pages/ur/developing/unit-testing-framework.mdx index 2f7372190bac..c7c799329cdc 100644 --- a/website/pages/ur/developing/unit-testing-framework.mdx +++ b/website/pages/ur/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ sudo apt-get install libpq-dev ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ manifestPath: path/to/subgraph.yaml اس کے علاوہ آپ ["اپنے سب گرافس کے یونٹ ٹیسٹ لکھنے کے لیے Matchstick کا استعمال کیسے کریں"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) پر ویڈیو سیریز بھی دیکھ سکتے ہیں -## ٹیسٹ کا ڈھانچہ (>=0.5.0) +## Tests structure -_**اہم: میچ اسٹک کی ضرورت ہے۔ >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## یونٹ ٹیسٹ لکھیں آئیے دیکھتے ہیں کہ [ڈیمو سب گراف](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts) میں Gravatar کی مثالوں کا استعمال کرتے ہوئے ایک سادہ یونٹ ٹیسٹ کیسا لگے گا. @@ -845,7 +875,7 @@ assert.equals(ethereum.Value.fromString("hello"); ethereum.Value.fromString("hel assert.notInStore('Gravatar', '23') ``` -### پورے اسٹور کو پرنٹ کرنا (ڈیبگ مقاصد کے لیے) +### Printing the whole store, or single entities from it (for debug purposes) آپ اس مددگار فنکشن کا استعمال کرکے پورے اسٹور کو کنسول پر پرنٹ کرسکتے ہیں: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### متوقع ناکامی Test() فنکشنز پر shouldFail پرچم کا استعمال کرتے ہوئے، صارفین کو ٹیسٹ میں ناکامی کی توقع ہو سکتی ہے: @@ -908,26 +947,83 @@ test('Blow everything up', () => { ### ماخوذ فیلڈز کی جانچ کرنا -ماخوذ فیلڈز کی جانچ کرنا ایک ایسی خصوصیت ہے جو (جیسا کہ ذیل کی مثال دکھاتی ہے) صارف کو ایک مخصوص ہستی میں فیلڈ سیٹ کرنے کی اجازت دیتی ہے اور اگر وہ پہلی ہستی سے اپنی فیلڈز میں سے کسی ایک کو حاصل کرتا ہے تو اسے خود بخود اپ ڈیٹ کر دیا جاتا ہے۔ نوٹ کرنے والی اہم بات یہ ہے کہ پہلی ہستی کو دوبارہ لوڈ کرنے کی ضرورت ہے کیونکہ خودکار اپ ڈیٹ اسٹور میں ہوتا ہے جس میں AS کوڈ اجناسٹک ہے. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { نوٹ کریں کہ dataSourceMock.resetValues() کو آخر میں بلایا گیا ہے۔ اس کی وجہ یہ ہے کہ جب اقدار کو تبدیل کیا جاتا ہے تو انہیں یاد رکھا جاتا ہے اور اگر آپ پہلے سے طے شدہ اقدار پر واپس جانا چاہتے ہیں تو انہیں دوبارہ ترتیب دینے کی ضرورت ہے. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## ٹیسٹ کوریج Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ Global test coverage: 22.2% (2/9 handlers). اس کا مطلب ہے کہ آپ نے اپنے کوڈ میں `console.log` استعمال کیا ہے، جو اسمبلی اسکرپٹ سے تعاون یافتہ نہیں ہے۔ براہ کرم [لاگنگ API](/developing/assemblyscript-api/#logging-api) استعمال کرنے پر غور کریں > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) دلائل میں عدم مماثلت `graph-ts` اور `matchstick-as` میں عدم مماثلت کی وجہ سے ہوتی ہے۔ اس طرح کے مسائل کو حل کرنے کا بہترین طریقہ یہ ہے کہ ہر چیز کو تازہ ترین جاری کردہ ورژن میں اپ ڈیٹ کیا جائے. From 5a9b8811c2ced995b8a15d2ae1cec139f20798f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:19 -0400 Subject: [PATCH 0351/2326] New translations unit-testing-framework.mdx (Vietnamese) --- .../vi/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/vi/developing/unit-testing-framework.mdx b/website/pages/vi/developing/unit-testing-framework.mdx index e0a3390bbb25..6d52265fe57a 100644 --- a/website/pages/vi/developing/unit-testing-framework.mdx +++ b/website/pages/vi/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ And finally, do not use `graph test` (which uses your global installation of gra ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ You can try out and play around with the examples from this guide by cloning the Also you can check out the video series on ["How to use Matchstick to write unit tests for your subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Tests structure (>=0.5.0) +## Tests structure -_**IMPORTANT: Requires matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Write a Unit Test Let's see how a simple unit test would look like using the Gravatar examples in the [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Users can assert that an entity does not exist in the store. The function takes assert.notInStore('Gravatar', '23') ``` -### Printing the whole store (for debug purposes) +### Printing the whole store, or single entities from it (for debug purposes) You can print the whole store to the console using this helper function: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Expected failure Users can have expected test failures, using the shouldFail flag on the test() functions: @@ -908,26 +947,83 @@ Logging critical errors will stop the execution of the tests and blow everything ### Testing derived fields -Testing derived fields is a feature which (as the example below shows) allows the user to set a field in a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. Important thing to note is that the first entity needs to be reloaded as the automatic update happens in the store in rust of which the AS code is agnostic. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Notice that dataSourceMock.resetValues() is called at the end. That's because the values are remembered when they are changed and need to be reset if you want to go back to the default values. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Test Coverage Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ The log output includes the test run duration. Here's an example: This means you have used `console.log` in your code, which is not supported by AssemblyScript. Please consider using the [Logging API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) The mismatch in arguments is caused by mismatch in `graph-ts` and `matchstick-as`. The best way to fix issues like this one is to update everything to the latest released version. From 6f7d7ef00d406c8248699011d557da816d4ef94d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:21 -0400 Subject: [PATCH 0352/2326] New translations unit-testing-framework.mdx (Marathi) --- .../mr/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/mr/developing/unit-testing-framework.mdx b/website/pages/mr/developing/unit-testing-framework.mdx index 85fdc6571ca1..df593a132299 100644 --- a/website/pages/mr/developing/unit-testing-framework.mdx +++ b/website/pages/mr/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ sudo apt-get install libpq-dev ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ manifestPath: path/to/subgraph.yaml तसेच तुम्ही ["तुमच्या सबग्राफसाठी युनिट चाचण्या लिहिण्यासाठी मॅचस्टिक कसे वापरावे"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) वर व्हिडिओ मालिका पाहू शकता -## चाचणी संरचना (>=0.5.0) +## Tests structure -_**महत्त्वाचे: >=0.5.0 म्हणून मॅचस्टिक आवश्यक आहे**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### वर्णन करणे() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## एक युनिट चाचणी लिहा [डेमो सबग्राफ](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts) मधील Gravatar उदाहरणे वापरून एक साधी युनिट चाचणी कशी दिसते ते पाहू. @@ -845,7 +875,7 @@ assert.equals(ethereum.Value.fromString("hello"); ethereum.Value.fromString("hel assert.notInStore('Gravatar', '23') ``` -### संपूर्ण स्टोअर मुद्रित करणे (डीबग हेतूंसाठी) +### Printing the whole store, or single entities from it (for debug purposes) हे हेल्पर फंक्शन वापरून तुम्ही संपूर्ण स्टोअर कन्सोलवर मुद्रित करू शकता: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### अपेक्षित अपयश चाचणी() फंक्शन्सवर shouldFail ध्वज वापरून वापरकर्त्यांना अपेक्षित चाचणी अपयश येऊ शकते: @@ -908,26 +947,83 @@ test('Blow everything up', () => { ### व्युत्पन्न फील्ड चाचणी -व्युत्पन्न फील्डची चाचणी करणे हे एक वैशिष्ट्य आहे जे वापरकर्त्यास विशिष्ट घटकामध्ये फील्ड सेट करण्यास अनुमती देते आणि जर ती प्रथम घटकाकडून फील्ड प्राप्त केली असेल तर ती स्वयंचलितपणे अद्यतनित केली जाईल. लक्षात घेण्याजोगी महत्त्वाची गोष्ट अशी आहे की पहिल्या घटकाला रीलोड करणे आवश्यक आहे कारण स्टोअरमध्ये स्वयंचलित अपडेट गंजलेल्या स्थितीत होते ज्याचा AS कोड अज्ञेयवादी आहे. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { लक्षात घ्या की शेवटी dataSourceMock.resetValues() कॉल केला आहे. याचे कारण असे की जेव्हा मूल्ये बदलली जातात तेव्हा ती लक्षात ठेवली जातात आणि जर तुम्हाला डीफॉल्ट मूल्यांवर परत जायचे असेल तर ते रीसेट करणे आवश्यक आहे. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## चाचणी कव्हरेज Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ ___ ___ _ _ _ _ _ याचा अर्थ तुम्ही तुमच्या कोडमध्ये `console.log` वापरले आहे, जे असेंबलीस्क्रिप्टद्वारे समर्थित नाही. कृपया [लॉगिंग API](/developing/assemblyscript-api/#logging-api) वापरण्याचा विचार करा > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > त्रुटी TS2554: अपेक्षित आहे? युक्तिवाद, पण मिळाले?. -> +> > नवीन ethereum.Transaction परत करा(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) `graph-ts` आणि `matchstick-as` मधील जुळत नसल्यामुळे वितर्कांमधील जुळत नाही. यासारख्या समस्यांचे निराकरण करण्याचा सर्वोत्तम मार्ग म्हणजे नवीनतम रिलीझ केलेल्या आवृत्तीवर सर्वकाही अद्यतनित करणे. From 212bc894c2c19d88108c0133950e98c3c0d0424b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:22 -0400 Subject: [PATCH 0353/2326] New translations unit-testing-framework.mdx (Hindi) --- .../hi/developing/unit-testing-framework.mdx | 334 ++++++++++++++++-- 1 file changed, 311 insertions(+), 23 deletions(-) diff --git a/website/pages/hi/developing/unit-testing-framework.mdx b/website/pages/hi/developing/unit-testing-framework.mdx index c84914d9ebd0..e79c72274318 100644 --- a/website/pages/hi/developing/unit-testing-framework.mdx +++ b/website/pages/hi/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ sudo apt-get install libpq-dev ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ manifestPath: path/to/subgraph.yaml साथ ही आप ["अपने सबग्राफ के लिए यूनिट टेस्ट लिखने के लिए माचिस का उपयोग कैसे करें"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) पर वीडियो श्रृंखला देख सकते हैं -## टेस्ट संरचना (> = 0.5.0) +## Tests structure -_**महत्वपूर्ण: matchstick-as >=0.5.0 की आवश्यकता है**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -409,7 +409,7 @@ describe('handleUpdatedGravatars', () => { उदाहरण: -प्रत्येक परीक्षण के बाद `afterEach` के अंदर का कोड निष्पादित होगा। +प्रत्येक परीक्षण के बाद ` afterEach ` के अंदर का कोड निष्पादित होगा। ```typescript import { describe, test, beforeEach, afterEach } from "matchstick-as/assembly/index" @@ -448,7 +448,7 @@ describe("handleUpdatedGravatar", () => { }) ``` -उस वर्णन में प्रत्येक परीक्षण के बाद `afterEach` के अंदर का कोड निष्पादित होगा +उस वर्णन में प्रत्येक परीक्षण के बाद ` afterEach ` के अंदर का कोड निष्पादित होगा ```typescript import { describe, test, beforeEach, afterEach } from "matchstick-as/assembly/index" @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## यूनिट टेस्ट लिखें [डेमो सबग्राफ](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts) में Gravatar उदाहरणों का उपयोग करके देखते हैं कि एक साधारण इकाई परीक्षण कैसा दिखेगा। @@ -845,7 +875,7 @@ assert.equals(ethereum.Value.fromString("hello"); ethereum.Value.fromString("hel assert.notInStore('Gravatar', '23') ``` -### पूरे स्टोर को प्रिंट करना (डिबग उद्देश्यों के लिए) +### Printing the whole store, or single entities from it (for debug purposes) आप इस सहायक फ़ंक्शन का उपयोग करके पूरे स्टोर को कंसोल पर प्रिंट कर सकते हैं: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### अपेक्षित असफलता परीक्षण () फ़ंक्शंस पर shouldFail फ़्लैग का उपयोग करके, उपयोगकर्ताओं की अपेक्षित परीक्षण विफलताएँ हो सकती हैं: @@ -908,26 +947,83 @@ test('Blow everything up', () => { ### व्युत्पन्न क्षेत्रों का परीक्षण -व्युत्पन्न क्षेत्रों का परीक्षण एक विशेषता है जो (जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है) उपयोगकर्ता को एक निश्चित इकाई में एक फ़ील्ड सेट करने की अनुमति देता है और दूसरी इकाई को स्वचालित रूप से अपडेट किया जाता है यदि यह पहली इकाई से अपना एक क्षेत्र प्राप्त करता है। ध्यान देने वाली महत्वपूर्ण बात यह है कि पहली इकाई को फिर से लोड करने की आवश्यकता होती है क्योंकि स्टोर में स्वत: अपडेट होता है जिसमें एएस कोड अज्ञेयवादी होता है। +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { ध्यान दें कि dataSourceMock.resetValues() को अंत में कॉल किया जाता है। ऐसा इसलिए है क्योंकि मूल्यों को याद किया जाता है जब वे बदले जाते हैं और यदि आप डिफ़ॉल्ट मानों पर वापस जाना चाहते हैं तो उन्हें रीसेट करने की आवश्यकता होती है। +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## टेस्ट कवरेज Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ Global test coverage: 22.2% (2/9 handlers). इसका अर्थ है कि आपने अपने कोड में `console.log` का उपयोग किया है, जो कि असेंबलीस्क्रिप्ट द्वारा समर्थित नहीं है। कृपया [लॉगिंग API](/Developing/assemblyscript-api/#logging-api) का उपयोग करने पर विचार करें > त्रुटि TS2554: अपेक्षित? तर्क, लेकिन मिला ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > त्रुटि TS2554: अपेक्षित? तर्क, लेकिन मिला ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) तर्कों में बेमेल `ग्राफ़-टीएस` और `मैचस्टिक-एज़` में बेमेल होने के कारण होता है। इस तरह की समस्याओं को ठीक करने का सबसे अच्छा तरीका है कि सभी चीज़ों को नवीनतम रिलीज़ किए गए संस्करण में अपडेट कर दिया जाए. From 6111f6e7a5a6a1613620b33b9a9e6b7ab0a42452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:23 -0400 Subject: [PATCH 0354/2326] New translations unit-testing-framework.mdx (Yoruba) --- .../yo/developing/unit-testing-framework.mdx | 330 ++++++++++++++++-- 1 file changed, 309 insertions(+), 21 deletions(-) diff --git a/website/pages/yo/developing/unit-testing-framework.mdx b/website/pages/yo/developing/unit-testing-framework.mdx index 8ffc66465e3a..ed7a2e07b03d 100644 --- a/website/pages/yo/developing/unit-testing-framework.mdx +++ b/website/pages/yo/developing/unit-testing-framework.mdx @@ -69,9 +69,9 @@ And finally, do not use `graph test` (which uses your global installation of gra ... }, "dependencies": { - "@graphprotocol/graph-cli": "^0.30.0", - "@graphprotocol/graph-ts": "^0.27.0", - "matchstick-as": "^0.5.0" + "@graphprotocol/graph-cli": "^0.56.0", + "@graphprotocol/graph-ts": "^0.31.0", + "matchstick-as": "^0.6.0" } } ``` @@ -142,9 +142,9 @@ You can try out and play around with the examples from this guide by cloning the Also you can check out the video series on ["How to use Matchstick to write unit tests for your subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Tests structure (>=0.5.0) +## Tests structure -_**IMPORTANT: Requires matchstick-as >=0.5.0**_ +_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ ### describe() @@ -522,6 +522,36 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` +As of version 0.6.0, asserts support custom error messages as well + +```typescript +assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') +assert.equals(ethereum.Value.fromI32(1), ethereum.Value.fromI32(1), 'Value should equal 1') +assert.notInStore('Gravatar', '0x124', 'Gravatar should not be in store') +assert.addressEquals(Address.zero(), Address.zero(), 'Address should be zero') +assert.bytesEquals(Bytes.fromUTF8('0x123'), Bytes.fromUTF8('0x123'), 'Bytes should be equal') +assert.i32Equals(2, 2, 'I32 should equal 2') +assert.bigIntEquals(BigInt.fromI32(1), BigInt.fromI32(1), 'BigInt should equal 1') +assert.booleanEquals(true, true, 'Boolean should be true') +assert.stringEquals('1', '1', 'String should equal 1') +assert.arrayEquals([ethereum.Value.fromI32(1)], [ethereum.Value.fromI32(1)], 'Arrays should be equal') +assert.tupleEquals( + changetype([ethereum.Value.fromI32(1)]), + changetype([ethereum.Value.fromI32(1)]), + 'Tuples should be equal', +) +assert.assertTrue(true, 'Should be true') +assert.assertNull(null, 'Should be null') +assert.assertNotNull('not null', 'Should be not null') +assert.entityCount('Gravatar', 1, 'There should be 2 gravatars') +assert.dataSourceCount('GraphTokenLockWallet', 1, 'GraphTokenLockWallet template should have one data source') +assert.dataSourceExists( + 'GraphTokenLockWallet', + Address.zero().toHexString(), + 'GraphTokenLockWallet should have a data source for zero address', +) +``` + ## Write a Unit Test Let's see how a simple unit test would look like using the Gravatar examples in the [Demo Subgraph](https://github.com/LimeChain/demo-subgraph/blob/main/src/gravity.ts). @@ -845,7 +875,7 @@ Users can assert that an entity does not exist in the store. The function takes assert.notInStore('Gravatar', '23') ``` -### Printing the whole store (for debug purposes) +### Printing the whole store, or single entities from it (for debug purposes) You can print the whole store to the console using this helper function: @@ -855,6 +885,15 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` +As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. + +``` +import { logEntity } from 'matchstick-as/assembly/store' + + +logEntity("Gravatar", 23, true) +``` + ### Expected failure Users can have expected test failures, using the shouldFail flag on the test() functions: @@ -908,26 +947,83 @@ Logging critical errors will stop the execution of the tests and blow everything ### Testing derived fields -Testing derived fields is a feature which (as the example below shows) allows the user to set a field in a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. Important thing to note is that the first entity needs to be reloaded as the automatic update happens in the store in rust of which the AS code is agnostic. +Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. + +Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: + +```typescript +let entity = ExampleEntity.load('id') +let derivedEntity = entity.derived_entity +``` + +As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. ```typescript test('Derived fields example test', () => { - let mainAccount = new GraphAccount('12') - mainAccount.save() - let operatedAccount = new GraphAccount('1') - operatedAccount.operators = ['12'] + let mainAccount = GraphAccount.load('12')! + + assert.assertNull(mainAccount.get('nameSignalTransactions')) + assert.assertNull(mainAccount.get('operatorOf')) + + let operatedAccount = GraphAccount.load('1')! + operatedAccount.operators = [mainAccount.id] operatedAccount.save() - let nst = new NameSignalTransaction('1234') - nst.signer = '12' - nst.save() + + mockNameSignalTransaction('1234', mainAccount.id) + mockNameSignalTransaction('2', mainAccount.id) + + mainAccount = GraphAccount.load('12')! assert.assertNull(mainAccount.get('nameSignalTransactions')) assert.assertNull(mainAccount.get('operatorOf')) + const nameSignalTransactions = mainAccount.nameSignalTransactions.load() + const operatorsOfMainAccount = mainAccount.operatorOf.load() + + assert.i32Equals(2, nameSignalTransactions.length) + assert.i32Equals(1, operatorsOfMainAccount.length) + + assert.stringEquals('1', operatorsOfMainAccount[0].id) + + mockNameSignalTransaction('2345', mainAccount.id) + + let nst = NameSignalTransaction.load('1234')! + nst.signer = '11' + nst.save() + + store.remove('NameSignalTransaction', '2') + mainAccount = GraphAccount.load('12')! + assert.i32Equals(1, mainAccount.nameSignalTransactions.load().length) +}) +``` + +### Testing `loadInBlock` + +As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. + +```typescript +import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' +import { Gravatar } from '../../generated/schema' - assert.i32Equals(1, mainAccount.nameSignalTransactions.length) - assert.stringEquals('1', mainAccount.operatorOf[0]) +describe('loadInBlock', () => { + beforeAll(() => { + mockInBlockStore('Gravatar', 'gravatarId0', gravatar) + }) + + afterAll(() => { + clearInBlockStore() + }) + + test('Can use entity.loadInBlock() to retrieve entity from cache store in the current block', () => { + let retrievedGravatar = Gravatar.loadInBlock('gravatarId0') + assert.stringEquals('gravatarId0', retrievedGravatar!.get('id')!.toString()) + }) + + test("Returns null when calling entity.loadInBlock() if an entity doesn't exist in the current block", () => { + let retrievedGravatar = Gravatar.loadInBlock('IDoNotExist') + assert.assertNull(retrievedGravatar) + }) }) ``` @@ -988,6 +1084,198 @@ test('Data source simple mocking example', () => { Notice that dataSourceMock.resetValues() is called at the end. That's because the values are remembered when they are changed and need to be reset if you want to go back to the default values. +### Testing dynamic data source creation + +As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: + +- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template +- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created +- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes +- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes + +#### Testing `ethereum/contract` templates + +```typescript +test('ethereum/contract dataSource creation example', () => { + // Assert there are no dataSources created from GraphTokenLockWallet template + assert.dataSourceCount('GraphTokenLockWallet', 0) + + // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockWallet', 1) + + // Add a second dataSource with context + let context = new DataSourceContext() + context.set('contextVal', Value.fromI32(325)) + + GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) + + // Assert there are now 2 dataSources + assert.dataSourceCount('GraphTokenLockWallet', 2) + + // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created + // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) + + logDataSources('GraphTokenLockWallet') +}) +``` + +##### Example `logDataSource` output + +```bash +🛠 { + "0xa16081f360e3847006db660bae1c6d1b2e17ec2a": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2a", + "context": null + }, + "0xa16081f360e3847006db660bae1c6d1b2e17ec2b": { + "kind": "ethereum/contract", + "name": "GraphTokenLockWallet", + "address": "0xa16081f360e3847006db660bae1c6d1b2e17ec2b", + "context": { + "contextVal": { + "type": "Int", + "data": 325 + } + } + } +} +``` + +#### Testing `file/ipfs` templates + +Similarly to contract dynamic data sources, users can test test file datas sources and their handlers + +##### Example `subgraph.yaml` + +```yaml +... +templates: + - kind: file/ipfs + name: GraphTokenLockMetadata + network: mainnet + mapping: + kind: ethereum/events + apiVersion: 0.0.6 + language: wasm/assemblyscript + file: ./src/token-lock-wallet.ts + handler: handleMetadata + entities: + - TokenLockMetadata + abis: + - name: GraphTokenLockWallet + file: ./abis/GraphTokenLockWallet.json +``` + +##### Example `schema.graphql` + +```graphql +""" +Token Lock Wallets which hold locked GRT +""" +type TokenLockMetadata @entity { + "The address of the token lock wallet" + id: ID! + "Start time of the release schedule" + startTime: BigInt! + "End time of the release schedule" + endTime: BigInt! + "Number of periods between start time and end time" + periods: BigInt! + "Time when the releases start" + releaseStartTime: BigInt! +} +``` + +##### Example `metadata.json` + +```json +{ + "startTime": 1, + "endTime": 1, + "periods": 1, + "releaseStartTime": 1 +} +``` + +##### Example handler + +```typescript +export function handleMetadata(content: Bytes): void { + // dataSource.stringParams() returns the File DataSource CID + // stringParam() will be mocked in the handler test + // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) + const value = json.fromBytes(content).toObject() + + if (value) { + const startTime = value.get('startTime') + const endTime = value.get('endTime') + const periods = value.get('periods') + const releaseStartTime = value.get('releaseStartTime') + + if (startTime && endTime && periods && releaseStartTime) { + tokenMetadata.startTime = startTime.toBigInt() + tokenMetadata.endTime = endTime.toBigInt() + tokenMetadata.periods = periods.toBigInt() + tokenMetadata.releaseStartTime = releaseStartTime.toBigInt() + } + + tokenMetadata.save() + } +} +``` + +##### Example test + +```typescript +import { assert, test, dataSourceMock, readFile } from 'matchstick-as' +import { Address, BigInt, Bytes, DataSourceContext, ipfs, json, store, Value } from '@graphprotocol/graph-ts' + +import { handleMetadata } from '../../src/token-lock-wallet' +import { TokenLockMetadata } from '../../generated/schema' +import { GraphTokenLockMetadata } from '../../generated/templates' + +test('file/ipfs dataSource creation example', () => { + // Generate the dataSource CID from the ipfsHash + ipfs path file + // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' + const CID = `${ipfshash}/example.json` + + // Create a new dataSource using the generated CID + GraphTokenLockMetadata.create(CID) + + // Assert the dataSource has been created + assert.dataSourceCount('GraphTokenLockMetadata', 1) + assert.dataSourceExists('GraphTokenLockMetadata', CID) + logDataSources('GraphTokenLockMetadata') + + // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() + // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as + // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + dataSourceMock.resetValues() + dataSourceMock.setAddress(CID) + + // Now we need to generate the Bytes to pass to the dataSource handler + // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + const content = readFile(`path/to/metadata.json`) + handleMetadata(content) + + // Now we will test if a TokenLockMetadata was created + const metadata = TokenLockMetadata.load(CID) + + assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.periods, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.releaseStartTime, BigInt.fromI32(1)) + assert.bigIntEquals(metadata!.startTime, BigInt.fromI32(1)) +}) +``` + ## Test Coverage Using **Matchstick**, subgraph developers are able to run a script that will calculate the test coverage of the written unit tests. @@ -1081,15 +1369,15 @@ The log output includes the test run duration. Here's an example: This means you have used `console.log` in your code, which is not supported by AssemblyScript. Please consider using the [Logging API](/developing/assemblyscript-api/#logging-api) > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Block(defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultAddress, defaultAddressBytes, defaultAddressBytes, defaultAddressBytes, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(18,12) -> +> > ERROR TS2554: Expected ? arguments, but got ?. -> +> > return new ethereum.Transaction(defaultAddressBytes, defaultBigInt, defaultAddress, defaultAddress, defaultBigInt, defaultBigInt, defaultBigInt, defaultAddressBytes, defaultBigInt); -> +> > in ~lib/matchstick-as/assembly/defaults.ts(24,12) The mismatch in arguments is caused by mismatch in `graph-ts` and `matchstick-as`. The best way to fix issues like this one is to update everything to the latest released version. From 69390ce847dc01f9888b4ae9bcc1874fc40b8dbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:24 -0400 Subject: [PATCH 0355/2326] New translations deprecating-a-subgraph.mdx (Romanian) --- website/pages/ro/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ro/managing/deprecating-a-subgraph.mdx b/website/pages/ro/managing/deprecating-a-subgraph.mdx index e6adfccad368..ef5ea1c018b6 100644 --- a/website/pages/ro/managing/deprecating-a-subgraph.mdx +++ b/website/pages/ro/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Deprecating a Subgraph --- -So you'd like to deprecate your subgraph on The Graph Explorer. You've come to the right place! Follow the steps below: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Visit the contract address [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Call `deprecateSubgraph` with your `SubgraphID` as your argument. -3. Voilà! Your subgraph will no longer show up on searches on The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Please note the following: From cd84322980d2ef35650a07c40483eafe9aa625f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:25 -0400 Subject: [PATCH 0356/2326] New translations deprecating-a-subgraph.mdx (French) --- website/pages/fr/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/fr/managing/deprecating-a-subgraph.mdx b/website/pages/fr/managing/deprecating-a-subgraph.mdx index 4c78afda835a..e61885d30624 100644 --- a/website/pages/fr/managing/deprecating-a-subgraph.mdx +++ b/website/pages/fr/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Suppression d'un subgraph --- -Vous souhaitez donc supprimer votre subgraph sur The Graph Explorer. Vous êtes au bon endroit ! Suivez les étapes ci-dessous : +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Visitez l'adresse du contrat [ici](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Call `deprecateSubgraph` with your `SubgraphID` comme argument. -3. Voilà ! Votre subgraph n'apparaîtra plus dans les recherches sur The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Veuillez noter ce qui suit : From b90b39373a2a9c8f985a99f7f70c453a4f1436fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:26 -0400 Subject: [PATCH 0357/2326] New translations deprecating-a-subgraph.mdx (Spanish) --- website/pages/es/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/es/managing/deprecating-a-subgraph.mdx b/website/pages/es/managing/deprecating-a-subgraph.mdx index 40aa7790f351..89f3fa00e17a 100644 --- a/website/pages/es/managing/deprecating-a-subgraph.mdx +++ b/website/pages/es/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Deprecar un Subgrafo --- -Así que te gustaría deprecar tu subgrafo en The Graph Explorer. Has venido al lugar adecuado! Sigue los siguientes pasos: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Visita el address del contrato [aquí](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Llama a `deprecateSubgraph` con tu `Id de subgrafo` como argumento. -3. Voilà! Tu subgrafo ya no aparecerá en las búsquedas en The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Ten en cuenta lo siguiente: From dff3279e082af530921217cfb1ad79761f3f4f64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:27 -0400 Subject: [PATCH 0358/2326] New translations deprecating-a-subgraph.mdx (Arabic) --- website/pages/ar/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ar/managing/deprecating-a-subgraph.mdx b/website/pages/ar/managing/deprecating-a-subgraph.mdx index 621e09029479..2d449d11f2b4 100644 --- a/website/pages/ar/managing/deprecating-a-subgraph.mdx +++ b/website/pages/ar/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: إهمال Subgraph --- -إن كنت ترغب في إهمال الـ subgraph الخاص بك في The Graph Explorer. فأنت في المكان المناسب! اتبع الخطوات أدناه: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. قم بزيارة عنوان العقد [ هنا ](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Call `deprecateSubgraph` with your `SubgraphID` as your argument. -3. Voilà! Your subgraph will no longer show up on searches on The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Please note the following: From b2a5e472aae27871ed28bb97c42b4e33b1d59227 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:28 -0400 Subject: [PATCH 0359/2326] New translations deprecating-a-subgraph.mdx (Czech) --- website/pages/cs/managing/deprecating-a-subgraph.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/cs/managing/deprecating-a-subgraph.mdx b/website/pages/cs/managing/deprecating-a-subgraph.mdx index b30fe61a647a..051cb9d46f5a 100644 --- a/website/pages/cs/managing/deprecating-a-subgraph.mdx +++ b/website/pages/cs/managing/deprecating-a-subgraph.mdx @@ -2,17 +2,17 @@ title: Znehodnocení podgrafu --- -Rádi byste tedy svůj podgraf v Průzkumníku grafů znehodnotili. Jste na správném místě! Postupujte podle následujících kroků: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Navštivte adresu smlouvy [zde](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Navštivte adresu smlouvy pro podgrafy Mainnet [zde](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) a podgrafy Arbitrum One [zde](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Volejte `deprecateSubgraph` s `SubgraphID` jako argumentem. -3. Voilà! Váš podgraf se již nebude zobrazovat při vyhledávání v Průzkumníku grafů. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Vezměte prosím na vědomí následující: - Funkci `deprecateSubgraph` by měla volat peněženka vlastníka. - Kurátoři již nebudou moci signalizovat na podgrafu. - Kurátoři, kteří již signalizovali na subgrafu, budou moci stáhnout svůj signál za průměrnou cenu akcie. -- Deprecated subgraphs will be indicated with an error message. +- Znehodnocené podgrafy budou označeny chybovou zprávou. -If you interacted with the deprecated subgraph, you'll be able to find it in your user profile under the "Subgraphs", "Indexing", or "Curating" tab, respectively. +Pokud jste interagovali s vyřazeným podgrafem, najdete jej ve svém uživatelském profilu na kartě "Podgrafy", "Indexování" nebo "Kurátorství". From ab361201d57c9f09b17cbe801790003e47b9d79b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:29 -0400 Subject: [PATCH 0360/2326] New translations deprecating-a-subgraph.mdx (German) --- website/pages/de/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/de/managing/deprecating-a-subgraph.mdx b/website/pages/de/managing/deprecating-a-subgraph.mdx index e6adfccad368..ef5ea1c018b6 100644 --- a/website/pages/de/managing/deprecating-a-subgraph.mdx +++ b/website/pages/de/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Deprecating a Subgraph --- -So you'd like to deprecate your subgraph on The Graph Explorer. You've come to the right place! Follow the steps below: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Visit the contract address [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Call `deprecateSubgraph` with your `SubgraphID` as your argument. -3. Voilà! Your subgraph will no longer show up on searches on The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Please note the following: From cf7dc4146af04ac3bb5a5b7861cd45120da18712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:30 -0400 Subject: [PATCH 0361/2326] New translations deprecating-a-subgraph.mdx (Italian) --- website/pages/it/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/it/managing/deprecating-a-subgraph.mdx b/website/pages/it/managing/deprecating-a-subgraph.mdx index 8a8dd264d7b8..a4e0bc09305d 100644 --- a/website/pages/it/managing/deprecating-a-subgraph.mdx +++ b/website/pages/it/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Deprecazione di un subgraph --- -Si desidera deprecare il proprio subgraph su The Graph Explorer. Siete nel posto giusto! Seguite i passi indicati di seguito: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Visitare l'indirizzo del contratto [qui](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Chiamare `deprecateSubgraph` con il proprio `SubgraphID` come argomento. -3. Voilà! Il proprio subgraph non verrà più visualizzato nelle ricerche su The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Si prega di notare quanto segue: From 3707dea98f709abd32b4e7b00f98b4b8db065501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:31 -0400 Subject: [PATCH 0362/2326] New translations deprecating-a-subgraph.mdx (Japanese) --- website/pages/ja/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ja/managing/deprecating-a-subgraph.mdx b/website/pages/ja/managing/deprecating-a-subgraph.mdx index c7f199b64bac..ec93b81fe21b 100644 --- a/website/pages/ja/managing/deprecating-a-subgraph.mdx +++ b/website/pages/ja/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: サブグラフの非推奨化 --- -The Graph Explorer のサブグラフを非推奨にしたい場合について。以下の手順に従ってください: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. コントラクトアドレスは[こちら](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. `SubgraphID` を引数として `deprecateSubgraph` を呼び出します。 -3. ほら!サブグラフは、Graph Explorer での検索に表示されなくなります。 +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. 次の点に注意してください: From ff5c610f216e1c1dbc82c4b165cc230845e7c3ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:32 -0400 Subject: [PATCH 0363/2326] New translations deprecating-a-subgraph.mdx (Korean) --- website/pages/ko/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ko/managing/deprecating-a-subgraph.mdx b/website/pages/ko/managing/deprecating-a-subgraph.mdx index e6adfccad368..ef5ea1c018b6 100644 --- a/website/pages/ko/managing/deprecating-a-subgraph.mdx +++ b/website/pages/ko/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Deprecating a Subgraph --- -So you'd like to deprecate your subgraph on The Graph Explorer. You've come to the right place! Follow the steps below: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Visit the contract address [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Call `deprecateSubgraph` with your `SubgraphID` as your argument. -3. Voilà! Your subgraph will no longer show up on searches on The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Please note the following: From d4e3bdd27b9fa4e45260901601368f6b2af4a257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:33 -0400 Subject: [PATCH 0364/2326] New translations deprecating-a-subgraph.mdx (Dutch) --- website/pages/nl/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/nl/managing/deprecating-a-subgraph.mdx b/website/pages/nl/managing/deprecating-a-subgraph.mdx index e6adfccad368..ef5ea1c018b6 100644 --- a/website/pages/nl/managing/deprecating-a-subgraph.mdx +++ b/website/pages/nl/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Deprecating a Subgraph --- -So you'd like to deprecate your subgraph on The Graph Explorer. You've come to the right place! Follow the steps below: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Visit the contract address [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Call `deprecateSubgraph` with your `SubgraphID` as your argument. -3. Voilà! Your subgraph will no longer show up on searches on The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Please note the following: From 00b637c299fc7ae4e7277b023d81107ac1908295 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:34 -0400 Subject: [PATCH 0365/2326] New translations deprecating-a-subgraph.mdx (Polish) --- website/pages/pl/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pl/managing/deprecating-a-subgraph.mdx b/website/pages/pl/managing/deprecating-a-subgraph.mdx index e6adfccad368..ef5ea1c018b6 100644 --- a/website/pages/pl/managing/deprecating-a-subgraph.mdx +++ b/website/pages/pl/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Deprecating a Subgraph --- -So you'd like to deprecate your subgraph on The Graph Explorer. You've come to the right place! Follow the steps below: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Visit the contract address [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Call `deprecateSubgraph` with your `SubgraphID` as your argument. -3. Voilà! Your subgraph will no longer show up on searches on The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Please note the following: From ecdb1787eda62f7d24402c98ee10f290fc98377f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:35 -0400 Subject: [PATCH 0366/2326] New translations deprecating-a-subgraph.mdx (Portuguese) --- website/pages/pt/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/managing/deprecating-a-subgraph.mdx b/website/pages/pt/managing/deprecating-a-subgraph.mdx index d07bd67f0ee1..bf26ec9c4547 100644 --- a/website/pages/pt/managing/deprecating-a-subgraph.mdx +++ b/website/pages/pt/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Como Depreciar um Subgraph --- -Então, queres depreciar o seu subgraph no Graph Explorer. Veio ao lugar certo! Siga os passos abaixo: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Visite o endereço do contrato [aqui](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Chame o `deprecateSubgraph`, com o seu `SubgraphID` como argumento. -3. Pronto! O seu subgraph não aparecerá mais em buscas no Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Lembre-se do seguinte: From bf2d0f3865413765387d9ea62fe36143a68ff869 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:35 -0400 Subject: [PATCH 0367/2326] New translations deprecating-a-subgraph.mdx (Russian) --- website/pages/ru/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ru/managing/deprecating-a-subgraph.mdx b/website/pages/ru/managing/deprecating-a-subgraph.mdx index 96c9062d8be3..681eb6dca6d8 100644 --- a/website/pages/ru/managing/deprecating-a-subgraph.mdx +++ b/website/pages/ru/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Отключение сабграфа --- -Если Вам необходимо удалить устаревший сабграф в The Graph Explorer. Вы находитесь в нужном разделе: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Перейдите по ссылке на адрес контракта [здесь](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Вызовите функцию `deprecateSubgraph`, используя ваш `SubgraphID` в качестве аргумента. -3. Вуаля! Ваш субграф более не будет отображаться при поиске в Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Пожалуйста, учтите следующее: From 68bc89c81589a1ca293cbb12f1c2cf0476519d08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:36 -0400 Subject: [PATCH 0368/2326] New translations deprecating-a-subgraph.mdx (Swedish) --- website/pages/sv/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/sv/managing/deprecating-a-subgraph.mdx b/website/pages/sv/managing/deprecating-a-subgraph.mdx index 952b76f2445d..a96f1f5f2b5f 100644 --- a/website/pages/sv/managing/deprecating-a-subgraph.mdx +++ b/website/pages/sv/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Avveckla en Subgraf --- -Om du vill avveckla din subgraf på The Graph Explorer har du kommit rätt! Följ stegen nedan: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Besök kontraktsadressen [här](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Anropa `deprecateSubgraph` med din `SubgraphID` som argument. -3. Voilà! Din subgraf kommer inte längre att visas vid sökningar på The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Observera följande: From f7340a35e0dfffb6055ebe80f54c023ee99f64d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:37 -0400 Subject: [PATCH 0369/2326] New translations deprecating-a-subgraph.mdx (Turkish) --- .../tr/managing/deprecating-a-subgraph.mdx | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/tr/managing/deprecating-a-subgraph.mdx b/website/pages/tr/managing/deprecating-a-subgraph.mdx index b98b8922f534..ef5ea1c018b6 100644 --- a/website/pages/tr/managing/deprecating-a-subgraph.mdx +++ b/website/pages/tr/managing/deprecating-a-subgraph.mdx @@ -1,18 +1,18 @@ --- -title: Bir Subgraph'i Kullanımdan Kaldırma +title: Deprecating a Subgraph --- -Diyelim ki Graph Gezgini'nde subgraph'inizi kullanımdan kaldırmak istiyorsunuz. Evet, doğru yere geldiniz! Aşağıdaki adımları lütfen takip edin: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. [Buradan](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) sözleşme adresini ziyaret edin -2. Bağımsız değişkeniniz olarak `SubgraphID` ile `deprecateSubgraph` öğesini çağırın. -3. İşte bu kadar! Subgraph'iniz artık Graph Gezgini'ndeki aramalarda görünmeyecek. +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). +2. Call `deprecateSubgraph` with your `SubgraphID` as your argument. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. -Lütfen aşağıdaki noktalara dikkat edin: +Please note the following: -- `deprecateSubgraph` işlevi, sahibinin cüzdanı tarafından çağrılmalıdır. -- Küratörler artık ilgili subgraph'te sinyal veremeyecektir. -- Subgraph'te hali hazırda sinyal vermiş olan küratörler, sinyallerini ortalama bir hisse fiyatından geri çekebilecekler. -- Kullanımdan kaldırılan subgraph'ler bir hata mesajıyla belirtilir. +- The `deprecateSubgraph` function should be called by the owner's wallet. +- Curators will not be able to signal on the subgraph anymore. +- Curators that already signaled on the subgraph will be able to withdraw their signal at an average share price. +- Deprecated subgraphs will be indicated with an error message. -Kullanımdan kaldırılan subgraph'le etkileşimde bulunduysanız, kullanıcı profilinizde sırasıyla "Subgraph'ler", "İndeksleyiciler" veya "Kürasyon" sekmesi altında bulabilirsiniz. +If you interacted with the deprecated subgraph, you'll be able to find it in your user profile under the "Subgraphs", "Indexing", or "Curating" tab, respectively. From c0e99f608541a1386fa21d2c9f1637b6466e19df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:38 -0400 Subject: [PATCH 0370/2326] New translations deprecating-a-subgraph.mdx (Ukrainian) --- website/pages/uk/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/uk/managing/deprecating-a-subgraph.mdx b/website/pages/uk/managing/deprecating-a-subgraph.mdx index e6adfccad368..ef5ea1c018b6 100644 --- a/website/pages/uk/managing/deprecating-a-subgraph.mdx +++ b/website/pages/uk/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Deprecating a Subgraph --- -So you'd like to deprecate your subgraph on The Graph Explorer. You've come to the right place! Follow the steps below: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Visit the contract address [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Call `deprecateSubgraph` with your `SubgraphID` as your argument. -3. Voilà! Your subgraph will no longer show up on searches on The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Please note the following: From 8ebc350ad7d21341a2d8dbdc006bcbe14a2d0072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:39 -0400 Subject: [PATCH 0371/2326] New translations deprecating-a-subgraph.mdx (Chinese Simplified) --- website/pages/zh/managing/deprecating-a-subgraph.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/zh/managing/deprecating-a-subgraph.mdx b/website/pages/zh/managing/deprecating-a-subgraph.mdx index ed9e25949fc9..edb95ddf0340 100644 --- a/website/pages/zh/managing/deprecating-a-subgraph.mdx +++ b/website/pages/zh/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: 弃用子图 --- -如果您想在 Graph浏览器上弃用您的子图,您来对地方了! 请按照以下步骤操作: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. 在[这里](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract)访问合约地址。 -2. 使用`SubgraphID`作为参数调用`deprecateSubgraph`。 -3. 瞧! 您的子图将不再显示在Graph浏览器上的搜索中。 +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). +2. 使用`SubgraphID`作为参数调用` deprecateSubgraph `。 +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. 请注意以下事项: From f9bfae12707a02ab0dbd12d6888cc9c7c72585b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:40 -0400 Subject: [PATCH 0372/2326] New translations deprecating-a-subgraph.mdx (Urdu (Pakistan)) --- website/pages/ur/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ur/managing/deprecating-a-subgraph.mdx b/website/pages/ur/managing/deprecating-a-subgraph.mdx index 8812bd8f847c..664ae2359055 100644 --- a/website/pages/ur/managing/deprecating-a-subgraph.mdx +++ b/website/pages/ur/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: سب گراف کو فرسودہ کرنا --- -لہذا آپ گراف ایکسپلورر پر اپنے سب گراف کو فرسودہ کرنا چاہیں گے۔ آپ صحیح جگہ پر آئے ہیں! ذیل کے مراحل پر عمل کریں: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. کنٹریکٹ کا پتہ [یہاں](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) دیکھیں +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. اپنی دلیل کے طور پر اپنے `SubgraphID` کے ساتھ `deprecateSubgraph` کو کال کریں. -3. تو! آپ کا سب گراف گراف ایکسپلورر کی تلاشوں پر مزید نظر نہیں آئے گا. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. براہ کرم درج ذیل کو نوٹ کریں: From 0c6272ad95a4aadb566aa3ab206215a79d744e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:41 -0400 Subject: [PATCH 0373/2326] New translations deprecating-a-subgraph.mdx (Vietnamese) --- website/pages/vi/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/vi/managing/deprecating-a-subgraph.mdx b/website/pages/vi/managing/deprecating-a-subgraph.mdx index 6a158f2e8c7b..fbcc731fa741 100644 --- a/website/pages/vi/managing/deprecating-a-subgraph.mdx +++ b/website/pages/vi/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Ngừng một Subgraph --- -Vậy là, bạn muốn ngừng subgraph của mình trên The Graph Explorer. Bạn đã đến đúng nơi! Hãy làm theo các bước dưới đây: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Ghé thăm địa chỉ hợp đồng [tại đây](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Call `deprecateSubgraph` with your `SubgraphID` as your argument. -3. Voilà! Your subgraph will no longer show up on searches on The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Please note the following: From b3f117c2341c02026fa531d3cbaf2b560917a092 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:42 -0400 Subject: [PATCH 0374/2326] New translations deprecating-a-subgraph.mdx (Marathi) --- website/pages/mr/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/mr/managing/deprecating-a-subgraph.mdx b/website/pages/mr/managing/deprecating-a-subgraph.mdx index 2ab8b1535b54..6997fcde98fc 100644 --- a/website/pages/mr/managing/deprecating-a-subgraph.mdx +++ b/website/pages/mr/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: सबग्राफचे अवमूल्यन करणे --- -त्यामुळे तुम्ही The Graph Explorer वर तुमचा सबग्राफ नापसंत करू इच्छिता. तुम्ही योग्य ठिकाणी आला आहात! खालील चरणांचे अनुसरण करा: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. करार पत्त्याला [येथे](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) भेट द्या +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. तुमचा युक्तिवाद म्हणून तुमच्या `SubgraphID` सह `deprecateSubgraph` ला कॉल करा. -3. व्होइला! तुमचा सबग्राफ यापुढे The Graph Explorer वरील शोधांवर दिसणार नाही. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. कृपया खालील गोष्टी लक्षात घ्या: From 8bc2612f3a097d24ef4012ad9989e625722beb9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:43 -0400 Subject: [PATCH 0375/2326] New translations deprecating-a-subgraph.mdx (Hindi) --- website/pages/hi/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/hi/managing/deprecating-a-subgraph.mdx b/website/pages/hi/managing/deprecating-a-subgraph.mdx index 67837e1848e5..f0359d49bbec 100644 --- a/website/pages/hi/managing/deprecating-a-subgraph.mdx +++ b/website/pages/hi/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: एक सबग्राफ का बहिष्कार करना --- -इसलिए आप द ग्राफ़ एक्सप्लोरर पर अपने सबग्राफ का बहिष्कार करना चाहेंगे। आप सही जगह पर आए है! नीचे दिए गए चरणों का पालन करें: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. अनुबंध के पते [यहां](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) पर जाएं +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Call `deprecateSubgraph` with your `SubgraphID` as your argument. -3. देखा! आपका सबग्राफ अब ग्राफ़ एक्सप्लोरर पर खोजों पर दिखाई नहीं देगा। +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. कृपया निम्नलिखित ध्यान दें: From 52061187dccb6caebb9a8a21efa8e26275ca8ae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:44 -0400 Subject: [PATCH 0376/2326] New translations deprecating-a-subgraph.mdx (Yoruba) --- website/pages/yo/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/yo/managing/deprecating-a-subgraph.mdx b/website/pages/yo/managing/deprecating-a-subgraph.mdx index e6adfccad368..ef5ea1c018b6 100644 --- a/website/pages/yo/managing/deprecating-a-subgraph.mdx +++ b/website/pages/yo/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Deprecating a Subgraph --- -So you'd like to deprecate your subgraph on The Graph Explorer. You've come to the right place! Follow the steps below: +So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: -1. Visit the contract address [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) +1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Call `deprecateSubgraph` with your `SubgraphID` as your argument. -3. Voilà! Your subgraph will no longer show up on searches on The Graph Explorer. +3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. Please note the following: From 17a25a8f3b98c68dc3155e795ccc4265f23bbfe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:45 -0400 Subject: [PATCH 0377/2326] New translations transferring-subgraph-ownership.mdx (Romanian) --- website/pages/ro/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ro/managing/transferring-subgraph-ownership.mdx b/website/pages/ro/managing/transferring-subgraph-ownership.mdx index 1ca1c621a9c9..83b5738d7734 100644 --- a/website/pages/ro/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/ro/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Transferring Subgraph Ownership The Graph supports the transfer of the ownership of a subgraph. -When you deploy a subgraph to mainnet, an NFT will be minted to the address that deployed the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Whoever owns the NFT controls the subgraph. If the owner decides to sell the NFT, or transfer it, they will no longer be able to make edits or updates to that subgraph on the network. From 865d671213a21e8b834f06f07459c878c353233a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:45 -0400 Subject: [PATCH 0378/2326] New translations transferring-subgraph-ownership.mdx (French) --- website/pages/fr/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/fr/managing/transferring-subgraph-ownership.mdx b/website/pages/fr/managing/transferring-subgraph-ownership.mdx index 864890a465e4..bcc43914351d 100644 --- a/website/pages/fr/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/fr/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Transfert de la propriété d'un subgraph The Graph supporte le transfert de propriété d'un subgraph. -Lorsque vous déployez un subgraph sur le mainnet, un NFT sera généré pour l'adresse qui a déployé le subgraph. Le NFT est basé sur un standard ERC721, il peut donc être facilement transféré vers différents comptes. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. La personne qui possède le NFT contrôle le subgraph. Si le propriétaire décide de vendre le NFT ou de le transférer, il ne sera plus en mesure d'effectuer des modifications ou des mises à jour de ce subgraph sur le réseau. From 1c62ad620f5aa08c5163ab1482e33c7d1a9955d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:46 -0400 Subject: [PATCH 0379/2326] New translations transferring-subgraph-ownership.mdx (Spanish) --- website/pages/es/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/es/managing/transferring-subgraph-ownership.mdx b/website/pages/es/managing/transferring-subgraph-ownership.mdx index 17e12a5d2614..a7947ee6d864 100644 --- a/website/pages/es/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/es/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Transferencia de la Propiedad del Subgrafo The Graph admite la transferencia de la propiedad de un subgrafo. -Cuando deployas un subgrafo en mainnet, se acuñará un NFT a la dirección que deployó el subgrafo. El NFT se basa en un ERC721 estándar, por lo que puede transferirse fácilmente a diferentes cuentas. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. El propietario de la NFT controla el subgrafo. Si el propietario decide vender el NFT, o transferirlo, ya no podrá realizar ediciones o actualizaciones de ese subgrafo en la red. From 5191c5bda1a1b0689b7af4b1ec5a5298764cee7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:47 -0400 Subject: [PATCH 0380/2326] New translations transferring-subgraph-ownership.mdx (Arabic) --- website/pages/ar/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ar/managing/transferring-subgraph-ownership.mdx b/website/pages/ar/managing/transferring-subgraph-ownership.mdx index 1ca1c621a9c9..83b5738d7734 100644 --- a/website/pages/ar/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/ar/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Transferring Subgraph Ownership The Graph supports the transfer of the ownership of a subgraph. -When you deploy a subgraph to mainnet, an NFT will be minted to the address that deployed the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Whoever owns the NFT controls the subgraph. If the owner decides to sell the NFT, or transfer it, they will no longer be able to make edits or updates to that subgraph on the network. From f3540a7e77d51c1825746ae692a9511fb718729b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:48 -0400 Subject: [PATCH 0381/2326] New translations transferring-subgraph-ownership.mdx (Czech) --- .../cs/managing/transferring-subgraph-ownership.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/cs/managing/transferring-subgraph-ownership.mdx b/website/pages/cs/managing/transferring-subgraph-ownership.mdx index ba199364daae..c3270289e729 100644 --- a/website/pages/cs/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/cs/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Přenos vlastnictví podgrafů Graf podporuje přenos vlastnictví podgrafu. -Při nasazení podgrafu do mainnetu bude na adresu, ze které byl podgraf nasazen, vyražen NFT. NFT je založena na standardním ERC721, takže ji lze snadno přenášet na různé účty. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Kdo vlastní NFT, ovládá podgraf. Pokud se vlastník rozhodne NFT prodat nebo převést, nebude již moci provádět úpravy nebo aktualizace tohoto podgrafu v síti. @@ -28,12 +28,12 @@ https://rainbow.me/your-wallet-addres Chcete-li převést vlastnictví podgrafu, můžete použít UI integrované do Studio podgraf: -![Subgraph Ownership Transfer](/img/subgraph-ownership-transfer-1.png) +![Převod vlastnictví podgrafů](/img/subgraph-ownership-transfer-1.png) -And then choose the address that you would like to transfer the subgraph to: +A poté vyberte adresu, na kterou chcete podgraf přenést: -![Subgraph Ownership Trasfer](/img/subgraph-ownership-transfer-2.png) +![Převod vlastnictví podgrafů](/img/subgraph-ownership-transfer-2.png) -You can also use the built-in UI of NFT marketplaces like OpenSea: +Můžete také použít integrované UI tržiště NFT, jako je OpenSea: -![Subgraph Ownership Trasfer from NFT marketplace](/img/subgraph-ownership-transfer-nft-marketplace.png) +![Převod vlastnictví podgrafů z tržiště NFT](/img/subgraph-ownership-transfer-nft-marketplace.png) From aa75f7e34b40d598f62f0f73a6e765a0633f3aa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:49 -0400 Subject: [PATCH 0382/2326] New translations transferring-subgraph-ownership.mdx (German) --- website/pages/de/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/managing/transferring-subgraph-ownership.mdx b/website/pages/de/managing/transferring-subgraph-ownership.mdx index 171a13659f0a..c961bbe6f742 100644 --- a/website/pages/de/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/de/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Übertragung des Eigentums an Subgraphen The Graph unterstützt die Übertragung des Eigentums an einem Subgraphen. -Wenn Sie einen Subgraphen im Mainnet bereitstellen, wird eine NFT auf die Adresse gemint, die den Subgraphen bereitgestellt hat. Die NFT basiert auf einem Standard ERC721, sodass sie leicht auf verschiedene Konten übertragen werden kann. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Wer den NFT besitzt, kontrolliert den Subgraphen. Wenn der Eigentümer beschließt, das NFT zu verkaufen oder zu übertragen, kann er keine Änderungen oder Aktualisierungen an diesem Subgraphen im Netzwerk mehr vornehmen. From 35bd4d88452a67fc83a2d36c3ebfbfd1a3b9fe29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:50 -0400 Subject: [PATCH 0383/2326] New translations transferring-subgraph-ownership.mdx (Italian) --- website/pages/it/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/it/managing/transferring-subgraph-ownership.mdx b/website/pages/it/managing/transferring-subgraph-ownership.mdx index 1ca1c621a9c9..83b5738d7734 100644 --- a/website/pages/it/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/it/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Transferring Subgraph Ownership The Graph supports the transfer of the ownership of a subgraph. -When you deploy a subgraph to mainnet, an NFT will be minted to the address that deployed the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Whoever owns the NFT controls the subgraph. If the owner decides to sell the NFT, or transfer it, they will no longer be able to make edits or updates to that subgraph on the network. From 107b0183403bbdcff3de5f0e734e5f32bda9dc2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:51 -0400 Subject: [PATCH 0384/2326] New translations transferring-subgraph-ownership.mdx (Japanese) --- website/pages/ja/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ja/managing/transferring-subgraph-ownership.mdx b/website/pages/ja/managing/transferring-subgraph-ownership.mdx index 6bfbbeefb354..052e654dbc55 100644 --- a/website/pages/ja/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/ja/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: サブグラフの所有権移転 グラフは、サブグラフの所有権の譲渡をサポートしています。 -サブグラフをメインネットにデプロイすると、サブグラフをデプロイしたアドレスにNFTがミントされます。NFTは標準的なERC721をベースにしているため、異なるアカウントに簡単に転送することができます。 +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. NFTの所有者は、そのサブグラフをコントロールします。所有者がNFTの売却や移転を決めた場合、ネットワーク上のそのサブグラフの編集や更新はできなくなります。 From e256fca02861edacbc487aa8e71fdf069f44af92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:52 -0400 Subject: [PATCH 0385/2326] New translations transferring-subgraph-ownership.mdx (Korean) --- website/pages/ko/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ko/managing/transferring-subgraph-ownership.mdx b/website/pages/ko/managing/transferring-subgraph-ownership.mdx index 1ca1c621a9c9..83b5738d7734 100644 --- a/website/pages/ko/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/ko/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Transferring Subgraph Ownership The Graph supports the transfer of the ownership of a subgraph. -When you deploy a subgraph to mainnet, an NFT will be minted to the address that deployed the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Whoever owns the NFT controls the subgraph. If the owner decides to sell the NFT, or transfer it, they will no longer be able to make edits or updates to that subgraph on the network. From e61c36fe6530b0598f8bbb130c5dac396b6d3991 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:53 -0400 Subject: [PATCH 0386/2326] New translations transferring-subgraph-ownership.mdx (Dutch) --- website/pages/nl/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/nl/managing/transferring-subgraph-ownership.mdx b/website/pages/nl/managing/transferring-subgraph-ownership.mdx index 1ca1c621a9c9..83b5738d7734 100644 --- a/website/pages/nl/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/nl/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Transferring Subgraph Ownership The Graph supports the transfer of the ownership of a subgraph. -When you deploy a subgraph to mainnet, an NFT will be minted to the address that deployed the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Whoever owns the NFT controls the subgraph. If the owner decides to sell the NFT, or transfer it, they will no longer be able to make edits or updates to that subgraph on the network. From 4114e9753661909484d63523001efcea16a1aa04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:54 -0400 Subject: [PATCH 0387/2326] New translations transferring-subgraph-ownership.mdx (Polish) --- website/pages/pl/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pl/managing/transferring-subgraph-ownership.mdx b/website/pages/pl/managing/transferring-subgraph-ownership.mdx index 1ca1c621a9c9..83b5738d7734 100644 --- a/website/pages/pl/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/pl/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Transferring Subgraph Ownership The Graph supports the transfer of the ownership of a subgraph. -When you deploy a subgraph to mainnet, an NFT will be minted to the address that deployed the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Whoever owns the NFT controls the subgraph. If the owner decides to sell the NFT, or transfer it, they will no longer be able to make edits or updates to that subgraph on the network. From 9b2a0a6b0063ac97c24cbc9cce78df8ed0bc4fec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:55 -0400 Subject: [PATCH 0388/2326] New translations transferring-subgraph-ownership.mdx (Portuguese) --- website/pages/pt/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/managing/transferring-subgraph-ownership.mdx b/website/pages/pt/managing/transferring-subgraph-ownership.mdx index 46e551fa0a6c..1f4828b509e7 100644 --- a/website/pages/pt/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/pt/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Como Transferir Titularidades de Subgraphs O The Graph permite a transferência da titularidade de um subgraph. -Quando lança um subgraph à mainnet, será mintado um NFT ao endereço que lançou o subgraph. O NFT é baseado no padrão ERC721, para poder ser transferido facilmente para contas diferentes. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. O dono desse NFT controla o subgraph. Caso o dono decida vender ou transferir o NFT, ele não poderá mais fazer alterações ou atualizações àquele subgraph na rede. From 5a8d7eae0cd9a341526cd77d5f62239a2365de1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:55 -0400 Subject: [PATCH 0389/2326] New translations transferring-subgraph-ownership.mdx (Russian) --- website/pages/ru/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ru/managing/transferring-subgraph-ownership.mdx b/website/pages/ru/managing/transferring-subgraph-ownership.mdx index 880a144c111d..76da62adc956 100644 --- a/website/pages/ru/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/ru/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Передача права на владение субграфом The Graph поддерживает передачу права на владение субграфом. -Когда Вы развёртываете субграф в основной сети, новое NFT будет создан по адресу, по которому был развернут субграф. NFT основан на стандарте ERC721, поэтому его можно легко передавать на другие аккаунты. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Тот, кто владеет NFT, контролирует субграф. Если владелец решит продать NFT или передать его, он уже не сможет вносить изменения или обновления в этот субграф в сети. From 771d8210e70303c742a8232f24e4d14d48c0a072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:56 -0400 Subject: [PATCH 0390/2326] New translations transferring-subgraph-ownership.mdx (Swedish) --- website/pages/sv/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/sv/managing/transferring-subgraph-ownership.mdx b/website/pages/sv/managing/transferring-subgraph-ownership.mdx index 2b97d8279c28..e118b5eba0db 100644 --- a/website/pages/sv/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/sv/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Överföring av Ägande för Subgraf The Graph stödjer överföring av äganderätten för en subgraf. -När du distribuerar en subgraf till huvudnätet kommer en NFT att skapas till adressen som distribuerade subgrafen. NFT:n bygger på standarden ERC721, vilket gör det enkelt att överföra den till olika konton. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Den som äger NFT:n kontrollerar subgrafen. Om ägaren bestämmer sig för att sälja NFT:n eller överföra den kommer de inte längre kunna göra redigeringar eller uppdateringar av subgrafen på nätverket. From d9592478e35c206ccfadfcb36fdb9adc0f601414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:57 -0400 Subject: [PATCH 0391/2326] New translations transferring-subgraph-ownership.mdx (Turkish) --- .../transferring-subgraph-ownership.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/tr/managing/transferring-subgraph-ownership.mdx b/website/pages/tr/managing/transferring-subgraph-ownership.mdx index 4c91e5db7f42..ace38088c1e0 100644 --- a/website/pages/tr/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/tr/managing/transferring-subgraph-ownership.mdx @@ -1,24 +1,24 @@ --- -title: Subgraph Sahipliğini Aktarma +title: Transferring Subgraph Ownership --- -Graph, bir subgraph'in mülkiyetinin devrini destekler. +The Graph supports the transfer of the ownership of a subgraph. -Bir subgraph'i mainnet'te deploy ettiğinizde, subgraph'i deploy eden adrese bir NFT mintlenecektir. NFT, standart bir ERC721'i temel alır, dolayısıyla farklı hesaplara kolayca aktarılabilir. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. -NFT'nin sahibi kim olursa olsun, subgraph'i kontrol eder. Sahibi, NFT'yi satmaya veya devretmeye karar verirse, artık ağ üzerinde o subgraph'te düzenleme veya güncelleme yapamaz. +Whoever owns the NFT controls the subgraph. If the owner decides to sell the NFT, or transfer it, they will no longer be able to make edits or updates to that subgraph on the network. -Geliştirme yaşam döngüsüne daha fazla esneklik eklemenin yanı sıra, bu işlevsellik, kontrolünüzü bir multisig'e veya onu DAO adına oluşturan bir topluluk üyesine taşımak gibi belirli kullanım durumlarını daha kolay hale getirir. +In addition to adding more flexibility to the development lifecycle, this functionality makes certain use cases more convenient, such as moving your control to a multisig or a community member creating it on behalf of a DAO. ## Subgraph'ınızı NFT olarak görüntüleme -Subgraph'inizi bir NFT olarak görüntülemek için OpenSea gibi bir NFT pazar yerini ziyaret edebilirsiniz: +To view your subgraph as an NFT, you can visit an NFT marketplace like OpenSea: ``` https://opensea.io/your-wallet-address ``` -Veya **Rainbow.me** gibi bir cüzdan gezgini: +Or a wallet explorer like **Rainbow.me**: ``` https://rainbow.me/your-wallet-addres @@ -26,14 +26,14 @@ https://rainbow.me/your-wallet-addres ## Bir subgraph'ın sahipliğini devretme -Bir subgraph'in sahipliğini aktarmak için, Subgraph Studio'da yerleşik olarak bulunan kullanıcı arayüzünü kullanabilirsiniz: +To transfer ownership of a subgraph, you can use the UI built into Subgraph Studio: -![Subgraph Sahipliği Aktarımı](/img/subgraph-ownership-transfer-1.png) +![Subgraph Ownership Transfer](/img/subgraph-ownership-transfer-1.png) -Ardından, subgraph'i aktarmak istediğiniz adresi seçin: +And then choose the address that you would like to transfer the subgraph to: -![Subgraph Sahipliği Aktarımı](/img/subgraph-ownership-transfer-2.png) +![Subgraph Ownership Trasfer](/img/subgraph-ownership-transfer-2.png) -OpenSea gibi NFT pazar yerlerinin yerleşik kullanıcı arayüzünü de kullanabilirsiniz: +You can also use the built-in UI of NFT marketplaces like OpenSea: -![NFT pazarından Subgraph Sahipliği Aktarımı](/img/subgraph-ownership-transfer-nft-marketplace.png) +![Subgraph Ownership Trasfer from NFT marketplace](/img/subgraph-ownership-transfer-nft-marketplace.png) From c93b5144dad2c05c01d6d7627247fdf1125859c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:58 -0400 Subject: [PATCH 0392/2326] New translations transferring-subgraph-ownership.mdx (Ukrainian) --- website/pages/uk/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/uk/managing/transferring-subgraph-ownership.mdx b/website/pages/uk/managing/transferring-subgraph-ownership.mdx index 1ca1c621a9c9..83b5738d7734 100644 --- a/website/pages/uk/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/uk/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Transferring Subgraph Ownership The Graph supports the transfer of the ownership of a subgraph. -When you deploy a subgraph to mainnet, an NFT will be minted to the address that deployed the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Whoever owns the NFT controls the subgraph. If the owner decides to sell the NFT, or transfer it, they will no longer be able to make edits or updates to that subgraph on the network. From ca21de9c79244fdc469a058e40ad78e3438301b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:32:59 -0400 Subject: [PATCH 0393/2326] New translations transferring-subgraph-ownership.mdx (Chinese Simplified) --- website/pages/zh/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/zh/managing/transferring-subgraph-ownership.mdx b/website/pages/zh/managing/transferring-subgraph-ownership.mdx index 1e5a4f57de31..030fcec0cda9 100644 --- a/website/pages/zh/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/zh/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: 子图所有权转移 Graph支持子图所有权的转移。 -当您将一个子图部署到主网时,一个 NFT 将被创建到部署该子图的地址。NFT 是基于标准的 ERC721,因此它可以很容易地转移到不同的账户。 +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. 拥有 NFT 的人控制着子图。如果所有者决定出售或转让 NFT,他们将不再能够在网络上对该子图进行编辑或更新。 From b3afa163ca9c2a13a9de6007f039045cb4cef131 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:00 -0400 Subject: [PATCH 0394/2326] New translations transferring-subgraph-ownership.mdx (Urdu (Pakistan)) --- website/pages/ur/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ur/managing/transferring-subgraph-ownership.mdx b/website/pages/ur/managing/transferring-subgraph-ownership.mdx index ce245b1dbb2b..b9f02d331af8 100644 --- a/website/pages/ur/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/ur/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: سب گراف کی ملکیت کی منتقلی گراف سب گراف کی ملکیت کی منتقلی پرحمایت کرتا ہے. -جب آپ مینیٹ پر سب گراف تعینات کرتے ہیں، ایک NFT اس پتے پر لگایا جائے گا جس نے سب گراف کو تعینات کیا ہے۔ NFT ایک معیاری ERC721 پر مبنی ہے، تاکہ اسے آسانی سے مختلف کھاتوں میں منتقل کیا جا سکے. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. جو بھی NFT کا مالک ہے سب گراف کو کنٹرول کرتا ہے۔ اگر مالک NFT فروخت کرنے یا اسے منتقل کرنے کا فیصلہ کرتا ہے، تو وہ نیٹ ورک پر اس سب گراف میں مزید ترمیم یا اپ ڈیٹ نہیں کر سکیں گے. From a3030e2fa934d54d0d838f939f4f24ddf18711ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:01 -0400 Subject: [PATCH 0395/2326] New translations transferring-subgraph-ownership.mdx (Vietnamese) --- website/pages/vi/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/vi/managing/transferring-subgraph-ownership.mdx b/website/pages/vi/managing/transferring-subgraph-ownership.mdx index 1ca1c621a9c9..83b5738d7734 100644 --- a/website/pages/vi/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/vi/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Transferring Subgraph Ownership The Graph supports the transfer of the ownership of a subgraph. -When you deploy a subgraph to mainnet, an NFT will be minted to the address that deployed the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Whoever owns the NFT controls the subgraph. If the owner decides to sell the NFT, or transfer it, they will no longer be able to make edits or updates to that subgraph on the network. From b458d77b16a6c8df00645e3333b03bab5f0e3ef5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:02 -0400 Subject: [PATCH 0396/2326] New translations transferring-subgraph-ownership.mdx (Marathi) --- website/pages/mr/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/mr/managing/transferring-subgraph-ownership.mdx b/website/pages/mr/managing/transferring-subgraph-ownership.mdx index ba4893ec5221..1741ca4e4ee4 100644 --- a/website/pages/mr/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/mr/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: सबग्राफ मालकी हस्तांतरित क आलेख सबग्राफच्या मालकीच्या हस्तांतरणास समर्थन देतो. -जेव्हा तुम्ही मेननेटवर सबग्राफ उपयोजित करता, तेव्हा सबग्राफ उपयोजित केलेल्या पत्त्यावर NFT टाकला जाईल. NFT मानक ERC721 वर आधारित आहे, त्यामुळे ते वेगवेगळ्या खात्यांमध्ये सहजपणे हस्तांतरित केले जाऊ शकते. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. ज्याच्याकडे NFT आहे तो सबग्राफ नियंत्रित करतो. मालकाने NFT विकण्याचे किंवा ते हस्तांतरित करण्याचा निर्णय घेतल्यास, ते यापुढे नेटवर्कवरील त्या सबग्राफमध्ये संपादने किंवा अद्यतने करू शकणार नाहीत. From 40454022b00d6d6288bf37ee308a3290d301b264 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:03 -0400 Subject: [PATCH 0397/2326] New translations transferring-subgraph-ownership.mdx (Hindi) --- website/pages/hi/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/hi/managing/transferring-subgraph-ownership.mdx b/website/pages/hi/managing/transferring-subgraph-ownership.mdx index acb5a4174ffd..ab19726bc2b3 100644 --- a/website/pages/hi/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/hi/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: सबग्राफ स्वामित्व स्थानां ग्राफ़ सबग्राफ के स्वामित्व के हस्तांतरण का समर्थन करता है। -जब आप एक सबग्राफ को मेननेट पर तैनात करते हैं, तो एक एनएफटी को उस पते पर ढाला जाएगा जो सबग्राफ को तैनात करता है। NFT एक मानक ERC721 पर आधारित है, इसलिए इसे विभिन्न खातों में आसानी से स्थानांतरित किया जा सकता है। +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. जो कोई भी NFT का मालिक है, वह सबग्राफ को नियंत्रित करता है। अगर मालिक एनएफटी को बेचने या इसे स्थानांतरित करने का फैसला करता है, तो वे अब नेटवर्क पर उस सबग्राफ में संपादन या अपडेट करने में सक्षम नहीं होंगे। From d7084c1af358e75e1aef4e4e0b8fad8d3c14e283 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:04 -0400 Subject: [PATCH 0398/2326] New translations transferring-subgraph-ownership.mdx (Yoruba) --- website/pages/yo/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/yo/managing/transferring-subgraph-ownership.mdx b/website/pages/yo/managing/transferring-subgraph-ownership.mdx index 1ca1c621a9c9..83b5738d7734 100644 --- a/website/pages/yo/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/yo/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Transferring Subgraph Ownership The Graph supports the transfer of the ownership of a subgraph. -When you deploy a subgraph to mainnet, an NFT will be minted to the address that deployed the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. +When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. Whoever owns the NFT controls the subgraph. If the owner decides to sell the NFT, or transfer it, they will no longer be able to make edits or updates to that subgraph on the network. From 002b5d235d46640f07c0bc3291a9bbf27f4e35f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:05 -0400 Subject: [PATCH 0399/2326] New translations curating.mdx (Romanian) --- website/pages/ro/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/ro/network/curating.mdx b/website/pages/ro/network/curating.mdx index 797d9b9dd896..fb2107c53884 100644 --- a/website/pages/ro/network/curating.mdx +++ b/website/pages/ro/network/curating.mdx @@ -2,38 +2,31 @@ title: Curating --- -Curators are critical to the Graph decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through the Explorer, curators are able to view network data to make signaling decisions. The Graph Network rewards curators who signal on good quality subgraphs with a share of the query fees that subgraphs generate. Curators are economically incentivized to signal early. These cues from curators are important for Indexers, who can then process or index the data from these signaled subgraphs. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -When signaling, curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. When signaling using auto-migrate, a Curator’s shares will always be migrated to the latest version published by the developer. If you decide to signal on a specific version instead, shares will always stay on this specific version. +## What Does Signaling Mean for The Graph Network? -Remember that curation is risky. Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Bonding Curve 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -First, we take a step back. Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Price per shares](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -As a result, price increases linearly, meaning that it will get more expensive to purchase a share over time. Here’s an example of what we mean, see the bonding curve below: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Bonding curve](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Consider we have two curators that mint shares for a subgraph: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Curator A is the first to signal on the subgraph. By adding 120,000 GRT into the curve, they are able to mint 2000 shares. -- Curator B’s signal is on the subgraph at some point in time later. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. -- Since both curators hold half the total of curation shares, they would receive an equal amount of curator royalties. -- If any of the curators were now to burn their 2000 curation shares, they would receive 360,000 GRT. -- The remaining curator would now receive all the curator royalties for that subgraph. If they were to burn their shares to withdraw GRT, they would receive 120,000 GRT. -- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and the **price of each share decreases with each token sold.** - -In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. +![Explorer subgraphs](/img/explorer-subgraphs.png) ## How to Signal -Now that we’ve covered the basics about how the bonding curve works, this is how you will proceed to signal on a subgraph. Within the Curator tab on the Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in the Explorer, [click here.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) A curator can choose to signal on a specific subgraph version, or they can choose to have their signal automatically migrate to the newest production build of that subgraph. Both are valid strategies and come with their own pros and cons. @@ -41,47 +34,43 @@ Signaling on a specific version is especially useful when one subgraph is used b Having your signal automatically migrate to the newest production build can be valuable to ensure you keep accruing query fees. Every time you curate, a 1% curation tax is incurred. You will also pay a 0.5% curation tax on every migration. Subgraph developers are discouraged from frequently publishing new versions - they have to pay a 0.5% curation tax on all auto-migrated curation shares. -> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve, and also transfers tokens into the Graph proxy. - -## What does Signaling mean for The Graph Network? - -For end consumers to be able to query a subgraph, the subgraph must first be indexed. Indexing is a process where files, data, and metadata are looked at, cataloged, and then indexed so that results can be found faster. In order for a subgraph’s data to be searchable, it needs to be organized. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -And so, if Indexers had to guess which subgraphs they should index, there would be a low chance that they would earn robust query fees because they’d have no way of validating which subgraphs are good quality. Enter curation. +## Withdrawing your GRT -Curators make The Graph network efficient and signaling is the process that curators use to let Indexers know that a subgraph is good to index, where GRT is added to a bonding curve for a subgraph. Indexers can inherently trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. Curator signal is represented as ERC20 tokens called Graph Curation Shares (GCS). Curators that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators also earn fewer query fees if they choose to curate on a low-quality Subgraph since there will be fewer queries to process or fewer Indexers to process those queries. See the diagram below! +Curators have the option to withdraw their signaled GRT at any time. -![Signaling diagram](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Indexers can find subgraphs to index based on curation signals they see in The Graph Explorer (screenshot below). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Explorer subgraphs](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Risks 1. The query market is inherently young at The Graph and there is risk that your %APY may be lower than you expect due to nascent market dynamics. -2. Curation Fee - when a Curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. A subgraph can fail due to a bug. A failed subgraph does not accrue query fees. As a result, you’ll have to wait until the developer fixes the bug and deploys a new version. - If you are subscribed to the newest version of a subgraph, your shares will auto-migrate to that new version. This will incur a 0.5% curation tax. - - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. Note that you may receive more or less GRT than you initially deposited into the curation curve, which is a risk associated with being a curator. You can then signal on the new subgraph version, thus incurring a 1% curation tax. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Curation FAQs ### 1. What % of query fees do Curators earn? -By signalling on a subgraph, you will earn a share of all the query fees that this subgraph generates. 10% of all query fees goes to the Curators pro-rata to their curation shares. This 10% is subject to governance. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. How do I decide which subgraphs are high quality to signal on? Finding high-quality subgraphs is a complex task, but it can be approached in many different ways. As a Curator, you want to look for trustworthy subgraphs that are driving query volume. A trustworthy subgraph may be valuable if it is complete, accurate, and supports a dApp’s data needs. A poorly architected subgraph might need to be revised or re-published, and can also end up failing. It is critical for Curators to review a subgraph’s architecture or code in order to assess if a subgraph is valuable. As a result: - Curators can use their understanding of a network to try and predict how an individual subgraph may generate a higher or lower query volume in the future -- Curators should also understand the metrics that are available through The Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. What’s the cost of updating a subgraph? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curation shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because updating subgraphs is an on-chain action that costs gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. How often can I update my subgraph? @@ -89,7 +78,49 @@ It’s suggested that you don’t update your subgraphs too frequently. See the ### 5. Can I sell my curation shares? -Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve. As a Curator, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Bonding Curve 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Price per shares](/img/price-per-share.png) + +As a result, price increases linearly, meaning that it will get more expensive to purchase a share over time. Here’s an example of what we mean, see the bonding curve below: + +![Bonding curve](/img/bonding-curve.png) + +Consider we have two curators that mint shares for a subgraph: + +- Curator A is the first to signal on the subgraph. By adding 120,000 GRT into the curve, they are able to mint 2000 shares. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Since both curators hold half the total of curation shares, they would receive an equal amount of curator royalties. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- The remaining curator would now receive all the curator royalties for that subgraph. If they were to burn their shares to withdraw GRT, they would receive 120,000 GRT. +- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. Still confused? Check out our Curation video guide below: From cd08f9935c465063f055e472274e461b2e38ff53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:06 -0400 Subject: [PATCH 0400/2326] New translations curating.mdx (French) --- website/pages/fr/network/curating.mdx | 107 +++++++++++++++++--------- 1 file changed, 69 insertions(+), 38 deletions(-) diff --git a/website/pages/fr/network/curating.mdx b/website/pages/fr/network/curating.mdx index 776c6800d86c..f7b06fd56ac2 100644 --- a/website/pages/fr/network/curating.mdx +++ b/website/pages/fr/network/curating.mdx @@ -2,38 +2,31 @@ title: Curation --- -Les curateurs sont essentiels à l'économie décentralisée de The Graph. Ils utilisent leurs connaissances de l'écosystème web3 pour évaluer et signaler les subgraphs d'intérêt pour le réseau The Graph. Grâce à l'explorateur, les curateurs sont en mesure de visualiser les données du réseau afin de signaler un subgraph d'intérêt. Le réseau The Graph récompense les curateurs qui signalent des subgraphs de bonne qualité en leur versant une partie des frais de recherche que ces subgraphs génèrent. Les curateurs sont économiquement incités à signaler le plus tôt possible. Les signaux des curateurs sont importants pour les indexeurs, qui peuvent ensuite traiter ou indexer les données de ces subgraphs signalés. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -Lors de la signalisation, les curateurs peuvent décider de signaler sur une version spécifique du subgraph ou de signaler en utilisant l'auto-migration. Lors d'une signalisation utilisant la migration automatique, les partages d'un curateur seront toujours migrés vers la dernière version publiée par le développeur. Si vous décidez plutôt de signaler une version spécifique, les actions resteront toujours sur cette version spécifique. +## What Does Signaling Mean for The Graph Network? -N'oubliez pas que ce rôle est risqué. Assurez-vous de signaler des subgraphs auxquels vous faites confiance. La création d'un subgraph n'est pas soumise à autorisation. Les gens peuvent donc créer des subgraphs et leur donner le nom qu'ils veulent. Pour avoir de plus amples informations sur les risques des curateurs, consultez [le guide des curateurs de l'académie Graph.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Courbe de liaison 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -Tout d'abord, nous prenons du recul. Chaque subgraph a une courbe de liaison sur laquelle des actions de curation sont générées lorsqu'un utilisateur ajoute un signal **dans** la courbe. La courbe de liaison de chaque subgraph est unique. Les courbes de liaison sont conçues de manière à ce que le prix de la production d'une action de curation sur un subgraph augmente linéairement, en fonction du nombre d'actions frappées. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Prix des actions](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -Par conséquent, le prix augmente de façon linéaire, ce qui signifie qu'il est de plus en plus cher d'acheter une action au fil du temps. Voici un exemple de ce que nous entendons par là, voir la courbe de liaison ci-dessous : +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Courbe d'adhésion](/img/bonding-curve.png) - -Considérons que nous avons deux curateurs qui monnayent des actions pour un subgraph : +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -- Curator A is the first to signal on the subgraph. By adding 120,000 GRT into the curve, they are able to mint 2000 shares. -- Le signal du curateur B se trouve sur le subgraph à un moment ultérieur. Pour recevoir le même nombre d'actions que le curateur A, il devra ajouter 360 000 GRT à la courbe. -- Comme les deux curateurs détiennent la moitié du total des parts de curation, ils recevraient un montant égal de redevances de curateur. -- Si l'un des curateurs brûlait maintenant ses 2000 parts de curation, il recevrait 360 000 GRT. -- Le curateur restant recevrait alors toutes les redevances de curateur pour ce subgraph. S'il brûlait ses pièces pour retirer la GRT, il recevrait 120 000 GRT. -- **TLDR** : La valeur en GRT des parts de curation est déterminée par la courbe de liaison et peut-être volatile. Il est possible de subir de grosses pertes. Signer tôt signifie que vous investissez moins de GRT pour chaque action. Par extension, cela signifie que vous gagnez plus de redevances de curation par GRT que les curateurs ultérieurs pour le même subgraph. +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -En général, une courbe de liaison est une courbe mathématique qui définit la relation entre l'offre de jetons et le prix de l'actif. Dans le cas spécifique du signalememt de subgraphs, le **prix de chaque action de subgraph augmente avec chaque jeton investi** et le **prix de chaque action diminue avec chaque jeton vendu** +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -Dans le cas de The Graph, la [mise en œuvre par Bancor d'une formule de courbe de liaison](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) est exploitée. +![Les subgraphs d'exploration](/img/explorer-subgraphs.png) ## Comment signaler -Maintenant que nous avons couvert les bases du fonctionnement de la courbe de liaison, voici comment vous allez procéder pour signaler un subgraph. Dans l'onglet Curateur de l'Explorateur The Graph, les curateurs pourront signaler ou non certains subgraphs en fonction des statistiques du réseau. Pour un aperçu étape par étape de la façon de procéder dans l'explorateur, cliquez [ici.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) Un curateur peut choisir de signaler une version spécifique d'un sugraph ou de faire migrer automatiquement son signal vers la version de production la plus récente de ce subgraph. Ces deux stratégies sont valables et comportent leurs propres avantages et inconvénients. @@ -41,47 +34,43 @@ La signalisation sur une version spécifique est particulièrement utile lorsqu' La migration automatique de votre signal vers la version de production la plus récente peut s'avérer utile pour vous assurer que vous continuez à accumuler des frais de requête. Chaque fois que vous effectuez une curation, une taxe de curation de 1 % est appliquée. Vous paierez également une taxe de curation de 0,5 % à chaque migration. Les développeurs de subgraphs sont découragés de publier fréquemment de nouvelles versions - ils doivent payer une taxe de curation de 0,5 % sur toutes les parts de curation migrées automatiquement. -> **Remarque** : La première adresse à signaler un subgraph particulier est considérée comme le premier curateur et devra effectuer un travail beaucoup plus gourmand en gaz que les curateurs suivants, car le premier curateur initialise les jetons de curation, initialise la courbe de liaison et transfère également les jetons dans le proxy The Graph. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -## Que signifie « signaler un subgraph » pour le réseau The Graph ? +## Withdrawing your GRT -Pour que les consommateurs finaux puissent interroger un subgraph, celui-ci doit d'abord être indexé. L'indexation est un processus au cours duquel les fichiers, les données et les métadonnées sont examinés, catalogués, puis indexés afin que les résultats puissent être trouvés plus rapidement. Pour que les données d'un subgraph puissent être recherchées, elles doivent être organisées. +Curators have the option to withdraw their signaled GRT at any time. -Ainsi, si les indexeurs devaient deviner quels subgraphs ils devraient indexer, il y aurait peu de chances qu'ils gagnent des frais de requête robustes, car ils n'auraient aucun moyen de valider quels subgraphs sont de bonne qualité. C'est là qu'intervient la curation. +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Curators make The Graph network efficient and signaling is the process that curators use to let Indexers know that a subgraph is good to index, where GRT is added to a bonding curve for a subgraph. Indexers can inherently trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. Curator signal is represented as ERC20 tokens called Graph Curation Shares (GCS). Curators that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators also earn fewer query fees if they choose to curate on a low-quality Subgraph since there will be fewer queries to process or fewer Indexers to process those queries. See the diagram below! +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Diagramme de la signalisation](/img/curator-signaling.png) - -Les indexeurs peuvent trouver des subgraphs à indexer en fonction des signaux de curation qu'ils voient dans The Graph Explorer (capture d'écran ci-dessous). - -![Les subgraphs d'exploration](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Risques 1. Le marché des requêtes est intrinsèquement jeune chez The Graph et il y a un risque que votre %APY soit inférieur à vos attentes en raison de la dynamique naissante du marché. -2. Curation Fee - when a Curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. Un subgraph peut échouer à cause d'un bug. Un subgraph qui échoue n'accumule pas de frais de requête. Par conséquent, vous devrez attendre que le développeur corrige le bogue et déploie une nouvelle version. - Si vous êtes abonné à la version la plus récente d'un subgraph, vos parts migreront automatiquement vers cette nouvelle version. Cela entraînera une taxe de curation de 0,5 %. - - Si vous avez signalé sur une version spécifique du subgraph et que cela échoue, vous devrez brûler manuellement vos parts de curation. Notez que vous pouvez recevoir plus ou moins de GRT que ce que vous avez initialement déposé dans la courbe de curation, ce qui est un risque associé au statut de curateur. Vous pouvez alors signaler la nouvelle version du subgraph, ce qui entraîne une taxe de curation de 1%. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. -## Curation FAQs +## FAQs sur la Curation ### 1. Quel pourcentage des frais de requête les Curateurs perçoivent-ils? -En vous signalant sur un subgraph, vous gagnerez une part de tous les frais de requête que ce subgraph génère. 10% de tous les frais d'interrogation vont aux curateurs au prorata de leurs parts de curation. Ces 10% sont soumis à la gouvernance. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. Comment décider quels sont les subgraphs de haute qualité sur lesquels on peut émettre un signal ? -Finding high-quality subgraphs is a complex task, but it can be approached in many different ways. As a Curator, you want to look for trustworthy subgraphs that are driving query volume. A trustworthy subgraph may be valuable if it is complete, accurate, and supports a dApp’s data needs. A poorly architected subgraph might need to be revised or re-published, and can also end up failing. It is critical for Curators to review a subgraph’s architecture or code in order to assess if a subgraph is valuable. As a result: +Trouver des subgraphs de haute qualité est une tâche complexe, mais elle peut être abordée de plusieurs manières différentes. En tant que Curateur, vous voulez rechercher des subgraphs fiables qui génèrent un volume de requêtes. Un subgraph fiable peut être précieux s'il est complet, précis et répond aux besoins en données d'une dApp. Un subgraph mal architecturé pourrait nécessiter d'être révisé ou republié, et peut également échouer. Il est crucial pour les Curateurs d'examiner l'architecture ou le code d'un subgraph afin d'évaluer si un subgraph est précieux. En conséquence : - Les curateurs peuvent utiliser leur compréhension d'un réseau pour essayer de prédire comment un subgraph individuel peut générer un volume de requêtes plus ou moins élevé à l'avenir -- Les curateurs doivent également comprendre les mesures disponibles dans l'Explorateur The Graph. Des mesures telles que le volume de requêtes passées et l'identité du développeur du subgraph peuvent aider à déterminer si un subgraph mérite ou non d'être signalé. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. Quel est le coût de la mise à jour d'un subgraph ? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curation shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because updating subgraphs is an on-chain action that costs gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. À quelle fréquence puis-je mettre à jour mon subgraph ? @@ -89,7 +78,49 @@ Il est conseillé de ne pas mettre à jour vos subgraphs trop fréquemment. Voir ### 5. Puis-je vendre mes parts de curateurs ? -Les parts de curation ne peuvent pas être "achetées" ou "vendues" comme les autres jetons ERC20 que vous connaissez peut-être. Elles peuvent seulement être frappées (créées) ou brûlées (détruites) le long de la courbe de liaison pour un subgraph particulier. La quantité de GRT nécessaire pour frapper un nouveau signal, et la quantité de GRT que vous recevez lorsque vous brûlez votre signal existant sont déterminées par cette courbe de liaison. En tant que curateur, vous devez savoir que lorsque vous brûlez vos parts de curation pour retirer des GRT, vous pouvez vous retrouver avec plus ou moins de GRT que ce que vous aviez initialement déposé. Vous ne savez toujours pas quo. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Courbe de liaison 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Prix des actions](/img/price-per-share.png) + +Par conséquent, le prix augmente de façon linéaire, ce qui signifie qu'il est de plus en plus cher d'acheter une action au fil du temps. Voici un exemple de ce que nous entendons par là, voir la courbe de liaison ci-dessous : + +![Courbe de liaison](/img/bonding-curve.png) + +Considérons que nous avons deux curateurs qui monnayent des actions pour un subgraph : + +- Le curateur A est le premier à signaler sur le subgraph. En ajoutant 120 000 GRT dans la courbe, il est capable de frapper 2000 parts. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Comme les deux curateurs détiennent la moitié du total des parts de curation, ils recevraient un montant égal de redevances de curateur. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- Le curateur restant recevrait alors toutes les redevances de curateur pour ce subgraph. S'il brûlait ses pièces pour retirer la GRT, il recevrait 120 000 GRT. +- **TLDR** : La valeur en GRT des parts de curation est déterminée par la courbe de liaison et peut-être volatile. Il est possible de subir de grosses pertes. Signer tôt signifie que vous investissez moins de GRT pour chaque action. Par extension, cela signifie que vous gagnez plus de redevances de curation par GRT que les curateurs ultérieurs pour le même subgraph. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +Dans le cas de The Graph, la [mise en œuvre par Bancor d'une formule de courbe de liaison](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) est exploitée. Vous ne savez toujours pas où vous en êtes ? Regardez notre guide vidéo sur la curation ci-dessous : From afe3d34728dc832e76966306699a54f7333da7b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:07 -0400 Subject: [PATCH 0401/2326] New translations curating.mdx (Spanish) --- website/pages/es/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/es/network/curating.mdx b/website/pages/es/network/curating.mdx index d1287bd071b2..e8cdc12ea206 100644 --- a/website/pages/es/network/curating.mdx +++ b/website/pages/es/network/curating.mdx @@ -2,38 +2,31 @@ title: Curación --- -Los Curadores son fundamentales para la economía descentralizada de The Graph. Utilizan su conocimiento del ecosistema web3 para evaluar y señalar los subgrafos que deben ser indexados por The Graph Network. A través de Explorer, los Curadores pueden ver los datos de la red para tomar decisiones de señalización. The Graph Network recompensa a los Curadores que señalan subgrafos de buena calidad con una parte de las tarifas de consulta que generan los subgrafos. Los Curadores están incentivados económicamente para señalar pronto. Estas señales de los Curadores son importantes para los Indexadores, que pueden procesar o indexar los datos de estos subgrafos señalados. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -When signaling, curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. When signaling using auto-migrate, a Curator’s shares will always be migrated to the latest version published by the developer. If you decide to signal on a specific version instead, shares will always stay on this specific version. +## What Does Signaling Mean for The Graph Network? -Recuerda que la curación es riesgosa. Por favor, haz una investigación rigurosa para asegurarte de seleccionar los subgrafos en los que confie. Crear un subgrafo no requiere permiso, por lo que las personas pueden crear subgrafos y llamarlos con el nombre que deseen. Para obtener más orientación sobre los riesgos de la curación, consulte [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Bonding Curve 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -En primer lugar, damos un paso atrás. Cada subgrafo tiene una bonding curve en la que se acuñan las acciones de curación cuando un usuario añade una señal **en la** curva. La bonding curve de cada subgrafo es única. Las bonding curve están diseñadas para que el precio de acuñar una acción de curación en un subgrafo aumente linealmente, sobre el número de acciones acuñadas. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Precio por acciones](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -Como resultado, el precio aumenta linealmente, lo que significa que con el tiempo resultará más caro comprar una participación. A continuación, se muestra un ejemplo de lo que queremos decir; consulta la bonding curve a continuación: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Bonding curve](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Imagina que tenemos dos curadores que acuñan acciones para un subgrafo: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- El Curador A es el primero en señalar en el subgrafo. Al agregar 120.000 GRT en la curva, puede acuñar 2000 participaciones. -- El Curador B señala el subgrafo en algún momento posterior. Para recibir la misma cantidad participativa que el Curador A, este deberá agregar 360.000 GRT en la curva. -- Dado que ambos curadores poseen la mitad participativa de dicha curación, recibirían una cantidad igual en las recompensas por ser curador. -- Si alguno de los curadores quemara sus 2000 participaciones de curaduría, recibirían 360.000 GRT. -- El curador restante recibiría todas las recompensas en ese subgrafo. Si quemaran sus participaciones a fin de retirar sus GRT, recibirían 120.000 GRT. -- **TLDR (en resumen):** La valoración de GRT de las acciones de curación viene determinada por la bonding curva y puede ser volátil. Existe la posibilidad de incurrir grandes pérdidas. Señalar temprano significa que pones menos GRT por cada acción. Por extensión, esto significa que se ganan más derechos de curador por GRT que los curadores posteriores por el mismo subgrafo. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -En general, una bonding curva es una curva matemática que define la relación entre la oferta de tokens y el precio de los activos. Siendo específicos en la curación de subgrafos, **el precio de cada participación del subgrafo aumenta con cada token invertido** y el **precio de cada participación disminuye con cada token vendido.** - -En el caso de The Graph, se aprovecha [la implementación de una fórmula por parte de Bancor para la bonding curve](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). +![Subgrafos del Explorador](/img/explorer-subgraphs.png) ## Cómo señalar -Ahora que hemos cubierto lo básico sobre cómo funciona la bonding curve, así es como se procederá a señalar en un subgrafo. Dentro de la pestaña Curador en el Graph Explorer, los Curadores podrán señalar y dejar de señalar en ciertos subgrafos basados en las estadísticas de la red. Para ver un resumen paso a paso de cómo hacer esto en el Explorer, [haz click aqui.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) Un curador puede optar por señalar una versión especifica de un subgrafo, o puede optar por que su señal migre automáticamente a la versión de producción mas reciente de ese subgrafo. Ambas son estrategias válidas y tienen sus pros y sus contras. @@ -41,47 +34,43 @@ Señalar una versión específica es especialmente útil cuando un subgrafo es u Hacer que tu señal migre automáticamente a la más reciente compilación de producción puede ser valioso para asegurarse de seguir acumulando tarifas de consulta. Cada vez que curas, se incurre en un impuesto de curación del 1%. También pagarás un impuesto de curación del 0,5% en cada migración. Se desaconseja a los desarrolladores de Subgrafos que publiquen con frecuencia nuevas versiones - tienen que pagar un impuesto de curación del 0,5% en todas las acciones de curación auto-migradas. -> **Nota**: La primer dirección en señalar un subgrafo específico, se considera el primer curador, y éste tendrá que hacer un trabajo mucho más intenso en cuánto al gas, a diferencia del resto de los curadores que vengan después de él, esto debido a que el primer curador comienza los tokens participativos de la curación, inicia la bonding curve y también transfiere los tokens dentro del proxy de The Graph. - -## ¿Qué significa Señalar para The Graph Network? - -Para que los consumidores finales puedan consultar un subgrafo, primero se debe indexar el subgrafo. La indexación es un proceso en el que los archivos, los datos y los metadatos se examinan, catalogan y luego se indexan para que los resultados se puedan encontrar más rápido. Para que se puedan buscar los datos de un subgrafo, es necesario que esté organizado. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -Por lo tanto, si los Indexadores tuvieran que adivinar qué subgrafos deberían indexar, habría pocas posibilidades de que obtengan tarifas de consulta sólidas porque no tendrían forma de validar qué subgrafos son de buena calidad. Ingresa a la curación. +## Withdrawing your GRT -Los Curadores hacen que la red The Graph sea eficiente y la señalización es el proceso que utilizan los curadores para hacer saber a los Indexadores que un subgrafo es bueno para indexar, donde los GRT se añaden a una bonding curve para un subgrafo. Los Indexadores pueden confiar intrínsecamente en la señal de un curador porque al señalizar, los curadores acuñan una cuota de curación para el subgrafo, lo que les da derecho a una parte de las futuras tarifas de consulta que el subgrafo genere. La señal del curador se representa como tokens ERC20 llamados Graph Curation Shares (GCS). Los Curadores que quieran ganar más tarifas de consulta deben señalar con sus GRT a los subgrafos que prevean que generarán un fuerte flujo de tarifas a la red. Los Curadores no pueden ser recortados por su mal comportamiento, pero existe un impuesto de depósito sobre los Curadores para desincentivar la toma de malas decisiones que puedan dañar la integridad de la red. Los Curadores también ganan menos tarifas de consulta si deciden curar en un subgrafo de baja calidad, ya que habrá menos consultas que procesar o menos indexadores que procesen esas consultas. Mira el siguiente diagrama! +Curators have the option to withdraw their signaled GRT at any time. -![Diagrama de Señalización](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Los Indexadores pueden encontrar subgrafos para indexar en función de las señales de curación que ven en The Graph Explorer (captura de pantalla a continuación). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Subgrafos del Explorador](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Riesgos 1. El mercado de consultas es inherentemente joven en The Graph y existe el riesgo de que su APY (Rentabilidad anualizada) sea más bajo de lo esperado debido a la dinámica del mercado que recién está empezando. -2. Curation Fee - when a Curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. Cuando los Curadores queman sus acciones para retirar los GRT, se reducirá la participación de GRT de las acciones restantes. Ten en cuenta que, en algunos casos, los Curadores pueden decidir quemar sus acciones, **todas al mismo tiempo**. Esta situación puede ser común si un desarrollador de dApps deja de actualizar la aplicación, no sigue versionando o mejorandoo su subgrafo o si falla el mismo. Como resultado, es posible que los Curadores solo puedan retirar una fracción de sus GRT iniciales. Si buscas un rol dentro de la red que conlleve menos riesgos, consulta [Delegators](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. Un subgrafo puede fallar debido a un error. Un subgrafo fallido no acumula tarifas de consulta. Como resultado, tendrás que esperar hasta que el desarrollador corrija el error e implemente una nueva versión. - Si estás suscrito a la versión más reciente de un subgrafo, tus acciones se migrarán automáticamente a esa nueva versión. Esto incurrirá un impuesto de curación del 0.5%. - - Si has señalado en una versión de subgrafo específica y esta falla, tendrás que quemar manualmente tus acciones de curación. Ten en cuenta que puedes recibir más o menos GRT de los que depositaste inicialmente en la curva de curación, y esto es un riesgo que todo Curador acepta al empezar. Luego podrás firmar la nueva versión del subgrafo, incurriendo así un impuesto de curación del 1%. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Preguntas frecuentes sobre Curación ### 1. ¿Qué porcentaje de las tasas de consulta ganan los curadores? -Al señalar un subgrafo, ganarás parte de todas las tarifas de consulta que genera dicho subgrafo. El 10% de todas las tarifas de consulta va destinado a los Curadores y se distribuye en proporción a sus cuotas de curación. Este 10% está sujeto a gobernanza. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. ¿Cómo decido qué subgrafos son de alta calidad para señalar? Encontrar subgrafos de alta calidad es una tarea compleja, pero se puede abordar de muchas formas diferentes. Como Curador, quieres buscar subgrafos confiables que impulsen el volumen de consultas. Un subgrafo confiable puede ser valioso si es completo, preciso y respalda las necesidades de dicha dApp. Es posible que un subgrafo con una arquitectura deficiente deba revisarse o volver a publicarse, y también puede terminar fallando. Es fundamental que los Curadores revisen la arquitectura o el código de un subgrafo para evaluar si un subgrafo es valioso. Como resultado: - Los curadores pueden usar su conocimiento de una red para intentar predecir cómo un subgrafo puede generar un volumen de consultas mayor o menor a largo plazo -- Los Curadores también deben comprender las métricas que están disponibles a través de Graph Explorer. Las métricas como el volumen de consultas anteriores y quién es el desarrollador del subgrafo pueden ayudar a determinar si vale la pena señalar un subgrafo o no. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. What’s the cost of updating a subgraph? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curation shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because updating subgraphs is an on-chain action that costs gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. How often can I update my subgraph? @@ -89,7 +78,49 @@ It’s suggested that you don’t update your subgraphs too frequently. See the ### 5. ¿Puedo vender mis acciones de curación? -Las cuotas de un Curador no se pueden "comprar" o "vender" como otros tokens ERC20 con los que seguramente estás familiarizado. Solo pueden acuñarse o quemarse a lo largo de la bonding curve de un subgrafo en particular. La cantidad de GRT necesaria para acuñar una nueva señal y la cantidad de GRT que recibes cuando quemas tu señal existente, está determinada por esa bonding curve. Como Curador, debes saber que cuando quemas tus cuotas de curación para retirar GRT, puedes terminar con más o incluso con menos GRT de los que depositaste en un inicio. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Bonding Curve 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Precio por acciones](/img/price-per-share.png) + +Como resultado, el precio aumenta linealmente, lo que significa que con el tiempo resultará más caro comprar una participación. A continuación, se muestra un ejemplo de lo que queremos decir; consulta la bonding curve a continuación: + +![Bonding curve](/img/bonding-curve.png) + +Imagina que tenemos dos curadores que acuñan acciones para un subgrafo: + +- El Curador A es el primero en señalar en el subgrafo. Al agregar 120.000 GRT en la curva, puede acuñar 2000 participaciones. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Dado que ambos curadores poseen la mitad participativa de dicha curación, recibirían una cantidad igual en las recompensas por ser curador. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- El curador restante recibiría todas las recompensas en ese subgrafo. Si quemaran sus participaciones a fin de retirar sus GRT, recibirían 120.000 GRT. +- **TLDR (en resumen):** La valoración de GRT de las acciones de curación viene determinada por la bonding curva y puede ser volátil. Existe la posibilidad de incurrir grandes pérdidas. Señalar temprano significa que pones menos GRT por cada acción. Por extensión, esto significa que se ganan más derechos de curador por GRT que los curadores posteriores por el mismo subgrafo. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +En el caso de The Graph, se aprovecha [la implementación de una fórmula por parte de Bancor para la bonding curve](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). ¿Sigues confundido? Te invitamos a echarle un vistazo a nuestra guía en un vídeo que aborda todo sobre la curación: From c278ab9a981308b9c04f1f5247e24f5bc13c60ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:08 -0400 Subject: [PATCH 0402/2326] New translations curating.mdx (Arabic) --- website/pages/ar/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/ar/network/curating.mdx b/website/pages/ar/network/curating.mdx index 4793be612934..09b06f9e3476 100644 --- a/website/pages/ar/network/curating.mdx +++ b/website/pages/ar/network/curating.mdx @@ -2,38 +2,31 @@ title: Curating --- -Curators are critical to the Graph decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through the Explorer, curators are able to view network data to make signaling decisions. The Graph Network rewards curators who signal on good quality subgraphs with a share of the query fees that subgraphs generate. Curators are economically incentivized to signal early. These cues from curators are important for Indexers, who can then process or index the data from these signaled subgraphs. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -When signaling, curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. When signaling using auto-migrate, a Curator’s shares will always be migrated to the latest version published by the developer. If you decide to signal on a specific version instead, shares will always stay on this specific version. +## What Does Signaling Mean for The Graph Network? -تذكر أن عملية التنسيق محفوفة بالمخاطر. نتمنى أن تبذل قصارى جهدك وذلك لتنسق ال Subgraphs الموثوقة. إنشاء ال subgraphs لا يحتاج إلى ترخيص، لذلك يمكن للأشخاص إنشاء subgraphs وتسميتها بأي اسم يرغبون فيه. لمزيد من الإرشادات حول مخاطر التنسيق ، تحقق من[The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## منحنى الترابط 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -First, we take a step back. Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![سعر السهم](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -نتيجة لذلك ، يرتفع السعر بثبات ، مما يعني أنه سيكون شراء السهم أكثر تكلفة مع مرور الوقت. فيما يلي مثال لما نعنيه ، راجع منحنى الترابط أدناه: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![منحنى الترابط Bonding curve](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -ضع في اعتبارك أن لدينا منسقان يشتركان في Subgraph واحد: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- المنسق (أ) هو أول من أشار إلى ال Subgraphs. من خلال إضافة 120000 GRT إلى المنحنى ، سيكون من الممكن صك 2000 سهم. -- تظهر إشارة المنسق "ب" على ال Subgraph لاحقا. للحصول على نفس كمية حصص المنسق "أ" ، يجب إضافة 360000 GRT للمنحنى. -- لأن كلا من المنسقين يحتفظان بنصف إجمالي اسهم التنسيق ، فإنهم سيحصلان على قدر متساوي من عوائد المنسقين. -- إذا قام أي من المنسقين بحرق 2000 من حصص التنسيق الخاصة بهم ،فإنهم سيحصلون على 360000 GRT. -- سيحصل المنسق المتبقي على جميع عوائد المنسق لهذ ال subgraphs. وإذا قام بحرق حصته للحصول علىGRT ، فإنه سيحصل على 120.000 GRT. -- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and the **price of each share decreases with each token sold.** - -In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. +![مستكشف الفرعيةرسم بياني](/img/explorer-subgraphs.png) ## كيفية الإشارة -Now that we’ve covered the basics about how the bonding curve works, this is how you will proceed to signal on a subgraph. Within the Curator tab on the Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in the Explorer, [click here.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) يمكن للمنسق الإشارة إلى إصدار معين ل subgraph ، أو يمكنه اختيار أن يتم ترحيل migrate إشاراتهم تلقائيا إلى أحدث إصدار لهذا ال subgraph. كلاهما استراتيجيات سليمة ولها إيجابيات وسلبيات. @@ -41,47 +34,43 @@ Signaling on a specific version is especially useful when one subgraph is used b Having your signal automatically migrate to the newest production build can be valuable to ensure you keep accruing query fees. Every time you curate, a 1% curation tax is incurred. You will also pay a 0.5% curation tax on every migration. Subgraph developers are discouraged from frequently publishing new versions - they have to pay a 0.5% curation tax on all auto-migrated curation shares. -> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve, and also transfers tokens into the Graph proxy. - -## ماذا تعني الإشارة لشبكة The Graph؟ - -لكي يتمكن المستهلك من الاستعلام عن subgraph ، يجب أولا فهرسة ال subgraph. الفهرسة هي عملية يتم فيها النظر إلى الملفات، والبيانات، والبيانات الوصفية وفهرستها بحيث يمكن العثور على النتائج بشكل أسرع. يجب تنظيم بيانات ال subgraph لتكون قابلة للبحث فيها. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -وبالتالي ، إذا قام المفهرسون بتخمين ال subgraphs التي يجب عليهم فهرستها ، فستكون هناك فرصة منخفضة في أن يكسبوا رسوم استعلام جيدة لأنه لن يكون لديهم طريقة للتحقق من ال subgraphs ذات الجودة العالية. أدخل التنسيق. +## Withdrawing your GRT -Curators make The Graph network efficient and signaling is the process that curators use to let Indexers know that a subgraph is good to index, where GRT is added to a bonding curve for a subgraph. Indexers can inherently trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. Curator signal is represented as ERC20 tokens called Graph Curation Shares (GCS). Curators that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators also earn fewer query fees if they choose to curate on a low-quality Subgraph since there will be fewer queries to process or fewer Indexers to process those queries. See the diagram below! +Curators have the option to withdraw their signaled GRT at any time. -![مخطط التأشير مخطط الإشارات](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -يمكن للمفهرسين العثور على subgraphs لفهرستها وذلك بناء على إشارات التنسيق التي يرونها في The Graph Explorer (لقطة الشاشة أدناه). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![مستكشف الفرعيةرسم بياني](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## المخاطر 1. سوق الاستعلام يعتبر حديثا في The Graph وهناك خطر من أن يكون٪ APY الخاص بك أقل مما تتوقع بسبب ديناميكيات السوق الناشئة. -2. Curation Fee - when a Curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. يمكن أن يفشل ال subgraph بسبب خطأ. ال subgraph الفاشل لا يمكنه إنشاء رسوم استعلام. نتيجة لذلك ، سيتعين عليك الانتظار حتى يصلح المطور الخطأ وينشر إصدارا جديدا. - إذا كنت مشتركا في أحدث إصدار من subgraph ، فسيتم ترحيل migrate أسهمك تلقائيا إلى هذا الإصدار الجديد. هذا سيتحمل ضريبة تنسيق بنسبة 0.5٪. - - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. Note that you may receive more or less GRT than you initially deposited into the curation curve, which is a risk associated with being a curator. You can then signal on the new subgraph version, thus incurring a 1% curation tax. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## الأسئلة الشائعة حول التنسيق ### 1. ما هي النسبة المئوية لرسوم الاستعلام التي يكسبها المنسقون؟ -By signalling on a subgraph, you will earn a share of all the query fees that this subgraph generates. 10% of all query fees goes to the Curators pro-rata to their curation shares. This 10% is subject to governance. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. كيف يمكنني تقرير ما إذا كان ال subgraph عالي الجودة لكي أقوم بالإشارة إليه؟ Finding high-quality subgraphs is a complex task, but it can be approached in many different ways. As a Curator, you want to look for trustworthy subgraphs that are driving query volume. A trustworthy subgraph may be valuable if it is complete, accurate, and supports a dApp’s data needs. A poorly architected subgraph might need to be revised or re-published, and can also end up failing. It is critical for Curators to review a subgraph’s architecture or code in order to assess if a subgraph is valuable. As a result: - يمكن للمنسقين استخدام فهمهم للشبكة لمحاولة التنبؤ كيف لل subgraph أن يولد حجم استعلام أعلى أو أقل في المستقبل -- Curators should also understand the metrics that are available through The Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. What’s the cost of updating a subgraph? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curation shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because updating subgraphs is an on-chain action that costs gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. How often can I update my subgraph? @@ -89,7 +78,49 @@ It’s suggested that you don’t update your subgraphs too frequently. See the ### 5. هل يمكنني بيع أسهم التنسيق الخاصة بي؟ -Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve. As a Curator, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## منحنى الترابط 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![سعر السهم](/img/price-per-share.png) + +نتيجة لذلك ، يرتفع السعر بثبات ، مما يعني أنه سيكون شراء السهم أكثر تكلفة مع مرور الوقت. فيما يلي مثال لما نعنيه ، راجع منحنى الترابط أدناه: + +![منحنى الترابط Bonding curve](/img/bonding-curve.png) + +ضع في اعتبارك أن لدينا منسقان يشتركان في Subgraph واحد: + +- المنسق (أ) هو أول من أشار إلى ال Subgraphs. من خلال إضافة 120000 GRT إلى المنحنى ، سيكون من الممكن صك 2000 سهم. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- لأن كلا من المنسقين يحتفظان بنصف إجمالي اسهم التنسيق ، فإنهم سيحصلان على قدر متساوي من عوائد المنسقين. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- سيحصل المنسق المتبقي على جميع عوائد المنسق لهذ ال subgraphs. وإذا قام بحرق حصته للحصول علىGRT ، فإنه سيحصل على 120.000 GRT. +- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. لازلت مشوشا؟ راجع فيديو دليل التنسيق أدناه: From dde01abc41a5210c3b88e626b56d44daca65339a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:08 -0400 Subject: [PATCH 0403/2326] New translations curating.mdx (Czech) --- website/pages/cs/network/curating.mdx | 105 +++++++++++++++++--------- 1 file changed, 68 insertions(+), 37 deletions(-) diff --git a/website/pages/cs/network/curating.mdx b/website/pages/cs/network/curating.mdx index c9ced1831766..7b10db17c678 100644 --- a/website/pages/cs/network/curating.mdx +++ b/website/pages/cs/network/curating.mdx @@ -2,38 +2,31 @@ title: Kurátorování --- -Kurátoři mají pro graf decentralizovanou ekonomiku zásadní význam. Využívají své znalosti ekosystému web3 k posuzování a signalizaci podgrafů, které by měly být indexovány sítí Graf. Prostřednictvím Průzkumníka mohou kurátoři prohlížet data sítě a rozhodovat o signalizaci. síť Graf odměňuje kurátory, kteří signalizují kvalitní podgrafy, podílem na poplatcích za dotazy, které podgrafy generují. Kurátoři jsou ekonomicky motivováni k včasné signalizaci. Tyto signály od kurátorů jsou důležité pro indexátory, kteří pak mohou zpracovávat nebo indexovat data z těchto signalizovaných podgrafů. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -Při signalizaci se kurátoři mohou rozhodnout, zda budou signalizovat na konkrétní verzi podgrafu, nebo zda budou signalizovat pomocí automatické migrace. Při signalizaci pomocí automatické migrace budou sdílení kurátora vždy migrována na nejnovější verzi zveřejněnou vývojářem. Pokud se místo toho rozhodnete signalizovat na konkrétní verzi, zůstanou sdílené položky vždy na této konkrétní verzi. +## What Does Signaling Mean for The Graph Network? -Nezapomeňte, že kurátorství je riskantní. Dbejte na to, abyste se ujistili, že kurátorství probíhá na podgraf, kterým důvěřujete. Vytváření podgrafů je bez oprávnění, takže lidé mohou vytvářet podgrafy a pojmenovávat je, jak chtějí. Další pokyny k rizikům kurátorství naleznete v [Průvodci kurátorstvím Akademie grafů.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Křivka lepení 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -Nejprve se vrátíme o krok zpět. Každý podgraf má vazební křivku, na které se razí kurátorské podíly, když uživatel přidá signál **do** křivky. Vazbová křivka každého podgrafu je jedinečná. Spojovací křivky jsou konstruovány tak, že cena za ražbu kurátorského podílu na podgrafu lineárně roste v závislosti na počtu ražených podílů. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Cena za akcii](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -V důsledku toho se cena lineárně zvyšuje, což znamená, že nákup akcie bude v průběhu času dražší. Zde je příklad toho, co máme na mysli, viz níže uvedená vazební křivka: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Křivka lepení](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Uvažujme, že máme dva kurátory, kteří mintují podíly pro podgraf +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Kurátor A signalizuje jako první na podgrafu. Přidáním 120,000 GRT do křivky se jim podaří vydolovat 2000 akcií. -- Signál kurátora B se na podgrafu objeví v určitém časovém okamžiku později. Aby získal stejné množství podílů jako kurátor A, musel by do křivky přidat 360,000 GRT. -- Vzhledem k tomu, že oba kurátoři mají polovinu všech kurátorských podílů, dostávali by stejnou částku kurátorských honorářů. -- Pokud by nyní některý z kurátorů spálil svých 2000 kurátorských podílů, získal by 360,000 GRT. -- Zbývající kurátor by nyní obdržel všechny kurátorské honoráře za tento podgraf. Pokud by své podíly spálili a vybrali GRT, získali by 120,000 GRT. -- **TLDR:** Ocenění kurátorských akcií GRT je určeno vazebnou křivkou a může být volatilní. Existuje potenciál pro vznik velkých ztrát. Včasná signalizace znamená, že do každé akcie vložíte méně GRT. V důsledku to znamená, že vyděláte více kurátorských poplatků za GRT než pozdější kurátoři za stejný podgraf. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -Obecně je vazební křivka matematická křivka, která definuje vztah mezi nabídkou žetonů a cenou aktiva. V konkrétním případě kurátorství podgrafu **cena každé akcie podgrafu roste s každým investovaným tokenem** a **cena každé akcie klesá s každým prodaným tokenem.** - -V případě Grafu se využívá [Bankorova implementace vzorce vazební křivky](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). +![Podgrafy průzkumníka](/img/explorer-subgraphs.png) ## Jak signalizovat -Nyní, když jsme se seznámili se základy fungování vazební křivky, budete postupovat tak, že budete signalizovat na podgrafu. V rámci karty Kurátor v Průzkumníku grafu budou moci kurátoři signalizovat a nesignalizovat na určitých podgrafech na základě statistik sítě. Přehled postupu v Průzkumníku krok za krokem naleznete [kliknutím zde.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) Kurátor si může zvolit, zda bude signalizovat na konkrétní verzi podgrafu, nebo zda se jeho signál automaticky přenese na nejnovější produkční sestavení daného podgrafu. Obě strategie jsou platné a mají své výhody i nevýhody. @@ -41,47 +34,43 @@ Signalizace na konkrétní verzi je užitečná zejména tehdy, když jeden podg Automatická migrace signálu na nejnovější produkční sestavení může být cenná, protože zajistí, že se poplatky za dotazy budou neustále zvyšovat. Při každém kurátorství se platí 1% kurátorský poplatek. Při každé migraci také zaplatíte 0,5% kurátorskou daň. Vývojáři podgrafu jsou odrazováni od častého publikování nových verzí - musí zaplatit 0.5% kurátorskou daň ze všech automaticky migrovaných kurátorských podílů. -> **Poznámka**: První adresa, která signalizuje určitý podgraf, je považována za prvního kurátora a bude muset vykonat mnohem více práce s plynem než ostatní následující kurátoři, protože první kurátor inicializuje tokeny sdílení kurátorů, inicializuje vazební křivku a také přenáší tokeny do Graf proxy. - -## Co znamená signalizace pro síť Graf? - -Aby se koncoví uživatelé mohli dotazovat na podgraf, musí být podgraf nejprve indexován. Indexování je proces, při kterém jsou soubory, data a metadata prohlédnuty, katalogizovány a poté indexovány, aby bylo možné rychleji nalézt výsledky. Aby bylo možné v datech podgrafu vyhledávat, je třeba je uspořádat. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -Pokud by tedy indexátoři museli hádat, které podgrafy mají indexovat, byla by malá šance, že získají solidní poplatky za dotazy, protože by neměli možnost ověřit, které podgrafy jsou kvalitní. Nastupuje kurátorství. +## Withdrawing your GRT -Kurátoři zefektivňují síť grafů a signalizace je proces, který kurátoři používají k tomu, aby dali indexátorům vědět, že podgraf je vhodné indexovat, přičemž GRT se přidává k vazební křivce podgrafu. Indexátoři mohou ze své podstaty důvěřovat signálu od kurátora, protože při signalizaci kurátoři vybírají podíl na kurátorství pro podgraf, který je opravňuje k části budoucích poplatků za dotazy, které podgraf vyvolá. Signál kurátora je reprezentován jako tokeny ERC20 nazývané Graph Curation Shares (GCS). Kurátoři, kteří chtějí získat více poplatků za dotazování, by měli signalizovat své GRT podgrafům, u nichž předpokládají, že budou generovat silný tok poplatků do sítě. Kurátoři nemohou být kráceni za špatné chování, ale existuje daň z vkladů pro kurátory, která má odradit od špatného rozhodování, jež by mohlo poškodit integritu sítě. Kurátoři také vydělají méně poplatků za dotazy, pokud se rozhodnou kurátorovat na nekvalitním podgrafu, protože bude méně dotazů ke zpracování nebo méně indexátorů, kteří budou tyto dotazy zpracovávat. Podívejte se na diagram níže! +Curators have the option to withdraw their signaled GRT at any time. -![Signalizační diagram](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Indexátoři mohou najít podgrafy k indexování na základě kurátorských signálů, které vidí v Průzkumníku grafů (obrázek níže). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Podgrafy průzkumníka](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Rizika 1. Trh s dotazy je v Graf ze své podstaty mladý a existuje riziko, že vaše %APY může být nižší, než očekáváte, v důsledku dynamiky rodícího se trhu. -2. Kurátorský poplatek - když kurátor signalizuje GRT na podgrafu, platí 1% kurátorský poplatek. Tento poplatek se spálí a zbytek se uloží do rezervní zásoby vazební křivky. -3. Když kurátoři spálí své podíly za účelem výběru GRT, sníží se ocenění GRT zbývajících podílů. Uvědomte si, že v některých případech se kurátoři mohou rozhodnout spálit své podíly **všechny najednou**. Tato situace může být běžná, pokud vývojář dApp přestane verzovat/vylepšovat a dotazovat se na svůj podgraf nebo pokud podgraf selže. V důsledku toho mohou být zbývající kurátoři schopni vybrat pouze zlomek svého původního GRT. Síťovou roli s nižším rizikovým profilem naleznete v části [Delegátoři](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. Podgraf může selhat kvůli chybě. Za neúspěšný podgraf se neúčtují poplatky za dotaz. V důsledku toho budete muset počkat, až vývojář chybu opraví a nasadí novou verzi. - Pokud jste přihlášeni k odběru nejnovější verze podgrafu, vaše sdílené položky se automaticky přemigrují na tuto novou verzi. Při tom bude účtována 0,5% kurátorská daň. - - Pokud jste signalizovali na konkrétní verzi podgrafu a nepodařilo se to, budete muset ručně vypálit sdílení kurátorů. Všimněte si, že můžete obdržet více nebo méně GRT, než jste původně vložili do kurátorského podílu, což je riziko spojené s funkcí kurátora. Poté můžete signalizovat na nové verzi podgrafu, čímž vám vznikne 1% daň z kurátorství. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Nejčastější dotazy ke kurátorství ### 1. Kolik % z poplatků za dotazy kurátoři vydělávají? -Signalizací na podgrafu získáte podíl ze všech poplatků za dotazy, které tento podgraf vygeneruje. 10 % všech poplatků za dotazy připadá kurátorům poměrně k jejich podílům na kurátorství. Těchto 10 % podléhá správě. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. Jak se rozhodnu, které podgrafy jsou kvalitní a na kterých je třeba signalizovat? Nalezení kvalitních podgrafů je složitý úkol, ale lze k němu přistupovat mnoha různými způsoby. Jako kurátor chcete hledat důvěryhodné podgrafy, které jsou zdrojem objemu dotazů. Důvěryhodný podgraf může být cenný, pokud je úplný, přesný a podporuje datové potřeby dApp. Špatně navržený podgraf může vyžadovat revizi nebo opětovné zveřejnění a může také skončit neúspěchem. Pro kurátory je zásadní, aby přezkoumali architekturu nebo kód podgrafu, aby mohli posoudit, zda je podgraf hodnotný. V důsledku toho: - Kurátoři mohou využít své znalosti sítě k tomu, aby se pokusili předpovědět, jak může jednotlivý podgraf v budoucnu generovat vyšší nebo nižší objem dotazů -- Kurátoři by také měli rozumět metrikám, které jsou k dispozici prostřednictvím nástroje na graf Explorer. Metriky, jako je objem dotazů v minulosti a kdo je tvůrcem podgrafu, mohou pomoci určit, zda stojí za to podgraf signalizovat. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. Jaké jsou náklady na aktualizaci podgrafu? -Při migraci podílů kurátorů na novou verzi podgrafů se účtuje kurátorská daň ve výši 1 %. Kurátoři se mohou rozhodnout, že si předplatí nejnovější verzi podgrafu. Při automatické migraci sdílení kurátorů na novou verzi zaplatí kurátoři také polovinu kurátorské daně, tj. 0,5 %, protože aktualizace podgrafů je akce na řetězci, která stojí plyn. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. Jak často mohu svůj podgraf aktualizovat? @@ -89,8 +78,50 @@ Doporučujeme, abyste podgrafy neaktualizovali příliš často. Další podrobn ### 5. Mohu prodat své kurátorské podíly? -Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve. As a Curator, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Křivka lepení 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Cena za akcii](/img/price-per-share.png) + +V důsledku toho se cena lineárně zvyšuje, což znamená, že nákup akcie bude v průběhu času dražší. Zde je příklad toho, co máme na mysli, viz níže uvedená vazební křivka: + +![Křivka lepení](/img/bonding-curve.png) + +Uvažujme, že máme dva kurátory, kteří mintují podíly pro podgraf + +- Kurátor A signalizuje jako první na podgrafu. Přidáním 120,000 GRT do křivky se jim podaří vydolovat 2000 akcií. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Vzhledem k tomu, že oba kurátoři mají polovinu všech kurátorských podílů, dostávali by stejnou částku kurátorských honorářů. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- Zbývající kurátor by nyní obdržel všechny kurátorské honoráře za tento podgraf. Pokud by své podíly spálili a vybrali GRT, získali by 120,000 GRT. +- **TLDR:** Ocenění kurátorských akcií GRT je určeno vazebnou křivkou a může být volatilní. Existuje potenciál pro vznik velkých ztrát. Včasná signalizace znamená, že do každé akcie vložíte méně GRT. V důsledku to znamená, že vyděláte více kurátorských poplatků za GRT než pozdější kurátoři za stejný podgraf. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +V případě Grafu se využívá [Bankorova implementace vzorce vazební křivky](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). -Still confused? Check out our Curation video guide below: +Stále jste zmateni? Podívejte se na našeho videoprůvodce kurátorstvím níže From 15bf6df4bd83436d3635476be8be99f06f0c287a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:09 -0400 Subject: [PATCH 0404/2326] New translations curating.mdx (German) --- website/pages/de/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/de/network/curating.mdx b/website/pages/de/network/curating.mdx index 797d9b9dd896..fb2107c53884 100644 --- a/website/pages/de/network/curating.mdx +++ b/website/pages/de/network/curating.mdx @@ -2,38 +2,31 @@ title: Curating --- -Curators are critical to the Graph decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through the Explorer, curators are able to view network data to make signaling decisions. The Graph Network rewards curators who signal on good quality subgraphs with a share of the query fees that subgraphs generate. Curators are economically incentivized to signal early. These cues from curators are important for Indexers, who can then process or index the data from these signaled subgraphs. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -When signaling, curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. When signaling using auto-migrate, a Curator’s shares will always be migrated to the latest version published by the developer. If you decide to signal on a specific version instead, shares will always stay on this specific version. +## What Does Signaling Mean for The Graph Network? -Remember that curation is risky. Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Bonding Curve 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -First, we take a step back. Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Price per shares](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -As a result, price increases linearly, meaning that it will get more expensive to purchase a share over time. Here’s an example of what we mean, see the bonding curve below: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Bonding curve](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Consider we have two curators that mint shares for a subgraph: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Curator A is the first to signal on the subgraph. By adding 120,000 GRT into the curve, they are able to mint 2000 shares. -- Curator B’s signal is on the subgraph at some point in time later. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. -- Since both curators hold half the total of curation shares, they would receive an equal amount of curator royalties. -- If any of the curators were now to burn their 2000 curation shares, they would receive 360,000 GRT. -- The remaining curator would now receive all the curator royalties for that subgraph. If they were to burn their shares to withdraw GRT, they would receive 120,000 GRT. -- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and the **price of each share decreases with each token sold.** - -In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. +![Explorer subgraphs](/img/explorer-subgraphs.png) ## How to Signal -Now that we’ve covered the basics about how the bonding curve works, this is how you will proceed to signal on a subgraph. Within the Curator tab on the Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in the Explorer, [click here.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) A curator can choose to signal on a specific subgraph version, or they can choose to have their signal automatically migrate to the newest production build of that subgraph. Both are valid strategies and come with their own pros and cons. @@ -41,47 +34,43 @@ Signaling on a specific version is especially useful when one subgraph is used b Having your signal automatically migrate to the newest production build can be valuable to ensure you keep accruing query fees. Every time you curate, a 1% curation tax is incurred. You will also pay a 0.5% curation tax on every migration. Subgraph developers are discouraged from frequently publishing new versions - they have to pay a 0.5% curation tax on all auto-migrated curation shares. -> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve, and also transfers tokens into the Graph proxy. - -## What does Signaling mean for The Graph Network? - -For end consumers to be able to query a subgraph, the subgraph must first be indexed. Indexing is a process where files, data, and metadata are looked at, cataloged, and then indexed so that results can be found faster. In order for a subgraph’s data to be searchable, it needs to be organized. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -And so, if Indexers had to guess which subgraphs they should index, there would be a low chance that they would earn robust query fees because they’d have no way of validating which subgraphs are good quality. Enter curation. +## Withdrawing your GRT -Curators make The Graph network efficient and signaling is the process that curators use to let Indexers know that a subgraph is good to index, where GRT is added to a bonding curve for a subgraph. Indexers can inherently trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. Curator signal is represented as ERC20 tokens called Graph Curation Shares (GCS). Curators that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators also earn fewer query fees if they choose to curate on a low-quality Subgraph since there will be fewer queries to process or fewer Indexers to process those queries. See the diagram below! +Curators have the option to withdraw their signaled GRT at any time. -![Signaling diagram](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Indexers can find subgraphs to index based on curation signals they see in The Graph Explorer (screenshot below). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Explorer subgraphs](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Risks 1. The query market is inherently young at The Graph and there is risk that your %APY may be lower than you expect due to nascent market dynamics. -2. Curation Fee - when a Curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. A subgraph can fail due to a bug. A failed subgraph does not accrue query fees. As a result, you’ll have to wait until the developer fixes the bug and deploys a new version. - If you are subscribed to the newest version of a subgraph, your shares will auto-migrate to that new version. This will incur a 0.5% curation tax. - - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. Note that you may receive more or less GRT than you initially deposited into the curation curve, which is a risk associated with being a curator. You can then signal on the new subgraph version, thus incurring a 1% curation tax. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Curation FAQs ### 1. What % of query fees do Curators earn? -By signalling on a subgraph, you will earn a share of all the query fees that this subgraph generates. 10% of all query fees goes to the Curators pro-rata to their curation shares. This 10% is subject to governance. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. How do I decide which subgraphs are high quality to signal on? Finding high-quality subgraphs is a complex task, but it can be approached in many different ways. As a Curator, you want to look for trustworthy subgraphs that are driving query volume. A trustworthy subgraph may be valuable if it is complete, accurate, and supports a dApp’s data needs. A poorly architected subgraph might need to be revised or re-published, and can also end up failing. It is critical for Curators to review a subgraph’s architecture or code in order to assess if a subgraph is valuable. As a result: - Curators can use their understanding of a network to try and predict how an individual subgraph may generate a higher or lower query volume in the future -- Curators should also understand the metrics that are available through The Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. What’s the cost of updating a subgraph? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curation shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because updating subgraphs is an on-chain action that costs gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. How often can I update my subgraph? @@ -89,7 +78,49 @@ It’s suggested that you don’t update your subgraphs too frequently. See the ### 5. Can I sell my curation shares? -Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve. As a Curator, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Bonding Curve 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Price per shares](/img/price-per-share.png) + +As a result, price increases linearly, meaning that it will get more expensive to purchase a share over time. Here’s an example of what we mean, see the bonding curve below: + +![Bonding curve](/img/bonding-curve.png) + +Consider we have two curators that mint shares for a subgraph: + +- Curator A is the first to signal on the subgraph. By adding 120,000 GRT into the curve, they are able to mint 2000 shares. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Since both curators hold half the total of curation shares, they would receive an equal amount of curator royalties. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- The remaining curator would now receive all the curator royalties for that subgraph. If they were to burn their shares to withdraw GRT, they would receive 120,000 GRT. +- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. Still confused? Check out our Curation video guide below: From c5fa57d1dd12e1af7363780a9a82e4bb407fdca0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:10 -0400 Subject: [PATCH 0405/2326] New translations curating.mdx (Italian) --- website/pages/it/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/it/network/curating.mdx b/website/pages/it/network/curating.mdx index 4711c0475bfb..20cb357b49b0 100644 --- a/website/pages/it/network/curating.mdx +++ b/website/pages/it/network/curating.mdx @@ -2,38 +2,31 @@ title: Curating --- -I Curator sono fondamentali per l'economia decentralizzata di The Graph. Usano la loro conoscenza dell'ecosistema web3 per valutare e segnalare i subgraph che dovrebbero essere indicizzati da The Graph Network. Attraverso l'Explorer, i curatori possono visualizzare i dati della rete per prendere decisioni di segnalazione. La rete di The Graph ricompensa i curatori che segnalano sui subgraph di buona qualità con una quota delle tariffe di query generate dai subgraph. I Curator sono economicamente incentivati a segnalare tempestivamente. Le indicazioni dei Curator sono importanti per gli Indexer, che possono elaborare o indicizzare i dati di questi subgraph segnalati. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -Quando segnalano, i curator possono decidere di segnalare su una versione specifica del subgraph o di segnalare usando l'auto-migrazione. Quando si segnala usando l'auto-migrazione, la quota di un Curator sara sempre migrata all'ultima versione pubblicata dallo sviluppatore. Se invece si decide di segnalare su una versione specifica, la quota rimarra sempre su questa versione specifica. +## What Does Signaling Mean for The Graph Network? -Ricordate che la curation è rischiosa. Si prega di fare attenzione ad assicurarsi di curare i subgraph di cui ci si fida. La creazione di un subgraph è priva di autorizzazioni, quindi le persone possono creare subgraph e chiamarli con il nome che preferiscono. Per maggiori informazioni sui rischi della curation, consultare [La Guida alla curation di The Graph Academy.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Bonding Curve 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -Per prima cosa, facciamo un passo indietro. Ogni subgraph ha una curva di legame sulla quale vengono coniate le quote di curation quando un utente aggiunge un segnale **alla** curva. La curva di legame di ogni subgraph è unica. Le curve di legame sono strutturate in modo che il prezzo per coniare una quota di curation su un subgraph aumenti linearmente rispetto al numero di quote coniate. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Prezzo per quote di partecipazione](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -Di conseguenza, il prezzo aumenta linearmente, il che significa che l'acquisto di una quota diventerà più costoso nel tempo. Ecco un esempio di ciò che intendiamo, vedi la curva di legame qui sotto: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Curva di legame](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Si consideri che abbiamo due curation che coniano quote di partecipazione per un subgraph: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Il curator A è il primo a segnalare il subgraph. Aggiungendo 120,000 GRT alla curva, riesce a coniarne 2000 quote di partecipazione. -- Il segnale del Curator B si trova sul subgraph in un momento successivo. Per ricevere la stessa quantità di quote di partecipazione come Curator A, dovrebbe aggiungere 360.000 GRT nella curva. -- Dal momento che entrambi i curator detengono la metà del totale delle quote di curation, riceveranno una quantità uguale di royalties di curation. -- Se uno qualsiasi dei curator bruciasse ora le sue 2000 quote di curation, riceverebbe 360.000 GRT. -- Il curator rimanente riceverebbe ora tutte le royalties di curation per quel subgraph. Se dovessero bruciare le loro quote per ritirare GRT, riceverebbero 120.000 GRT. -- **TLDR:** La valutazione del GRT delle quote di curation è determinata dalla curva di legame e può essere volatile. È possibile subire grosse perdite. Segnalare in anticipo significa investire meno GRT per ogni quota di partecipazione. Per estensione, ciò significa che si guadagnano più royalties di curation per GRT rispetto ai curator successivi per lo stesso subgraph. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -In generale, una curva di legame è una curva matematica che definisce la relazione tra l'offerta di token e il prezzo dell'asset. Nel caso specifico della subgraph curation, **il prezzo di ogni quota di partecipazione del subgraph aumenta con ogni token investito** e il **prezzo di ogni quota di partecipazione diminuisce con ogni token venduto.** - -Nel caso di The Graph, [l'implementazione da parte di Bancor della formula della curva di legame](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) viene sfruttata. +![Subgraph Explorer](/img/explorer-subgraphs.png) ## Come segnalare -Dopo aver trattato le nozioni fondamentali sul funzionamento della curva di legame, ecco come procedere per segnalare su un subgraph. All'interno della scheda di Curator su the Graph Explorer, i curator saranno in grado di segnale e non segnale su certi subgraph in base alle statistiche di rete. Per una panoramica passo-dopo-passo su come effettuare questa operazione su Explorer, [cliccare qui.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) Un curator può scegliere di segnalare su una versione specifica del subgraph, oppure può scegliere di far migrare automaticamente il proprio segnale alla versione di produzione più recente di quel subgraph. Entrambe le strategie sono valide e hanno i loro pro e contro. @@ -41,47 +34,43 @@ La segnalazione di una versione specifica è particolarmente utile quando un sub La migrazione automatica del segnale alla più recente versione di produzione può essere utile per garantire l'accumulo di tariffe di query. Ogni volta che si effettua una curation, si paga una tassa di curation del 1%. Si pagherà anche una tassa di curation del 0,5% per ogni migrazione. Gli sviluppatori di subgraph sono scoraggiati dal pubblicare frequentemente nuove versioni: devono pagare una tassa di curation del 0,5% su tutte le quote di curation auto-migrate. -> **Nota**: Il primo indirizzo che segnala un particolare subgraph è considerato il primo curator e dovrà svolgere un lavoro molto più intenso di gas rispetto agli altri curator successivi, perché il primo curator inizializza i token della quota di curation, inizializza la b e trasferisce anche i token nel Graph proxy. - -## Cosa significa segnalazione per The Graph Network? - -Per i consumatori finali per poter interrogare un subgraph, il subgraph deve essere prima indicizzato. L'indicizzazione è un processo in cui i file, i dati e i metadati vengono esaminati, catalogati e quindi indicizzati, in modo che i risultati possono essere trovati più rapidamente. Per i dati di un subgraph per essere ricercabili, loro devono essere organizzati. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -Quindi, se gli indicizzatori dovessero indovinare quali subgraph indicizzare, ci sarebbe una bassa possibilità di guadagnare robuste tariffe per query, perché non avrebbero modo di convalidare quali subgraph sono di buona qualità. Entra in gioco la curation. +## Withdrawing your GRT -I curator rendono efficiente The Graph Network e la segnalazione è il processo che i curator utilizzano per far sapere agli Indexer che un subgraph è buono da indicizzare, dove GRT viene aggiunto a una curva di legame per un subgraph. Gli Indexer possono intrinsecamente fidarsi del segnale di un curator perché al momento della segnalazione i curator coniano una quota di curation per il subgraph, che dà loro diritto a una parte delle future tariffe per query che il subgraph genera. Il segnale del curator è rappresentato come token ERC20 chiamati Graph Curation Shares (GCS). I curator che vogliono guadagnare più commissioni per query devono segnalare il loro GRT ai subgraph che prevedono genereranno un forte flusso di commissioni per la rete. I curator non possono essere tagliati fuori per il loro cattivo comportamento, ma c'è una tassa di deposito sui curator per disincentivare le decisioni sbagliate che potrebbero danneggiare l'integrità della rete. I curator guadagnano anche meno commissioni per query se scelgono di curare un subgraph di bassa qualità, poiché ci saranno meno query da elaborare o meno Indexer che le elaborano. Vedere il diagramma seguente! +Curators have the option to withdraw their signaled GRT at any time. -![Diagramma di segnalazione](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Gli Indexer possono trovare i subgraph da indicizzare in base ai segnali di curation che vedono in The Graph Explorer (screenshot di seguito). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Subgraph Explorer](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Rischi 1. Il mercato delle query è intrinsecamente giovane per The Graph e c'è il rischio che la vostra %APY possa essere inferiore a quella prevista a causa delle dinamiche di mercato nascenti. -2. Costo di curation - quando un Curator segnala il GRT su un subgraph, incorre in una tassa di curation di 1%. Questa tassa viene bruciata e il resto viene depositato nella riserva della curva di legame. -3. Quando i curator bruciano le loro quote di partecipazione per ritirare il GRT, la valutazione del GRT delle quote rimanenti sarà ridotta. Si tenga presente che in alcuni casi i curator possono decidere di bruciare le loro quote di partecipazione **tutte in una volta**. Questa situazione può essere comune se lo sviluppatore di una dApp smette di modificare/migliorare e fare il query di proprio subgraph o se un subgraph fallisce. Di conseguenza, i curator rimanenti potrebbero essere in grado di ritirare solo una frazione del loro GRT iniziale. Per un ruolo di rete con un profilo di rischio inferiore, vedere [Delegator](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. Un subgraph può fallire a causa di un bug. Un subgraph fallito non matura commissioni della query. Di conseguenza, si dovrà attendere che lo sviluppatore risolva il bug e distribuisca una nuova versione. - Se siete iscritti alla versione più recente di un subgraph, le vostre quote di partecipazione migreranno automaticamente a quella nuova versione. Questo comporta una tassa di curation di 0,5%. - - Se la segnalazione su una versione specifica del subgraph non va a buon fine, è necessario bruciare manualmente le quote di curation. Si noti che si possono ricevere più o meno GRT di quelli inizialmente depositati nella curva di curation, un rischio associato all'essere un curator. È quindi possibile segnalare su la nuova versione del subgraph, incorrendo così in una tassa di curation di 1%. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## FAQ sulla curation ### 1. Quale % delle tariffe di query guadagnano i curator? -Segnalando un subgraph, si guadagnerà una quota di tutte le tariffe di query generate da questo subgraph. Il 10% di tutte le tariffe di query va ai curator in proporzione alle loro quote di curation. Questo 10% è soggetto a governance. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. Come si fa a decidere quali subgraph sono di alta qualità da segnalare? Trovare subgraph di alta qualità è un compito complesso, ma può essere affrontato in molti modi diversi. Come Curator, si desidera cercare subgraph affidabili che generano un volume di query. Un subgraph affidabile può essere utile se è completo, accurato e supporta le esigenze di dati di una dApp. Un subgraph mal progettato potrebbe dover essere rivisto o ripubblicato e potrebbe anche finire per fallire. È fondamentale che i Curator rivedano l'architettura o il codice di un subgraph per valutarne il valore. Di conseguenza: - I curator possono utilizzare la loro comprensione di una rete per cercare di prevedere come un singolo subgraph possa generare un volume di query più o meno elevato in futuro -- I Curator dovrebbero anche comprendere le metriche disponibili attraverso The Graph Explorer. Metriche come il volume delle query passate e l'identità dello sviluppatore del subgraph possono aiutare a determinare se vale la pena segnalare un subgraph. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. Qual è il costo dell'aggiornamento di un subgraph? -La migrazione delle quote di curation a una nuova versione del subgraph comporta una tassa di curation di 1%. I curator possono scegliere di abbonarsi alla versione più recente di un subgraph. Quando le quote di curation vengono auto-migrate a una nuova versione, i curator pagheranno anche metà della tassa di curation, cioè 0,5%, perché l'aggiornamento dei subgraph è un'azione sulla blockchain che costa gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. Con quale frequenza posso aggiornare il mio subgraph? @@ -89,7 +78,49 @@ Si suggerisce di non aggiornare i subgraph troppo frequentemente. Si veda la dom ### 5. Posso vendere le mie quote di curation? -Le quote di curation non possono essere "comprate" o "vendute" come gli altri token ERC20 che conoscete. Possono solo essere coniate (create) o bruciate (distrutte) lungo la bonding curve per un subgraph particolare. La quantità di GRT necessaria per coniare un nuovo segnale e la quantità di GRT che si riceve quando si brucia il segnale esistente sono determinate da quella della bonding curve. Come Curator, dovete sapere che quando bruciate le vostre quote di curation per prelevare GRT, potete ritrovarvi con più o meno GRT di quelli depositati inizialmente. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Bonding Curve 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Prezzo per quote di partecipazione](/img/price-per-share.png) + +Di conseguenza, il prezzo aumenta linearmente, il che significa che l'acquisto di una quota diventerà più costoso nel tempo. Ecco un esempio di ciò che intendiamo, vedi la curva di legame qui sotto: + +![Curva di legame](/img/bonding-curve.png) + +Si consideri che abbiamo due curation che coniano quote di partecipazione per un subgraph: + +- Il curator A è il primo a segnalare il subgraph. Aggiungendo 120,000 GRT alla curva, riesce a coniarne 2000 quote di partecipazione. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Dal momento che entrambi i curator detengono la metà del totale delle quote di curation, riceveranno una quantità uguale di royalties di curation. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- Il curator rimanente riceverebbe ora tutte le royalties di curation per quel subgraph. Se dovessero bruciare le loro quote per ritirare GRT, riceverebbero 120.000 GRT. +- **TLDR:** La valutazione del GRT delle quote di curation è determinata dalla curva di legame e può essere volatile. È possibile subire grosse perdite. Segnalare in anticipo significa investire meno GRT per ogni quota di partecipazione. Per estensione, ciò significa che si guadagnano più royalties di curation per GRT rispetto ai curator successivi per lo stesso subgraph. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +Nel caso di The Graph, [l'implementazione da parte di Bancor della formula della curva di legame](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) viene sfruttata. Ancora confusi? Date un'occhiata alla nostra video-guida sulla Curation: From fe4d8b04eae2491ba43fd3d761f09ad07a1e0552 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:12 -0400 Subject: [PATCH 0406/2326] New translations curating.mdx (Japanese) --- website/pages/ja/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/ja/network/curating.mdx b/website/pages/ja/network/curating.mdx index a478f08f4057..e961e914c063 100644 --- a/website/pages/ja/network/curating.mdx +++ b/website/pages/ja/network/curating.mdx @@ -2,38 +2,31 @@ title: キュレーティング --- -キュレーターは、グラフの分散型経済にとって重要な存在です。 キューレーターは、web3 のエコシステムに関する知識を用いて、グラフネットワークがインデックスを付けるべきサブグラフを評価し、シグナルを送ります。 キュレーターはエクスプローラーを通じてネットワークのデータを見て、シグナルを出す判断をすることができます。グラフネットワークは、良質なサブグラフにシグナルを送ったキュレーターに、サブグラフが生み出すクエリフィーのシェアを与えます。 キュレーターには、早期にシグナルを送るという経済的なインセンティブが働きます。 キュレーターからのシグナルはインデクサーにとって非常に重要で、インデクサーはシグナルを受けたサブグラフからデータを処理したり、インデックスを作成したりすることができます。 +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -シグナリングの際、キュレーターはサブグラフの特定のバージョンでシグナリングするか、自動移行を使用してシグナリングするかを決定できます。自動移行を使用して通知する場合、キュレーターの共有は常に開発者によって公開された最新バージョンに移行されます。代わりに特定のバージョンでシグナルを送信することにした場合、共有は常にこの特定のバージョンに留まります。 +## What Does Signaling Mean for The Graph Network? -キュレーションはリスクを伴うことを忘れないでください。 そして、信頼できるサブグラフでキュレーションを行うよう、十分に注意してください。 サブグラフの作成はパーミッションレスであり、人々はサブグラフを作成し、好きな名前をつけることができます。 キュレーションのリスクについての詳しいガイダンスは、 [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) をご覧ください。 +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## ボンディングカーブ 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -まず、一歩後退します。各サブグラフには結合曲線があり、ユーザーが曲線に**シグナルを追加**すると、キュレーション シェアが作成されます。各サブグラフの結合曲線は一意です。結合曲線は、サブグラフのキュレーション シェアを作成する価格が、作成されたシェアの数に比例して増加するように設計されています。 +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![シェアあたりの価格](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -その結果、価格は直線的に上昇し、時間の経過とともにシェアの購入価格が高くなることを意味しています。 下のボンディングカーブを見て、その例を示します: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![ボンディングカーブ](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -あるサブグラフのシェアを作成する 2 人のキュレーターがいるとします。 +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- キュレーター A は、サブグラフに最初にシグナルを送ります。 120,000GRT をボンディングカーブに加えることで、2000 もシェアをミントすることができます。 -- キュレーター B のシグナルは、後のある時点でサブグラフに表示されます。 キュレーター A と同じ量のシェアを受け取るためには、360,000GRT を曲線に加える必要があります。 -- 両方のキュレーターがキュレーションシェアの合計の半分を保有しているので、彼らは同額のキュレーターロイヤルティを受け取ることになります。 -- もし、キュレーターの誰かが 2000 のキュレーションシェアをバーンした場合、360,000GRT を受け取ることになります。 -- 残りのキュレーターは、そのサブグラフのキュレーター・ロイヤリティーをすべて受け取ることになります。 もし彼らが自分のシェアをバーンして GRT を引き出す場合、彼らは 120,000GRT を受け取ることになります。 -- **TLDR:** キュレーションシェアの GRT 評価はボンディングカーブによって決まるため、変動しやすいという傾向があります。 また、大きな損失を被る可能性があります。 早期にシグナリングするということは、1 つのシェアに対してより少ない GRT を投入することを意味します。 ひいては、同じサブグラフの後続のキュレーターよりも、GRT あたりのキュレーター・ロイヤリティーを多く得られることになります。 +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -一般に、結合曲線は、トークンの供給と資産価格の関係を定義する数学的曲線です。サブグラフ キュレーションの特定のケースでは、**各サブグラフ シェアの価格は投資されたトークンごとに上昇し**、**各シェアの価格は低下しますトークンが販売されるたびに。** - -The Graph の場合は、 [Bancor が実装しているボンディングカーブ式](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) を活用しています。 +![エクスプローラー サブグラフ](/img/explorer-subgraphs.png) ## シグナルの出し方 -結合曲線がどのように機能するかについての基本を説明したので、これがサブグラフでシグナルを送信する方法です。グラフ エクスプローラーの [キュレーター] タブ内で、キュレーターは、ネットワーク統計に基づいて特定のサブグラフでシグナルを送信したり、シグナルを解除したりできます。 Explorer でこれを行う方法の段階的な概要については、[ここをクリック](/network/explorer)してください。 +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) キュレーターは、特定のサブグラフのバージョンでシグナルを出すことも、そのサブグラフの最新のプロダクションビルドに自動的にシグナルを移行させることも可能ですます。 どちらも有効な戦略であり、それぞれに長所と短所があります。 @@ -41,47 +34,43 @@ The Graph の場合は、 [Bancor が実装しているボンディングカー シグナルを最新のプロダクションビルドに自動的に移行させることは、クエリー料金の発生を確実にするために有効です。 キュレーションを行うたびに、1%のキュレーション税が発生します。 また、移行ごとに 0.5%のキュレーション税を支払うことになります。 つまり、サブグラフの開発者が、頻繁に新バージョンを公開することは推奨されません。 自動移行された全てのキュレーションシェアに対して、0.5%のキュレーション税を支払わなければならないからです。 -> 注:特定のサブグラフにシグナルを送る最初のアドレスは、最初のキュレーターとみなされ、後続のキュレーターよりもはるかに多くのガスを消費する仕事をしなければなりません。 最初のキュレーターは、キュレーションシェアのトークンを初期化し、ボンディングカーブを初期化し、トークンをグラフのプロキシに転送するからです。 - -## グラフネットワークにとってのシグナリングとは? - -最終的な消費者がサブグラフをクエリできるようにするためには、まずサブグラフにインデックスを付ける必要があります。 インデックス化(インデクシング)とは、ファイルやデータ、メタデータを調べ、カタログ化し、結果をより早く見つけられるようにするための作業です。 サブグラフのデータを検索可能にするためには、データを整理する必要があります。 +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -そのため、インデクサーがどのサブグラフをインデックスすべきかを推測しなければならない場合、どのサブグラフが良質であるかを検証する方法がないため、しっかりとしたクエリフィーを得られる可能性は低くなります。 そこでキュレーションの出番です。 +## Withdrawing your GRT -キュレーターは The Graph ネットワークを効率化する存在であり、シグナリングとは、キュレーターがインデクサーにサブグラフのインデックスの作成に適していることを知らせるためのプロセスです。 シグナリングによりキュレータはサブグラフのキュレーションシェアを獲得し、サブグラフが駆動する将来のクエリフィーの一部を受け取る権利を得るため、インデクサーはキュレータからのシグナルを本質的に信頼することができます。 キュレーターのシグナルは、Graph Curation Shares (GCS) と呼ばれる ERC20 トークンで表されます。 より多くのクエリーフィーを獲得したいキュレーターは、ネットワークへの強いフィーの流れを生み出すと予測されるサブグラフに GRT をシグナルするべきであるといえます。 キュレーターはスラッシュされることはありませんが、ネットワークの整合性を損なう可能性のある不適切な意思決定を阻害するために、キュレーターにはデポジット税が課せられます。 また、キュレーターは、質の低いサブグラフでキュレーションを行うことを選択した場合、処理すべきクエリ数や、それらのクエリを処理するインデクサー数が少なくなるため、少ないクエリ手数料しか得られなくなります。 下の図をご覧ください。 +Curators have the option to withdraw their signaled GRT at any time. -![シグナリング ダイアグラム](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -インデクサーは、「グラフ・エクスプローラー」で確認したキュレーション・シグナルに基づいて、インデックスを作成するサブグラフを見つけることができます。 +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![エクスプローラー サブグラフ](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## リスク 1. The Graph では、クエリ市場は本質的に歴史が浅く、初期の市場ダイナミクスのために、あなたの%APY が予想より低くなるリスクがあります。 -2. キュレーション料金 - キュレーターがサブグラフで GRT を通知すると、1% のキュレーション税がかかります。この手数料は燃やされ、残りは結合曲線の予備供給に預けられます。 -3. キュレーターが株式をバーンして GRT を撤回すると、残りの株式の GRT 評価額が引き下げられます。場合によっては、キュレーターが**一度にすべて**共有を破棄することを決定する場合があることに注意してください。この状況は、dApp 開発者がサブグラフのバージョン管理/改善とクエリを停止した場合、またはサブグラフが失敗した場合によく発生する可能性があります。その結果、残りのキュレーターは当初の GRT の一部しか引き出せない可能性があります。リスク プロファイルが低いネットワーク ロールについては、[委任者](/network/delegating)を参照してください。 +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. サブグラフはバグで失敗することがあります。 失敗したサブグラフは、クエリフィーが発生しません。 結果的に、開発者がバグを修正して新しいバージョンを展開するまで待たなければならなくなります。 - サブグラフの最新バージョンに加入している場合、シェアはその新バージョンに自動移行します。 これには 0.5%のキュレーション税がかかります。 - - 特定のサブグラフのバージョンでシグナリングしていて、それが失敗した場合は、手動でキュレーションシャイアをバーンする必要があります。 キュレーション・カーブに最初に預けた金額よりも多く、または少なく GRT を受け取る可能性があることに注意してください。 これはキュレーターとしてのリスクです。 そして、新しいサブグラフのバージョンにシグナルを送ることができ、1%のキュレーション税が発生します。 + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## キューレーション FAQ ### 1. キュレータはクエリフィーの何%を獲得できますか? -サブグラフにシグナリングすることで、そのサブグラフが生成する、全てのクエリフィーのシェアを得ることができます。 全てのクエリーフィーの 10%は、キュレーターのキュレーションシェアに比例してキュレーターに支払われます。 この 10%はガバナンスの対象となります。 +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. シグナルを出すのに適した質の高いサブグラフはどのようにして決めるのですか? 高品質のサブグラフを見つけるのは複雑な作業ですが、さまざまな方法でアプローチできます。 キュレーターとしては、クエリボリュームを牽引している信頼できるサブグラフを探したいと考えます。 信頼できるサブグラフは、それが完全で正確であり、Dap のデータニーズをサポートしていれば価値があるかもしれません。 アーキテクチャが不十分なサブグラフは、修正や再公開が必要になるかもしれませんし、失敗に終わることもあります。 キュレーターにとって、サブグラフが価値あるものかどうかを評価するために、サブグラフのアーキテクチャやコードをレビューすることは非常に重要です。 その結果として: - キュレーターはネットワークの理解を利用して、個々のサブグラフが将来的にどのように高いまたは低いクエリボリュームを生成するかを予測することができます。 -- キュレーターは、グラフ・エクスプローラーで利用可能なメトリクスも理解する必要があります。 過去のクエリボリュームやサブグラフの開発者が誰であるかといったメトリクスは、サブグラフがシグナリングする価値があるかどうかを判断するのに役立ちます。 +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. サブグラフの更新にかかるコストはいくらですか? -キュレーション シェアを新しいサブグラフ バージョンに移行すると、1% のキュレーション税が発生します。キュレーターは、サブグラフの最新バージョンを購読することを選択できます。キュレーション シェアが新しいバージョンに自動移行されると、キュレーターはキュレーション税の半分も支払うことになります。 0.5%。サブグラフの更新はガスを消費するオンチェーンアクションであるためです。 +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. サブグラフはどれくらいの頻度で更新できますか? @@ -89,7 +78,49 @@ The Graph の場合は、 [Bancor が実装しているボンディングカー ### 5. キュレーションのシェアを売却することはできますか? -キュレーションシェアは、他の ERC20 トークンのように「買う」ことも「売る」こともできません。 キュレーションシェアは、特定のサブグラフのボンディングカーブに沿って、ミント(作成)またはバーン(破棄)することしかできません。 新しいシグナルをミントするのに必要な GRT の量と、既存のシグナルをバーンしたときに受け取る GRT の量は、そのボンディングカーブによって決まります。 キュレーターとしては、GRT を引き出すためにキュレーションシェアをバーンすると、最初に預けた GRT よりも多くの GRT を手にすることもあれば、少なくなることもあることを把握しておく必要があります。 +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## ボンディングカーブ 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![シェアあたりの価格](/img/price-per-share.png) + +その結果、価格は直線的に上昇し、時間の経過とともにシェアの購入価格が高くなることを意味しています。 下のボンディングカーブを見て、その例を示します: + +![ボンディングカーブ](/img/bonding-curve.png) + +あるサブグラフのシェアを作成する 2 人のキュレーターがいるとします。 + +- キュレーター A は、サブグラフに最初にシグナルを送ります。 120,000GRT をボンディングカーブに加えることで、2000 もシェアをミントすることができます。 +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- 両方のキュレーターがキュレーションシェアの合計の半分を保有しているので、彼らは同額のキュレーターロイヤルティを受け取ることになります。 +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- 残りのキュレーターは、そのサブグラフのキュレーター・ロイヤリティーをすべて受け取ることになります。 もし彼らが自分のシェアをバーンして GRT を引き出す場合、彼らは 120,000GRT を受け取ることになります。 +- **TLDR:** キュレーションシェアの GRT 評価はボンディングカーブによって決まるため、変動しやすいという傾向があります。 また、大きな損失を被る可能性があります。 早期にシグナリングするということは、1 つのシェアに対してより少ない GRT を投入することを意味します。 ひいては、同じサブグラフの後続のキュレーターよりも、GRT あたりのキュレーター・ロイヤリティーを多く得られることになります。 + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +The Graph の場合は、 [Bancor が実装しているボンディングカーブ式](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) を活用しています。 まだ不明点がありますか? その他の不明点に関しては、 以下のキュレーションビデオガイドをご覧ください: From 97fbbedecda1ab771dea11a6de58c794b426cf76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:12 -0400 Subject: [PATCH 0407/2326] New translations curating.mdx (Korean) --- website/pages/ko/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/ko/network/curating.mdx b/website/pages/ko/network/curating.mdx index 797d9b9dd896..fb2107c53884 100644 --- a/website/pages/ko/network/curating.mdx +++ b/website/pages/ko/network/curating.mdx @@ -2,38 +2,31 @@ title: Curating --- -Curators are critical to the Graph decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through the Explorer, curators are able to view network data to make signaling decisions. The Graph Network rewards curators who signal on good quality subgraphs with a share of the query fees that subgraphs generate. Curators are economically incentivized to signal early. These cues from curators are important for Indexers, who can then process or index the data from these signaled subgraphs. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -When signaling, curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. When signaling using auto-migrate, a Curator’s shares will always be migrated to the latest version published by the developer. If you decide to signal on a specific version instead, shares will always stay on this specific version. +## What Does Signaling Mean for The Graph Network? -Remember that curation is risky. Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Bonding Curve 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -First, we take a step back. Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Price per shares](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -As a result, price increases linearly, meaning that it will get more expensive to purchase a share over time. Here’s an example of what we mean, see the bonding curve below: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Bonding curve](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Consider we have two curators that mint shares for a subgraph: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Curator A is the first to signal on the subgraph. By adding 120,000 GRT into the curve, they are able to mint 2000 shares. -- Curator B’s signal is on the subgraph at some point in time later. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. -- Since both curators hold half the total of curation shares, they would receive an equal amount of curator royalties. -- If any of the curators were now to burn their 2000 curation shares, they would receive 360,000 GRT. -- The remaining curator would now receive all the curator royalties for that subgraph. If they were to burn their shares to withdraw GRT, they would receive 120,000 GRT. -- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and the **price of each share decreases with each token sold.** - -In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. +![Explorer subgraphs](/img/explorer-subgraphs.png) ## How to Signal -Now that we’ve covered the basics about how the bonding curve works, this is how you will proceed to signal on a subgraph. Within the Curator tab on the Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in the Explorer, [click here.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) A curator can choose to signal on a specific subgraph version, or they can choose to have their signal automatically migrate to the newest production build of that subgraph. Both are valid strategies and come with their own pros and cons. @@ -41,47 +34,43 @@ Signaling on a specific version is especially useful when one subgraph is used b Having your signal automatically migrate to the newest production build can be valuable to ensure you keep accruing query fees. Every time you curate, a 1% curation tax is incurred. You will also pay a 0.5% curation tax on every migration. Subgraph developers are discouraged from frequently publishing new versions - they have to pay a 0.5% curation tax on all auto-migrated curation shares. -> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve, and also transfers tokens into the Graph proxy. - -## What does Signaling mean for The Graph Network? - -For end consumers to be able to query a subgraph, the subgraph must first be indexed. Indexing is a process where files, data, and metadata are looked at, cataloged, and then indexed so that results can be found faster. In order for a subgraph’s data to be searchable, it needs to be organized. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -And so, if Indexers had to guess which subgraphs they should index, there would be a low chance that they would earn robust query fees because they’d have no way of validating which subgraphs are good quality. Enter curation. +## Withdrawing your GRT -Curators make The Graph network efficient and signaling is the process that curators use to let Indexers know that a subgraph is good to index, where GRT is added to a bonding curve for a subgraph. Indexers can inherently trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. Curator signal is represented as ERC20 tokens called Graph Curation Shares (GCS). Curators that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators also earn fewer query fees if they choose to curate on a low-quality Subgraph since there will be fewer queries to process or fewer Indexers to process those queries. See the diagram below! +Curators have the option to withdraw their signaled GRT at any time. -![Signaling diagram](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Indexers can find subgraphs to index based on curation signals they see in The Graph Explorer (screenshot below). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Explorer subgraphs](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Risks 1. The query market is inherently young at The Graph and there is risk that your %APY may be lower than you expect due to nascent market dynamics. -2. Curation Fee - when a Curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. A subgraph can fail due to a bug. A failed subgraph does not accrue query fees. As a result, you’ll have to wait until the developer fixes the bug and deploys a new version. - If you are subscribed to the newest version of a subgraph, your shares will auto-migrate to that new version. This will incur a 0.5% curation tax. - - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. Note that you may receive more or less GRT than you initially deposited into the curation curve, which is a risk associated with being a curator. You can then signal on the new subgraph version, thus incurring a 1% curation tax. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Curation FAQs ### 1. What % of query fees do Curators earn? -By signalling on a subgraph, you will earn a share of all the query fees that this subgraph generates. 10% of all query fees goes to the Curators pro-rata to their curation shares. This 10% is subject to governance. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. How do I decide which subgraphs are high quality to signal on? Finding high-quality subgraphs is a complex task, but it can be approached in many different ways. As a Curator, you want to look for trustworthy subgraphs that are driving query volume. A trustworthy subgraph may be valuable if it is complete, accurate, and supports a dApp’s data needs. A poorly architected subgraph might need to be revised or re-published, and can also end up failing. It is critical for Curators to review a subgraph’s architecture or code in order to assess if a subgraph is valuable. As a result: - Curators can use their understanding of a network to try and predict how an individual subgraph may generate a higher or lower query volume in the future -- Curators should also understand the metrics that are available through The Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. What’s the cost of updating a subgraph? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curation shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because updating subgraphs is an on-chain action that costs gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. How often can I update my subgraph? @@ -89,7 +78,49 @@ It’s suggested that you don’t update your subgraphs too frequently. See the ### 5. Can I sell my curation shares? -Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve. As a Curator, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Bonding Curve 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Price per shares](/img/price-per-share.png) + +As a result, price increases linearly, meaning that it will get more expensive to purchase a share over time. Here’s an example of what we mean, see the bonding curve below: + +![Bonding curve](/img/bonding-curve.png) + +Consider we have two curators that mint shares for a subgraph: + +- Curator A is the first to signal on the subgraph. By adding 120,000 GRT into the curve, they are able to mint 2000 shares. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Since both curators hold half the total of curation shares, they would receive an equal amount of curator royalties. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- The remaining curator would now receive all the curator royalties for that subgraph. If they were to burn their shares to withdraw GRT, they would receive 120,000 GRT. +- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. Still confused? Check out our Curation video guide below: From c6c6dd6c0985fd50df26e8f9d9c8d78fc423b5b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:14 -0400 Subject: [PATCH 0408/2326] New translations curating.mdx (Dutch) --- website/pages/nl/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/nl/network/curating.mdx b/website/pages/nl/network/curating.mdx index a9f36ca3f07b..870fc3f4e54e 100644 --- a/website/pages/nl/network/curating.mdx +++ b/website/pages/nl/network/curating.mdx @@ -2,38 +2,31 @@ title: Cureren --- -Curatoren spelen een cruciale rol in de gedecentraliseerde economie van The Graph. Ze gebruiken hun kennis van het web3-ecosysteem om signalen af te geven op de subgraphs die geïndexeerd moeten worden door The Graph Network. Via de Graph Explorer kunnen curatoren netwerkgegevens bekijken om signaleringsbeslissingen te nemen. Het Graph Network beloont curatoren die signalen afgeven op subgraphs van goede kwaliteit door een deel van de querykosten die door deze subgraphs worden gegenereerd te verdelen over de curatoren. Curatoren worden beloond als ze vroeg signaleren. Deze signaleringen van curatoren zijn belangrijk voor Indexeerders, die vervolgens de gegevens van deze gesignaleerde subgraphs kunnen verwerken of indexeren. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -Bij het signaleren kunnen curatoren beslissen om een signaal af te geven voor een specifieke versie van de subgraph of om te signaleren via automatische migratie. Wanneer de curator kiest om te signaleren via automatische migratie worden de aandelen van de curator altijd gemigreerd naar de nieuwste versie van de subgraph. Wanneer de curator kiest om te signaleren op een specifieke versie van een subgraph, blijven de aandelen altijd op deze specifieke versie. +## What Does Signaling Mean for The Graph Network? -Onthoud dat curatie risico's met zich meebrengt. Doe alsjeblieft je eigen onderzoek om ervoor te zorgen dat je signaleert op subgraphs die je vertrouwt. Het maken van een subgraph is permissieloos, dus mensen kunnen subgraphs maken en ze elke gewenste naam geven. Voor meer begeleiding over risico's van curatie, bekijk de [Curatie Gids van The Graph Academy.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Bonding Curve 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -Laten we aan het begin beginnen: Elke subgraph heeft een bonding curve, op die bonding curve worden curatie-aandelen gemunt wanneer een gebruiker een signaal toevoegt **aan** de curve. De bonding curve van elke subgraph is uniek. De bonding curves zijn ontworpen zodat de prijs om een curatie-aandeel op een subgraph te muntten lineair stijgt over het aantal gemunte aandelen. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Prijs per aandeel](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -Hierdoor neemt de prijs lineair toe, wat betekent dat het in de loop van de tijd duurder wordt om een curatie-aandeel te kopen. Voor een voorbeeld van wat we precies bedoelen, zie de bonding curve hieronder: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Bonding Curve](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Stel dat we twee curatoren hebben die curatie-aandelen voor een subgraph maken: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Curator A is de eerste die signaleert op de subgraph. Door 120.000 GRT aan de curve toe te voegen, kan hij 2000 aandelen maken. -- Curator B signaleert op een later moment op de subgraph. Om dezelfde hoeveelheid aandelen als Curator A te krijgen, zou hij 360.000 GRT aan de curve moeten toevoegen. -- Aangezien beide curatoren de helft van het totale aantal curatie-aandelen hebben, zullen ze een gelijke hoeveelheid curator royalties ontvangen. -- Als een van de curatoren nu zijn 2000 curatie-aandelen zou "burnen", zou hij 360.000 GRT ontvangen. -- De overgebleven curator zou nu alle curator royalties voor die subgraph ontvangen. Als ze hun aandelen zouden "burnen" om GRT op te nemen, zouden ze 120.000 GRT ontvangen. -- **Samenvattend:** De GRT-waardering van curatie-aandelen wordt bepaald door de bonding curve en kan volatiel zijn. Er is een mogelijkheid om grote verliezen te leiden. Vroeg signaleren betekent dat je minder GRT inlegt voor elk aandeel. Als gevolg hiervan verdien je meer curator royalties per GRT dan latere curatoren voor dezelfde subgraph. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -In het algemeen is een bonding curve een wiskundige curve die de relatie tussen tokenaanbod en prijs definieert. In het specifieke geval van subgraphcuratie **stijgt de prijs van elk subgraphaandeel met elke geïnvesteerde token** en **daalt de prijs van elk aandeel met elke verkochte token.** - -In het geval van The Graph wordt gebruik gemaakt van de implementatie van een [bonding curve-formule van Bancor.](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). +![Verken Subgraphs](/img/explorer-subgraphs.png) ## Hoe werkt het Signaleren -Nu we de basis van de werking van de bonding curve hebben behandeld, is dit hoe je te werk gaat om een signaal af te geven op een subgraph. Binnen het Curator-tabblad op de Graph Explorer kunnen curatoren signalen afgeven en intrekken voor een bepaalde subgraph op basis van netwerkstatistieken. Voor een stapsgewijs overzicht over hoe dit werkt in de Explorer, [klik hier.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) Een curator kan ervoor kiezen om een signaal af te geven voor een specifieke subgraph versie, of ze kunnen ervoor kiezen om hun signaal automatisch te laten migreren naar de nieuwste versie van de subgraph. Beide strategieën hebben voordelen en nadelen. @@ -41,47 +34,43 @@ Signaleren voor een specifieke versie is vooral handig wanneer één subgraph do Automatische migratie van je signalering naar de nieuwste subgraphversie kan waardevol zijn om ervoor te zorgen dat je querykosten blijft ontvangen. Elke keer dat je signaleert, wordt een curatiebelasting van 1% in rekening gebracht. Je betaalt ook een curatiebelasting van 0,5% bij elke migratie. Subgraphontwikkelaars worden ontmoedigd om vaak nieuwe versies te publiceren - ze moeten een curatiebelasting van 0,5% betalen voor alle automatisch gemigreerde curatie-aandelen. -> **Opmerking**: Het eerste adres dat op een bepaalde subgraph signaleert, wordt beschouwd als de eerste curator en moet veel meer gasintensief werk doen dan de rest van de volgende curatoren, omdat de eerste curator de curatie-aandeeltokens initialiseert, de bonding curve initialiseert en ook tokens overdraagt naar de Graph-proxy. - -## Wat betekent Signalering voor het Graph Netwerk? - -Voordat consumenten queries kunnen opvragen van een subgraph, moet de subgraph eerst worden geïndexeerd. Indexeren is een proces waarbij bestanden, gegevens en metadata worden bekeken, gecatalogiseerd en vervolgens worden geïndexeerd zodat resultaten sneller kunnen worden gevonden. Om de gegevens van een subgraph doorzoekbaar te maken, moet hij duidelijk georganiseerd worden. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -En dus, als Indexeerders zouden moeten raden welke subgraphs ze moeten indexeren, zou de kans klein zijn dat ze substantiële querykosten zouden verdienen, omdat ze geen manier zouden hebben om te valideren welke subgraphs van goede kwaliteit zijn. Hier komt curatie goed van pas. +## Withdrawing your GRT -Curatoren maken het Graph netwerk efficiënt en signalering is het proces dat curatoren gebruiken om Indexeerders te laten weten dat een subgraph goed is om te indexeren, waarbij GRT wordt toegevoegd aan een bonding curve voor een subgraph. Indexeerders kunnen het signaal van een curator vertrouwen omdat curatoren bij het signaleren een curatieaandeel voor de subgraph krijgen, waardoor ze een deel van de toekomstige querykosten die de subgraph genereert ontvangen. Het signaal van de curator wordt weergegeven als ERC20-tokens genaamd Graph Curation Shares (GCS). Curatoren die meer querykosten willen verdienen, moeten hun GRT signaleren naar subgraphs waarvan ze voorspellen dat ze een sterke stroom aan query's zullen genereren. Curatoren kunnen niet worden gestraft voor slecht gedrag, maar er is een stortingsbelasting voor curatoren om slechte besluitvorming te ontmoedigen die de integriteit van het netwerk zou kunnen schaden. Curatoren verdienen ook minder querykosten als ze ervoor kiezen om te cureren op een subgraphs van lage kwaliteit, omdat er minder query's zijn om te verwerken of minder Indexers om die vragen te verwerken. Zie het onderstaande diagram! +Curators have the option to withdraw their signaled GRT at any time. -![Signaleringsafbeelding](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Indexeerders kunnen subgraphs vinden om te indexeren op basis van curatiesignalen die ze zien in The Graph Explorer (zie onderstaande schermafbeelding). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Verken Subgraphs](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Risico's 1. De querymarkt is nog jong bij het Graph Netwerk en er bestaat een risico dat je %APY lager kan zijn dan je verwacht door opkomende marktdynamiek. -2. Curatiekosten - wanneer een Curator GRT signaleert voor een subgraph, betalen ze een curatiebelasting van 1%. Deze vergoeding wordt verbrand en de rest wordt gedeponeerd in de reservevoorraad van de bonding curve. -3. Wanneer curators hun aandelen verbranden om GRT op te nemen, wordt de GRT-waardering van de overgebleven aandelen verminderd. Let op dat curatoren in sommige gevallen kunnen besluiten om hun aandelen **in één keer** te verbranden. Deze situatie kan voorkomen als een dApp-ontwikkelaar stopt met het verbeteren van een subgraph en geen queries meer naar de subgraph stuurt, of als een subgraph faalt. Als gevolg hiervan kunnen overgebleven curators mogelijk slechts een fractie van hun oorspronkelijke GRT opnemen. Voor een netwerkrol met een lager risicoprofiel, zie [Delegators](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. Een subgraph kan stuk gaan door een bug. Een subgraph die stuk is gegenereerd geen querykosten. Als gevolg hiervan moet je wachten tot de ontwikkelaar de bug repareert en een nieuwe versie implementeert. - Als je bent geabonneerd op de nieuwste versie van een subgraph, worden je curatieaandelen automatisch gemigreerd naar die nieuwe versie. Er is een curatiebelasting van 0,5%. - - Als je hebt gesignaleerd op een specifieke subgraphversie en deze stuk gaat, moet je je curatieaandelen handmatig verbranden. Houd er rekening mee dat je mogelijk meer of minder GRT ontvangt dan je aanvankelijk hebt gestort in de curatiecurve, wat een risico is dat gepaard gaat met curatie. Je kunt vervolgens signaleren op de nieuwe subgraphversie, je zult hier een curatiebelasting van 1% betalen. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Veelgestelde Vragen over Curatie ### Welk percentage van de querykosten verdienen curatoren? -Door te signaleren op een subgraph, verdien je een deel van alle querykosten die deze subgraph genereert. 10% van alle querykosten gaat naar de curatoren pro rata naar hun hoeveelheid curatieaandelen. Deze 10% kan door governance veranderen de toekomst. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### Hoe bepaal ik welke subgraphs van hoge kwaliteit zijn om op te signaleren? Het vinden van subgraphs van hoge kwaliteit is een complexe taak, maar het kan op vele verschillende manieren worden benadert. Als curator wil je op zoek gaan naar betrouwbare subgraphs die veel queries genereren. Een betrouwbare subgraph kan waardevol zijn als deze compleet, nauwkeurig is en voldoet aan de gegevensbehoeften van een dApp. Een slecht geconstrueerde subgrafiek moet mogelijk worden herzien of opnieuw worden gepubliceerd en kan ook stuk gaan. Het is essentieel voor curatoren om de architectuur of code van een subgraph te beoordelen om te bepalen of een subgraph waardevol is. Als gevolg daarvan kunnen curatoren: - Hun begrip van een netwerk gebruiken om te proberen voorspellen hoe een individuele subgraph in de toekomst mogelijk een hoger of lager queryvolume zal genereren -- De metrics begrijpen die beschikbaar zijn via The Graph Explorer. Metrics zoals historisch queryvolume en wie de subgraphontwikkelaar is, kunnen helpen bepalen of een subgraph al dan niet de moeite waard is om op te signaleren. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### Wat zijn de kosten voor het updaten van een subgraph? -Het migreren van je curatieaandelen naar een nieuwe subgraphversie brengt een curatiebelasting van 1% met zich mee. Curatoren kunnen ervoor kiezen om zich te abonneren op de nieuwste versie van een subgraph. Wanneer curatieaandelen automatisch worden gemigreerd naar een nieuwe versie, betalen curatoren ook een 0.5% curatiebelasting, omdat het updaten van subgraph een on-chain actie is die gas kost. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### Hoe vaak kan ik mijn subgraph updaten? @@ -89,7 +78,49 @@ Het wordt aanbevolen om je subgraphs niet te vaak bij te werken. Zie de bovensta ### Kan ik mijn curatieaandelen verkopen? -Curatieaandelen kunnen niet "gekocht" of "verkocht" worden zoals andere ERC20-tokens waar je mogelijk bekend mee bent. Ze kunnen alleen worden gemint (gemaakt) of verbrand (vernietigd) langs de bonding curve voor een specifieke subgraph. De hoeveelheid GRT die nodig is om een nieuw signaal te minten en de hoeveelheid GRT die je ontvangt wanneer je je bestaande signaal verbrandt, worden bepaald door die bonding curve. Als curator moet je weten dat wanneer je je curatieaandelen verbrandt om GRT op te nemen, je uiteindelijk meer of minder GRT kunt krijgen dan je aanvankelijk hebt gestort. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Bonding Curve 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Prijs per aandeel](/img/price-per-share.png) + +Hierdoor neemt de prijs lineair toe, wat betekent dat het in de loop van de tijd duurder wordt om een curatie-aandeel te kopen. Voor een voorbeeld van wat we precies bedoelen, zie de bonding curve hieronder: + +![Bonding Curve](/img/bonding-curve.png) + +Stel dat we twee curatoren hebben die curatie-aandelen voor een subgraph maken: + +- Curator A is de eerste die signaleert op de subgraph. Door 120.000 GRT aan de curve toe te voegen, kan hij 2000 aandelen maken. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Aangezien beide curatoren de helft van het totale aantal curatie-aandelen hebben, zullen ze een gelijke hoeveelheid curator royalties ontvangen. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- De overgebleven curator zou nu alle curator royalties voor die subgraph ontvangen. Als ze hun aandelen zouden "burnen" om GRT op te nemen, zouden ze 120.000 GRT ontvangen. +- **Samenvattend:** De GRT-waardering van curatie-aandelen wordt bepaald door de bonding curve en kan volatiel zijn. Er is een mogelijkheid om grote verliezen te leiden. Vroeg signaleren betekent dat je minder GRT inlegt voor elk aandeel. Als gevolg hiervan verdien je meer curator royalties per GRT dan latere curatoren voor dezelfde subgraph. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +In het geval van The Graph wordt gebruik gemaakt van de implementatie van een [bonding curve-formule van Bancor.](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). Nog in de war? Bekijk onze Curatie videogids hieronder: From 7f670f0731762b36e5c9cba24f90d55bdde020c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:15 -0400 Subject: [PATCH 0409/2326] New translations curating.mdx (Polish) --- website/pages/pl/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/pl/network/curating.mdx b/website/pages/pl/network/curating.mdx index 797d9b9dd896..fb2107c53884 100644 --- a/website/pages/pl/network/curating.mdx +++ b/website/pages/pl/network/curating.mdx @@ -2,38 +2,31 @@ title: Curating --- -Curators are critical to the Graph decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through the Explorer, curators are able to view network data to make signaling decisions. The Graph Network rewards curators who signal on good quality subgraphs with a share of the query fees that subgraphs generate. Curators are economically incentivized to signal early. These cues from curators are important for Indexers, who can then process or index the data from these signaled subgraphs. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -When signaling, curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. When signaling using auto-migrate, a Curator’s shares will always be migrated to the latest version published by the developer. If you decide to signal on a specific version instead, shares will always stay on this specific version. +## What Does Signaling Mean for The Graph Network? -Remember that curation is risky. Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Bonding Curve 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -First, we take a step back. Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Price per shares](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -As a result, price increases linearly, meaning that it will get more expensive to purchase a share over time. Here’s an example of what we mean, see the bonding curve below: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Bonding curve](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Consider we have two curators that mint shares for a subgraph: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Curator A is the first to signal on the subgraph. By adding 120,000 GRT into the curve, they are able to mint 2000 shares. -- Curator B’s signal is on the subgraph at some point in time later. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. -- Since both curators hold half the total of curation shares, they would receive an equal amount of curator royalties. -- If any of the curators were now to burn their 2000 curation shares, they would receive 360,000 GRT. -- The remaining curator would now receive all the curator royalties for that subgraph. If they were to burn their shares to withdraw GRT, they would receive 120,000 GRT. -- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and the **price of each share decreases with each token sold.** - -In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. +![Explorer subgraphs](/img/explorer-subgraphs.png) ## How to Signal -Now that we’ve covered the basics about how the bonding curve works, this is how you will proceed to signal on a subgraph. Within the Curator tab on the Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in the Explorer, [click here.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) A curator can choose to signal on a specific subgraph version, or they can choose to have their signal automatically migrate to the newest production build of that subgraph. Both are valid strategies and come with their own pros and cons. @@ -41,47 +34,43 @@ Signaling on a specific version is especially useful when one subgraph is used b Having your signal automatically migrate to the newest production build can be valuable to ensure you keep accruing query fees. Every time you curate, a 1% curation tax is incurred. You will also pay a 0.5% curation tax on every migration. Subgraph developers are discouraged from frequently publishing new versions - they have to pay a 0.5% curation tax on all auto-migrated curation shares. -> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve, and also transfers tokens into the Graph proxy. - -## What does Signaling mean for The Graph Network? - -For end consumers to be able to query a subgraph, the subgraph must first be indexed. Indexing is a process where files, data, and metadata are looked at, cataloged, and then indexed so that results can be found faster. In order for a subgraph’s data to be searchable, it needs to be organized. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -And so, if Indexers had to guess which subgraphs they should index, there would be a low chance that they would earn robust query fees because they’d have no way of validating which subgraphs are good quality. Enter curation. +## Withdrawing your GRT -Curators make The Graph network efficient and signaling is the process that curators use to let Indexers know that a subgraph is good to index, where GRT is added to a bonding curve for a subgraph. Indexers can inherently trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. Curator signal is represented as ERC20 tokens called Graph Curation Shares (GCS). Curators that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators also earn fewer query fees if they choose to curate on a low-quality Subgraph since there will be fewer queries to process or fewer Indexers to process those queries. See the diagram below! +Curators have the option to withdraw their signaled GRT at any time. -![Signaling diagram](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Indexers can find subgraphs to index based on curation signals they see in The Graph Explorer (screenshot below). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Explorer subgraphs](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Risks 1. The query market is inherently young at The Graph and there is risk that your %APY may be lower than you expect due to nascent market dynamics. -2. Curation Fee - when a Curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. A subgraph can fail due to a bug. A failed subgraph does not accrue query fees. As a result, you’ll have to wait until the developer fixes the bug and deploys a new version. - If you are subscribed to the newest version of a subgraph, your shares will auto-migrate to that new version. This will incur a 0.5% curation tax. - - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. Note that you may receive more or less GRT than you initially deposited into the curation curve, which is a risk associated with being a curator. You can then signal on the new subgraph version, thus incurring a 1% curation tax. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Curation FAQs ### 1. What % of query fees do Curators earn? -By signalling on a subgraph, you will earn a share of all the query fees that this subgraph generates. 10% of all query fees goes to the Curators pro-rata to their curation shares. This 10% is subject to governance. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. How do I decide which subgraphs are high quality to signal on? Finding high-quality subgraphs is a complex task, but it can be approached in many different ways. As a Curator, you want to look for trustworthy subgraphs that are driving query volume. A trustworthy subgraph may be valuable if it is complete, accurate, and supports a dApp’s data needs. A poorly architected subgraph might need to be revised or re-published, and can also end up failing. It is critical for Curators to review a subgraph’s architecture or code in order to assess if a subgraph is valuable. As a result: - Curators can use their understanding of a network to try and predict how an individual subgraph may generate a higher or lower query volume in the future -- Curators should also understand the metrics that are available through The Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. What’s the cost of updating a subgraph? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curation shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because updating subgraphs is an on-chain action that costs gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. How often can I update my subgraph? @@ -89,7 +78,49 @@ It’s suggested that you don’t update your subgraphs too frequently. See the ### 5. Can I sell my curation shares? -Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve. As a Curator, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Bonding Curve 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Price per shares](/img/price-per-share.png) + +As a result, price increases linearly, meaning that it will get more expensive to purchase a share over time. Here’s an example of what we mean, see the bonding curve below: + +![Bonding curve](/img/bonding-curve.png) + +Consider we have two curators that mint shares for a subgraph: + +- Curator A is the first to signal on the subgraph. By adding 120,000 GRT into the curve, they are able to mint 2000 shares. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Since both curators hold half the total of curation shares, they would receive an equal amount of curator royalties. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- The remaining curator would now receive all the curator royalties for that subgraph. If they were to burn their shares to withdraw GRT, they would receive 120,000 GRT. +- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. Still confused? Check out our Curation video guide below: From 204cd999be1fc46efc8cda7dd878f54126cef968 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:16 -0400 Subject: [PATCH 0410/2326] New translations curating.mdx (Portuguese) --- website/pages/pt/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/pt/network/curating.mdx b/website/pages/pt/network/curating.mdx index a9730f0ee6ab..5984b921d725 100644 --- a/website/pages/pt/network/curating.mdx +++ b/website/pages/pt/network/curating.mdx @@ -2,38 +2,31 @@ title: Curadorias --- -Os curadores são essenciais para a economia descentralizada do Graph. Eles usam o seu conhecimento do ecossistema web3 para avaliar e sinalizar nos subgraphs que devem ser indexados pela Graph Network. Através do Explorer, curadores podem ver dados da rede para deliberar sobre a sua sinalização. A Graph Network recompensa curadores que sinalizam em subgraphs de boa qualidade com uma porção das taxas de query geradas pelos subgraphs. Os curadores são incentivados economicamente a sinalizar cedo. Estes sinais dos curadores são importantes para Indexadores, que podem então processar ou indexar os dados destes subgraphs sinalizados. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -Durante a sinalização, os curadores podem decidir sinalizar em uma versão específica do subgraph, ou através da auto-migração. Com a auto-migração, as ações de um Curador sempre serão migradas à versão mais recente publicada pelo programador. Caso decida sinalizar em uma versão específica, as ações sempre permanecerão nesta mesma versão. +## What Does Signaling Mean for The Graph Network? -Lembre-se que curadoria é um ato de risco. Tenha cuidado, e garanta que curará subgraphs de confiança. Criar um subgraph é um processo livre de permissões, para que o povo possa criar subgraphs e chamá-los do nome que quiser. Para mais conselhos sobre riscos de curadoria, confira o [Guia de Curadoria da Graph Academy.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Os Básicos da Bonding Curve +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -Primeiro, vamos parar para pensar. Todo subgraph tem uma bonding curve, onde são cunhadas ações de curadoria quando um usuário adiciona sinais **dentro** da curva. A bonding curve de cada subgraph é única; cada curve é arquitetada para que o preço da cunhagem de uma ação de curadoria num subgraph cresça de forma linear, sobre o número de ações cunhadas. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Preço por ações](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -Como resultado, o preço aumenta de forma linear, o que significa que a compra de uma ação ficará mais cara temporalmente. Aqui está um exemplo; veja a bonding curve abaixo: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Bonding curve](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Considere que temos dois curadores que cunham ações para um subgraph: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- O Curador A é o primeiro a sinalizar no subgraph. Ao adicionar 120.000 GRT à curve, ele pode cunhar 2000 ações. -- O sinal do Curador B chega no subgraph algum tempo depois. Para receber a mesma quantidade de ações que o Curador A, ele deveria adicionar 360.000 na curve. -- Como ambos os curadores têm metade do total das ações de curadoria, eles receberiam uma quantia igual de ‘royalties’ de curadoria. -- Se qualquer um dos curadores resolvesse queimar as suas 2000 ações de curadoria, ele receberia 360.000 GRT. -- O curador restante passaria a receber todos os ‘royalties’ de curadoria daquele subgraph. Caso ele queimasse as suas ações para sacar GRT, ele receberia 120.000 GRT. -- **RESUMINDO:** A valorização em GRT de ações de curadoria é determinada pela bonding curve, e pode ser volátil. Há o potencial para grandes prejuízos. Sinalizar precocemente significa que você coloca menos GRT para cada ação. Por tabela, isto significa que ganhas mais royalties de curadoria por GRT do que curadores que chegarem mais tarde para o mesmo subgraph. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -Em geral, uma bonding curve é uma curva matemática que define o relacionamento entre a reserva de token e o preço do ativo. No caso específico de curadoria de subgraphs, **o preço de cada ação de subgraph aumenta com cada token investido** e o **preço de cada ação cai com cada token vendido.** - -No caso do The Graph, é usada [a implementação da Bancor de uma fórmula de bonding curve](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). +![Subgraphs no Explorer](/img/explorer-subgraphs.png) ## Como Sinalizar -Agora que cobrimos os básicos sobre o funcionamento da bonding curve, aqui está como procederá a sinalizar em um subgraph. Dentro da aba Curator (Curador) no Graph Explorer, os curadores poderão sinalizar ou retirar seus sinais em certos subgraphs baseado nas estatísticas da rede. Para uma explicação passo a passo deste processo no Explorer, [clique aqui.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) Um curador pode escolher sinalizar uma versão específica de subgraph, ou pode automaticamente migrar o seu sinal à versão mais recente desse subgraph. Ambas estratégias são válidas, e vêm com as suas próprias vantagens e desvantagens. @@ -41,47 +34,43 @@ Sinalizar numa versão específica serve muito mais quando um subgraph é usado Ter um sinal que migra automaticamente à build mais recente de um subgraph pode ser bom para garantir o acúmulo de taxas de consulta. Toda vez que cura, é incorrida uma taxa de 1% de curadoria. Também pagará uma taxa de 0.5% em toda migração. É recomendado que rogramadores de subgraphs evitem editar novas versões com frequência - eles devem pagar uma taxa de curadoria de 0.5% em todas as ações de curadoria auto-migradas. -> **Nota:** O primeiro endereço a sinalizar um subgraph particular é considerado o primeiro curador e deverá realizar tarefas muito mais intensivas em gas do que o resto dos seguintes curadores — porque o primeiro curador inicializa os tokens de ação de curadoria, inicializa o bonding curve, e também transfere tokens no proxy do Graph. - -## O que a Sinalização Significa para a Graph Network? - -Para que os consumidores finais possam fazer queries em um subgraph, o subgraph deve ser indexado primeiro. A indexação é um processo onde arquivos, dados e metadados são analisados, catalogados, e então indexados para encontrar resultados mais rapidamente. Para que os dados de um subgraph sejam pesquisáveis, eles devem ser organizados. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -Então, se os Indexadores tivessem que adivinhar quais subgraphs eles devem indexar, haveria uma baixa probabilidade deles ganharem taxas de query robustas, pois eles não teriam como validar quais subgraphs têm boa qualidade. É aí que entra a curadoria. +## Withdrawing your GRT -Os curadores fazem das redes do Graph eficientes — e a sinalização é o processo que os curadores usam para que os outros saibam que um subgraph é bom de indexar, onde o GRT é adicionado a uma bonding curve para um subgraph. Os indexadores podem confiar no sinal do curador porque, ao sinalizar, os curadores cunham uma ação de curadoria para o subgraph, assim recebendo direitos a uma porção de futuras taxas de query do subgraph. O sinal do curador é representado como um token ERC20 chamado Graph Curation Shares (GCS). Os curadores que querem ganhar mais taxas de curadoria devem sinalizar seu GRT para subgraphs em que acreditam que gerará um fluxo forte de taxas para a rede. Eles não podem ser penalizados por mau comportamento, mas há uma taxa de depósito nos Curadores para desencorajar más decisões caso escolham curar um Subgraph de má qualidade, já que haverão menos consultas a processar ou menos Indexadores para processar aquelas consultas. Veja o diagrama abaixo! +Curators have the option to withdraw their signaled GRT at any time. -![Diagrama de sinalização](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Os indexadores podem achar subgraphs para indexar com base em sinais de curadoria que veem no Graph Explorer (imagem abaixo). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Subgraphs no Explorer](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Riscos 1. O mercado de consulta é jovem por natureza no The Graph, e há sempre o risco do seu rendimento anual ser menor que o esperado devido às dinâmicas nascentes do mercado. -2. Taxa de Curadoria — quando um Curador sinaliza GRT em um subgraph, ele incorre uma taxa de 1% de curadoria. Esta taxa é queimada, e o resto é depositado na reserva da bonding curve. -3. Quando os curadores queimam as suas ações para sacar GRT, o valor das ações restantes em GRT é diminuído. Saiba que, em alguns casos, os curadores podem decidir queimar todas as suas ações **de uma vez só**. Isto pode ser comum se um programador de dApp parar de versionar/melhorar e consultar seu subgraph, ou se um subgraph falhar. Portanto, os curadores restantes podem não poder sacar mais do que uma fração do seu GRT inicial. Para um papel de rede com um perfil de risco menor, veja [Delegados](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. Um subgraph pode falhar devido a um erro de código. Um subgraph falho não acumula taxas de consulta. Portanto, espere até o programador consertar o erro e lançar uma nova versão. - Caso se inscreva à versão mais recente de um subgraph, suas ações migrarão automaticamente a esta versão nova. Isto incorrerá uma taxa de curadoria de 0.5%. - - Se sinalizou em um subgraph específico e ele falhou, deverá queimar suas ações de curadoria manualmente. Lembre que é possível receber mais ou menos GRT do que depositou no começo da curva de curadoria, que é um risco associado com o papel de curador. Pode então sinalizar na nova versão do subgraph, o que incorre uma taxa de curadoria de 1%. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Perguntas Frequentes sobre Curadoria ### 1. Qual a % das taxas de query que os Curadores ganham? -Ao sinalizar em um subgraph, ganhará parte de todas as taxas de query geradas por este subgraph. 10% de todas as taxas de curadoria vão aos Curadores, pro-rata às suas ações de curadoria. Estes 10% são sujeitos à governança. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. Como decidir quais subgraphs são de qualidade alta para sinalizar? Achar subgraphs de alta qualidade é uma tarefa complexa, mas ela pode ser abordada de várias formas diferentes. Como Curador, vale procurar subgraphs com boa reputação que movem volumes de consulta. Um subgraph confiável pode ser valioso se for completo, preciso, e apoiar as necessidades de dados de um dApp. Um subgraph mal arquitetado pode precisar de revisão ou reedição, e também tem risco de falhar. É crítico que os Curadores verifiquem a arquitetura ou código de um subgraph, para avaliar se ele é valioso. Portanto: - Os curadores podem usar o seu conhecimento de uma rede para tentar prever como um subgraph individual pode gerar um volume maior ou menor de queries no futuro -- Os curadores também devem entender as métricas disponíveis através do Graph Explorer. Métricas como volume passado de consultas e quem é o programador do subgraph podem ajudar a determinar se um subgraph vale ou não o sinal. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. Qual o custo de atualizar um subgraph? -A migração das suas ações de curadoria para uma nova versão de subgraph incorre uma taxa de curadoria de 1%. Os Curadores podem escolher se inscrever na versão mais nova de um subgraph. Quando ações de curadoria são auto-migradas a uma nova versão, os Curadores também pagarão metade da taxa de curadoria (por ex., 0.5%), porque a atualização de subgraphs é uma ação on-chain que custa gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. Com que frequência posso atualizar o meu subgraph? @@ -89,7 +78,49 @@ Não atualize os seus subgraphs com frequência excessiva. Veja a questão acima ### 5. Posso vender as minhas ações de curadoria? -Ações de curadoria não podem ser "compradas" ou "vendidas", como outros tokens ERC20 que deve conhecer. Eles só podem ser cunhados (criados) ou queimados (destruídos) dentro da bonding curve para um subgraph particular. A quantidade de GRT necessária para cunhar um novo sinal, e a quantidade de GRT que você recebe ao queimar o seu sinal existente, são determinados por aquela bonding curve. Como Curador, saiba que quando queimas as suas ações de curadoria para sacar GRT, pode acabar com mais ou menos GRT do que depositou no início. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Os Básicos da Bonding Curve + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Preço por ações](/img/price-per-share.png) + +Como resultado, o preço aumenta de forma linear, o que significa que a compra de uma ação ficará mais cara temporalmente. Aqui está um exemplo; veja a bonding curve abaixo: + +![Bonding curve](/img/bonding-curve.png) + +Considere que temos dois curadores que cunham ações para um subgraph: + +- O Curador A é o primeiro a sinalizar no subgraph. Ao adicionar 120.000 GRT à curve, ele pode cunhar 2000 ações. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Como ambos os curadores têm metade do total das ações de curadoria, eles receberiam uma quantia igual de ‘royalties’ de curadoria. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- O curador restante passaria a receber todos os ‘royalties’ de curadoria daquele subgraph. Caso ele queimasse as suas ações para sacar GRT, ele receberia 120.000 GRT. +- **RESUMINDO:** A valorização em GRT de ações de curadoria é determinada pela bonding curve, e pode ser volátil. Há o potencial para grandes prejuízos. Sinalizar precocemente significa que você coloca menos GRT para cada ação. Por tabela, isto significa que ganhas mais royalties de curadoria por GRT do que curadores que chegarem mais tarde para o mesmo subgraph. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +No caso do The Graph, é usada [a implementação da Bancor de uma fórmula de bonding curve](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). Ainda não percebeu? Confira o nosso guia em vídeo sobre a Curadoria abaixo: From ec165f5722664189e1036c9926594332496c8a68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:17 -0400 Subject: [PATCH 0411/2326] New translations curating.mdx (Russian) --- website/pages/ru/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/ru/network/curating.mdx b/website/pages/ru/network/curating.mdx index e81902254800..d00988571920 100644 --- a/website/pages/ru/network/curating.mdx +++ b/website/pages/ru/network/curating.mdx @@ -2,38 +2,31 @@ title: Кураторство --- -Кураторы - это очень важная роль в распределенной экономики Graph протокола. Кураторы используют свой опыт и экспертизу в web3 экосистеме для оценки и сигнала на субграфы, которые стоят того что бы их индексировали Индексаторы. Используя Explorer, Кураторы имеет возможность просмотреть данные сети, что бы принять решение стоит ли сигналить на субграф. Graph протокол предусматривает награды для Кураторов, как часть от суммы оплаты за запросы пользователей к данному субграфу. Модель наград реализована таким образом, что бы стимулировать Кураторов сигналить как можно раньше. Индексаторы используют сигнал от Кураторов для принятия решения об индексации данного субграфа. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -При сигнализировании, кураторы могут решить подать сигнал о конкретной версии субграфа или сигнализировать с помощью автоматической миграции. При использовании автоматической миграции, предоставляемые Кураторами данные всегда будут перенесены на последнюю версию, опубликованную разработчиком. Если вместо этого Вы решите сигнализировать об определенной версии, общие ресурсы всегда останутся на этой конкретной версии. +## What Does Signaling Mean for The Graph Network? -Помните, что кураторство носит рискованный характер. Пожалуйста, проявите должную осмотрительность, курируя подграфы, которым вы доверяете. Создание подграфа не требует разрешения, поэтому люди могут создавать подграфы и давать им любые названия. Для дополнительных рекомендаций по минимизации рисков, ознакомьтесь с [Руководством по кураторству от Академии Graph.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Bonding Curve 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -Сначала мы сделаем шаг назад. Каждый субграф имеет кривую связи, на которой производится начисление долей курирования, когда пользователь добавляет сигнал **в** кривую. Каждая кривая связи в подграфе уникальна. Кривые связи построены таким образом, что цена выпуска доли на подграфе линейно возрастает с увеличением количества выпущенных единиц. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Price per shares](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -В результате цена растет линейно, а это означает, что со временем покупка акции станет дороже. Вот пример того, что мы имеем в виду, см. кривую связи ниже: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Кривая связи](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Предположим, у нас есть два куратора, которые минтят доли для субграфа: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Куратор "А" первым сигнализирует о подграфе. Добавив 120 000 GRT на кривую, он может создать 2000 долей. -- Сигнал куратора "Б" появляется на подграфе через некоторое время. Чтобы получить такое же количество, как у куратора "А", ему придется добавить 360 000 GRT на кривую. -- Поскольку оба куратора имеют половину от общего числа, они получат равное количество наград. -- Если любой из кураторов теперь сожжет свои 2000 долей, он получит 360 000 GRT. -- Оставшийся куратор теперь будет получать всё вознаграждение для этого подграфа. Если он сожжет свои для вывода GRT, он получит 120 000 GRT. -- **TLDR:** Оценка GRT кураторских позиций определяется кривой связи и может быть волатильной. Есть вероятность понести большие потери. Если вы подадите сигнал раньше, это означает, что вы вложите меньше GRT за каждую отдельную долю. В свою очередь это означает, что вы получаете больше кураторских роялти на GRT, чем более поздние кураторы для того же субграфа. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -В общем, кривая связывания — это математическая кривая, которая определяет взаимосвязь между предложением токенов и ценой актива. В конкретном случае курирования подграфов, **цена каждой доли подграфа увеличивается с каждым вложенным токеном** и **цена каждой доли уменьшается с каждым проданным токеном.** - -В случае с The Graph используется разработанная компанией [Bancor формула кривой связи](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). +![Explorer по подграфам](/img/explorer-subgraphs.png) ## Как подавать Сигнал -Теперь, когда мы рассмотрели основные принципы работы кривой связи, перейдем к подаче сигнала на субграф. На вкладке Curator (Куратор) в Graph Explorer кураторы смогут подавать и не подавать сигналы на определенные субграфы, основываясь на статистике сети. Для получения пошагового обзора того, как это сделать в Explorer, [ перейдите по ссылке.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) Куратор может выбрать конкретную версию подграфа для сигнализации, или же он может выбрать автоматическую миграцию своего сигнала на самую новую рабочую сборку этого подграфа. Оба варианта являются допустимыми стратегиями и имеют свои плюсы и минусы. @@ -41,47 +34,43 @@ title: Кураторство Автоматическая миграция вашего сигнала на самую новую рабочую сборку может быть ценной, чтобы гарантировать непрерывное начисление комиссий за запросы. Каждый раз, когда вы осуществляете курирование, взимается комиссия в размере 1%. Вы также заплатите комиссию в размере 0,5% при каждой миграции. Разработчикам подграфов не рекомендуется часто публиковать новые версии - они должны заплатить комиссию на курирование в размере 0,5% на все автоматически мигрированные доли курации. -> **Примечание**: Первый адрес, сигнализирующий о конкретном подграфе, считается первым куратором и будет выполнять гораздо более ресурсоёмкую работу по сравнению с последующими кураторами. Это связано с тем, что первый куратор инициализирует токены долей курации, инициализирует кривую связывания, а также переводит токены в прокси Graph. - -## Что означает сигнализация для сети Graph? - -Чтобы конечным пользователям было возможно осуществлять запросы к подграфу, подграф должен быть проиндексирован. Индексация — это процесс, в ходе которого файлы, данные и метаданные просматриваются, каталогизируются и затем индексируются для ускорения поиска результатов. Чтобы данные подграфа были доступны для поиска, они должны быть организованы. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -Таким образом, если бы индексаторам пришлось угадывать, какие подграфы им следует индексировать, вероятность того, что они получат высокую плату за запросы, была бы низкой, поскольку у них не было бы возможности проверить, какие подграфы имеют хорошее качество. Введите курирование. +## Withdrawing your GRT -Кураторы делают сеть The Graph эффективной, и сигнализация — это процесс, который кураторы используют, чтобы дать знать индексаторам, что подграф подходит для индексации, причем GRT добавляется на кривую связывания для подграфа. Индексаторы могут полагаться на сигнал от куратора, потому что при сигнализации кураторы доли курации для подграфа, что дает им право на часть будущих комиссий за запросы, которые генерирует подграф. Сигнал куратора представлен как токены ERC20, называемые долями курирования Graph (GCS). Кураторы, которые хотят зарабатывать больше на комиссиях за запросы, должны направлять свои GRT на подграфы, которые, по их мнению, будут генерировать сильный поток комиссий в сеть. Кураторы не могут быть наказаны за плохое поведение, но существует штраф на депозит для кураторов, чтобы не стимулировать плохое принятие решений, которое может навредить целостности сети. Кураторы также получают меньше комиссий за запросы, если они выбирают курировать низкокачественный подграф, так как будет меньше запросов для обработки или меньше индексаторов для обработки этих запросов. Смотрите диаграмму ниже! +Curators have the option to withdraw their signaled GRT at any time. -![Сигнальная диаграмма](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Индексаторы могут находить подграфы для индексации на основе сигналов курирования, которые они видят в Graph Explorer (скриншот ниже). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Explorer по подграфам](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Риски 1. Рынок запросов в The Graph по своей сути молод, и существует риск того, что ваш %APY может оказаться ниже, чем вы ожидаете, из-за зарождающейся динамики рынка. -2. Комиссия за кураторство — когда куратор сигнализирует GRT на субграфе, он облагается налогом на кураторство в размере 1%. Эта оплата сжигается, а остальная часть депонируется в резервный запас кривой облигаций. -3. Когда кураторы сжигают свои доли для вывода GRT, оценка GRT оставшихся долей будет уменьшена. Имейте в виду, что в некоторых случаях кураторы могут решить сжечь свои доли **все сразу**. Такая ситуация может стать общей, если разработчик dApp перестает обновлять/улучшать и запрашивать свой подграф или если подграф терпит неудачу. В результате оставшиеся кураторы могут иметь возможность вывести только часть своего первоначального GRT. Для роли в сети с более низким риском, смотрите [Делегаторы](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. Подграф может выйти из строя из-за ошибки. За неудавшийся подграф не начисляется плата за запрос. В результате вам придется ждать, пока разработчик исправит ошибку и выложит новую версию. - Если вы подписаны на новейшую версию подграфа, ваши общие ресурсы автоматически перейдут на эту новую версию. При этом будет взиматься кураторская комиссия в размере 0,5%. - - Если вы указали конкретную версию подграфа и она не удалась, вам придется вручную сжечь свои курационные доли. Обратите внимание, что вы можете получить больше или меньше GRT, чем вы изначально вложили в кривую курирования, что представляет собой риск, связанный с работой куратора. Затем вы можете подать сигнал на новую версию подграфа, при этом понеся комиссию на курирование в размере 1%. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Часто задаваемые вопросы по кураторству ### 1. Какой % от оплаты за запрос получают кураторы? -Подавая сигнал о подграфе, вы получаете долю от всех комиссий за запросы, которые генерирует этот подграф. 10 % от всех сборов за запросы переходят кураторам пропорционально их доле курирования. Эти 10% подлежат управлению. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. Как определить, какие подграфы являются высококачественными, чтобы подавать на них сигналы? Поиск высококачественных подграфов — это сложная задача, но её можно решить множеством различных способов. Как куратор, вы хотите искать надежные подграфы, которые генерируют объем запросов. Надежный подграф может быть ценным, если он полный, точный и удовлетворяет потребности dApp в данных. Плохо спроектированный подграф может потребовать пересмотра или повторной публикации и также может потерпеть неудачу. Критически важно для кураторов изучать архитектуру или код подграфа, чтобы оценить его ценность. В результате: - Кураторы могут использовать свое понимание сети, чтобы попытаться предсказать, как отдельный подграф может генерировать больший или меньший объем запросов в будущем -- Кураторы также должны понимать метрики, доступные через Graph Explorer. Такие показатели, как объем прошлых запросов и кто является разработчиком подграфа, могут помочь определить, стоит ли сообщать о подграфе. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. Какова стоимость обновления подграфа? -При переносе Ваших кураторских данных в новую версию подграфа взимается комиссия на курирование в размере 1%. Кураторы могут подписаться на новейшую версию подграфа. Когда кураторские данные автоматически переносятся на новую версию, Кураторы также будут платить половину комиссии на курирование, т. е. 0,5%, потому что обновление подграфов — это действие в сети, которое сопровождается оплатой комиссии сети. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. Как часто я могу обновлять свой подграф? @@ -89,7 +78,49 @@ title: Кураторство ### 5. Могу ли я продать свои кураторские доли? -Доли курации не могут быть "куплены" или "проданы", как другие токены ERC20, с которыми вы, возможно, знакомы. Их можно только чеканить (создавать) или сжигать (уничтожать) в соответствии с кривой связывания для конкретного подграфа. Количество GRT, необходимое для создания нового сигнала, и количество GRT, которое вы получите, когда сожжете свой существующий сигнал, определяются этой кривой связывания. Как куратор, вам нужно знать, что когда вы сжигаете свои доли курации, чтобы вывести GRT, у вас может оказаться больше или меньше GRT, чем вы изначально вложили. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Bonding Curve 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Price per shares](/img/price-per-share.png) + +В результате цена растет линейно, а это означает, что со временем покупка акции станет дороже. Вот пример того, что мы имеем в виду, см. кривую связи ниже: + +![Кривая связи](/img/bonding-curve.png) + +Предположим, у нас есть два куратора, которые минтят доли для субграфа: + +- Куратор "А" первым сигнализирует о подграфе. Добавив 120 000 GRT на кривую, он может создать 2000 долей. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Поскольку оба куратора имеют половину от общего числа, они получат равное количество наград. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- Оставшийся куратор теперь будет получать всё вознаграждение для этого подграфа. Если он сожжет свои для вывода GRT, он получит 120 000 GRT. +- **TLDR:** Оценка GRT кураторских позиций определяется кривой связи и может быть волатильной. Есть вероятность понести большие потери. Если вы подадите сигнал раньше, это означает, что вы вложите меньше GRT за каждую отдельную долю. В свою очередь это означает, что вы получаете больше кураторских роялти на GRT, чем более поздние кураторы для того же субграфа. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +В случае с The Graph используется разработанная компанией [Bancor формула кривой связи](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). Вы все еще в замешательстве? Ознакомьтесь с нашим видеоруководством по кураторству: From aa77fbd9d73aca0c62be8462eb338de1c553ad96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:17 -0400 Subject: [PATCH 0412/2326] New translations curating.mdx (Swedish) --- website/pages/sv/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/sv/network/curating.mdx b/website/pages/sv/network/curating.mdx index 9f408a71eb4d..23a394b3a1a1 100644 --- a/website/pages/sv/network/curating.mdx +++ b/website/pages/sv/network/curating.mdx @@ -2,38 +2,31 @@ title: Kuratering --- -Kuratorer är avgörande för The Graphs decentraliserade ekonomi. De använder sin kunskap om web3-ekosystemet för att bedöma och signalera vilka subgrafer som bör indexeras av The Graph Network. Genom Explorer kan kuratorer se nätverksdata för att fatta signaleringsbeslut. The Graph Network belönar kuratorer som signalerar på subgrafer av god kvalitet med en del av de avgifter för frågor som subgrafer genererar. Kuratorer har ekonomiska incitament att signalera tidigt. Dessa signaler från kuratorer är viktiga för Indexers, som sedan kan bearbeta eller indexera data från dessa signalerade subgrafer. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -Vid signalering kan kuratorer välja att signalera på en specifik version av subgrafen eller signalera med automatisk migrering. Vid signalering med automatisk migrering kommer en kurators andelar alltid att migreras till den senaste versionen som utvecklaren publicerar. Om du väljer att signalera på en specifik version kommer andelarna alltid att stanna på denna specifika version. +## What Does Signaling Mean for The Graph Network? -Kom ihåg att kurering är riskabelt. Vänligen gör din flit för att se till att du kurerar på subgrafer du litar på. Att skapa en subgraf är utan tillåtelse, så människor kan skapa subgrafer och kalla dem vilket namn de vill. För mer vägledning om kurationsrisker, kolla in [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Bindningskurva 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -Först tar vi ett steg tillbaka. Varje subgraf har en bindningskurva på vilken kuratorandelar präglas när en användare lägger in signal **i** kurvan. Varje subgrafs bindningskurva är unik. Bindningskurvorna är utformade så att priset för att prägla en kuratorandel på en subgraf ökar linjärt, över antalet präglade andelar. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Pris per andel](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -Som ett resultat ökar priset linjärt, vilket innebär att det blir dyrare att köpa en andel över tiden. Här är ett exempel på vad vi menar, se bindningskurvan nedan: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Bindningskurva](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Låt oss säga att vi har två kuratorer som präglar andelar för en subgraf: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Kurator A är den första att signalera på subgrafen. Genom att lägga till 120 000 GRT i kurvan kan de prägla 2000 andelar. -- Kurator B signalerar på subgrafen vid någon tidpunkt senare. För att få samma antal andelar som Kurator A skulle de behöva lägga till 360 000 GRT i kurvan. -- Eftersom båda kuratorerna har hälften av det totala antalet kuratorandelar skulle de få lika mycket kuratorersättning. -- Om någon av kuratorerna nu skulle bränna sina 2000 kuratorandelar skulle de få 360 000 GRT. -- Den återstående kuratorn skulle nu få all kuratorersättning för den subgrafen. Om de brände sina andelar för att ta ut GRT skulle de få 120 000 GRT. -- **TLDR:** GRT-värderingen av kuratorandelar bestäms av bindningskurvan och kan vara volatil. Det finns potential att ådra sig stora förluster. Att signalera tidigt innebär att du satsar mindre GRT för varje andel. Detta innebär i förlängningen att du tjänar mer kuratorersättning per GRT än senare kuratorer för samma subgraf. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -I allmänhet är en bindningskurva en matematisk kurva som definierar förhållandet mellan tokensupply och tillgångspris. I fallet med subgrafkurering **ökar priset på varje subgrafandel med varje investerad token** och **priset på varje andel minskar med varje såld token.** - -I fallet med The Graph används [Bancors implementation av en bindningskurvformel](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). +![Utforska subgrafer](/img/explorer-subgraphs.png) ## Hur man Signaliserar -Nu när vi har täckt grunderna om hur bindningskurvan fungerar, här är hur du går tillväga för att signalera på en subgraf. Inom Kuratorfliken på Graf Explorer kan kuratorer signalera och osignalera på vissa subgrafer baserat på nätverksstatistik. För en steg-för-steg-översikt över hur du gör detta i Explorer, [klicka här.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) En kurator kan välja att signalera på en specifik subgrafversion, eller så kan de välja att ha sin signal automatiskt migrerad till den nyaste produktionsversionen av den subgrafen. Båda är giltiga strategier och har sina egna för- och nackdelar. @@ -41,47 +34,43 @@ Att signalera på en specifik version är särskilt användbart när en subgraf Att ha din signal automatiskt migrerad till den nyaste produktionsversionen kan vara värdefullt för att säkerställa att du fortsätter att ackumulera frågeavgifter. Varje gång du signalerar åläggs en kuratoravgift på 1%. Du kommer också att betala en kuratoravgift på 0,5% vid varje migration. Subgrafutvecklare uppmanas att inte publicera nya versioner för ofta - de måste betala en kuratoravgift på 0,5% på alla automatiskt migrerade kuratorandelar. -> **Observera**: Den första adressen som signalerar en viss subgraf betraktas som den första kuratorn och kommer att behöva utföra mycket mer gasintensivt arbete än de övriga följande kuratorerna eftersom den första kuratorn initierar kuratorandelstoken, initierar bindningskurvan och överför även tokens till Graf-proxy. - -## Vad innebär Signalering för The Graf Nätverk? - -För att slutanvändare ska kunna ställa frågor till en subgraf måste subgrafen först indexeras. Indexering är en process där filer, data och metadata granskas och sedan indexeras så att resultat kan hittas snabbare. För att en subgrafs data ska kunna sökas behöver den organiseras. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -Så om Indexers skulle behöva gissa vilka subgrafer de ska indexera skulle det vara en låg chans att de skulle tjäna pålitliga frågeavgifter eftersom de inte skulle ha något sätt att validera vilka subgrafer som är av god kvalitet. Där kommer kureringen in. +## Withdrawing your GRT -Kuratorer gör The Graf-nätverket effektivt och signalering är det förfarande som kuratorer använder för att låta Indexers veta att en subgraf är bra att indexera, där GRT läggs till en bindningskurva för en subgraf. Indexers kan intrinsiskt lita på signalen från en kurator eftersom kuratorer vid signalering präglar en kuratorandel för subgrafen, vilket ger dem rätt till en del av de framtida frågeavgifterna som subgrafen genererar. Kuratorsignalen representeras som ERC20-tokens kallade Graph Curation Shares (GCS). Kuratorer som vill tjäna mer frågeavgifter bör signalera sitt GRT till subgrafer som de förutspår kommer att generera en stark ström av avgifter till nätverket. Kuratorer kan inte drabbas av negativ påverkan för dåligt beteende, men det finns en insättningsavgift för kuratorer för att motverka dåliga beslut som kan skada nätverkets integritet. Kuratorer tjänar också färre frågeavgifter om de väljer att kurera på en subgraf av låg kvalitet eftersom det kommer att finnas färre frågor att behandla eller färre Indexers att behandla dessa frågor. Se diagrammet nedan! +Curators have the option to withdraw their signaled GRT at any time. -![Signaleringsschema](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Indexers kan hitta subgrafer att indexera baserat på kuratorsignaler de ser i The Graph Explorer (screenshot nedan). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Utforska subgrafer](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Risker 1. Frågemarknaden är i grunden ung på The Graph och det finns en risk att din %APY kan vara lägre än du förväntar dig på grund av tidiga marknadsmekanik. -2. Kuratoravgift - när en kurator signalerar GRT på en subgraf åläggs de en kuratoravgift på 1%. Denna avgift bränns och resten sätts in i reservförsörjningen för bindningskurvan. -3. När kuratorer bränner sina andelar för att ta ut GRT minskas GRT-värderingen av de återstående andelarna. Var medveten om att i vissa fall kan kuratorer besluta att bränna sina andelar **på en gång**. Denna situation kan vara vanlig om en dApp-utvecklare slutar versionera/förbättra och ställa frågor på sin subgraf eller om en subgraf misslyckas. Som ett resultat kan återstående kuratorer bara ta ut en bråkdel av sitt ursprungliga GRT. För en nätverksroll med en lägre riskprofil, se [Delegatorer](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. En subgraf kan misslyckas på grund av en bugg. En misslyckad subgraf genererar inte frågeavgifter. Som ett resultat måste du vänta tills utvecklaren rättar felet och distribuerar en ny version. - Om du prenumererar på den nyaste versionen av en subgraf kommer dina andelar automatiskt att migreras till den nya versionen. Detta kommer att medföra en kuratoravgift på 0,5%. - - Om du har signalerat på en specifik subgrafversion och den misslyckas måste du manuellt bränna dina kuratorandelar. Observera att du kan få mer eller mindre GRT än du ursprungligen satt in i kuraturkurvan, vilket är en risk som är förknippad med att vara kurator. Du kan sedan signalera på den nya subgrafversionen och därmed åläggs en kuratoravgift på 1%. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Kurations-FAQ ### 1. Vilken % av frågeavgifterna tjänar Kuratorer? -Genom att signalera på en subgraf kommer du att tjäna en del av alla de frågeavgifter som denna subgraf genererar. 10% av alla frågeavgifter går till Kuratorerna pro rata till deras kuratorandelar. Dessa 10% är föremål för styrning. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. Hur bestämmer jag vilka subgrafer av hög kvalitet att signalera på? Att hitta högkvalitativa subgrafer är en komplex uppgift, men den kan närmas på många olika sätt. Som kurator vill du leta efter pålitliga subgrafer som genererar frågevolym. En pålitlig subgraf kan vara värdefull om den är komplett, korrekt och stöder en dApps datamässiga behov. En dåligt utformad subgraf kan behöva revideras eller publiceras på nytt och kan också misslyckas. Det är avgörande för kuratorer att granska en subgrafs arkitektur eller kod för att bedöma om en subgraf är värdefull. Som ett resultat: - Kuratorer kan använda sin förståelse för nätverket för att försöka förutsäga hur en enskild subgraf kan generera en högre eller lägre frågevolym i framtiden -- Kuratorer bör också förstå de metriker som finns tillgängliga via The Graph Explorer. Metriker som tidigare frågevolym och vem subgrafutvecklaren är kan hjälpa till att avgöra om en subgraf är värd att signalera på. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. Vad kostar det att uppdatera en subgraf? -Att migrera dina kuratorandelar till en ny subgrafversion åläggs en kuratoravgift på 1%. Kuratorer kan välja att prenumerera på den nyaste versionen av en subgraf. När kuratorandelar automatiskt migreras till en ny version kommer kuratorer också att betala en halv kuratoravgift, dvs. 0,5%, eftersom uppdatering av subgrafer är en on-chain-åtgärd som kostar gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. Hur ofta kan jag uppdatera min subgraf? @@ -89,7 +78,49 @@ Det föreslås att du inte uppdaterar dina subgrafer för ofta. Se frågan ovan ### 5. Kan jag sälja mina kuratorandelar? -Kuratorandelar kan inte "köpas" eller "säljas" som andra ERC20-tokens som du kanske är bekant med. De kan endast präglas (skapade) eller brännas (förstöras) längs bindningskurvan för en särskild subgraf. Den mängd GRT som behövs för att prägla en ny signal och den mängd GRT du får när du bränner din befintliga signal bestäms av den bindningskurvan. Som kurator måste du veta att när du bränner dina kuratorandelar för att ta ut GRT kan du sluta med mer eller mindre GRT än du ursprungligen satt in. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Bindningskurva 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Pris per andel](/img/price-per-share.png) + +Som ett resultat ökar priset linjärt, vilket innebär att det blir dyrare att köpa en andel över tiden. Här är ett exempel på vad vi menar, se bindningskurvan nedan: + +![Bindningskurva](/img/bonding-curve.png) + +Låt oss säga att vi har två kuratorer som präglar andelar för en subgraf: + +- Kurator A är den första att signalera på subgrafen. Genom att lägga till 120 000 GRT i kurvan kan de prägla 2000 andelar. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Eftersom båda kuratorerna har hälften av det totala antalet kuratorandelar skulle de få lika mycket kuratorersättning. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- Den återstående kuratorn skulle nu få all kuratorersättning för den subgrafen. Om de brände sina andelar för att ta ut GRT skulle de få 120 000 GRT. +- **TLDR:** GRT-värderingen av kuratorandelar bestäms av bindningskurvan och kan vara volatil. Det finns potential att ådra sig stora förluster. Att signalera tidigt innebär att du satsar mindre GRT för varje andel. Detta innebär i förlängningen att du tjänar mer kuratorersättning per GRT än senare kuratorer för samma subgraf. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +I fallet med The Graph används [Bancors implementation av en bindningskurvformel](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). Fortfarande förvirrad? Kolla in vår videohandledning om kurering nedan: From 4e49ddd656640586689a288fe22f34231aa5206b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:18 -0400 Subject: [PATCH 0413/2326] New translations curating.mdx (Turkish) --- website/pages/tr/network/curating.mdx | 135 ++++++++++++++++---------- 1 file changed, 83 insertions(+), 52 deletions(-) diff --git a/website/pages/tr/network/curating.mdx b/website/pages/tr/network/curating.mdx index 32b601cd7550..4dd69fee41a8 100644 --- a/website/pages/tr/network/curating.mdx +++ b/website/pages/tr/network/curating.mdx @@ -1,96 +1,127 @@ --- -title: Kürasyon +title: Curating --- -Küratörler, Graph merkeziyetsiz ekonomi için kritik öneme sahiptir. Graph Network tarafından indekslenmesi gereken subgraph’leri değerlendirmek ve bunlar hakkında sinyal vermek için web3 ekosistemi hakkındaki bilgilerini kullanırlar. Küratörler, gezgin aracılığıyla sinyalizasyon kararları vermek için ağ verilerini görüntüleyebilir. Graph Ağı, kaliteli subgraph’lerde sinyal veren küratörleri ödüllendirir ve subgraph’lerin oluşturduğu sorgu ücretlerinden pay alır. Küratörler ekonomik olarak erken sinyal vermeye teşvik edilir. Küratörlerden gelen bu ipuçları, daha sonra bu işaretlenmiş subgraphlerden verileri işleyebilen veya dizine ekleyebilen indeksleyiciler için önemlidir. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -Küratörler sinyal verirken, subgraph'ın belirli bir sürümünde sinyal vermeye veya otomatik taşıma kullanarak sinyal vermeye karar verebilirler. Otomatik geçiş kullanılarak sinyal verildiğinde, bir Küratörün payları her zaman geliştirici tarafından yayınlanan en son sürüme taşınacaktır. Bunun yerine belirli bir sürümde sinyal vermeye karar verirseniz, paylar her zaman bu belirli sürümde kalacaktır. +## What Does Signaling Mean for The Graph Network? -Kürasyonun riskli olduğunu unutmayın. Lütfen güvendiğiniz subgraph’lerin küratörlüğünü yaptığınızdan emin olmak için gereken özeni gösterin. Bir subgraph oluşturmak izin gerektirmez, bu nedenle insanlar subgraph’ler oluşturabilir ve onlara istedikleri adı verebilirler. Seçme riskleri hakkında daha fazla bilgi için [Graph Akademi'nin Kürasyon Kılavuzu](https://thegraph.academy/curators/)'na göz atın. +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Bağlanma Eğrisi 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -Önce bir adım geri atıyoruz. Her bir subgraph’in, bir kullanıcı eğriye sinyal **eklediğinde** kürasyon paylarının basıldığı bir bağlanma eğrisi vardır. Her subgraph’in bağlanma eğrisi benzersizdir. Bağlanma eğrileri, bir subgraph’te kürasyon payı basma fiyatı, basılan hisse sayısına göre doğrusal olarak artacak şekilde tasarlanmıştır. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Hisse başına fiyat](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -Sonuç olarak, fiyat doğrusal olarak artar, bu da hisse satın almanın zaman içinde daha pahalı hale geleceği anlamına gelir. İşte ne demek istediğimize dair bir örnek, aşağıdaki bağlanma eğrisine bir göz atın: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Bağlanma eğrisi](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Bir subgraph için paylaşımlar yapan iki küratörümüz olduğunu düşünelim: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Küratör A, subgraph’te ilk sinyal verendir. Eğriye 120.000 GRT ekleyerek 2000 adet hisse basabiliyorlar. -- Küratör B'nin sinyali daha sonra bir noktada subgraph’tedir. Küratör A ile aynı miktarda hisse almak için eğriye 360.000 GRT eklemek zorunda kalacaklardı. -- Her iki küratör de toplam küratörlük hisselerinin yarısına sahip olduğundan, eşit miktarda küratör telif hakkı alacaklardır. -- Küratörlerden herhangi biri şimdi 2000 kürasyon hissesini yakacak olsaydı, 360.000 GRT alacaktı. -- Kalan küratör artık o subgraph için tüm küratör telif ücretlerini alacaktı. GRT'yi çekmek için hisselerini yakacak olsalardı, 120.000 GRT alacaklardı. -- **ÖZETLE:** Küratörlük hisselerinin GRT değeri, bağlanma eğrisi tarafından belirlenir ve değişken olabilir. Büyük kayıplar verme potansiyeli vadır. Erken sinyal vermek, her paylaşım için daha az GRT koymanız anlamına gelir. Ek olarak, bu, aynı subgraph için sonraki küratörlerden GRT başına daha fazla küratör telif hakkı kazandığınız anlamına gelir. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -Genel olarak, bir bağlanma eğrisi, belirteç arzı ile varlık fiyatı arasındaki ilişkiyi tanımlayan matematiksel bir eğridir. Spesifik subgraph düzenleme durumunda, **her bir subgraph hissesinin fiyatı yatırılan her token ile artar** ve **her bir hissenin fiyatı satılan her token ile düşer.** +![Explorer subgraphs](/img/explorer-subgraphs.png) -Graph söz konusu olduğunda, [Bancor'un bir bağlanma eğrisi formülü](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) uygulamasından yararlanılır. +## How to Signal -## Nasıl Sinyal Gönderilir +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) -Artık bağlanma eğrisinin nasıl çalıştığıyla ilgili temel bilgileri ele aldığımıza göre, bir subgraph’te sinyal vermeye bu şekilde devam edeceksiniz. Graph Gezgini'ndeki Küratör sekmesinde, küratörler ağ istatistiklerine dayalı olarak belirli subgraph’lerde sinyal verebilir ve sinyali iptal edebilir. Bunu Explorer(Gezgin)'da nasıl yapacağınıza ilişkin adım adım genel kılavuz için [burayı](/network/explorer) tıklayın. +A curator can choose to signal on a specific subgraph version, or they can choose to have their signal automatically migrate to the newest production build of that subgraph. Both are valid strategies and come with their own pros and cons. -Bir küratör, belirli bir subgraph versiyonunda sinyal vermeyi seçebilir veya sinyallerinin o subgraph’in en yeni üretim yapısına otomatik olarak taşınmasını seçebilir. Her ikisi de geçerli stratejilerdir ve kendi artıları ve eksileri vardır. +Signaling on a specific version is especially useful when one subgraph is used by multiple dApps. One dApp might need to regularly update the subgraph with new features. Another dApp might prefer to use an older, well-tested subgraph version. Upon initial curation, a 1% standard tax is incurred. -Belirli bir sürümde sinyal verme, özellikle bir subgraph birden fazla dApp tarafından kullanıldığında kullanışlıdır. Bir dApp'in subgraph’i yeni özelliklerle düzenli olarak güncellemesi gerekebilir. Başka bir dApp, daha eski, iyi test edilmiş bir subgraph sürümünü kullanmayı tercih edebilir. İlk iyileştirmenin ardından, %1'lik bir standart vergi tahakkuk ettirilir. +Having your signal automatically migrate to the newest production build can be valuable to ensure you keep accruing query fees. Every time you curate, a 1% curation tax is incurred. You will also pay a 0.5% curation tax on every migration. Subgraph developers are discouraged from frequently publishing new versions - they have to pay a 0.5% curation tax on all auto-migrated curation shares. -Sinyalinizin otomatik olarak en yeni üretim yapısına taşınması, sorgu ücretleri tahakkuk etmeye devam etmenizi sağlamak için değerli olabilir. Her kürasyon yaptığınızda, %1 kürasyon vergisi alınır. Ayrıca her geçişte %0,5 kürasyon vergisi ödersiniz. Subgraph geliştiricilerin sık sık yeni sürümler yayınlamaları önerilmez - otomatik olarak taşınan tüm derleme paylaşımları için %0,5'lik bir iyileştirme vergisi ödemeleri gerekir. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -> **Not:** Belirli bir subgraph’e sinyal gönderen ilk adres, ilk küratör olarak kabul edilir ve sonraki küratörlerin geri kalanından çok daha fazla yoğun çalışma yapması gerekir çünkü ilk küratör kürasyon paylaşım belirteçlerini başlatır, bağlanma eğrisini başlatır ve ayrıca belirteçleri Graph proxy'sine aktarır. +## Withdrawing your GRT -## Sinyal Gönderme, Graph Ağı için Ne Anlama Geliyor? +Curators have the option to withdraw their signaled GRT at any time. -Nihai tüketicilerin bir subgraph’i sorgulayabilmesi için öncelikle subgraph’in indekslenmesi gerekir. İndeksleme, sonuçların daha hızlı bulunabilmesi için dosyalara, verilere ve meta verilere bakıldığı, kataloglandığı ve ardından indekslendiği bir süreçtir. Bir subgraph’in verilerinin aranabilir olması için düzenlenmesi gerekir. +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Ve bu nedenle, indeksleyicilerin hangi subgraph’leri indekslemeleri gerektiğini tahmin etmeleri gerekseydi, hangi subgraph’lerin kaliteli olduğunu doğrulamalarının hiçbir yolu olmayacağından dolgun sorgu ücretleri kazanma şansları düşük olurdu. Küratörlüğe giriş yapalım. +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -Küratörler Graph ağını verimli hale getirir ve sinyal verme, küratörlerin indeksleyicilere bir subgraph’in dizine eklenmesinin iyi olduğunu bildirmek için kullandıkları süreçtir; burada GRT, bir subgraph için bir bağlanma eğrisine eklenir. İndeksleyiciler, doğası gereği bir küratörden gelen sinyale güvenebilir, çünkü sinyalleme üzerine, küratörler subgraph için bir kürasyon payı basar ve onlara subgraph’in yönlendireceği gelecekteki sorgu ücretlerinin bir kısmına hak verir. Küratör sinyali, Graph Küratörlük Paylaşımları (GCS) adı verilen ERC20 belirteçleri olarak temsil edilir. Daha fazla sorgu ücreti kazanmak isteyen küratörler, GRT'lerini ağa güçlü bir ücret akışı oluşturacağını tahmin ettikleri subgraph’lere sinyal vermelidir. Küratörlerin kötü davranışlarından dolayı kesinti yapılamaz, ancak ağın bütünlüğüne zarar verebilecek kötü karar vermeyi caydırmak için küratörlere bir depozito vergisi uygulanır. Küratörler ayrıca, düşük kaliteli bir subgraph üzerinde küratörlük yapmayı seçerlerse daha az sorgu ücreti alırlar, çünkü işlenecek daha az sorgu veya bu sorguları işlemek için daha az indeksleyici olacaktır. Aşağıdaki şemaya bir göz atın! +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. -![Sinyal diyagramı](/img/curator-signaling.png) +## Risks -İndeksleyiciler, Graph Gezgini'nde gördükleri iyileştirme sinyallerine dayalı olarak dizine eklenecek subgraph’leri bulabilirler (ekran görüntüsü alt kısımda yer alıyor). +1. The query market is inherently young at The Graph and there is risk that your %APY may be lower than you expect due to nascent market dynamics. +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). +4. A subgraph can fail due to a bug. A failed subgraph does not accrue query fees. As a result, you’ll have to wait until the developer fixes the bug and deploys a new version. + - If you are subscribed to the newest version of a subgraph, your shares will auto-migrate to that new version. This will incur a 0.5% curation tax. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. -![Subgraph gezgini](/img/explorer-subgraphs.png) +## Curation FAQs -## Riskler +### 1. What % of query fees do Curators earn? -1. Graph'ta sorgu pazarı doğası gereği gençtir ve gelişmekte olan pazar dinamikleri nedeniyle %APY'nizin beklediğinizden daha düşük olma riski vardır. -2. Kürasyon Ücreti - bir Küratör subgraph üzerinde GRT sinyali verdiğinde, %1 kürasyon kesintisine uğrar. Bu ücret yakılır ve geri kalanı bağlanma eğrisinin rezerv arzına eklenir. -3. Küratörler GRT'yi çekmek için hisselerini yaktığında, kalan hisselerin GRT değeri düşecektir. Bazı durumlarda küratörlerin hisselerini **bir anda** yakmaya karar verebileceğini unutmayın. Bu durum, bir dApp geliştiricisinin sürüm oluşturma/geliştirme ve subgraph’ini sorgulamayı bırakması veya bir subgraph’in başarısız olması durumunda yaygın olabilir. Sonuç olarak, geri kalan küratörler ilk GRT'lerinin yalnızca bir kısmını geri alabilir. Daha düşük risk profiline sahip bir ağ rolü için bkz [Delegatörler](/network/delegating). -4. Bir subgraph, bir hata nedeniyle başarısız olabilir. Başarısız bir subgraph, sorgu ücreti tahakkuk ettirmez. Sonuç olarak, geliştiricinin hatayı düzeltip yeni bir sürüm dağıtmasını beklemeniz gerekecek. - - Bir subgraph’in en yeni sürümüne abone olduysanız, paylaşımlarınız o yeni sürüme otomatik olarak taşınacaktır. Bu, %0,5 kürasyon vergisine tabi olacaktır. - - Belirli bir subgraph sürümünde sinyal verdiyseniz ve başarısız olursa, küratörlük paylaşımlarınızı manuel olarak yakmanız gerekecektir. Küratör olmakla ilişkili bir risk olan, küratörlük eğrisine başlangıçta yatırdığınızdan daha fazla veya daha az GRT alabileceğinizi unutmayın. Daha sonra yeni subgraph versiyonunda sinyal verebilirsiniz, böylece %1'lik bir kürasyon vergisine tabi olursunuz. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. -## Sıkça Sorulan Sorular +### 2. How do I decide which subgraphs are high quality to signal on? -### 1. Küratörler sorgu ücretlerinin yüzde kaçını kazanıyor? +Finding high-quality subgraphs is a complex task, but it can be approached in many different ways. As a Curator, you want to look for trustworthy subgraphs that are driving query volume. A trustworthy subgraph may be valuable if it is complete, accurate, and supports a dApp’s data needs. A poorly architected subgraph might need to be revised or re-published, and can also end up failing. It is critical for Curators to review a subgraph’s architecture or code in order to assess if a subgraph is valuable. As a result: -Bir subgraph’te sinyal vererek, bu subgraph’in ürettiği tüm sorgu ücretlerinden pay alacaksınız. Tüm sorgu ücretlerinin %10'u, küratörlerin kürasyon paylarına orantılı olarak gider. Bu %10 yönetişime tabidir. - -### 2. Hangi subgraph’lerin yüksek kalitede olduğuna nasıl karar verebilirim? - -Yüksek kaliteli subgraph’ler bulmak karmaşık bir iştir, ancak buna pek çok farklı şekilde yaklaşılabilir. Bir küratör olarak, sorgu hacmini artıran güvenilir subgraph’ler aramak istersiniz. Güvenilir bir subgraph, eksiksiz, doğruysa ve bir dApp'in veri ihtiyaçlarını destekliyorsa değerli olabilir. Kötü tasarlanmış bir subgraph’in gözden geçirilmesi veya yeniden yayınlanması gerekebilir ve bu da başarısız olabilir. Küratörlerin bir subgraph’in değerli olup olmadığını değerlendirmek için bir subgraph’in mimarisini veya kodunu gözden geçirmesi çok önemlidir. Sonuç olarak: - -- Küratörler, tek bir subgraph’in gelecekte nasıl daha yüksek veya daha düşük bir sorgu hacmi oluşturabileceğini denemek ve tahmin etmek için bir ağ hakkındaki anlayışlarını kullanabilirler -- Küratörler, Graph Gezgini aracılığıyla kullanılabilen metrikleri de anlamalıdır. Geçmiş sorgu hacmi ve subgraph geliştiricisinin kim olduğu gibi ölçümler, bir subgraph’in sinyal vermeye değer olup olmadığını belirlemeye yardımcı olabilir. +- Curators can use their understanding of a network to try and predict how an individual subgraph may generate a higher or lower query volume in the future +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. Bir subgraph'ı güncellemenin maliyeti nedir? -Kürasyon paylarınızı yeni bir subgraph sürümüne geçirmek %1'lik bir kürasyon kesintisini doğurur. Küratörler bir subgraph'ın en yeni sürümüne abone olmayı seçebilirler. Kürasyon payları yeni bir sürüme otomatik olarak taşındığında, Küratörler de kürasyon kesintisinin yarısını, yani %0,5'ini ödeyecektir, çünkü subgraphları güncellemek gas maliyeti olan bir zincir içi eylemdir. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. Subgraph'ımı ne sıklıkla güncelleyebilirim? Subgraph'ınızı çok sık güncellememeniz önerilir. Daha fazla ayrıntı için yukarıdaki soruya bakın. -### 5. Kürasyon hisselerimi satabilir miyim? +### 5. Can I sell my curation shares? + +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Bonding Curve 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Price per shares](/img/price-per-share.png) + +As a result, price increases linearly, meaning that it will get more expensive to purchase a share over time. Here’s an example of what we mean, see the bonding curve below: + +![Bonding curve](/img/bonding-curve.png) + +Consider we have two curators that mint shares for a subgraph: + +- Curator A is the first to signal on the subgraph. By adding 120,000 GRT into the curve, they are able to mint 2000 shares. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Since both curators hold half the total of curation shares, they would receive an equal amount of curator royalties. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- The remaining curator would now receive all the curator royalties for that subgraph. If they were to burn their shares to withdraw GRT, they would receive 120,000 GRT. +- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** -Kürasyon hisseleri, aşina olabileceğiniz diğer ERC20 tokenleri gibi "satın alınamaz" veya "satılamaz"dır. Yalnızca belirli bir subgraph için bağlanma eğrisi boyunca basılabilir (oluşturulabilir) veya yakılabilir (yok edilebilir). Yeni bir sinyal basmak için gereken GRT miktarı ve mevcut sinyali yaktığınızda alacağınız GRT miktarı, bu bağlanma eğrisi tarafından belirlenir. Bir küratör olarak, küratörlük hisselerinizi GRT'yi çekmek için yaktığınızda, başlangıçta yatırdığınızdan daha fazla veya daha az GRT alabileceğinizi bilmelisiniz. +In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. -Kafanız hala karışık mı? Endişelenmeyin. Aşağıdaki kürasyon video kılavuzumuza lütfen bir göz atın: +Still confused? Check out our Curation video guide below: From 211bd83b0974f49ebc7fc99d89c4cb78bb7d61b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:19 -0400 Subject: [PATCH 0414/2326] New translations curating.mdx (Ukrainian) --- website/pages/uk/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/uk/network/curating.mdx b/website/pages/uk/network/curating.mdx index 71d2ff2341b7..eae0e3463a43 100644 --- a/website/pages/uk/network/curating.mdx +++ b/website/pages/uk/network/curating.mdx @@ -2,38 +2,31 @@ title: Кураторство --- -Куратори мають вирішальне значення для децентралізованої економіки Graph. Вони використовують свої знання екосистеми web3 для оцінки та сигналізування про підграфів, які повинні бути проіндексовані мережею Graph. За допомогою експлорера куратори можуть переглядати дані мережі для прийняття відповідних рішень. The Graph Network нагороджує кураторів, які повідомляють про якісні підграфи, відсотком від комісії за запити, які генеруються підграфами. Куратори економічно зацікавлені у своєчасному поданні сигналів. Ці сигнали від кураторів важливі для індексаторів, адже потім індексатори можуть обробляти або індексувати дані з позначених субграфів. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -When signaling, curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. When signaling using auto-migrate, a Curator’s shares will always be migrated to the latest version published by the developer. If you decide to signal on a specific version instead, shares will always stay on this specific version. +## What Does Signaling Mean for The Graph Network? -Пам'ятайте, що кураторство є ризикованою справою. Будь ласка, зробіть все можливе, щоб переконатися, що ви займаєтеся кураторством тих підграфів, яким ви довіряєте. Створення підграфів не вимагає дозволу, тому люди можуть створювати підграфи та називати їх будь-якими іменами, які їм подобаються. Щоб дізнатися більше про ризики, пов'язані з кураторством, перегляньте [Видання від Graph Academy.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Крива зв'язування 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -Спочатку зробимо крок назад. Кожен підграф має криву зв'язування, на якій мінтяться кураторські частки, коли користувач додає сигнал **на** криву. Крива зв'язування кожного підграфа є унікальною. Криві зв'язування побудовані таким чином, що ціна мінту кураторської частки на підграфі зростає лінійно, в залежності від кількості випущених часток. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Ціна за частку](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -В результаті, ціна зростає лінійно, що означає, що з часом придбати одну частку буде все дорожче і дорожче. Ось приклад того, що ми маємо на увазі, див. криву зв'язування нижче: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Крива зв'язування](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Уявімо, що у нас є два куратори, які мінтять частки для підграфа: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Куратор А першим подає сигнал на підграфа. Додавши до кривої 120 000 GRT, вони можуть змінтити 2000 штук. -- Сигнал куратора Б з'являється на підграфі через деякий час після цього. Щоб отримати таку саму кількість часток, як і куратор А, він мав би додати до кривої 360 000 GRT. -- Оскільки обидва куратори володіють половиною загальної кількості кураторських часток, вони отримають рівну суму винагороди за кураторство. -- Якби хтось із кураторів зараз спалив свої 2000 кураторських часток, то отримав би 360 000 GRT. -- Куратор, що залишився, тепер отримає всю кураторську винагороду за цей підграф. Якби вони продали свої частки, щоб вивести GRT, вони б отримали лише 120 000 GRT. -- **TLDR:** Оцінка кількості GRT кураторських часток визначається кривою зв'язування і може бути волатильною. Існує потенціал для зазнання значних втрат. Сигналізація на ранній стадії означає, що ви вкладаєте менше GRT на кожну частку. Це означає, що ви заробляєте більше винагороди, як куратор за кожний GRT токен, ніж пізніші куратори за один і той самий підграф. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -Загалом, крива зв'язування — це математична крива, яка визначає взаємозв'язок між пропозицією токенів і ціною активу. У конкретному випадку курації підграфа **ціна кожної частки підграфа збільшується з кожним інвестованим токеном**, натомість **ціна кожної частки зменшується з кожним проданим токеном.** - -У випадку з Graph, застосовується, [впроваджена Bancor](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA), формула кривої зв'язування. +![Дослідження підграфів](/img/explorer-subgraphs.png) ## Як сигналізувати -Тепер, коли ми розглянули основи того, як працює крива зв'язування, ось як ви будете подавати сигнали на підграфи. На вкладці "Куратор" в Graph експлорері куратори зможуть подавати та скасовувати сигнали на певних підграфах на основі статистичних даних всередині мережі. Для покрокового огляду того, як це зробити в експлорері, [натискайте тут.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) Куратор може обрати подання сигналу на певну версію підграфа, або ж він може обрати автоматичне перенесення сигналу на найновішу версію цього підграфа. Обидва варіанти є прийнятними та мають свої плюси та мінуси. @@ -41,47 +34,43 @@ When signaling, curators can decide to signal on a specific version of the subgr Автоматичне переміщення вашого сигналу на найновішу версію може бути корисним для того, щоб ви продовжували нараховувати комісію за запити. Кожного разу, коли ви здійснюєте кураторську роботу, стягується плата за в розмірі 1%. Ви також сплачуєте 0,5% за кураторство, за кожну міграцію. Розробникам підграфів не рекомендується часто публікувати нові версії - вони повинні сплачувати 0.5% кураторам за всі автоматично переміщені частки кураторів. -> **Примітка:** Перша адреса, яка подала сигнал на певний підграф, вважається першим куратором і йому доведеться здійснити набагато більше витрат на газ, ніж іншим наступним кураторам, оскільки перший куратор ініціалізує токени частки кураторства, ініціалізує криву зв'язування, а також передає токени в Graph proxy. - -## Що означає Сигналізація для мережі Graph? - -Для того, щоб кінцеві користувачі могли робити запити до підграфа, цей підграф повинен бути спочатку проіндексований. Індексування — це процес, під час якого файли, дані та метадані переглядаються, класифікуються, а потім індексуються, щоб результати можна було знайти швидше. Для того, щоб дані підграфа були придатні для пошуку, вони повинні бути впорядковані. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -Отже, якби індексатори повинні були здогадуватися, які підграфи їм слід індексувати, була б низька ймовірність того, що вони будуть отримувати високі винагороди за запити, оскільки у них не було б способу перевірити, які підграфи є якісними. Введіть кураторство. +## Withdrawing your GRT -Куратори роблять мережу The Graph ефективною, а сигналізація - це процес, за допомогою якого куратори повідомляють індексаторам про те, що підграф може бути проіндексований, де GRT додається до кривої зв'язування для підграфа. Індексатори можуть довіряти сигналу від куратора, оскільки після сигналізації куратори мінтять кураторську частку для підграфа, що дає їм право на отримання частини від майбутніх комісії за запити, які генерує підграф. Сигнал куратора представлений у вигляді токенів ERC20, які називаються Graph Curation Shares (GCS). Куратори, які хочуть заробити більше комісій за запити, повинні надсилати свої GRT підграфам, які, за їхніми прогнозами, будуть генерувати сильний потік комісій в мережу. Куратори не можуть бути звільнені за погану поведінку, але існує депозитний внесок для кураторів, щоб позбавити їх стимулів до прийняття поганих рішень, які можуть зашкодити цілісності мережі. Куратори також заробляють менше комісійних за запити, якщо вони вирішили займатися низькоякісним підграфом, оскільки буде менше запитів для обробки або менше індексаторів, які будуть обробляти ці запити. Перегляньте діаграму нижче! +Curators have the option to withdraw their signaled GRT at any time. -![Схема сигналізації](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Індексатори можуть знаходити підграфи для індексування на основі сигналів від кураторів, які вони бачать в Graph експлорері (знімок з екрана нижче). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Дослідження підграфів](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Ризики 1. Ринок запитів за своєю суттю молодий в Graph, і існує ризик того, що ваш %APY може бути нижчим, ніж ви очікуєте, через динаміку ринку, що зароджується. -2. Curation Fee - when a Curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. Коли куратори спалюють свої частки, щоб отримати токени GRT, вартість GRT часток, що залишились, буде зменшеною. Майте на увазі, що в деяких випадках куратори можуть вирішити спалити свої частки **усі відразу**. Така ситуація може бути поширеною, якщо розробник dApp припиняє оновлювати версії, проваджувати покращення, тим самим провокує зменшення кількості запитів з підграфа або якщо підграф виходить з ладу. В результаті, куратори, що залишилися, можуть мати можливість зняти лише частину свого початкового GRT. Для отримання інформації про роль в мережі з меншим рівнем ризику див. розділ [Делегати](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. Підграф може не працювати через різноманітні помилки (баги). Підграф, що не працює не стягує комісію за запити. В результаті вам доведеться почекати, поки розробник виправить усі помилки й випустить нову версію. - Якщо ви підключені до найновішої версії підграфу, ваші частки будуть автоматично перенесені до цієї нової версії. При цьому буде стягуватися податок на в розмірі 0,5%. - - Якщо ви подали сигнал на певну версію підграфа, а він не спрацював, вам доведеться власноруч спалювати свої частки. Зверніть увагу, що ви можете отримати більше або менше GRT, ніж ви початково внесли в криву, що є ризиком, пов'язаним з тим, що ви є куратором. Потім ви можете подати сигнал вже на нову версію підграфа, таким чином зазнавши 1% комісії, згідно з кураторською роботою. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Часті запитання про кураторство ### 1. Який % від комісії за запити отримують куратори? -Подаючи сигнал на підграфа, ви заробляєте частку від усіх комісій за запити, які генерує цей підграф. 10% від усіх комісії за запити отримують куратори пропорційно до їхніх часток. Ці 10% підлягають розподілу. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. Як вирішити, які підграфи є якісними для подачі сигналу? Пошук найякісніших підграфів є складним завданням, але до нього можна підійти різними способами. Як куратор, ви хочете шукати надійні підграфи, які сприяють збільшенню обсягу запитів. Надійний підграф може бути цінним, якщо він є повноцінним, чітким і відповідає потребам dApp в інформації. Погано організований підграф може потребувати перегляду або повторної редакції, а також може в кінцевому підсумку виявитися неефективним. Для кураторів дуже важливо переглянути інфраструктуру або код підграфа, щоб оцінити, чи є він цінним. Як результат: - Куратори можуть використовувати своє бачення мережі, щоб спробувати передбачити, як окремий підграф може генерувати більший або менший обсяг запитів у майбутньому -- Куратори також повинні розбиратися в показниках, які доступні через Graph Explorer. Такі, як обсяг попередніх запитів і хто є розробником підграфа, можуть допомогти визначити, чи варто сигналізувати про нього, чи ні. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. What’s the cost of updating a subgraph? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curation shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because updating subgraphs is an on-chain action that costs gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. How often can I update my subgraph? @@ -89,7 +78,49 @@ It’s suggested that you don’t update your subgraphs too frequently. See the ### 5. Чи можу я продати свої частки куратора? -Частки кураторства не можуть бути "куплені" або "продані", як інші токени ERC20, з якими ви можете бути ознайомлені. Їх можна тільки мінтити (створювати) або спалювати (знищувати) уздовж кривої зв'язування для конкретного підграфа. Кількість GRT, необхідна для мінту нового сигналу, і кількість GRT, яку ви отримаєте при спалюванні наявного сигналу, визначаються цією кривою зв'язування. Як куратор, ви повинні знати, що коли ви спалюєте свої частки, щоб отримати GRT, ви можете в кінцевому підсумку отримати більше або менше GRT, ніж ви внесли початково. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Крива зв'язування 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Ціна за частку](/img/price-per-share.png) + +В результаті, ціна зростає лінійно, що означає, що з часом придбати одну частку буде все дорожче і дорожче. Ось приклад того, що ми маємо на увазі, див. криву зв'язування нижче: + +![Крива зв'язування](/img/bonding-curve.png) + +Уявімо, що у нас є два куратори, які мінтять частки для підграфа: + +- Куратор А першим подає сигнал на підграфа. Додавши до кривої 120 000 GRT, вони можуть змінтити 2000 штук. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Оскільки обидва куратори володіють половиною загальної кількості кураторських часток, вони отримають рівну суму винагороди за кураторство. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- Куратор, що залишився, тепер отримає всю кураторську винагороду за цей підграф. Якби вони продали свої частки, щоб вивести GRT, вони б отримали лише 120 000 GRT. +- **TLDR:** Оцінка кількості GRT кураторських часток визначається кривою зв'язування і може бути волатильною. Існує потенціал для зазнання значних втрат. Сигналізація на ранній стадії означає, що ви вкладаєте менше GRT на кожну частку. Це означає, що ви заробляєте більше винагороди, як куратор за кожний GRT токен, ніж пізніші куратори за один і той самий підграф. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +У випадку з Graph, застосовується, [впроваджена Bancor](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA), формула кривої зв'язування. Все ще спантеличені? Перегляньте нашу відео інструкцію нижче: From 57de03d93cf91eae39050498b30c142733dcd593 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:20 -0400 Subject: [PATCH 0415/2326] New translations curating.mdx (Chinese Simplified) --- website/pages/zh/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/zh/network/curating.mdx b/website/pages/zh/network/curating.mdx index bbf2470f86e7..cfeb33c6551b 100644 --- a/website/pages/zh/network/curating.mdx +++ b/website/pages/zh/network/curating.mdx @@ -2,38 +2,31 @@ title: 策展 --- -策展人对于Graph 去中心化的经济至关重要。 他们利用自己对 web3 生态系统的了解,对应该被 Graph 网络索引的子图进行评估并发出信号。 通过浏览器,策展人能够查看网络数据以做出信号决定。Graph 网络对那些在优质子图上发出信号的策展人给予奖励,并从子图产生的查询费中分得一部分。 在经济上,策展人被激励着尽早发出信号。 这些来自策展人的线索对索引人来说非常重要,他们可以对这些发出信号的子图进行处理或索引。 +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -在发出信号时,策展人可以决定在子图的一个特定版本上发出信号,或者使用自动迁移发出信号。 当使用自动迁移发出信号时,策展人的份额将升级到开发人员发布的最新版本。 如果你决定在一个特定的版本上发出信号,股份将始终保持在这个特定版本上。 +## What Does Signaling Mean for The Graph Network? -记住策展是有风险的。请做好你的工作,确保你在你信任的子图上进行策展。 请做好你的工作,确保你在你信任的子图上进行策展。 创建子图是没有权限的,所以人们可以创建子图,并为子图取任何他们想要的名字。 关于策展风险的更多指导,请查看 [The Graph Academy 的策展指南。](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## 收益率曲线 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -首先,我们退一步讲。 每个子图都有一条收益率曲线,当用户在曲线上 **添加**信号时,策展份额就在这条曲线上被铸造出来。 每个子图的粘合曲线都是独一无二的。 收益率曲线的结构是这样的:在一个子图上铸造一个策展份额的价格随着铸造的份额数量而线性增加。 +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![每份价格](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -因此,价格是线性增长的,这意味着随着时间的推移,购买股票的成本会越来越高。 这里有一个例子说明我们的意思,请看下面的粘合曲线。 +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![收益率曲线](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -考虑到我们有两个策展人,他们为一个子图铸造了份额: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- 策展人 A 是第一个对子图发出信号的人。 通过在曲线中加入 120,000 GRT,他们能够铸造出 2000 股。 -- 策展人 B 在之后的某个时间点在子图上发出信号。 为了获得与策展人 A 相同数量的股票,他们必须在曲线中加入 360,000 GRT。 -- 由于两位策展人都持有策展人股份总数的一半,他们将获得同等数量的策展人使用费。 -- 如果任何一个策展人现在烧掉他们的 2000 个策展份额,他们将获得 360,000 GRT。 -- 剩下的策展人现在将收到该子图的所有策展人使用费。 如果他们烧掉他们的股份来提取 GRT,他们将得到 12 万 GRT。 -- **TLDR:** 策展人股份的 GRT 估值是由粘合曲线决定的,可能会有波动。 有可能出现大的收益,也有可能出现大的损失。 提前发出信号意味着你为每只股票投入的 GRT 较少。 推而广之,这意味着在相同的子图上,你比后来的策展人在每个 GRT 上赚取更多的策展人使用费。 +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -一般来说,粘合曲线是一条数学曲线,定义了代币供应和资产价格之间的关系。 在子图策展的具体情况下,**子图份额的价格随着每一个代币的投入而增加**,**份额的价格随着每一个代币的出售而减少。** - -在Graph 的案例中, [Bancor 对粘合曲线公式的实施](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) 被利用。 +![浏览器子图](/img/explorer-subgraphs.png) ## 如何进行信号处理 -现在我们已经介绍了关于粘合曲线如何工作的基本知识,这就是你将如何在子图上发出信号。 在Graph 浏览器的策展人选项卡中,策展人将能够根据网络统计数据对某些子图发出信号和取消信号。 关于如何在浏览器中做到这一点的一步步概述,请[点击这里。](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) 策展人可以选择在特定的子图版本上发出信号,或者他们可以选择让他们的策展份额自动迁移到该子图的最新生产版本。 这两种策略都是有效的,都有各自的优点和缺点。 @@ -41,47 +34,43 @@ title: 策展 让你的策展份额自动迁移到最新的生产构建,对确保你不断累积查询费用是有价值的。 每次你策展时,都会产生 1%的策展税。 每次迁移时,你也将支付 0.5%的策展税。 不鼓励子图开发人员频繁发布新版本--他们必须为所有自动迁移的策展份额支付 0.5%的策展税。 -> **注意**: 第一个给特定子图发出信号的地址被认为是第一个策展人,将不得不消耗比之后其他策展人更多的燃料工作,因为第一个策展人初始化了策展份额代币,初始化了粘合曲线,还将代币转移到 Graph 代理。 - -## 信号对Graph 网络意味着什么? - -为了让终端消费者能够查询一个子图,该子图必须首先被索引。 索引是一个过程,对文件、数据和元数据进行查看、编目,然后编制索引,这样可以更快地找到结果。 为了使子图的数据可以被搜索到,它需要被组织起来。 +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -因此,如果索引人不得不猜测他们应该索引哪些子图,那么他们赚取强大的查询费用的机会就会很低,因为他们没有办法验证哪些子图是高质量的。 进入策展阶段。 +## Withdrawing your GRT -策展人使Graph 网络变得高效,信号是策展人用来让索引人知道一个子图是好的索引的过程,其中 GRT 被存入子图的粘合曲线。 索引人可以从本质上信任策展人的信号,因为一旦发出信号,策展人就会为该子图铸造一个策展份额,使他们有权获得该子图所带来的部分未来查询费用。 策展人的信号以 ERC20 代币的形式表示,称为 Graph Curation Shares(GCS)。 想赚取更多查询费的策展人应该向他们预测会给网络带来大量费用的子图发出他们的 GRT 信号。 策展人不能因为不良行为而被砍掉,但有一个对策展人的存款税,以抑制可能损害网络完整性的不良决策。 如果策展人选择在一个低质量的子图上进行策展,他们也会赚取较少的查询费,因为有较少的查询需要处理,或者有较少的索引人处理这些查询。 请看下面的图表! +Curators have the option to withdraw their signaled GRT at any time. -![信号图](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -索引人可以根据他们在Graph 浏览器中看到的策展信号找到要索引的子图(下面的截图)。 +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![浏览器子图](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## 风险 1. 在Graph,查询市场本来就很年轻,由于市场动态刚刚开始,你的年收益率可能低于你的预期,这是有风险的。 -2. 策展费 - 当策展人对子图发出 GRT 信号时,他们会产生 1%的策展税。 这笔费用被消耗,剩下的被存入绑定曲线的储备供应中。 -3. 当策展人消耗他们的股份以提取 GRT 时,剩余股份的 GRT 估值将被降低。 请注意,在某些情况下,策展人可能决定 **一次性**消耗他们的份额。 这种情况可能很常见,如果一个 dApp 开发者停止版本/改进和查询他们的子图,或者如果一个子图失败。 因此,剩下的策展人可能只能提取他们最初 GRT 的一小部分。 关于风险较低的网络角色,请看委托人 [Delegators](/network/delegating)。 +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. 一个子图可能由于错误而失败。 一个失败的子图不会累积查询费用。 因此,你必须等待,直到开发人员修复错误并部署一个新的版本。 - 如果你订阅了一个子图的最新版本,你的份额将自动迁移到该新版本。 这将产生 0.5%的策展税。 - - 如果你已经在一个特定的子图版本上发出信号,但它失败了,你将不得不手动花费你的策展税。 请注意,你可能会收到比你最初存入策展曲线更多或更少的 GRT,这是作为策展人的相关风险。 然后你可以在新的子图版本上发出信号,从而产生 1%的策展税。 + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## 策展常见问题 ### 1. 策展人能赚取多少百分比的查询费? -通过在一个子图上发出信号,你将获得这个子图产生的所有查询费用的份额。 所有查询费用的 10%将按策展人的策展份额比例分配给他们。 这 10%是受管理的。 +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. 如何决定哪些子图是高质量的信号? 寻找高质量的子图是一项复杂的任务,但它可以通过许多不同的方式来实现。 作为策展人,你要寻找那些推动查询量的值得信赖的子图。 这些值得信赖的子图是有价值的,因为它们是完整的,准确的,并支持 dApp 的数据需求。 一个架构不良的子图可能需要修改或重新发布,也可能最终失败。 策展人审查子图的架构或代码,以评估一个子图是否有价值,这是至关重要的。 因此: - 策展人可以利用市场知识,尝试预测单个子图在未来可能产生更多或更少查询量 -- 策展人还应该了解通过 Graph 浏览器提供的指标。 像过去的查询量和子图开发者是谁这样的指标可以帮助确定一个子图是否值得发出信号。 +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. 升级一个子图的成本是多少? -将你的策展份额迁移到一个新的子图版本会产生 1%的策展税。 策展人可以选择订阅子图的最新版本。 当策展人质押被自动迁移到一个新的版本时,策展人也将支付一半的策展税,即 0.5%,因为升级子图是一个链上动作,需要花费gas。 +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. 我可以多频繁的升级子图? @@ -89,7 +78,49 @@ title: 策展 ### 5. 我可以出售我的策展份额吗? -策展是一个开放的市场,任何人都可以购买(在这种情况下,"mint"),或出售("burn")特定子图的策划份额。 它们只能沿着特定子图的粘合曲线被铸造(创建)或烧毁(销毁)。 铸造新信号所需的 GRT 数量,以及当你消耗现有信号时收到的 GRT 数量,是由该粘合曲线决定的。 作为一个策展人,你需要知道,当你花费你的策展份额来提取 GRT 时,你最终可能会得到比你最初存入的更多或更少的 GRT。 +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## 收益率曲线 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![每份价格](/img/price-per-share.png) + +因此,价格是线性增长的,这意味着随着时间的推移,购买股票的成本会越来越高。 这里有一个例子说明我们的意思,请看下面的粘合曲线。 + +![收益率曲线](/img/bonding-curve.png) + +考虑到我们有两个策展人,他们为一个子图铸造了份额: + +- 策展人 A 是第一个对子图发出信号的人。 通过在曲线中加入 120,000 GRT,他们能够铸造出 2000 股。 +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- 由于两位策展人都持有策展人股份总数的一半,他们将获得同等数量的策展人使用费。 +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- 剩下的策展人现在将收到该子图的所有策展人使用费。 如果他们烧掉他们的股份来提取 GRT,他们将得到 12 万 GRT。 +- **TLDR:** 策展人股份的 GRT 估值是由粘合曲线决定的,可能会有波动。 有可能出现大的收益,也有可能出现大的损失。 提前发出信号意味着你为每只股票投入的 GRT 较少。 推而广之,这意味着在相同的子图上,你比后来的策展人在每个 GRT 上赚取更多的策展人使用费。 + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +在Graph 的案例中, [Bancor 对粘合曲线公式的实施](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) 被利用。 还有困惑吗? 点击下面查看管理视频指导: From f7f5b6bfb516c65e4272b01016de961f35bb1c58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:21 -0400 Subject: [PATCH 0416/2326] New translations curating.mdx (Urdu (Pakistan)) --- website/pages/ur/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/ur/network/curating.mdx b/website/pages/ur/network/curating.mdx index 3439b9991a46..b8baf93a16a1 100644 --- a/website/pages/ur/network/curating.mdx +++ b/website/pages/ur/network/curating.mdx @@ -2,38 +2,31 @@ title: کیورٹنگ --- -کیوریٹرز گراف کی ڈیسینٹرلائزڈ معیشت کے لیے اہم ہیں۔ وہ اپنے ویب 3 ایکو سسٹم کےعلم کو استعمال کرتے ہوےان سب گراف کا جائزہ لینے اور سگنل دینے کے لیے کرتےجن کو گراف نیٹ ورک کے ذریعے انڈیکس کیا جانا چاہیے۔ ایکسپلورر کے ذریعے، کیوریٹرز کو سگنلنگ فیصلے کرنے کے لئےنیٹ ورک ڈیٹا تک دیکھنے کے قابل ہیں. گراف نیٹ ورک کیوریٹرز کو انعامات دیتا ہے جو اچھے معیار کے سب گرافس پر کیوری کی فیس کے ایک حصے کے ساتھ اشارہ کرتے ہیں جو سب گراف تیار کرتے ہیں۔ کیوریٹرز اقتصادی طور پر ابتدائی سگنل دینے کے لیے حوصلہ افزائی کی جاتی ہے۔ کیوریٹرز کے یہ سگنل انڈیکسر کے لیے اہم ہیں، جو پھر ان سگنل شدہ سب گرافس سے ڈیٹا کو پروسیس یا انڈیکس کر سکتے ہیں. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -سگنل کرنے کے دوران، کیوریٹرز سب گراف کے مخصوص ورزن پر سگنل دینے یا آٹو مائیگریٹ کا استعمال کرتے ہوئے سگنل دینے کا فیصلہ کر سکتے ہیں۔ آٹو مائیگریٹ کا استعمال کرتے ہوئے سگنل دیتے وقت، کیوریٹرز کے شیئرز کو ہمیشہ ڈویلپرز کے شائع کردہ تازہ ترین ورزن میں اپ گریڈ کیا جائے گا۔ اگر آپ اس کے بجائے کسی مخصوص ورزن پر سگنل دینے فیصلہ کرتے ہیں، تو شیئرز ہمیشہ اس مخصوص ورزن پر رہے گا۔ +## What Does Signaling Mean for The Graph Network? -یاد رکھیں کے کیوریشن خطرناک ہے.اس بات کو یقینی بنانے کے لیے براہِ کرم اپنی مستعدی سے کام کریں کہ آپ ان سب گرافوں کو جو آپ پر بھروسہ کرتے ہیں۔ سب گراف بنانا بلا اجازت ہے،تاکہ لوگ سب گراف بنا سکیں اور انہیں کسی بھی نام سے پکاریں۔ کیوریشن کے خطرات کے بارے میں مزید رہنمائی کے لیے، اس کو دیکھو[گراف اکیڈمی کی کیوریشن گائیڈ۔](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## بانڈنگ کریو 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -سب سے پہلے، ہم ایک قدم پیچھے ہٹتے ہیں۔ ہر سب گراف میں ایک بانڈنگ وکر ہوتا ہے جس پر کیوریشن شیئرز اس وقت منقطع ہوتے ہیں جب کوئی صارف وکر **میں **سگنل شامل کرتا ہے. ہر سب گراف کا بانڈنگ وکر منفرد ہے۔بانڈنگ منحنی خطوط کو اس طرح بنایا گیا ہے کہ سب گراف پر کیوریشن شیئر کو منٹ کرنے کی قیمت مائنٹ کیے گئے حصص کی تعداد کے مقابلے میں لکیری طور پر بڑھ جاتی ہے. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![فی حصص کی قیمت](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -اس کے نتیجے میں،قیمتوں میں مسلسل اضافہ ہوتا ہے،اس کا مطلب ہے کہ وقت گزرنے کے ساتھ ساتھ شیئر خریدنا زیادہ مہنگا ہو جائے گا۔ یہاں پر ایک مثال ہے کی ہمارا کیا مطلب ہے، نیچے بانڈنگ وکر دیکھیں: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![بانڈنگ وکر](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -فرض کریں ہمارے پاس دو کیوریٹر ہیں جو ایک سب گراف کے لیے شیئر کرتے ہیں: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- سب گراف پر سب سے پہلے سگنل دینے والا کیوریٹر A ہے۔وکر میں 120,000 GRT شامل کرکے، وہ 2000 حصص کو ٹکسال کرنے کے قابل ہیں. -- کیوریٹر B کا سب گراف پر سگنل بعد میں کسی وقت سب گراف پر ہوتا ہے۔ کیوریٹر A کے حصص کی اتنی ہی رقم حاصل کرنے کے لیے،انہیں وکر میں 360,000 GRT شامل کرنا ہوگا. -- چونکہ دونوں کیوریٹر کل کیوریشن شیئرز کا نصف حصہ رکھتے ہیں، اس لیے انہیں کیوریٹر رائلٹی کی مساوی رقم ملے گی. -- اگر اب کیوریٹروں میں سے کوئی بھی اپنے 2000 کیوریشن شیئرز کو جلاتا ہے تو وہ 360,000 GRT وصول کرے گا. -- باقی کیورٹرز اب اس سب گراف کے لیے تمام کیوریٹر رائلٹی وصول کریں گے. اگر وہ GRT نکالنے کے لیے اپنے حصص جلاتے ہیں، تو وہ 120,000 GRT وصول کریں گے. -- **TLDR:** کیوریشن شیئرز کی GRT ویلیویشن کا تعین بانڈنگ کریو سے ہوتا ہے اور یہ غیر مستحکم ہو سکتا ہے۔بڑے نقصان کا خدشہ ہے۔جلدی سگنل دینے کا مطلب ہے کہ آپ ہر شیئر کے لیے کم GRT لگاتے ہیں۔توسیع کے لحاظ سے، اس کا مطلب ہے کہ آپ اسی سب گراف کے لیے بعد کے کیوریٹروں کے مقابلے فی GRT زیادہ کیوریٹر رائلٹی حاصل کرتے ہیں. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -عام طور پر، ایک بانڈنگ وکر ایک ریاضیاتی وکر ہے جو ٹوکن کی فراہمی اور اثاثہ کی قیمت کے درمیان تعلق کی وضاحت کرتا ہے۔سب گراف کیوریشن کی مخصوص صورت میں، **ہر سب گراف شیئر کی قیمت ہر ٹوکن کی سرمایہ کاری کے ساتھ بڑھ جاتی ہے** اور **ہر شیئر کی قیمت گھٹ جاتی ہے۔ فروخت ہونے والے ہر ٹوکن کے ساتھ۔** - -گراف کے معاملے میں،[بانڈنگ کریو فارمولے پر بنکور کا نفاذ](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) کا فائدہ اٹھایا جاتا ہے. +![سب گراف ایکسپلورر](/img/explorer-subgraphs.png) ## سگنل کرنے کا طریقہ -جیسا کہ ہم نے بنیادی باتوں کا احاطہ کیا ہے کے بانڈنگ وکر کیسے کام کرتا ہے،اس طرح آپ سب گراف پر سگنل کے لیے آگے بڑھیں گے۔ گراف ایکسپلرر پر کیوریٹر ٹیب کے اندر، کیوریٹرز نیٹ ورک کے اعدادوشمار کی بنیاد پر مخصوص سب گراف پر سگنل اور غیر سگنل کرنے کے قابل ہوں گے. ایکسپلورر میں اسے کیسے کرنا ہے اس کے مرحلہ وار جائزہ کے لیے، [یہاں کلک کریں۔](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) ایک کیوریٹر مخصوص سب گراف ورژن پر سگنل دینے کا انتخاب کر سکتا ہے، یا وہ اپنے سگنل کو خود بخود اس سب گراف کی جدید ترین پروڈکشن بلڈ میں منتقل کرنے کا انتخاب کر سکتا ہے۔ دونوں درست حکمت عملی ہیں اور ان کے اپنے فوائد اور نقصانات کے ساتھ آتے ہیں. @@ -41,47 +34,43 @@ title: کیورٹنگ آپ کے سگنل کو خود بخود جدید ترین پروڈکشن کی تعمیر میں منتقل کرنا اس بات کو یقینی بنانے کے لیے قابل قدر ہو سکتا ہے کہ آپ کیوری کی فیس جمع کرتے رہیں۔ جب بھی آپ کیوریشن کرتے ہیں، 1% کیوریشن ٹیکس لاگو ہوتا ہے۔ آپ ہر دفعہ منتقلی پر 0.5% کا کیوریشن ٹیکس ادا کریں گے. سب گراف ڈویلپرز کو نئے ورژنز کثرت سے شائع کرنے کی حوصلہ شکنی کی جاتی ہے - انہیں تمام خود کار طریقے سے منتقل کیوریشن شیئرز پر 0.5% کیوریشن ٹیکس ادا کرنا پڑتا ہے. -> **نوٹ**: کسی خاص سب گراف کو سگنل دینے کے لیے پہلے ایڈریس کو پہلا کیوریٹر سمجھا جاتا ہے اور اسے باقی مندرجہ ذیل کیوریٹروں کے مقابلے میں بہت زیادہ گیس سے بھرپور کام کرنا پڑے گا کیونکہ پہلا کیوریٹر کیوریشن شیئر ٹوکن کو شروع کرتا ہے، بانڈنگ کریو کو شروع کرتا ہے، اور ٹوکنز کی منتقلی بھی کرتا ہے گراف پراکسی میں. - -## گراف نیٹ ورک کے لیے سگنلنگ کا کیا مطلب ہے؟ - -اختتامی صارفین کے لیے سب گراف سے کیوری کرنے کے قابل ہو، سب گراف کو پہلے انڈیکس کیا جانا چاہیے۔ انڈیکسن وہ عمل ہے جہاں فائلز، ڈیٹا ،اور میٹا ڈیٹا کو تلاش کیا جاتا ہے، تفصیلی فہر ست بنائی جاتی ہے، اور پھر انڈیکس کیا جاتا ہے تاکہ نتائج تیزی سےحاصل ہو سکیں. سب گراف کے ڈیٹا کو تلاش کے قابل بنانے کے لیے، اسے منظم کرنے کی ضرورت ہے. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -اوراس طرح،اگر انڈیکسر کو اندازہ لگانا تھا کہ کس سب گراف کو انڈیکس کریں، اس بات کے کم امکانات ہیں کہ وہ مضبوط کیوری فیس حاصل کریں گے کیونکہ ان کے پاس یہ تصدیق کرنے کا کوئی طریقہ نہیں ہوگا کہ کون سے سب گراف اچھے معیار کے ہیں. +## Withdrawing your GRT -کیوریٹرز گراف نیٹ ورک کو موثر بناتے ہیں اور سگنلنگ وہ عمل ہے جس سے کیوریٹرز انڈیکسرز کو یہ بتانےکے لیے استعمال کرتا ہیں کہ ایک سب گراف انڈیکس کے لیے اچھا ہے، یہاں GRT کو سب گراف کے لیے بانڈنگ وکر میں شامل کیا جاتا ہے. انڈیکسر فطری طور پر کیوریٹرز کے سگنل پر بھروسہ کرسکتا ہے۔ کیونکہ سگنلنگ پر، کیوریٹر سب گراف کے لیے کیوریشن شیئر کرتے ہیں، انہیں مستقبل کے کیوری کی فیس کے ایک حصے کا حقدار بنانا جو سب گراف چلاتا ہے۔کیوریٹر سگنل کی نمائندگی کی جاتی ہے۔ کیوریٹر سگنل کو ERC20 ٹوکن کے طور پر دکھایا جاتا ہے جسے گراف کیوریشن شیئرز (GCS) کہتے ہیں. کیوریٹرز جو زیادہ کیوری کی فیس حاصل کرنا چاہتے انہیں اپنے GRT کو سب گراف میں سگنل کرنا چاہیے جس کی وہ پیش گوئی کرتے ہیں کہ نیٹ ورک میں فیس کا زبردست بہاؤ پیدا ہوگا۔برے رویے پر کیوریٹرز کو نہیں نکالا جا سکتا، لیکن ناقص فیصلہ سازی کی حوصلہ شکنی کرنے کے لیے کیوریٹرز پر ایک ڈپازٹ ٹیکس ہے جو نیٹ ورک کی سالمیت کو نقصان پہنچا سکتا ہے۔کیوریٹرز کم کیوری کی فیس بھی کماتے ہیں اگر وہ کم معیار کےسب گراف کو کیوریٹ کرنے کا انتخاب کرتے ہیں کیونکہ ان کیوریز پر کارروائی کرنے کے لیے کم کیوریز ہوں گے یا کم انڈیکسرز ہوں گے۔ نیچے دی گئ خاکہ کو دیکھیں! +Curators have the option to withdraw their signaled GRT at any time. -![سگنلنگ ڈایاگرام](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -انڈیکس کرنے والے کیوریشن سگنلز کی بنیاد پر انڈیکس میں سب گراف تلاش کر سکتے ہیں جو وہ گراف ایکسپلورر میں دیکھتے ہیں (نیچے اسکرین شاٹ). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![سب گراف ایکسپلورر](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## خطرات 1. گراف میں کیوری کی مارکیٹ فطری طور پر جوان ہے اور اس بات کا خطرہ ہے کہ آپ کا %APY مارکیٹ کی نئی حرکیات کی وجہ سے آپ کی توقع سے کم ہو سکتا ہے. -2. کیوریشن فیس - جب کیوریٹر سب گراف پر GRT سگنل کرتا ہے، تو اس پر 1% کیوریشن ٹیکس لگتا ہے۔ اس فیس کو جلا دیا جاتا ہے اور بقایا بانڈنگ وکر کی ریزرو سپلائی میں جمع کر دی جاتی ہے۔ -3. جب کیوریٹر GRT واپس لینے کے لیے اپنے حصص جلاتے ہیں،باقی حصص کی GRT ویلیوایشن کم ہو جائے گی۔ آگاہ رہیں کہ کچھ معاملات میں،کیوریٹر اپنے حصص جلانے کا فیصلہ کر سکتے ہیں۔ **تمام ایک بارمیں**. یہ صورت حال عام ہو سکتی ہے اگر کوئی ڈیپ ڈویلپر اپنے سب گراف کو ورژن بنانا​ بہتر کرنا اور کیوری کرنا بند کر دیتا ہے یا اگر سب گراف ناکام ہو جاتا ہے۔نتیجے کے طور پر، باقی کیوریٹر اپنے ابتدائی GRT کا صرف ایک حصہ واپس لینے کے قابل ہو سکتے ہیں۔ کم خطرے والے پروفائل کے ساتھ نیٹ ورک کے کردار کے لیے، [ ڈیلیگیٹر](/network/delegating) دیکھیں. +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. ایک سب گراف ایک بگ کی وجہ سے ناکام ہو سکتا ہے. ایک ناکام سب گراف کیوری کی فیس جمع نہیں کرتا ہے. اس کے نتیجے میں،آپ کو انتظار کرنا پڑے گاجب تک کہ ڈویلپر اس بگ کو کو ٹھیک نہیں کرتا اور نیا ورژن تعینات کرتا ہے. - اگر آپ نےسب گراف کے نۓ ورژن کو سبسکرائب کیا ہے. آپ کے حصص خود بخود اس نئے ورژن میں منتقل ہو جائیں گے۔ اس پر 0.5% کیوریشن ٹیکس لگے گا. - - اگر آپ نے مخصوص سب گراف ورژن پر اشارہ کیا ہے اور یہ ناکام ہوجاتا ہے، تو آپ کو اپنے کیوریشن شیئرز کو دستی طور پر جلانا ہوگا. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## کیوریشن کے اکثر پوچھے گئے سوالات ### 1. کیوریٹرز کتنی % کیوری فیس کماتے ہیں؟ -سب گراف پر سگنل دے کر، آپ ان تمام کیوریز کی فیسوں کا ایک حصہ حاصل کریں گے جو یہ سب گراف تیار کرتا ہے۔تمام کیوری کی فیس کا 10% کیوریٹرز کو ان کے کیوریشن شیئرز کے تناسب سے جاتا ہے۔ یہ 10% گورننس سے مشروط ہے. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. میں یہ کیسے طے کروں کہ کون سے سب گرافس اعلیٰ معیار کے ہیں؟ اعلی معیار کے سب گراف تلاش کرنا پیچیدہ کام ہے. لیکن اس کوبہت سے مختلف طریقوں سے رابطہ کیا جا سکتا ہے. بطور کیوریٹر، آپ قابل اعتماد سب گرافس تلاش کرنا چاہتے ہیں جو کیوری کے حجم کو بڑھا رہے ہیں۔ایک قابل اعتماد سب گراف قابل قدر ہو سکتا ہے اگر یہ مکمل، درست، اور ڈیپ کے ڈیٹا کی ضروریات کی حمایت کرتا ہے۔ ایک ناقص تعمیراتی سب گراف کو نظر ثانی یا دوبارہ شائع کرنے کی ضرورت ہو سکتی ہے، اور یہ ناکامی بھی ختم ہو سکتی ہے۔کیوریٹرز کے لیے یہ اہم ہے کہ وہ سب گراف کے فن تعمیر یا کوڈ کا جائزہ لیں تاکہ یہ اندازہ لگایا جا سکے کہ آیا کوئی سب گراف قیمتی ہے۔ اس کے نتیجے میں: - کیوریٹرز نیٹ ورک کے بارے میں اپنی سمجھ کا استعمال کرتے ہوئے یہ اندازہ لگا سکتے ہیں کہ کس طرح ایک انفرادی سب گراف مستقبل میں کیوری کا حجم زیادہ یا کم پیدا کر سکتا ہے -- کیوریٹرز کو گراف ایکسپلورر کے ذریع حاصل ہونے والے میٹرکس کو بھی سمجھنا چاہیے. میٹرکس جیسے ماضی کے کیوری کا حجم اور سب گراف ڈویلپر کون ہے اس بات کا تعین کرنے میں مدد کر سکتا ہے کہ آیا سب گراف سگنلنگ کے قابل ہے یا نہیں. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. سب گراف کو اپ ڈیٹ کرنے کی کیا قیمت ہے؟ -اپنے کیوریشن شیئرز کو نئے سب گراف ورزن میں منتقل کرنے پر 1% کیوریشن ٹیکس لاگو ہوتا ہے۔ کیوریٹرز اپنے سب گراف کو نئے ورزن میں سبسکرائب کرنے کا انتخاب کر سکتے ہیں۔ جب کیوریٹر کے شیئرز نئے ورزن پر خود بخود منتقل ہو جاتے ہیں، تو کیوریٹر بھی آدھا کیوریشن ٹیکس ادا کرے گا، جیسا کہ 0.5%، کیونکہ سب گراف کو اپ گریڈ کرنا ایک آن چین ایکشن ہے جس میں گیس کی لاگت آتی ہے۔ +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. میں اپنے سب گراف کو کتنی بار اپ گریڈ کر سکتا ہوں؟ @@ -89,7 +78,49 @@ title: کیورٹنگ ### 5. کیا میں اپنے کیوریشن شیئرز بیچ سکتا ہوں؟ -کیوریشن شیئرز کو دوسرے ERC20 ٹوکن کی طرح "خرید" یا "بیچ" نہیں جا سکتا جن سے آپ واقف ہو سکتے ہیں۔ کسی خاص سب گراف کے لیے بانڈنگ وکر کے ساتھ ان کو صرف ٹکڑا (بنایا) یا جلایا (تباہ) کیا جا سکتا ہے۔نئے سگنل کو ٹکسال کے لیے درکار GRT کی مقدار، اور جب آپ اپنے موجودہ سگنل کو جلاتے ہیں تو آپ کو موصول ہونے والی GRT کی مقدار کا تعین اس بانڈنگ کریو سے ہوتا ہے۔بطور کیوریٹر، آپ کو یہ جاننے کی ضرورت ہے کہ جب آپ اپنے کیوریشن شیئرز کو GRT نکالنے کے لیے جلاتے ہیں، تو آپ کو ابتدائی طور پر جمع کیے گئے GRT سے زیادہ یا کم GRT مل سکتا ہے. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## بانڈنگ کریو 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![فی حصص کی قیمت](/img/price-per-share.png) + +اس کے نتیجے میں،قیمتوں میں مسلسل اضافہ ہوتا ہے،اس کا مطلب ہے کہ وقت گزرنے کے ساتھ ساتھ شیئر خریدنا زیادہ مہنگا ہو جائے گا۔ یہاں پر ایک مثال ہے کی ہمارا کیا مطلب ہے، نیچے بانڈنگ وکر دیکھیں: + +![بانڈنگ وکر](/img/bonding-curve.png) + +فرض کریں ہمارے پاس دو کیوریٹر ہیں جو ایک سب گراف کے لیے شیئر کرتے ہیں: + +- سب گراف پر سب سے پہلے سگنل دینے والا کیوریٹر A ہے۔وکر میں 120,000 GRT شامل کرکے، وہ 2000 حصص کو ٹکسال کرنے کے قابل ہیں. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- چونکہ دونوں کیوریٹر کل کیوریشن شیئرز کا نصف حصہ رکھتے ہیں، اس لیے انہیں کیوریٹر رائلٹی کی مساوی رقم ملے گی. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- باقی کیورٹرز اب اس سب گراف کے لیے تمام کیوریٹر رائلٹی وصول کریں گے. اگر وہ GRT نکالنے کے لیے اپنے حصص جلاتے ہیں، تو وہ 120,000 GRT وصول کریں گے. +- **TLDR:** کیوریشن شیئرز کی GRT ویلیویشن کا تعین بانڈنگ کریو سے ہوتا ہے اور یہ غیر مستحکم ہو سکتا ہے۔بڑے نقصان کا خدشہ ہے۔جلدی سگنل دینے کا مطلب ہے کہ آپ ہر شیئر کے لیے کم GRT لگاتے ہیں۔توسیع کے لحاظ سے، اس کا مطلب ہے کہ آپ اسی سب گراف کے لیے بعد کے کیوریٹروں کے مقابلے فی GRT زیادہ کیوریٹر رائلٹی حاصل کرتے ہیں. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +گراف کے معاملے میں،[بانڈنگ کریو فارمولے پر بنکور کا نفاذ](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) کا فائدہ اٹھایا جاتا ہے. ابھی بھی الجھن میں ہیں، ذیل میں ہماری کیوریشن ویڈیو گائیڈ دیکھیں: From 29368d1e921d1838d5364c20c15d5f17d11075a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:22 -0400 Subject: [PATCH 0417/2326] New translations curating.mdx (Vietnamese) --- website/pages/vi/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/vi/network/curating.mdx b/website/pages/vi/network/curating.mdx index e26962471c0a..c349ce0ccee3 100644 --- a/website/pages/vi/network/curating.mdx +++ b/website/pages/vi/network/curating.mdx @@ -2,38 +2,31 @@ title: Curating --- -Curators are critical to the Graph decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through the Explorer, curators are able to view network data to make signaling decisions. The Graph Network rewards curators who signal on good quality subgraphs with a share of the query fees that subgraphs generate. Curators are economically incentivized to signal early. These cues from curators are important for Indexers, who can then process or index the data from these signaled subgraphs. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -When signaling, curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. When signaling using auto-migrate, a Curator’s shares will always be migrated to the latest version published by the developer. If you decide to signal on a specific version instead, shares will always stay on this specific version. +## What Does Signaling Mean for The Graph Network? -Hãy nhớ rằng việc curate là rất rủi ro. Hãy thẩm định kỹ càng trong khả năng của bạn để đảm bảo rằng bạn đang curate các subgraph mà bạn tin tưởng. Việc tạo một subgraph là không cần cấp phép, vì vậy mọi người có thể tạo các subgraph và gọi chúng bằng bất kỳ tên nào họ muốn. Để biết thêm hướng dẫn về rủi ro khi curate, hãy xem [Hướng dẫn curate của Graph Academy.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Căn bản về Bonding Curve +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -First, we take a step back. Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Giá mỗi cổ phần](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -Kết quả là, giá tăng tuyến tính, có nghĩa là giá mua cổ phần sẽ đắt hơn theo thời gian. Dưới đây là một ví dụ về ý của chúng tôi, hãy xem đường cong liên kết bên dưới: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Đường cong liên kết](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Hãy xem xét chúng ta có hai người curator cùng đúc cổ phần của một subgraph: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Curator A là người đầu tiên phát tín hiệu trên subgraph này. Bằng cách thêm 120,000 GRT vào đường cong, anh ấy có thể kiếm được 2000 cổ phần. -- Tín hiệu của người curator B xuất hiện trên subgraph vào một thời điểm nào đó sau đó. Để nhận được cùng một lượng cổ phần như người curator A, thì B sẽ phải thêm 360,000 GRT vào đường cong. -- Vì cả hai người curator này đều nắm giữ một nửa tổng số cổ phần curate, họ sẽ nhận được một số tiền bản quyền của curator bằng nhau. -- Nếu bây giờ bất kỳ 1 trong 2 người đốt 2000 cổ phần curate của họ, họ sẽ nhận được 360,000 GRT. -- Người curator còn lại bây giờ sẽ nhận được tất cả tiền bản quyền của curator cho subgraph đó. Nếu đốt cổ phần để rút GRT, anh ấy sẽ nhận được 120,000 GRT. -- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -Nói chung, đường cong liên kết là một đường cong toán học xác định mối quan hệ giữa lượng cung token và giá tài sản. Trong trường hợp cụ thể của việc curate subgraph, **giá của mỗi cổ phần subgraph tăng lên với mỗi token được đầu tư** và **giá của mỗi cổ phần giảm xuống với mỗi token được bán.** - -Trong trường hợp của The Graph, [Triển khai của Bancor về công thức đường cong liên kết](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) được sử dụng. +![Trình khám phá subgraph](/img/explorer-subgraphs.png) ## Làm thế nào để phát tín hiệu -Now that we’ve covered the basics about how the bonding curve works, this is how you will proceed to signal on a subgraph. Within the Curator tab on the Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in the Explorer, [click here.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) Curator có thể chọn phát tín hiệu trên một phiên bản subgraph cụ thể hoặc họ có thể chọn để tín hiệu của họ tự động chuyển sang bản dựng sản xuất mới nhất của subgraph đó. Cả hai đều là những chiến lược hợp lệ và đi kèm với những ưu và nhược điểm của riêng chúng. @@ -41,47 +34,43 @@ Signaling on a specific version is especially useful when one subgraph is used b Having your signal automatically migrate to the newest production build can be valuable to ensure you keep accruing query fees. Every time you curate, a 1% curation tax is incurred. You will also pay a 0.5% curation tax on every migration. Subgraph developers are discouraged from frequently publishing new versions - they have to pay a 0.5% curation tax on all auto-migrated curation shares. -> **Lưu ý**: Địa chỉ đầu tiên báo hiệu một subgraph cụ thể được coi là người curator đầu tiên và sẽ phải làm công việc tốn nhiều phí gas hơn nhiều so với phần còn lại của những người curator sau vì người curator đầu tiên phải khởi tạo token cổ phần curate, khởi tạo đường cong liên kết và cũng chuyển token vào proxy the Graph. - -## Việc phát tín hiệu có nghĩa là gì đối với Mạng The Graph? - -Để người tiêu dùng cuối có thể truy vấn một subgraph, subgraph đó trước tiên phải được lập chỉ mục. Indexing (Lập chỉ mục) là một quá trình mà các tệp, dữ liệu và siêu dữ liệu được xem xét, lập danh mục và sau đó được lập chỉ mục để có thể tìm thấy kết quả nhanh hơn. Để dữ liệu của một subgraph có thể tìm kiếm được, nó cần được sắp xếp. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -And so, if Indexers had to guess which subgraphs they should index, there would be a low chance that they would earn robust query fees because they’d have no way of validating which subgraphs are good quality. Enter curation. +## Withdrawing your GRT -Curators make The Graph network efficient and signaling is the process that curators use to let Indexers know that a subgraph is good to index, where GRT is added to a bonding curve for a subgraph. Indexers can inherently trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. Curator signal is represented as ERC20 tokens called Graph Curation Shares (GCS). Curators that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators also earn fewer query fees if they choose to curate on a low-quality Subgraph since there will be fewer queries to process or fewer Indexers to process those queries. See the diagram below! +Curators have the option to withdraw their signaled GRT at any time. -![Sơ đồ báo hiệu](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Indexer có thể tìm các subgraph để lập chỉ mục dựa trên các tín hiệu sắp xếp mà họ thấy trong Graph Explorer (ảnh chụp màn hình bên dưới). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Trình khám phá subgraph](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Những rủi ro 1. The query market is inherently young at The Graph and there is risk that your %APY may be lower than you expect due to nascent market dynamics. -2. Curation Fee - when a Curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. Một subgraph có thể thất bại do một lỗi. Một subgraph thất bại không tích lũy phí truy vấn. Do đó, bạn sẽ phải đợi cho đến khi nhà phát triển sửa lỗi và triển khai phiên bản mới. - Nếu bạn đã đăng ký phiên bản mới nhất của một subgraph, các cổ phần của bạn sẽ tự động chuyển sang phiên bản mới đó. Điều này sẽ phát sinh một khoản thuế curation 0.5%. - - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. Note that you may receive more or less GRT than you initially deposited into the curation curve, which is a risk associated with being a curator. You can then signal on the new subgraph version, thus incurring a 1% curation tax. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Câu hỏi thường gặp về Curation ### 1. Curator kiếm được bao nhiêu % phí truy vấn? -By signalling on a subgraph, you will earn a share of all the query fees that this subgraph generates. 10% of all query fees goes to the Curators pro-rata to their curation shares. This 10% is subject to governance. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. Làm cách nào để tôi quyết định xem các subgraph nào có chất lượng cao để báo hiệu? Finding high-quality subgraphs is a complex task, but it can be approached in many different ways. As a Curator, you want to look for trustworthy subgraphs that are driving query volume. A trustworthy subgraph may be valuable if it is complete, accurate, and supports a dApp’s data needs. A poorly architected subgraph might need to be revised or re-published, and can also end up failing. It is critical for Curators to review a subgraph’s architecture or code in order to assess if a subgraph is valuable. As a result: - Curator có thể sử dụng sự hiểu biết của họ về mạng để thử và dự đoán cách một subgraph riêng lẻ có thể tạo ra khối lượng truy vấn cao hơn hoặc thấp hơn trong tương lai -- Curators should also understand the metrics that are available through The Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. What’s the cost of updating a subgraph? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curation shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because updating subgraphs is an on-chain action that costs gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. How often can I update my subgraph? @@ -89,7 +78,49 @@ It’s suggested that you don’t update your subgraphs too frequently. See the ### 5. Tôi có thể bán cổ phần curation của mình không? -Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve. As a Curator, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Căn bản về Bonding Curve + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Giá mỗi cổ phần](/img/price-per-share.png) + +Kết quả là, giá tăng tuyến tính, có nghĩa là giá mua cổ phần sẽ đắt hơn theo thời gian. Dưới đây là một ví dụ về ý của chúng tôi, hãy xem đường cong liên kết bên dưới: + +![Đường cong liên kết](/img/bonding-curve.png) + +Hãy xem xét chúng ta có hai người curator cùng đúc cổ phần của một subgraph: + +- Curator A là người đầu tiên phát tín hiệu trên subgraph này. Bằng cách thêm 120,000 GRT vào đường cong, anh ấy có thể kiếm được 2000 cổ phần. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Vì cả hai người curator này đều nắm giữ một nửa tổng số cổ phần curate, họ sẽ nhận được một số tiền bản quyền của curator bằng nhau. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- Người curator còn lại bây giờ sẽ nhận được tất cả tiền bản quyền của curator cho subgraph đó. Nếu đốt cổ phần để rút GRT, anh ấy sẽ nhận được 120,000 GRT. +- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +Trong trường hợp của The Graph, [Triển khai của Bancor về công thức đường cong liên kết](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) được sử dụng. Vẫn còn thắc mắc? Xem video hướng dẫn Curation của chúng tôi bên dưới: From b9649c5747ce5260764a7c0540103a56846dd899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:23 -0400 Subject: [PATCH 0418/2326] New translations curating.mdx (Marathi) --- website/pages/mr/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/mr/network/curating.mdx b/website/pages/mr/network/curating.mdx index d83502c32fdf..2bf60e3da154 100644 --- a/website/pages/mr/network/curating.mdx +++ b/website/pages/mr/network/curating.mdx @@ -2,38 +2,31 @@ title: क्युरेटिंग --- -आलेख विकेंद्रित अर्थव्यवस्थेसाठी क्युरेटर महत्त्वपूर्ण आहेत. ते त्यांचे वेब3 इकोसिस्टमचे ज्ञान वापरतात आणि ते ग्राफ नेटवर्कद्वारे अनुक्रमित केले जावेत अशा सबग्राफचे मूल्यांकन आणि सिग्नल करतात. एक्सप्लोररद्वारे, क्युरेटर सिग्नलिंग निर्णय घेण्यासाठी नेटवर्क डेटा पाहण्यास सक्षम आहेत. ग्राफ नेटवर्क क्युरेटर्सना बक्षीस देते जे चांगल्या गुणवत्तेच्या सबग्राफवर संकेत देतात आणि सबग्राफ तयार करतात त्या क्वेरी फीच्या वाटा. क्युरेटरला लवकर सिग्नल देण्यासाठी आर्थिकदृष्ट्या प्रोत्साहन दिले जाते. क्युरेटर्सचे हे संकेत इंडेक्सर्ससाठी महत्त्वाचे आहेत, जे नंतर या सिग्नल केलेल्या सबग्राफमधील डेटावर प्रक्रिया किंवा अनुक्रमित करू शकतात. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -When signaling, curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. When signaling using auto-migrate, a Curator’s shares will always be migrated to the latest version published by the developer. If you decide to signal on a specific version instead, shares will always stay on this specific version. +## What Does Signaling Mean for The Graph Network? -लक्षात ठेवा की क्युरेशन धोकादायक आहे. तुम्‍हाला विश्‍वास असलेल्‍या सबग्राफवर तुम्‍ही क्युरेट केल्‍याची खात्री करा. सबग्राफ तयार करणे अनुज्ञेय आहे, त्यामुळे लोक सबग्राफ तयार करू शकतात आणि त्यांना हवे ते नाव देऊ शकतात. क्युरेशन जोखमींबद्दल अधिक मार्गदर्शनासाठी, [द ग्राफ अकादमीचे क्युरेशन मार्गदर्शक](https://thegraph.academy/curators/) पहा +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## बाँडिंग वक्र 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -प्रथम, आम्ही एक पाऊल मागे घेतो. प्रत्येक सबग्राफमध्ये बाँडिंग वक्र असते ज्यावर वापरकर्ता जेव्हा वक्र **मध्ये** सिग्नल जोडतो तेव्हा क्युरेशन शेअर केले जातात. प्रत्येक सबग्राफचा बाँडिंग वक्र अद्वितीय आहे. बाँडिंग वक्र हे आर्किटेक्‍ट केले जातात जेणेकरुन सबग्राफवर क्युरेशन शेअरची किंमत मिंट केलेल्या शेअर्सच्या संख्येपेक्षा रेखीय वाढते. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![प्रति शेअर किंमत](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -परिणामी, किंमत एकरेषेने वाढते, याचा अर्थ वेळोवेळी शेअर खरेदी करणे अधिक महाग होईल. आम्हाला काय म्हणायचे आहे याचे एक उदाहरण येथे आहे, खाली बाँडिंग वक्र पहा: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![बाँडिंग वक्र](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -आमच्याकडे दोन क्युरेटर आहेत जे सबग्राफसाठी शेअर करतात याचा विचार करा: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- क्युरेटर A हा सबग्राफवर सिग्नल देणारा पहिला आहे. वक्र मध्ये 120,000 GRT जोडून, ते 2000 शेअर्स मिंट करण्यास सक्षम आहेत. -- क्युरेटर बी चे सिग्नल नंतर कधीतरी सबग्राफवर आहे. क्युरेटर ए सारखे शेअर्स प्राप्त करण्यासाठी, त्यांना वक्रमध्ये 360,000 GRT जोडावे लागेल. -- दोन्ही क्युरेटर्सचे एकूण क्युरेशन शेअर्सचे अर्धे भाग असल्याने, त्यांना समान प्रमाणात क्युरेटर रॉयल्टी मिळेल. -- जर कोणत्याही क्युरेटर्सने त्यांचे 2000 क्युरेशन शेअर्स बर्न केले तर त्यांना 360,000 GRT मिळतील. -- उर्वरित क्युरेटर आता त्या सबग्राफसाठी सर्व क्युरेटर रॉयल्टी प्राप्त करतील. जर त्यांनी GRT काढण्यासाठी त्यांचे शेअर्स जाळले तर त्यांना 120,000 GRT मिळतील. -- **TLDR:** क्युरेशन शेअर्सचे GRT मूल्यांकन बाँडिंग वक्र द्वारे निर्धारित केले जाते आणि ते अस्थिर असू शकते. मोठे नुकसान होण्याची शक्यता आहे. लवकर सिग्नल देणे म्हणजे तुम्ही प्रत्येक शेअरसाठी कमी GRT टाकता. विस्तारानुसार, याचा अर्थ तुम्ही त्याच सबग्राफसाठी नंतरच्या क्युरेटर्सपेक्षा प्रति GRT अधिक क्युरेटर रॉयल्टी मिळवता. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -सर्वसाधारणपणे, बाँडिंग वक्र ही एक गणितीय वक्र असते जी टोकन पुरवठा आणि मालमत्ता किंमत यांच्यातील संबंध परिभाषित करते. सबग्राफ क्युरेशनच्या विशिष्ट बाबतीत, **प्रत्येक सबग्राफ शेअरची किंमत गुंतवलेल्या प्रत्येक टोकनसह वाढते** आणि **प्रत्येक शेअरची किंमत कमी होते विकलेल्या प्रत्येक टोकनसह.** - -The Graph च्या बाबतीत, [बँकोरची बाँडिंग वक्र फॉर्मची अंमलबजावणी](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) फायदा घेतला जातो. +![एक्सप्लोरर सबग्राफ](/img/explorer-subgraphs.png) ## सिग्नल कसे करावे -आता आम्ही बाँडिंग वक्र कसे कार्य करते याबद्दल मूलभूत गोष्टी कव्हर केल्या आहेत, अशा प्रकारे तुम्ही सबग्राफवर सिग्नल करण्यासाठी पुढे जाल. ग्राफ एक्सप्लोररवरील क्युरेटर टॅबमध्ये, क्युरेटर्स नेटवर्क आकडेवारीवर आधारित काही सबग्राफवर सिग्नल आणि अनसिग्नल करण्यास सक्षम असतील. एक्सप्लोररमध्ये हे कसे करायचे याचे चरण-दर-चरण विहंगावलोकन करण्यासाठी, [येथे क्लिक करा.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) क्युरेटर विशिष्ट सबग्राफ आवृत्तीवर सिग्नल करणे निवडू शकतो किंवा ते त्यांचे सिग्नल त्या सबग्राफच्या नवीनतम उत्पादन बिल्डमध्ये स्वयंचलितपणे स्थलांतरित करणे निवडू शकतात. दोन्ही वैध धोरणे आहेत आणि त्यांच्या स्वतःच्या साधक आणि बाधकांसह येतात. @@ -41,47 +34,43 @@ The Graph च्या बाबतीत, [बँकोरची बाँड तुमचा सिग्नल नवीनतम प्रोडक्शन बिल्डवर आपोआप स्थलांतरित होणे हे तुम्ही क्वेरी फी जमा करत असल्याचे सुनिश्चित करण्यासाठी मौल्यवान असू शकते. प्रत्येक वेळी तुम्ही क्युरेट करता तेव्हा 1% क्युरेशन कर लागतो. तुम्ही प्रत्येक स्थलांतरावर 0.5% क्युरेशन कर देखील द्याल. सबग्राफ विकसकांना वारंवार नवीन आवृत्त्या प्रकाशित करण्यापासून परावृत्त केले जाते - त्यांना सर्व स्वयं-स्थलांतरित क्युरेशन शेअर्सवर 0.5% क्युरेशन कर भरावा लागतो. -> **टीप**: विशिष्ट सबग्राफला सिग्नल देणारा पहिला पत्ता हा पहिला क्युरेटर मानला जातो आणि त्याला पुढील उर्वरित क्युरेटरपेक्षा जास्त गॅस-क्युरेटर काम करावे लागेल कारण प्रथम क्युरेटर क्युरेशन शेअर टोकन इनिशियलाइज करतो, बाँडिंग वक्र सुरू करतो आणि टोकन्स ग्राफ प्रॉक्सीमध्ये ट्रान्सफर करतो. - -## ग्राफ नेटवर्कसाठी सिग्नलिंगचा अर्थ काय? - -अंतिम ग्राहकांना सबग्राफची चौकशी करण्यास सक्षम होण्यासाठी, सबग्राफ प्रथम अनुक्रमित करणे आवश्यक आहे. इंडेक्सिंग ही एक प्रक्रिया आहे जिथे फाइल्स, डेटा आणि मेटाडेटा पाहिला जातो, कॅटलॉग केला जातो आणि नंतर अनुक्रमित केला जातो जेणेकरून परिणाम जलद शोधता येतील. सबग्राफचा डेटा शोधण्यायोग्य होण्यासाठी, तो व्यवस्थित करणे आवश्यक आहे. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -आणि म्हणून, जर इंडेक्सर्सना अंदाज लावायचा असेल की त्यांनी कोणते सबग्राफ इंडेक्स करावेत, तर त्यांना मजबूत क्वेरी फी मिळण्याची शक्यता कमी आहे कारण कोणते सबग्राफ चांगल्या दर्जाचे आहेत हे सत्यापित करण्याचा त्यांच्याकडे कोणताही मार्ग नाही. क्युरेशन प्रविष्ट करा. +## Withdrawing your GRT -क्युरेटर्स ग्राफ नेटवर्क कार्यक्षम बनवतात आणि सिग्नलिंग ही प्रक्रिया आहे जी क्यूरेटर्सना हे कळवण्यासाठी वापरते की सबग्राफ इंडेक्ससाठी चांगला आहे, जेथे सबग्राफसाठी बाँडिंग वक्रमध्ये GRT जोडला जातो. इंडेक्सर्स क्युरेटरच्या सिग्नलवर स्वाभाविकपणे विश्वास ठेवू शकतात कारण सिग्नल दिल्यावर, क्युरेटर्स सबग्राफसाठी क्युरेशन शेअर करतात, त्यांना सबग्राफ चालविल्या जाणार्‍या भविष्यातील क्वेरी फीच्या एका भागाचा हक्क देतात. क्युरेटर सिग्नल ERC20 टोकन म्हणून प्रस्तुत केले जाते ज्याला ग्राफ क्युरेशन शेअर्स (GCS) म्हणतात. अधिक क्वेरी फी मिळवू इच्छिणाऱ्या क्युरेटर्सनी त्यांच्या GRT सबग्राफवर सूचित केले पाहिजे ज्याचा अंदाज आहे की ते नेटवर्कवर फीचा जोरदार प्रवाह निर्माण करतील. वाईट वर्तनासाठी क्युरेटर्सची कपात केली जाऊ शकत नाही, परंतु नेटवर्कच्या अखंडतेला हानी पोहोचवणाऱ्या खराब निर्णयक्षमतेला प्रोत्साहन देण्यासाठी क्युरेटर्सवर ठेव कर आहे. क्युरेटर्सने कमी-गुणवत्तेच्या सबग्राफवर क्युरेट करणे निवडल्यास त्यांना कमी क्वेरी फी देखील मिळते कारण त्या क्वेरींवर प्रक्रिया करण्यासाठी कमी क्वेरी असतील किंवा कमी इंडेक्सर्स असतील. खालील चित्र पहा! +Curators have the option to withdraw their signaled GRT at any time. -![सिग्नलिंग आकृती](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -इंडेक्सर्स त्यांना ग्राफ एक्सप्लोरर (खाली स्क्रीनशॉट) मध्ये पाहत असलेल्या क्युरेशन सिग्नलवर आधारित इंडेक्सचे सबग्राफ शोधू शकतात. +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![एक्सप्लोरर सबग्राफ](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## जोखीम 1. द ग्राफमध्ये क्वेरी मार्केट मूळतः तरुण आहे आणि नवीन मार्केट डायनॅमिक्समुळे तुमचा %APY तुमच्या अपेक्षेपेक्षा कमी असण्याचा धोका आहे. -2. Curation Fee - when a Curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. जेव्हा क्युरेटर GRT काढण्यासाठी त्यांचे शेअर्स बर्न करतात, तेव्हा उर्वरित शेअर्सचे GRT मूल्यांकन कमी केले जाईल. लक्षात ठेवा की काही प्रकरणांमध्ये, क्युरेटर त्यांचे शेअर्स **सर्व एकाच वेळी बर्न करण्याचा निर्णय घेऊ शकतात**. dApp डेव्हलपरने त्यांच्या सबग्राफची आवृत्ती तयार करणे/सुधारणा करणे आणि क्वेरी करणे थांबवल्यास किंवा सबग्राफ अयशस्वी झाल्यास ही परिस्थिती सामान्य असू शकते. परिणामी, उर्वरित क्युरेटर्स त्यांच्या सुरुवातीच्या GRT चा काही अंश काढू शकतील. कमी जोखीम प्रोफाइल असलेल्या नेटवर्क भूमिकेसाठी, [प्रतिनिधी](/network/delegating) पहा. +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. बगमुळे सबग्राफ अयशस्वी होऊ शकतो. अयशस्वी सबग्राफ क्वेरी शुल्क जमा करत नाही. परिणामी, विकसक बगचे निराकरण करेपर्यंत आणि नवीन आवृत्ती तैनात करेपर्यंत तुम्हाला प्रतीक्षा करावी लागेल. - तुम्ही सबग्राफच्या नवीनतम आवृत्तीचे सदस्यत्व घेतले असल्यास, तुमचे शेअर्स त्या नवीन आवृत्तीमध्ये स्वयंचलितपणे स्थलांतरित होतील. यावर 0.5% क्युरेशन कर लागेल. - - तुम्ही विशिष्ट सबग्राफ आवृत्तीवर संकेत दिल्यास आणि ते अयशस्वी झाल्यास, तुम्हाला तुमचे क्युरेशन शेअर्स मॅन्युअली बर्न करावे लागतील. लक्षात ठेवा की तुम्ही सुरुवातीला क्युरेशन वक्रमध्ये जमा केलेल्यापेक्षा जास्त किंवा कमी GRT प्राप्त करू शकता, जो क्युरेटर असण्याशी संबंधित जोखीम आहे. त्यानंतर तुम्ही नवीन सबग्राफ आवृत्तीवर सिग्नल करू शकता, अशा प्रकारे 1% क्युरेशन कर लागेल. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## क्युरेशन FAQs ### 1. क्युरेटर्स किती % क्वेरी फी मिळवतात? -सबग्राफवर सिग्नल करून, तुम्ही हा सबग्राफ व्युत्पन्न केलेल्या सर्व क्वेरी फीचा हिस्सा मिळवाल. सर्व क्वेरी फीपैकी 10% क्युरेटर्सला त्यांच्या क्युरेशन शेअर्सच्या प्रो-रॅटामध्ये जाते. हे 10% शासनाच्या अधीन आहे. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. कोणते सबग्राफ उच्च दर्जाचे आहेत हे मी कसे ठरवू? उच्च-गुणवत्तेचे सबग्राफ शोधणे हे एक जटिल कार्य आहे, परंतु ते वेगवेगळ्या मार्गांनी संपर्क साधले जाऊ शकते. क्युरेटर म्हणून, तुम्हाला विश्वासार्ह सबग्राफ्स शोधायचे आहेत जे क्वेरी व्हॉल्यूम वाढवत आहेत. dApp च्या डेटा गरजा पूर्ण, अचूक आणि सपोर्ट करत असल्यास विश्वासार्ह सबग्राफ मौल्यवान असू शकतो. खराब आर्किटेक्‍ट सबग्राफ सुधारित करणे किंवा पुन्हा प्रकाशित करणे आवश्यक असू शकते आणि ते अयशस्वी देखील होऊ शकते. सबग्राफ मौल्यवान आहे की नाही याचे मूल्यांकन करण्यासाठी सबग्राफच्या आर्किटेक्चर किंवा कोडचे पुनरावलोकन करणे क्युरेटर्ससाठी महत्त्वपूर्ण आहे. परिणामी: - क्युरेटर्स नेटवर्कबद्दलची त्यांची समज वापरून प्रयत्न करू शकतात आणि भविष्यात वैयक्तिक सबग्राफ अधिक किंवा कमी क्वेरी व्हॉल्यूम कसा निर्माण करू शकतो याचा अंदाज लावू शकतात -- क्युरेटर्सने ग्राफ एक्सप्लोररद्वारे उपलब्ध असलेले मेट्रिक्स देखील समजून घेतले पाहिजेत. मागील क्वेरी व्हॉल्यूम आणि सबग्राफ डेव्हलपर कोण आहे यासारखे मेट्रिक्स सबग्राफ सिग्नल करणे योग्य आहे की नाही हे निर्धारित करण्यात मदत करू शकतात. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. What’s the cost of updating a subgraph? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curation shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because updating subgraphs is an on-chain action that costs gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. How often can I update my subgraph? @@ -89,7 +78,49 @@ It’s suggested that you don’t update your subgraphs too frequently. See the ### 5. मी माझे क्युरेशन शेअर्स विकू शकतो का? -क्युरेशन शेअर्स तुम्हाला कदाचित परिचित असलेल्या इतर ERC20 टोकन्सप्रमाणे "खरेदी" किंवा "विकले" जाऊ शकत नाहीत. विशिष्ट सबग्राफसाठी बाँडिंग वक्र बाजूने ते फक्त मिंट (तयार) किंवा बर्न (नाश) केले जाऊ शकतात. नवीन सिग्नल मिंट करण्यासाठी आवश्यक असलेल्या GRT ची रक्कम आणि तुम्ही तुमचे विद्यमान सिग्नल बर्न केल्यावर तुम्हाला किती GRT मिळेल हे त्या बाँडिंग वक्र द्वारे निर्धारित केले जाते. क्युरेटर म्हणून, तुम्हाला हे माहित असणे आवश्यक आहे की तुम्ही GRT काढण्यासाठी तुमचे क्युरेशन शेअर्स बर्न करता तेव्हा, तुम्ही सुरुवातीला जमा केलेल्यापेक्षा जास्त किंवा कमी GRT मिळवू शकता. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## बाँडिंग वक्र 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![प्रति शेअर किंमत](/img/price-per-share.png) + +परिणामी, किंमत एकरेषेने वाढते, याचा अर्थ वेळोवेळी शेअर खरेदी करणे अधिक महाग होईल. आम्हाला काय म्हणायचे आहे याचे एक उदाहरण येथे आहे, खाली बाँडिंग वक्र पहा: + +![बाँडिंग वक्र](/img/bonding-curve.png) + +आमच्याकडे दोन क्युरेटर आहेत जे सबग्राफसाठी शेअर करतात याचा विचार करा: + +- क्युरेटर A हा सबग्राफवर सिग्नल देणारा पहिला आहे. वक्र मध्ये 120,000 GRT जोडून, ते 2000 शेअर्स मिंट करण्यास सक्षम आहेत. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- दोन्ही क्युरेटर्सचे एकूण क्युरेशन शेअर्सचे अर्धे भाग असल्याने, त्यांना समान प्रमाणात क्युरेटर रॉयल्टी मिळेल. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- उर्वरित क्युरेटर आता त्या सबग्राफसाठी सर्व क्युरेटर रॉयल्टी प्राप्त करतील. जर त्यांनी GRT काढण्यासाठी त्यांचे शेअर्स जाळले तर त्यांना 120,000 GRT मिळतील. +- **TLDR:** क्युरेशन शेअर्सचे GRT मूल्यांकन बाँडिंग वक्र द्वारे निर्धारित केले जाते आणि ते अस्थिर असू शकते. मोठे नुकसान होण्याची शक्यता आहे. लवकर सिग्नल देणे म्हणजे तुम्ही प्रत्येक शेअरसाठी कमी GRT टाकता. विस्तारानुसार, याचा अर्थ तुम्ही त्याच सबग्राफसाठी नंतरच्या क्युरेटर्सपेक्षा प्रति GRT अधिक क्युरेटर रॉयल्टी मिळवता. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +The Graph च्या बाबतीत, [बँकोरची बाँडिंग वक्र फॉर्मची अंमलबजावणी](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) फायदा घेतला जातो. अजूनही गोंधळलेले? खाली आमचे क्युरेशन व्हिडिओ मार्गदर्शक पहा: From c41a91f0878d8acc03e38c93617f43bef3481ab5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:24 -0400 Subject: [PATCH 0419/2326] New translations curating.mdx (Hindi) --- website/pages/hi/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/hi/network/curating.mdx b/website/pages/hi/network/curating.mdx index b0546cce7285..e9bf6371f0c3 100644 --- a/website/pages/hi/network/curating.mdx +++ b/website/pages/hi/network/curating.mdx @@ -2,38 +2,31 @@ title: क्यूरेटिंग --- -ग्राफ़ विकेंद्रीकृत अर्थव्यवस्था के लिए क्यूरेटर महत्वपूर्ण हैं। वे वेब 3 पारिस्थितिकी तंत्र के अपने ज्ञान का उपयोग सबग्राफ पर मूल्यांकन और संकेत करने के लिए करते हैं जिसे ग्राफ़ नेटवर्क द्वारा अनुक्रमित किया जाना चाहिए। एक्सप्लोरर के माध्यम से, क्यूरेटर सिग्नलिंग निर्णय लेने के लिए नेटवर्क डेटा देखने में सक्षम होते हैं। ग्राफ़ नेटवर्क उन क्यूरेटर को पुरस्कृत करता है जो सबग्राफ उत्पन्न करने वाली क्वेरी फीस के एक हिस्से के साथ अच्छी गुणवत्ता वाले सबग्राफ पर संकेत देते हैं। क्यूरेटरों को जल्दी संकेत देने के लिए आर्थिक रूप से प्रोत्साहित किया जाता है। क्यूरेटर के ये संकेत इंडेक्सर्स के लिए महत्वपूर्ण हैं, जो तब इन सिग्नल किए गए सबग्राफ से डेटा को प्रोसेस या इंडेक्स कर सकते हैं। +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -When signaling, curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. When signaling using auto-migrate, a Curator’s shares will always be migrated to the latest version published by the developer. If you decide to signal on a specific version instead, shares will always stay on this specific version. +## What Does Signaling Mean for The Graph Network? -याद रखें कि क्यूरेशन जोखिम भरा है। कृपया यह सुनिश्चित करने के लिए अपना परिश्रम करें कि आप अपने भरोसे के सबग्राफ पर क्यूरेट करते हैं। एक सबग्राफ बनाना अनुमति रहित है, इसलिए लोग सबग्राफ बना सकते हैं और उन्हें किसी भी नाम से पुकार सकते हैं। क्यूरेशन जोखिमों पर अधिक मार्गदर्शन के लिए, [द ग्राफ़ अकादमी की क्यूरेशन गाइड](https://thegraph.academy/curators/) देखें। +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## बॉन्डिंग कर्व 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -सबसे पहले, हम एक कदम पीछे हटते हैं। जब कोई उपयोगकर्ता कर्व में **में** सिग्नल जोड़ता है, तो प्रत्येक सबग्राफ में एक बॉन्डिंग कर्व होता है, जिस पर क्यूरेशन शेयर ढाला जाता है। प्रत्येक सबग्राफ का बॉन्डिंग कर्व अद्वितीय है। बॉन्डिंग कर्व्स को आर्किटेक्चर किया जाता है ताकि एक सबग्राफ पर एक क्यूरेशन शेयर को मिंट करने की कीमत लीनियरली बढ़ जाए, शेयरों की संख्या से अधिक। +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![मूल्य प्रति शेयर](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -नतीजतन, मूल्य रैखिक रूप से बढ़ता है, जिसका अर्थ है कि समय के साथ शेयर खरीदना अधिक महंगा हो जाएगा। यहाँ एक उदाहरण है कि हमारा क्या मतलब है, नीचे बॉन्डिंग कर्व देखें: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![बंधन वक्र](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -विचार करें कि हमारे पास दो क्यूरेटर हैं जो मिंट एक सबग्राफ के लिए शेयर करते हैं: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- क्यूरेटर ए सबसे पहले सबग्राफ पर संकेत देता है। कर्व में 120,000 जीआरटी जोड़कर, वे 2000 शेयरों का खनन करने में सक्षम हैं। -- क्यूरेटर बी का संकेत कुछ समय बाद सबग्राफ पर है। क्यूरेटर ए के समान शेयर प्राप्त करने के लिए, उन्हें कर्व में 360,000 जीआरटी जोड़ना होगा। -- चूंकि दोनों क्यूरेटर कुल क्यूरेशन शेयरों का आधा हिस्सा रखते हैं, इसलिए उन्हें क्यूरेटर रॉयल्टी की समान राशि प्राप्त होगी। -- यदि कोई क्यूरेटर अब अपने 2000 क्यूरेशन शेयरों को नष्ट कर दे, तो उन्हें 360,000 जीआरटी प्राप्त होगा। -- शेष क्यूरेटर अब उस सबग्राफ के लिए सभी क्यूरेटर रॉयल्टी प्राप्त करेंगे। यदि वे GRT निकालने के लिए अपने शेयर जलाते हैं, तो उन्हें 120,000 GRT प्राप्त होंगे। -- **TLDR:** क्यूरेशन शेयरों का GRT मूल्यांकन बॉन्डिंग कर्व द्वारा निर्धारित किया जाता है और अस्थिर हो सकता है। बड़ा नुकसान होने की संभावना है। जल्दी संकेत देने का मतलब है कि आप प्रत्येक शेयर के लिए कम जीआरटी डालते हैं। विस्तार से, इसका मतलब है कि आप उसी सबग्राफ के लिए बाद के क्यूरेटरों की तुलना में प्रति जीआरटी अधिक क्यूरेटर रॉयल्टी अर्जित करते हैं। +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -सामान्य तौर पर, बंधन वक्र एक गणितीय वक्र है जो टोकन आपूर्ति और परिसंपत्ति मूल्य के बीच संबंध को परिभाषित करता है। सबग्राफ क्यूरेशन के विशिष्ट मामले में, **प्रत्येक टोकन निवेश के साथ प्रत्येक सबग्राफ शेयर की कीमत बढ़ जाती है** और **प्रत्येक शेयर की कीमत घट जाती है बेचे गए प्रत्येक टोकन के साथ।** - -द ग्राफ़ के मामले में, [बैंकर का बॉन्डिंग कर्व फ़ॉर्मूला लागू करना](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) लीवरेज्ड है। +![एक्सप्लोरर सबग्राफ](/img/explorer-subgraphs.png) ## सिग्नल कैसे करें -अब जब हमने बॉन्डिंग कर्व कैसे काम करता है, इसके बारे में मूल बातें कवर कर ली हैं, तो इस तरह आप एक सबग्राफ पर सिग्नल देने के लिए आगे बढ़ेंगे। ग्राफ़ एक्सप्लोरर पर क्यूरेटर टैब के भीतर, क्यूरेटर नेटवर्क आँकड़ों के आधार पर कुछ सबग्राफ पर सिग्नल और अनसिग्नल करने में सक्षम होंगे। एक्सप्लोरर में इसे करने के तरीके के चरण-दर-चरण अवलोकन के लिए, [यहां क्लिक करें।](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) एक क्यूरेटर एक विशिष्ट सबग्राफ संस्करण पर संकेत देना चुन सकता है, या वे अपने सिग्नल को स्वचालित रूप से उस सबग्राफ के नवीनतम उत्पादन निर्माण में माइग्रेट करना चुन सकते हैं। दोनों मान्य रणनीतियाँ हैं और अपने स्वयं के पेशेवरों और विपक्षों के साथ आती हैं। @@ -41,47 +34,43 @@ When signaling, curators can decide to signal on a specific version of the subgr अपने सिग्नल को स्वचालित रूप से नवीनतम उत्पादन बिल्ड में माइग्रेट करना यह सुनिश्चित करने के लिए मूल्यवान हो सकता है कि आप क्वेरी शुल्क अर्जित करते रहें। हर बार जब आप क्यूरेट करते हैं, तो 1% क्यूरेशन टैक्स लगता है। आप हर माइग्रेशन पर 0.5% क्यूरेशन टैक्स भी देंगे। सबग्राफ डेवलपर्स को बार-बार नए संस्करण प्रकाशित करने से हतोत्साहित किया जाता है - उन्हें सभी ऑटो-माइग्रेटेड क्यूरेशन शेयरों पर 0.5% क्यूरेशन टैक्स देना पड़ता है। -> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve, and also transfers tokens into the Graph proxy. - -## ग्राफ़ नेटवर्क के लिए सिग्नलिंग का क्या अर्थ है? - -अंतिम उपभोक्ताओं के लिए सबग्राफ को क्वेरी करने में सक्षम होने के लिए, सबग्राफ को पहले अनुक्रमित किया जाना चाहिए। इंडेक्सिंग एक ऐसी प्रक्रिया है जहां फाइलों, डेटा और मेटाडेटा को देखा जाता है, सूचीबद्ध किया जाता है और फिर अनुक्रमित किया जाता है ताकि परिणाम तेजी से मिल सकें। किसी सबग्राफ के डेटा को खोजने योग्य बनाने के लिए उसे व्यवस्थित करने की आवश्यकता होती है। +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -और इसलिए, यदि इंडेक्सर्स को यह अनुमान लगाना था कि उन्हें कौन से सबग्राफ को इंडेक्स करना चाहिए, तो इस बात की कम संभावना होगी कि वे मजबूत क्वेरी फीस अर्जित करेंगे क्योंकि उनके पास यह प्रमाणित करने का कोई तरीका नहीं होगा कि कौन से सबग्राफ अच्छी गुणवत्ता वाले हैं। क्यूरेशन दर्ज करें। +## Withdrawing your GRT -क्यूरेटर ग्राफ़ नेटवर्क को कुशल बनाते हैं और सिग्नलिंग वह प्रक्रिया है जिसका उपयोग क्यूरेटर इंडेक्सर्स को यह बताने के लिए करते हैं कि एक सबग्राफ इंडेक्स के लिए अच्छा है, जहां एक सबग्राफ के लिए बॉन्डिंग कर्व में जीआरटी जोड़ा जाता है। इंडेक्सर्स स्वाभाविक रूप से एक क्यूरेटर से सिग्नल पर भरोसा कर सकते हैं क्योंकि सिग्नलिंग पर, क्यूरेटर सबग्राफ के लिए एक क्यूरेशन शेयर का खनन करते हैं, जिससे उन्हें भविष्य की क्वेरी फीस के एक हिस्से का अधिकार मिलता है जो सबग्राफ ड्राइव करता है। क्यूरेटर सिग्नल को ERC20 टोकन के रूप में दर्शाया जाता है जिसे ग्राफ़ क्यूरेशन शेयर्स (GCS) कहा जाता है। क्यूरेटर जो अधिक क्वेरी फीस अर्जित करना चाहते हैं, उन्हें अपने जीआरटी को सबग्राफ को संकेत देना चाहिए कि वे भविष्यवाणी करते हैं कि नेटवर्क में फीस का एक मजबूत प्रवाह उत्पन्न होगा। खराब व्यवहार के लिए क्यूरेटर को नहीं काटा जा सकता है, लेकिन खराब निर्णय लेने को हतोत्साहित करने के लिए क्यूरेटर पर एक जमा कर है जो नेटवर्क की अखंडता को नुकसान पहुंचा सकता है। क्यूरेटर भी कम क्वेरी फीस कमाते हैं यदि वे निम्न-गुणवत्ता वाले सबग्राफ पर क्यूरेट करना चुनते हैं क्योंकि उन प्रश्नों को संसाधित करने के लिए कम क्वेरीज़ या कम इंडेक्सर्स को संसाधित करना होगा। नीचे आरेख देखें! +Curators have the option to withdraw their signaled GRT at any time. -![सिग्नलिंग आरेख](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -इंडेक्सर्स इंडेक्स के सबग्राफ को क्यूरेशन सिग्नल के आधार पर खोज सकते हैं जो वे द ग्राफ एक्सप्लोरर (नीचे स्क्रीनशॉट) में देखते हैं। +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![एक्सप्लोरर सबग्राफ](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## जोखिम 1. क्वेरी बाजार द ग्राफ में स्वाभाविक रूप से युवा है और इसमें जोखिम है कि नवजात बाजार की गतिशीलता के कारण आपका %APY आपकी अपेक्षा से कम हो सकता है। -2. Curation Fee - when a Curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. जब क्यूरेटर जीआरटी निकालने के लिए अपने शेयरों को जलाते हैं, तो शेष शेयरों का जीआरटी मूल्यांकन कम हो जाएगा। सावधान रहें कि कुछ मामलों में, क्यूरेटर उनके शेयरों **सभी को एक साथ** नष्ट करने का निर्णय ले सकते हैं। यह स्थिति सामान्य हो सकती है यदि कोई dApp डेवलपर अपने सबग्राफ का वर्जनिंग/सुधार और क्वेरी करना बंद कर देता है या यदि कोई सबग्राफ विफल हो जाता है। नतीजतन, शेष क्यूरेटर अपने शुरुआती जीआरटी का केवल एक अंश ही निकाल पाएंगे। कम जोखिम वाली प्रोफ़ाइल वाली नेटवर्क भूमिका के लिए, [प्रतिनिधि](/network/delegating) देखें। +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. बग के कारण सबग्राफ विफल हो सकता है। एक विफल सबग्राफ क्वेरी शुल्क अर्जित नहीं करता है। नतीजतन, आपको तब तक इंतजार करना होगा जब तक कि डेवलपर बग को ठीक नहीं करता है और एक नया संस्करण तैनात करता है। - यदि आपने सबग्राफ के नवीनतम संस्करण की सदस्यता ली है, तो आपके शेयर उस नए संस्करण में स्वत: माइग्रेट हो जाएंगे। इस पर 0.5% क्यूरेशन टैक्स लगेगा। - - यदि आपने एक विशिष्ट सबग्राफ संस्करण पर संकेत दिया है और यह विफल हो जाता है, तो आपको अपने क्यूरेशन शेयरों को मैन्युअल रूप से बर्न करना होगा। ध्यान दें कि आप शुरुआत में क्यूरेशन कर्व में जमा किए गए जीआरटी से अधिक या कम प्राप्त कर सकते हैं, जो एक क्यूरेटर होने से जुड़ा जोखिम है। फिर आप नए सबग्राफ संस्करण पर संकेत दे सकते हैं, इस प्रकार 1% क्यूरेशन टैक्स लगाया जा सकता है। + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## अवधि पूछे जाने वाले प्रश्न ### 1. क्यूरेटर क्वेरी फीस का कितना % कमाते हैं? -एक सबग्राफ पर संकेत देकर, आप इस सबग्राफ द्वारा उत्पन्न सभी क्वेरी फीस का एक हिस्सा अर्जित करेंगे। सभी क्वेरी फीस का 10% क्यूरेटर को उनके क्यूरेशन शेयरों के अनुपात में जाता है। यह 10% शासन के अधीन है। +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. मैं यह कैसे तय करूं कि कौन से सबग्राफ सिग्नल देने के लिए उच्च गुणवत्ता वाले हैं? उच्च-गुणवत्ता वाले सबग्राफ ढूँढना एक जटिल कार्य है, लेकिन इसे कई अलग-अलग तरीकों से संपर्क किया जा सकता है। क्यूरेटर के रूप में, आप भरोसेमंद सबग्राफ देखना चाहते हैं जो क्वेरी वॉल्यूम बढ़ा रहे हैं। एक भरोसेमंद सबग्राफ मूल्यवान हो सकता है यदि यह पूर्ण, सटीक है और डीएपी की डेटा जरूरतों का समर्थन करता है। खराब ढंग से तैयार किए गए सबग्राफ को संशोधित करने या फिर से प्रकाशित करने की आवश्यकता हो सकती है, और यह विफल भी हो सकता है। सबग्राफ मूल्यवान है या नहीं, इसका आकलन करने के लिए क्यूरेटर के लिए सबग्राफ के आर्किटेक्चर या कोड की समीक्षा करना महत्वपूर्ण है। नतीजतन: - क्यूरेटर नेटवर्क की अपनी समझ का उपयोग करके यह अनुमान लगाने की कोशिश कर सकते हैं कि कैसे एक व्यक्तिगत सबग्राफ भविष्य में उच्च या निम्न क्वेरी मात्रा उत्पन्न कर सकता है। -- क्यूरेटर को द ग्राफ एक्सप्लोरर के माध्यम से उपलब्ध मेट्रिक्स को भी समझना चाहिए। पिछली क्वेरी मात्रा और सबग्राफ डेवलपर कौन है जैसे मेट्रिक्स यह निर्धारित करने में मदद कर सकते हैं कि सबग्राफ संकेत देने लायक है या नहीं। +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. What’s the cost of updating a subgraph? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curation shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because updating subgraphs is an on-chain action that costs gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. How often can I update my subgraph? @@ -89,7 +78,49 @@ It’s suggested that you don’t update your subgraphs too frequently. See the ### 5. क्या मैं अपने क्यूरेशन शेयर बेच सकता हूँ? -क्यूरेशन शेयर अन्य ERC20 टोकन की तरह "खरीदे" या "बेचे" नहीं जा सकते हैं जिनसे आप परिचित हो सकते हैं। वे केवल एक विशेष सबग्राफ के लिए बॉन्डिंग कर्व के साथ ढाला (बनाया) या जलाया (नष्ट) किया जा सकता है। एक नया सिग्नल प्राप्त करने के लिए आवश्यक जीआरटी की मात्रा, और जब आप अपने मौजूदा सिग्नल को जलाते हैं तो आपको प्राप्त होने वाली जीआरटी की मात्रा उस बॉन्डिंग कर्व द्वारा निर्धारित की जाती है। एक क्यूरेटर के रूप में, आपको यह जानने की आवश्यकता है कि जब आप जीआरटी निकालने के लिए अपने क्यूरेशन शेयरों को जलाते हैं, तो आप शुरू में जमा किए गए जीआरटी से अधिक या कम प्राप्त कर सकते हैं। +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## बॉन्डिंग कर्व 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![मूल्य प्रति शेयर](/img/price-per-share.png) + +नतीजतन, मूल्य रैखिक रूप से बढ़ता है, जिसका अर्थ है कि समय के साथ शेयर खरीदना अधिक महंगा हो जाएगा। यहाँ एक उदाहरण है कि हमारा क्या मतलब है, नीचे बॉन्डिंग कर्व देखें: + +![बंधन वक्र](/img/bonding-curve.png) + +विचार करें कि हमारे पास दो क्यूरेटर हैं जो मिंट एक सबग्राफ के लिए शेयर करते हैं: + +- क्यूरेटर ए सबसे पहले सबग्राफ पर संकेत देता है। कर्व में 120,000 जीआरटी जोड़कर, वे 2000 शेयरों का खनन करने में सक्षम हैं। +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- चूंकि दोनों क्यूरेटर कुल क्यूरेशन शेयरों का आधा हिस्सा रखते हैं, इसलिए उन्हें क्यूरेटर रॉयल्टी की समान राशि प्राप्त होगी। +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- शेष क्यूरेटर अब उस सबग्राफ के लिए सभी क्यूरेटर रॉयल्टी प्राप्त करेंगे। यदि वे GRT निकालने के लिए अपने शेयर जलाते हैं, तो उन्हें 120,000 GRT प्राप्त होंगे। +- **TLDR:** क्यूरेशन शेयरों का GRT मूल्यांकन बॉन्डिंग कर्व द्वारा निर्धारित किया जाता है और अस्थिर हो सकता है। बड़ा नुकसान होने की संभावना है। जल्दी संकेत देने का मतलब है कि आप प्रत्येक शेयर के लिए कम जीआरटी डालते हैं। विस्तार से, इसका मतलब है कि आप उसी सबग्राफ के लिए बाद के क्यूरेटरों की तुलना में प्रति जीआरटी अधिक क्यूरेटर रॉयल्टी अर्जित करते हैं। + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +द ग्राफ़ के मामले में, [बैंकर का बॉन्डिंग कर्व फ़ॉर्मूला लागू करना](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) लीवरेज्ड है। अभी भी उलझन में? नीचे हमारे क्यूरेशन वीडियो गाइड देखें: From 586ad4988b315c8fbf296bf5ecf0269450d44f7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:25 -0400 Subject: [PATCH 0420/2326] New translations curating.mdx (Yoruba) --- website/pages/yo/network/curating.mdx | 103 +++++++++++++++++--------- 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/website/pages/yo/network/curating.mdx b/website/pages/yo/network/curating.mdx index 797d9b9dd896..fb2107c53884 100644 --- a/website/pages/yo/network/curating.mdx +++ b/website/pages/yo/network/curating.mdx @@ -2,38 +2,31 @@ title: Curating --- -Curators are critical to the Graph decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through the Explorer, curators are able to view network data to make signaling decisions. The Graph Network rewards curators who signal on good quality subgraphs with a share of the query fees that subgraphs generate. Curators are economically incentivized to signal early. These cues from curators are important for Indexers, who can then process or index the data from these signaled subgraphs. +Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. -When signaling, curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. When signaling using auto-migrate, a Curator’s shares will always be migrated to the latest version published by the developer. If you decide to signal on a specific version instead, shares will always stay on this specific version. +## What Does Signaling Mean for The Graph Network? -Remember that curation is risky. Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) +Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. -## Bonding Curve 101 +Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. -First, we take a step back. Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. +Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. -![Price per shares](/img/price-per-share.png) +Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. -As a result, price increases linearly, meaning that it will get more expensive to purchase a share over time. Here’s an example of what we mean, see the bonding curve below: +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. -![Bonding curve](/img/bonding-curve.png) +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. -Consider we have two curators that mint shares for a subgraph: +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. -- Curator A is the first to signal on the subgraph. By adding 120,000 GRT into the curve, they are able to mint 2000 shares. -- Curator B’s signal is on the subgraph at some point in time later. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. -- Since both curators hold half the total of curation shares, they would receive an equal amount of curator royalties. -- If any of the curators were now to burn their 2000 curation shares, they would receive 360,000 GRT. -- The remaining curator would now receive all the curator royalties for that subgraph. If they were to burn their shares to withdraw GRT, they would receive 120,000 GRT. -- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). -In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and the **price of each share decreases with each token sold.** - -In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. +![Explorer subgraphs](/img/explorer-subgraphs.png) ## How to Signal -Now that we’ve covered the basics about how the bonding curve works, this is how you will proceed to signal on a subgraph. Within the Curator tab on the Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in the Explorer, [click here.](/network/explorer) +Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) A curator can choose to signal on a specific subgraph version, or they can choose to have their signal automatically migrate to the newest production build of that subgraph. Both are valid strategies and come with their own pros and cons. @@ -41,47 +34,43 @@ Signaling on a specific version is especially useful when one subgraph is used b Having your signal automatically migrate to the newest production build can be valuable to ensure you keep accruing query fees. Every time you curate, a 1% curation tax is incurred. You will also pay a 0.5% curation tax on every migration. Subgraph developers are discouraged from frequently publishing new versions - they have to pay a 0.5% curation tax on all auto-migrated curation shares. -> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve, and also transfers tokens into the Graph proxy. - -## What does Signaling mean for The Graph Network? - -For end consumers to be able to query a subgraph, the subgraph must first be indexed. Indexing is a process where files, data, and metadata are looked at, cataloged, and then indexed so that results can be found faster. In order for a subgraph’s data to be searchable, it needs to be organized. +> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. -And so, if Indexers had to guess which subgraphs they should index, there would be a low chance that they would earn robust query fees because they’d have no way of validating which subgraphs are good quality. Enter curation. +## Withdrawing your GRT -Curators make The Graph network efficient and signaling is the process that curators use to let Indexers know that a subgraph is good to index, where GRT is added to a bonding curve for a subgraph. Indexers can inherently trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. Curator signal is represented as ERC20 tokens called Graph Curation Shares (GCS). Curators that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators also earn fewer query fees if they choose to curate on a low-quality Subgraph since there will be fewer queries to process or fewer Indexers to process those queries. See the diagram below! +Curators have the option to withdraw their signaled GRT at any time. -![Signaling diagram](/img/curator-signaling.png) +Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). -Indexers can find subgraphs to index based on curation signals they see in The Graph Explorer (screenshot below). +Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. -![Explorer subgraphs](/img/explorer-subgraphs.png) +However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. ## Risks 1. The query market is inherently young at The Graph and there is risk that your %APY may be lower than you expect due to nascent market dynamics. -2. Curation Fee - when a Curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). +2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. +3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). 4. A subgraph can fail due to a bug. A failed subgraph does not accrue query fees. As a result, you’ll have to wait until the developer fixes the bug and deploys a new version. - If you are subscribed to the newest version of a subgraph, your shares will auto-migrate to that new version. This will incur a 0.5% curation tax. - - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. Note that you may receive more or less GRT than you initially deposited into the curation curve, which is a risk associated with being a curator. You can then signal on the new subgraph version, thus incurring a 1% curation tax. + - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. ## Curation FAQs ### 1. What % of query fees do Curators earn? -By signalling on a subgraph, you will earn a share of all the query fees that this subgraph generates. 10% of all query fees goes to the Curators pro-rata to their curation shares. This 10% is subject to governance. +By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. ### 2. How do I decide which subgraphs are high quality to signal on? Finding high-quality subgraphs is a complex task, but it can be approached in many different ways. As a Curator, you want to look for trustworthy subgraphs that are driving query volume. A trustworthy subgraph may be valuable if it is complete, accurate, and supports a dApp’s data needs. A poorly architected subgraph might need to be revised or re-published, and can also end up failing. It is critical for Curators to review a subgraph’s architecture or code in order to assess if a subgraph is valuable. As a result: - Curators can use their understanding of a network to try and predict how an individual subgraph may generate a higher or lower query volume in the future -- Curators should also understand the metrics that are available through The Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. +- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. ### 3. What’s the cost of updating a subgraph? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curation shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because updating subgraphs is an on-chain action that costs gas. +Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. ### 4. How often can I update my subgraph? @@ -89,7 +78,49 @@ It’s suggested that you don’t update your subgraphs too frequently. See the ### 5. Can I sell my curation shares? -Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve. As a Curator, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: + +- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. +- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). + +### 6. Am I eligible for a curation grant? + +Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. + +## Curating on Ethereum vs Arbitrum + +The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. + +The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. + +On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. + +If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) + +## Bonding Curve 101 + +> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. + +Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. + +![Price per shares](/img/price-per-share.png) + +As a result, price increases linearly, meaning that it will get more expensive to purchase a share over time. Here’s an example of what we mean, see the bonding curve below: + +![Bonding curve](/img/bonding-curve.png) + +Consider we have two curators that mint shares for a subgraph: + +- Curator A is the first to signal on the subgraph. By adding 120,000 GRT into the curve, they are able to mint 2000 shares. +- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- Since both curators hold half the total of curation shares, they would receive an equal amount of curator royalties. +- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- The remaining curator would now receive all the curator royalties for that subgraph. If they were to burn their shares to withdraw GRT, they would receive 120,000 GRT. +- **TLDR:** The GRT valuation of curation shares is determined by the bonding curve and can be volatile. There is potential to incur big losses. Signaling early means you put in less GRT for each share. By extension, this means you earn more curator royalties per GRT than later curators for the same subgraph. + +In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** + +In the case of The Graph, [Bancor’s implementation of a bonding curve formula](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA) is leveraged. Still confused? Check out our Curation video guide below: From a169a8556b87f9bd0ae27e992692e9f54270eee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:27 -0400 Subject: [PATCH 0421/2326] New translations delegating.mdx (French) --- website/pages/fr/network/delegating.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/fr/network/delegating.mdx b/website/pages/fr/network/delegating.mdx index 1f6648e16226..980ace6dad0d 100644 --- a/website/pages/fr/network/delegating.mdx +++ b/website/pages/fr/network/delegating.mdx @@ -33,8 +33,8 @@ Lorsqu'un délégué souhaite se dé-déléguer, ses jetons sont soumis à une p Il convient également de choisir judicieusement un indexeur. Si vous choisissez un indexeur qui n'est pas digne de confiance ou qui ne fait pas du bon travail, vous voudrez annuler la délégation, ce qui signifie que vous perdrez beaucoup d'occasions de gagner des récompenses, ce qui peut être tout aussi grave que de brûler des TRG.
- !Délégation débondage](/img/Delegation-Unbonding.png) _Notez la commission de 0,5% dans l'interface utilisateur de la - délégation, ainsi que la période de débondage de 28 jours. de 28 jours + !Délégation débondage](/img/Delegation-Unbonding.png) _Notez la commission de 0,5% dans l'interface utilisateur de la délégation, ainsi que la période de débondage de 28 jours. + de 28 jours
### Choisir un indexeur digne de confiance avec une rémunération équitable pour les délégués @@ -45,7 +45,7 @@ Réduction de la récompense d'indexation - La réduction de la récompense d'in
![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *Le meilleur indexeur donne aux délégués 90 % des récompenses. Le - celui du milieu donne 20 % aux délégués. Celui du bas donne aux délégués environ 83 %.* + celui du milieu donne 20 % aux délégués. Celui du bas donne aux délégués environ 83 %.*
- Réduction des frais de requête – Cela fonctionne exactement comme la réduction des récompenses d’indexation. Cependant, cela concerne spécifiquement les retours sur les frais de requête collectés par l’indexeur. Il convient de noter qu’au démarrage du réseau, les retours sur les frais de requête seront très faibles par rapport à la récompense d’indexation. Il est recommandé de prêter attention au réseau pour déterminer quand les frais de requête sur le réseau commenceront à être plus importants. From 52672d4592d976ab5d66f7e4b9e19a37f33b8d13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:28 -0400 Subject: [PATCH 0422/2326] New translations delegating.mdx (Arabic) --- website/pages/ar/network/delegating.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/website/pages/ar/network/delegating.mdx b/website/pages/ar/network/delegating.mdx index e5a9fb6b8955..eea33ceb91da 100644 --- a/website/pages/ar/network/delegating.mdx +++ b/website/pages/ar/network/delegating.mdx @@ -32,7 +32,9 @@ Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day u One thing to consider as well is choosing an Indexer wisely. If you choose an Indexer who was not trustworthy, or not doing a good job, you will want to undelegate, which means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT. -
لاحظ 0.5٪ رسوم التفويض ، بالإضافة إلى فترة 28 يوما لإلغاء التفويض.
+
+ لاحظ 0.5٪ رسوم التفويض ، بالإضافة إلى فترة 28 يوما لإلغاء التفويض. +
### اختيار مفهرس جدير بالثقة مع عائد جيد للمفوضين From c9ca8fd78b676b8628994633df2d0446dd993389 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:29 -0400 Subject: [PATCH 0423/2326] New translations delegating.mdx (Czech) --- website/pages/cs/network/delegating.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/network/delegating.mdx b/website/pages/cs/network/delegating.mdx index 18b3a90c7ce0..df6ce204f133 100644 --- a/website/pages/cs/network/delegating.mdx +++ b/website/pages/cs/network/delegating.mdx @@ -44,8 +44,8 @@ To je důležitá část, kterou je třeba pochopit. Nejprve si probereme tři v Indexační podíl na odměně - Indexační podíl na odměně je část odměny, kterou si indexátor ponechá pro sebe. To znamená, že pokud je nastavena na 100%, jako delegát získáte 0 odměn za indexaci. Pokud se v uživatelském rozhraní zobrazí hodnota 80%, znamená to, že jako delegát obdržíte 20%. Důležitá poznámka - na začátku sítě budou odměny za indexování tvořit většinu odměn.
- ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *Nejlepší indexátor dává delegátům 90 % odměn. Na prostřední dává - delegátům 20 % odměn. Spodní dává delegátům ~83 %.* + ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *Nejlepší indexátor dává delegátům 90 % odměn. Na + prostřední dává delegátům 20 % odměn. Spodní dává delegátům ~83 %.*
- Snížení poplatku za dotaz - Funguje stejně jako snížení odměny za indexování. Jedná se však konkrétně o výnosy z poplatků za dotaz, které indexátor vybere. Je třeba poznamenat, že na začátku sítě budou výnosy z poplatků za dotazování ve srovnání s odměnou za indexaci velmi malé. Doporučujeme věnovat pozornost síti, abyste zjistili, kdy začnou být poplatky za dotazování v síti významnější. From 2f00cac4ceb2f0d19f50025617780a335734b10e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:31 -0400 Subject: [PATCH 0424/2326] New translations delegating.mdx (Italian) --- website/pages/it/network/delegating.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/it/network/delegating.mdx b/website/pages/it/network/delegating.mdx index 344420fccebd..8f07f0b33986 100644 --- a/website/pages/it/network/delegating.mdx +++ b/website/pages/it/network/delegating.mdx @@ -33,8 +33,8 @@ Ogni volta che un Delegator vuole riottenere i suoi token, questi sono soggetti Una cosa da considerare è anche la scelta oculata di un Indexer. Se scegliete un Indexer che non è affidabile o che non sta facendo un buon lavoro, vorrete annullare la delega, il che significa che perderete molte opportunità di guadagnare ricompense, il che può essere altrettanto negativo che bruciare GRT.
- ![Sblocco di Delegator](/img/Delegation-Unbonding.png) _Nota la commissione del 0,5% nel UI della delegazione, così - come il periodo di sblocco di 28 giorni. periodo di sblocco._ + ![Sblocco di Delegator](/img/Delegation-Unbonding.png) _Nota la commissione del 0,5% nel UI della delegazione, così come il periodo di sblocco di 28 giorni. + periodo di sblocco._
### Scegliere un Indexer affidabile con una giusta ricompensa per i Delegator @@ -44,8 +44,8 @@ Questa è una parte importante da capire. Per prima cosa discutiamo di tre valor Taglio della ricompensa di indicizzazione - Il taglio della ricompensa di indicizzazione è la parte delle ricompense che l'Indexer terrà per sé. Ciò significa che se è impostato al 100%, come delegator riceverete 0 ricompense di indicizzazione. Se nel UI vedete 80%, significa che come Delegator riceverete il 20%. Una nota importante: all'inizio della rete, le ricompense di indicizzazione rappresentano la maggior parte delle ricompense.
- ![Taglio delle ricompense dell'indicizzazione](/img/Indexing-Reward-Cut.png) *Il top Indexer sta dando ai Delegator il - 90% delle ricompense. Il centrale dà ai Delegator il 20%. Quello in basso dà ai Delegator ~83%.* + ![Taglio delle ricompense dell'indicizzazione](/img/Indexing-Reward-Cut.png) *Il top Indexer sta dando ai Delegator il 90% delle ricompense. Il + centrale dà ai Delegator il 20%. Quello in basso dà ai Delegator ~83%.*
- Taglio delle tariffe di query - Funziona esattamente come il Taglio della ricompensa di indicizzazione. Tuttavia, riguarda specificamente i rendimenti delle tariffe di query raccolte dal Indexer. Va notato che all'inizio della rete, i rendimenti delle tariffe di query saranno molto ridotti rispetto alla ricompensa di indicizzazione. Si raccomanda di prestare attenzione alla rete per determinare quando le tariffe di query nella rete inizieranno a essere più significative. From c01d45335a15f86268978b10f413ed33c41c3bcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:33 -0400 Subject: [PATCH 0425/2326] New translations delegating.mdx (Dutch) --- website/pages/nl/network/delegating.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/website/pages/nl/network/delegating.mdx b/website/pages/nl/network/delegating.mdx index 505bc480d83c..9cf383d14f26 100644 --- a/website/pages/nl/network/delegating.mdx +++ b/website/pages/nl/network/delegating.mdx @@ -33,8 +33,7 @@ Wanneer een Delegeerder een delegatie wil sluiten, zijn hun tokens gebonden aan Een andere overweging is ook het wijs kiezen van een Indexeerder. Als je een Indexeerder kiest die niet betrouwbaar was of zijn werk niet goed doet, wil je je delegatie sluiten, wat betekent dat je veel kansen om beloningen te ontvangen zal missen wat net zo slecht kan zijn als GRT verbranden.
- ![Delegation unbonding](/img/Delegation-Unbonding.png) _Let op de 0,5% belasting in de Delegatie UI, evenals de - 28-daagse ontbindingsperiode_ + ![Delegation unbonding](/img/Delegation-Unbonding.png) _Let op de 0,5% belasting in de Delegatie UI, evenals de 28-daagse ontbindingsperiode_
### Het kiezen van een betrouwbare Indexeerder met een eerlijke beloningsuitbetaling voor Delegeerders @@ -44,8 +43,7 @@ Dit is een belangrijk aspect om te begrijpen. Laten we eerst drie zeer belangrij Indexing Reward Cut - De indexing reward cut is het deel van de beloningen dat de Indexeerder voor zichzelf zal houden. Dat betekent dat als het is ingesteld op 100%, je als delegeerder 0% van de beloningen voor het indexeren krijgt. Als je 80% ziet op de website, betekent dit dat je als Delegeerder 20% van de beloningen ontvangt. Een belangrijke opmerking - aan het begin van het netwerk zullen Indexing Rewards het grootste deel van de beloningen uitmaken.
- ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *De bovenste Indexeerder geeft Delegeerders 90% van de - beloningen. De middelste geeft Delegeerders 20%. De onderste geeft Delegeerders ~83%.* + ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *De bovenste Indexeerder geeft Delegeerders 90% van de beloningen. De middelste geeft Delegeerders 20%. De onderste geeft Delegeerders ~83%.*
- Query Fee Cut - Dit werkt precies hetzelfde als de Indexing Reward Cut. Dit is echter specifiek voor opbrengsten uit de querykosten die de Indexer binnen krijgt. Aan het begin van het netwerk zullen de opbrengsten uit querykosten erg klein zijn in vergelijking met de opbrengsten van het indexeren. Het wordt aanbevolen om aandacht te besteden aan het netwerkactiviteit om te bepalen wanneer de querykosten in het netwerk significant zullen worden. From c0154bcf425af9572e3536b702683502a328c407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:34 -0400 Subject: [PATCH 0426/2326] New translations delegating.mdx (Portuguese) --- website/pages/pt/network/delegating.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/website/pages/pt/network/delegating.mdx b/website/pages/pt/network/delegating.mdx index 38324efaa954..1eff5f9b506c 100644 --- a/website/pages/pt/network/delegating.mdx +++ b/website/pages/pt/network/delegating.mdx @@ -33,8 +33,7 @@ Se um Delegado quiser cancelar a sua delegação, seus tokens estarão sujeitos Considere escolher um Indexador com muito cuidado. Se escolher um Indexador que não é de confiança, ou não fez um bom trabalho, talvez queira cancelar a sua delegação, o que implica em sacrificar muitas oportunidades de recompensa, o que pode ser tão lamentável quanto queimar GRT.
- ![Delegation unbonding](/img/Delegation-Unbonding.png) _Perceba a taxa de 0.5% na interface da Delegação, além do - período de separação de 28 dias._ + ![Delegation unbonding](/img/Delegation-Unbonding.png) _Perceba a taxa de 0.5% na interface da Delegação, além do período de separação de 28 dias._
### Como escolher um Indexador de confiança, com um pagamento justo para Delegantes @@ -44,8 +43,7 @@ Isto é importante. Primeiro, vamos discutir três valores muito importantes: os Porção da Recompensa de Indexação - Esta é a porção das recompensas que o Indexador guardará para si. Isto significa que, se configurada para 100%, o Delegante receberá 0 recompensas de indexação. Se ver 80% na interface, isto significa que, como Delegado, receberá 20%. Importante saber que no começo da rede, as Recompensas de Indexação contarão como a maioria das recompensas.
- ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *O Indexador acima está a dar 90% das recompensas aos Delegantes, - o do meio dá 20%, e o de baixo dá cerca de 83%.* + ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *O Indexador acima está a dar 90% das recompensas aos Delegantes, o do meio dá 20%, e o de baixo dá cerca de 83%.*
- Porção da Taxa de Recompensa - Isto funciona exatamente como a Porção da Recompensa de Indexação, sendo especificamente para retornos nas taxas de consulta coletadas pelo Indexador. Perceba que, no começo da rede, os retornos de taxas de query serão muito menores que a recompensa de indexação. Vale prestar atenção na rede para determinar quando as taxas de consulta na rede começarão a ser mais significantes. From 2107c5096f921c55f4f9c65f4c5a072bc0732d9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:35 -0400 Subject: [PATCH 0427/2326] New translations delegating.mdx (Russian) --- website/pages/ru/network/delegating.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/ru/network/delegating.mdx b/website/pages/ru/network/delegating.mdx index 5d2bdf1326a5..ed6f3a0c5332 100644 --- a/website/pages/ru/network/delegating.mdx +++ b/website/pages/ru/network/delegating.mdx @@ -33,8 +33,8 @@ title: Делегирование Еще одним аспектом, который стоит учитывать, является разумный выбор Индексатора. Если вы выберете ненадежного или некомпетентного Индексатора, вам, возможно, захочется отозвать делегирование, что в свою очередь означает потерю множества возможностей для получения вознаграждений. Это может быть столь плохо, как и сжигание токенов GRT.
- ![Delegation unbonding](/img/Delegation-Unbonding.png) _Обратите внимание на комиссию в размере 0,5% в - пользовательском интерфейсе Delegation, а также на 28-дневный срок период разблокировки._ + ![Delegation unbonding](/img/Delegation-Unbonding.png) _Обратите внимание на комиссию в размере 0,5% в пользовательском интерфейсе Delegation, а также на 28-дневный срок + период разблокировки._
### Выбор надежного Индексатора со справедливым распределением вознаграждений для Делегаторов From 81b343674f709d3efa0fdd9d694c0ff1c6d0e81d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:36 -0400 Subject: [PATCH 0428/2326] New translations delegating.mdx (Swedish) --- website/pages/sv/network/delegating.mdx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/website/pages/sv/network/delegating.mdx b/website/pages/sv/network/delegating.mdx index 27bad461386c..65204d68d29d 100644 --- a/website/pages/sv/network/delegating.mdx +++ b/website/pages/sv/network/delegating.mdx @@ -33,8 +33,8 @@ När som helst en Delegater vill upphäva sin delegering är deras tokens förem En sak att tänka på är också att välja en Indexer klokt. Om du väljer en Indexer som inte var pålitlig eller inte gjorde ett bra jobb, kommer du att vilja upphäva, vilket innebär att du kommer att förlora många möjligheter att tjäna belöningar, vilket kan vara lika dåligt som att bränna GRT.
- ![Delegation upphävning](/img/Delegation-Upphävning.png) _Observera avgiften på 0,5% i Delegation UI, samt den 28 - dagar långa upphävningsperioden._ + ![Delegation upphävning](/img/Delegation-Upphävning.png) _Observera avgiften +på 0,5% i Delegation UI, samt den 28 dagar långa upphävningsperioden._
### Att välja en pålitlig Indexer med en rättvis belöningsutbetalning till Delegater @@ -44,8 +44,9 @@ Detta är en viktig del att förstå. Först låt oss diskutera tre mycket vikti Indexing Reward Cut - Indexing reward cut är den del av belöningarna som Indexer kommer att behålla för sig själva. Det betyder om den är inställd på 100%, som en Delegater kommer du att få 0 indexing rewards. Om du ser 80% i UI, innebär det att du som Delegater kommer att få 20%. En viktig notering - i början av nätverket kommer Indexing Rewards att utgöra majoriteten av belöningarna.
- ![Indexing Edward Cut](/img/Indexing-Edward-Cut.png) *Den översta Indexet ger Delegater 90% av belöningarna. Den - mellersta ger Delegater 20%. Den nedersta ger Delegater ~83%.* + ![Indexing Edward Cut](/img/Indexing-Edward-Cut.png) *Den översta Indexet ger +Delegater 90% av belöningarna. Den mellersta ger Delegater 20%. Den nedersta +ger Delegater ~83%.*
- Query Fee Cut - Detta fungerar precis som Indexing Reward Cut. Detta gäller dock för avkastningen på frågebetalningar som Indexer samlar in. Det bör noteras att i början av nätverket kommer avkastningen från frågebetalningar att vara mycket små jämfört med indexeringsbelöningen. Det rekommenderas att uppmärksamma nätverket för att avgöra när frågebetalningarna i nätverket kommer att börja vara mer betydande. From 05032bdad8d5f174d564b222f178afcbff51d2c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:37 -0400 Subject: [PATCH 0429/2326] New translations delegating.mdx (Turkish) --- website/pages/tr/network/delegating.mdx | 96 ++++++++++++------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/website/pages/tr/network/delegating.mdx b/website/pages/tr/network/delegating.mdx index ba7c066ce8a2..4a6d6e00b73e 100644 --- a/website/pages/tr/network/delegating.mdx +++ b/website/pages/tr/network/delegating.mdx @@ -1,98 +1,98 @@ --- -title: Delegasyon +title: Delegating --- -Delegatörler, GRT'yi bir veya daha fazla indeksleyiciye devreden (yani stake eden) ağ katılımcılarıdır. Delegatörler, kendileri bir Graph Node’u çalıştırmadan ağın güvenliğini sağlamaya katkıda bulunurlar. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators contribute to securing the network without running a Graph Node themselves. -Delegatörler, bir indeksleyiciye yetki vererek, indeksleyicinin sorgu ücretlerinin ve ödüllerinin bir kısmını kazanır. Bir indeksleyicinin işleyebileceği sorgu miktarı, indeksleyicinin kendi (ve stake edilen) payına ve indeksleyicinin her sorgu için aldığı ücrete bağlıdır, bu nedenle, bir indeksleyiciye ne kadar pay tahsis edilirse, o kadar çok potansiyel sorgu işleyebilir. +By delegating to an Indexer, Delegators earn a portion of the Indexer's query fees and rewards. The amount of queries an Indexer can process depends on the Indexer's own (and delegated) stake and the price the Indexer charges for each query, so the more stake that is allocated to an Indexer, the more potential queries they can process. -## Delegatör Kılavuzu +## Delegator Guide -Bu kılavuz, Graph ağında nasıl etkili bir delegatör olunacağını açıklayacaktır. Delegatörler, stake ettikleri paylarına göre tüm indeksleyiciler ile birlikte protokolün kazançlarını paylaşır. Bir delegatör, indeksleyicileri birden çok faktöre dayalı olarak seçmek için en iyi muhakemesini kullanmalıdır. Bilgiler internette yaygın olarak bulunduğundan, bu kılavuzun Metamask'ı doğru şekilde ayarlamak gibi adımların üzerinden geçmeyeceğini lütfen unutmayın. Bu kılavuzda üç bölüm bulunmaktadır: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not go over steps such as setting up Metamask properly, as that information is widely available on the internet. There are three sections in this guide: -- Graph Network'te tokenları stake etmenin riskleri -- Delegatör olarak beklenen getiriler nasıl hesaplanır -- Graph Network kullanıcı arayüzünde stake etme adımlarını gösteren bir video kılavuzu ve rehber makale +- The risks of delegating tokens in The Graph Network +- How to calculate expected returns as a Delegator +- A video guide showing the steps to delegate in the Graph Network UI -## Delegasyon Riskleri +## Delegation Risks -Protokolde delegatör olmanın ana riskleri aşağıda listelenmiştir. +Listed below are the main risks of being a Delegator in the protocol. -### Delegasyon Vergisi +### The delegation tax -Delegatörler kötü davranış nedeniyle cezalandırılamaz, ancak ağın bütünlüğüne zarar verebilecek kötü kararlar vermeyi caydırmak için delegatörler üzerinde bir vergi vardır. +Delegators cannot be slashed for bad behavior, but there is a tax on Delegators to disincentivize poor decision-making that could harm the integrity of the network. -Her stake ettiğinizde sizden %0,5 ücret alınacağını anlamak önemlidir. Bu, 1000 GRT'yi stake ediyorsanız, otomatik olarak 5 GRT yakacağınız anlamına gelir. +It is important to understand that every time you delegate, you will be charged 0.5%. This means if you are delegating 1000 GRT, you will automatically burn 5 GRT. -Bu, güvende olmak için, bir delegatörün bir indeksleyiciye stake ederek geri dönüşlerinin ne olacağını hesaplaması gerektiği anlamına gelir. Örneğin, bir delegatör, delegasyonuna ilişkin %0,5 vergiyi geri kazanmasının kaç gün süreceğini hesaplayabilir. +This means that to be safe, a Delegator should calculate what their return will be by delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. -### Delegasyonun Sonlandırılma Süresi +### The delegation unbonding period -Bir delegatör, stak ettiği tokenları geri almak istediğinde, tokenları 28 günlük bir soğuma süresine tabidir. Bu, 28 gün boyunca tokenlarını transfer edemeyecekleri veya herhangi bir ödül kazanamayacakları anlamına gelir. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens, or earn any rewards for 28 days. -Dikkate alınması gereken bir şey de akıllıca bir indeksleyici seçmektir. Güvenilir olmayan veya iyi bir iş çıkarmayan bir indeksleyici seçerseniz, stake ettiğiniz token’ları geri almak istersiniz. Bu da GRT'yi yakmak kadar kötü olabilecek olan bir durum gibidir, yani ödül kazanmak için birçok fırsatı kaybedeceğiniz anlamına gelir. +One thing to consider as well is choosing an Indexer wisely. If you choose an Indexer who was not trustworthy, or not doing a good job, you will want to undelegate, which means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
- ![Delegation unbonding](/img/Delegation-Unbonding.png) _Delegasyon Kullanıcı Arayüzündeki %0,5 ücreti ve 28 günlük - ayrılma süresini bir yere not edin._ + ![Delegation unbonding](/img/Delegation-Unbonding.png) _Note the 0.5% fee in the Delegation UI, as well as the 28 day + unbonding period._
-### Delegatörler İçin Adil Bir Ödül Ödemesi Olan Güvenilir Bir İndeksleyici Seçme +### Choosing a trustworthy Indexer with a fair reward payout for Delegators -Bu anlaşılması gereken önemli bir kısımdır. Öncelikle, Delegasyon Parametreleri olan çok önemli üç değeri tartışalım. +This is an important part to understand. First let's discuss three very important values, which are the Delegation Parameters. -İndeksleme Ödül Kesintisi - İndeksleme ödül kesintisi, ödüllerin indeksleyicinin kendisi için tutacağı kısmıdır. Bu, %100'e ayarlanırsa, delegatörn olarak 0 indeksleme ödülü alacağınız anlamına gelir. Kullanıcı arayüzünde %80 görürseniz, bu bir delegatör olarak %20 alacağınız anlamına gelir. Önemli bir not - ağın başlangıcında, indeksleme ödülleri, ödüllerin çoğuna sahip olacaktır. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. That means if it is set to 100%, as a Delegator you will get 0 indexing rewards. If you see 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
- ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *En iyi indeksleyici, delegatörlere ödüllerin %90'ını veriyor. - Ortadaki, delegatörlere %20 veriyor. Alttaki, delegatörlere ~%83 veriyor.* + ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *The top Indexer is giving Delegators 90% of the rewards. The + middle one is giving Delegators 20%. The bottom one is giving Delegators ~83%.*
-- Sorgu Ücreti Kesintisi - Bu, tam olarak indeksleme ödül kesintisi gibi çalışır. Ancak bu, özellikle indeksleyicinin topladığı sorgu ücretlerinin getirileri içindir. Ağın başlangıcında, sorgu ücretlerinden elde edilen getirilerin, indeksleme ödülüne kıyasla çok küçük olacağı belirtilmelidir. Ağdaki sorgu ücretlerinin ne zaman daha belirgin olmaya başlayacağını belirlemek için ağa dikkat edilmesi önerilir. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this is specifically for returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended to pay attention to the network to determine when the query fees in the network will start to be more significant. -Gördüğünüz gibi, doğru indeksleyiciyi seçerken üzerinde düşünülmesi gereken çok şey var. Bu nedenle, delegatörleri tutarlı bir şekilde ödüllendirmek için en iyi sosyal itibara ve teknik itibara sahip indeksleyicilerin kim olduğunu belirlemek için Graph Discord üzerinde vakit geçirmenizi önemle tavsiye ederiz. İndeksleyicilerin çoğu Discord'da çok aktiftir ve sorularınızı yanıtlamaktan mutluluk duyacaktır. Birçoğu test ağında aylardır indeksleme yapıyor ve delagatörlerin ağın sağlığını ve başarısını iyileştirdiği için iyi bir getiri elde etmesine yardımcı olmak için ellerinden gelenin en iyisini yapıyor. +As you can see, there is a lot of thought that must go into choosing the right Indexer. This is why we highly recommend you explore The Graph Discord to determine who the Indexers are with the best social reputation, and technical reputation, to reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months in the testnet, and are doing their best to help Delegators earn a good return, as it improves the health and success of the network. -### Delegatörlerin Tahmini Getirisini Hesaplama +### Calculating Delegators expected return -Bir delegatör, getiriyi belirlerken birçok faktörü dikkate almak zorundadır. Bunlar: +A Delegator has to consider a lot of factors when determining the return. These include: -- Teknik bir delegatör, indeksleyicinin kendileri için mevcut olan stake edilmiş tokenları kullanma becerisine de bakabilir. Bir indeksleyici, mevcut tüm tokenları tahsis etmiyorsa, kendileri veya delegatörleri için olabilecekleri maksimum kârı elde etmiyorlardır. -- Şu anda ağda bulunan bir indeksleyici, 1 ile 28 gün arasında herhangi bir zamanda bir tahsisi kapatmayı ve ödülleri toplamayı seçebilir. Bu nedenle, bir indeksleyicinin henüz toplamadığı birçok ödülü olabilir ve bu nedenle toplam ödülleri düşük olabilir. Bu ilk günlerde dikkate alınmalıdır. +- A technical Delegator can also look at the Indexer's ability to use the Delegated tokens available to them. If an Indexer is not allocating all the tokens available, they are not earning the maximum profit they could be for themselves or their Delegators. +- Right now in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So it is possible that an Indexer has a lot of rewards they have not collected yet, and thus, their total rewards are low. This should be taken into consideration in the early days. -### Sorgu Ücreti ve İndeksleme Ücreti Kesintilerini Dikkate Almak +### Considering the query fee cut and indexing fee cut -Yukarıdaki bölümlerde açıklandığı gibi, sorgu ücreti kesintisi ve indeksleme ücreti kesintilerini ayarlama konusunda şeffaf ve dürüst bir indeksleyici seçmelisiniz. Bir delegatör, ne kadar bir zaman arabelleğine sahip olduklarını görmek için parametrelerin soğuma süresine de bakmalıdır. Bu yapıldıktan sonra, delegatörlerin aldığı ödüllerin miktarını hesaplamak oldukça basittir: +As described in the above sections, you should choose an Indexer that is transparent and honest about setting their Query Fee Cut and Indexing Fee Cuts. A Delegator should also look at the Parameters Cooldown time to see how much of a time buffer they have. After that is done, it is fairly simple to calculate the amount of rewards the Delegators are getting. The formula is: -![3. Delegasyon Görseli](/img/Delegation-Reward-Formula.png) +![Delegation Image 3](/img/Delegation-Reward-Formula.png) -### İndeksleyicinin Stake Havuzunu Dikkate Almak +### Considering the Indexer's delegation pool -Bir delegatörün göz önünde bulundurması gereken bir başka şey de, stake havuzunun ne kadarına sahip olduklarıdır. Tüm stake ödülleri, delegatörün havuza yatırdığı miktara göre belirlenen havuzun basit bir şekilde yeniden dengelenmesiyle eşit olarak paylaşılır. Bu, delagatöre havuzdan bir pay verir: +Another thing a Delegator has to consider is what proportion of the Delegation Pool they own. All delegation rewards are shared evenly, with a simple rebalancing of the pool determined by the amount the Delegator has deposited into the pool. This gives the Delegator a share of the pool: -![Formül paylaş](/img/Share-Forumla.png) +![Share formula](/img/Share-Forumla.png) -Bu formülü kullanarak, delegatörlere sadece %20 teklif eden bir indeksleyicinin, delegatörlere %90 veren bir indeksleyiciden daha iyi bir ödül vermesinin gerçekten mümkün olduğunu görebiliriz. +Using this formula, we can see that it is actually possible for an Indexer who is offering only 20% to Delegators, to actually be giving Delegators an even better reward than an Indexer who is giving 90% to Delegators. -Bu nedenle bir delegatör, delegatörlere %20 sunan indeksleyicinin daha iyi bir getiri sunduğunu belirlemek için minik bir matematik yapabilir. +A Delegator can therefore do the math to determine that the Indexer offering 20% to Delegators, is offering a better return. -### Delegasyon Kapasitesini Dikkate Almak +### Considering the delegation capacity -Dikkate alınması gereken bir diğer husus da delegasyon kapasitesidir. Şu anda delegasyon oranı 16 olarak ayarlanmıştır. Bu, bir indeksleyici 1.000.000 GRT stake ettiyse, delegasyon kapasitesinin protokolde kullanabilecekleri 16.000.000 GRT stake edilmiş token olduğu anlamına gelir. Bu miktarı aşan herhangi bir stake edilmiş token, tüm delegatör ödüllerini azaltacaktır. +Another thing to consider is the delegation capacity. Currently, the Delegation Ratio is set to 16. This means that if an Indexer has staked 1,000,000 GRT, their Delegation Capacity is 16,000,000 GRT of Delegated tokens that they can use in the protocol. Any delegated tokens over this amount will dilute all the Delegator rewards. -Bir indeksleyicinin kendisine atanmış 100.000.000 GRT'ye sahip olduğunu ve kapasitelerinin yalnızca 16.000.000 GRT olduğunu hayal edin. Bu, etkili bir şekilde, 84.000.000 GRT token’ının token kazanmak için kullanılmadığı anlamına gelir. Ve tüm delegatör ve indeksleyiciler, olabileceğinden çok daha az ödül kazanacaktır. +Imagine an Indexer has 100,000,000 GRT delegated to them, and their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. And all the Delegators, and the Indexer, are earning way less rewards than they could be. -Bu nedenle, bir delegatör, her zaman bir indeksleyicinin delegasyon kapasitesini göz önünde bulundurmalı ve karar verme süreçlerinde bunu hesaba katmalıdır. +Therefore a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. -## Delegatör Sıkça Sorulan Soruları +## Delegator FAQs and Bugs -### MetaMask "Bekleyen İşlem" Hatası +### MetaMask "Pending Transaction" Bug -**İşlemimi Metamask'te gerçekleştirirken, beklenenden daha uzun süre "Beklemede" veya "Sıraya Alındı" olarak görünüyor. Ne yapmalıyım?** +**When I try to delegate my transaction in MetaMask appears as "Pending" or "Queued" for longer than expected. What should I do?** -Zaman zaman, Metamask aracılığıyla indeksleyicilere stake girişimleri başarısız olabilir ve uzun süreli "Beklemede" veya "Sıraya Alınmış" işlem uyarılarıyla sonuçlanabilir. Örneğin, bir kullanıcı, mevcut fiyatlara göre yetersiz bir gaz ücreti ile stake işlemi girişiminde bulunabilir ve bu da işlem girişiminin Metamask cüzdanında 15+ dakika boyunca "Beklemede" olarak görüntülenmesine neden olabilir. Bu gerçekleştiğinde, bir kullanıcı tarafından sonraki işlemler denenebilir, ancak bunlar, bir adres için işlemlerin sırayla işlenmesi gerektiğinden, ilk işlem çıkarılıncaya kadar işlenmez. Bu gibi durumlarda Metanask'te bu işlemler iptal edilebilir ancak işlem denemeleri, sonraki girişimlerin başarılı olacağına dair herhangi bir garanti olmaksızın gas ücreti tahakkuk edecektir. Bu hatanın daha basit bir çözümü, tarayıcıları yeniden başlatmaktır (örneğin, adres çubuğundan "iptal: yeniden başlat'ı" kullanarak). +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, subsequent transactions can be attempted by a user, but these will not be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. A simpler resolution to this bug is restarting the browsesr (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users that have encountered this issue and have reported successful transactions after restarting their browser and attempting to delegate. -## Ağ kullanıcı arayüzü için video kılavuzu +## Video guide for the network UI -Bu kılavuz, bu belgenin tam bir incelemesini ve kullanıcı arabirimiyle etkileşim kurarken bu belgedeki her şeyin nasıl dikkate alınacağını sağlar. +This guide provides a full review of this document, and how to consider everything in this document while interacting with the UI. From a820e83022b9c1d81ba8b4ecc760ffcd1da25df9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:38 -0400 Subject: [PATCH 0430/2326] New translations delegating.mdx (Ukrainian) --- website/pages/uk/network/delegating.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/website/pages/uk/network/delegating.mdx b/website/pages/uk/network/delegating.mdx index 64584883d14b..a4fe90cf6c5a 100644 --- a/website/pages/uk/network/delegating.mdx +++ b/website/pages/uk/network/delegating.mdx @@ -33,8 +33,7 @@ title: Делегування Важливо також враховувати, що вибір індексатора має бути обґрунтованим. Якщо ви вирішите обрати індексатора, який не заслуговує на довіру або погано виконує свою роботу, ви побажаєте відмовитися від делегування, а це означає, що ви втратите багато можливостей заробити винагороду, що може бути так само погано, як і спалювання GRT.
- ![Delegation unbonding](/img/Delegation-Unbonding.png) _Зверніть увагу на комісію в розмірі 0,5% в Інтерфейсі для - делегацій, а також на 28-денний період розблокування._ + ![Delegation unbonding](/img/Delegation-Unbonding.png) _Зверніть увагу на комісію в розмірі 0,5% в Інтерфейсі для делегацій, а також на 28-денний період розблокування._
### Вибір надійного індексатора зі справедливою винагородою для делегатів @@ -44,8 +43,7 @@ title: Делегування Частина винагороди за індексацію (Indexing Reward Cut) — це частина винагороди, яку індексатор залишає собі. Це означає, що якщо вона встановлена на рівні 100%, то як делегат ви отримаєте 0% за індексацію. Якщо в інтерфейсі ви бачите 80%, це означає, що як делегат ви отримаєте 20%. Важливе зауваження — на початку роботи мережі винагороди за індексацію будуть складати більшу частину доходів.
- ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *Найкращий індексатор віддає делегатам 90% від суми винагороди. - Середній - 20%. Найменший індексатор дає ~83%. * + ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *Найкращий індексатор віддає делегатам 90% від суми винагороди. Середній - 20%. Найменший індексатор дає ~83%. *
- Частина від винагороди за запити — працює точно так само, як і за індексацію. Однак, це стосується саме повернення комісії за запити, яку отримує індексатор. Слід зазначити, що на початку роботи мережі прибуток від комісійних за запити буде дуже малий в порівнянні з винагородою за індексацію. Рекомендується стежити за мережею, щоб визначити, коли комісія за запити в мережі почне бути більш значущою. From 03ead87b93446d4cb3326ca3a35cbfb45401b606 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:39 -0400 Subject: [PATCH 0431/2326] New translations delegating.mdx (Chinese Simplified) --- website/pages/zh/network/delegating.mdx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/website/pages/zh/network/delegating.mdx b/website/pages/zh/network/delegating.mdx index 9a0d6888d54c..09208995ad22 100644 --- a/website/pages/zh/network/delegating.mdx +++ b/website/pages/zh/network/delegating.mdx @@ -32,7 +32,9 @@ title: 委托 还需要考虑的一件事是明智地选择索引人。 如果您选择了一个不值得信赖的 索引人,或者没有做好工作,您将想要取消委托,这意味着您将失去很多获得奖励的机会,这可能与耗费 GRT 一样糟糕。 -
请注意委托用户界面中的0.5%费用,以及28天的解约期。
+
+ 请注意委托用户界面中的0.5%费用,以及28天的解约期。 +
### 选择一个为委托人提供公平的奖励分配的值得信赖的索引人 @@ -41,8 +43,7 @@ title: 委托 索引奖励分成- 索引奖励分成是指索引人将为自己保留的那部分奖励。 这意味着,如果它被设置为 100%,作为一个委托人,你将获得 0 个索引奖励。 如果你在 UI 中看到 80%,这意味着作为委托人,你将获得 20%。 一个重要的说明 -在网络的初期,索引奖励将占奖励的大部分比重。
- ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *上 面的索引人分给委托人 90% 的收益。 中间的给委托人 20%。 - 下面的给委托人约 83%。 + ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *上 面的索引人分给委托人 90% 的收益。 中间的给委托人 20%。 下面的给委托人约 83%。
- 查询费分成-这与索引奖励分成的运作方式完全相同。 不过,这是专门针对索引人收取的查询费的回报。 需要注意的是,在网络初期,查询费的回报与索引奖励相比会非常小。 建议关注网络来确定网络中的查询费何时开始变的比较可观。 From c233a48419e9c0bc1fdd69279daf992fbbaf45a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:40 -0400 Subject: [PATCH 0432/2326] New translations delegating.mdx (Urdu (Pakistan)) --- website/pages/ur/network/delegating.mdx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/ur/network/delegating.mdx b/website/pages/ur/network/delegating.mdx index 2e274a6d8aab..a9df7189a9ae 100644 --- a/website/pages/ur/network/delegating.mdx +++ b/website/pages/ur/network/delegating.mdx @@ -33,8 +33,8 @@ title: ڈیلیگیٹنگ غور کرنے کی ایک چیز یہ ہے کہ انڈیکسر کا انتخاب دانشمندی سے کریں۔اگر آپ انڈیکسر کا انتخاب کرتے ہیں جو قابل اعتماد نہیں تھا،یا اچھا کام نہیں کر رہا،آپ غیر منتخب کرنا چاہیں گے،جس کا مطلب ہے آپ انعامات حاصل کرنے کے بہت سے مواقع کھو رہے ہوں گے،جو GRT کو جلانے جیسا ہی برا ہو سکتا ہے.
- [ڈیلیگیشن ان بانڈنگ](/img/Delegation-Unbonding.png) _ڈیلیگیشن UI میں 0.5% فیس نوٹ کریں، ساتھ ہی 28 دن غیر بندھن کی - مدت۔_ + [ڈیلیگیشن ان بانڈنگ](/img/Delegation-Unbonding.png) _ڈیلیگیشن UI میں 0.5% فیس نوٹ کریں، ساتھ ہی 28 دن + غیر بندھن کی مدت۔_
### ڈیلیگیٹرز کے لیے منصفانہ انعامی ادائیگی کے ساتھ ایک قابل اعتماد انڈیکسر کا انتخاب کرنا @@ -44,8 +44,7 @@ title: ڈیلیگیٹنگ انڈیکسنگ ریوارڈ کٹ - انڈیکسنگ ریوارڈ کٹ انعامات کا وہ حصہ ہے جو انڈیکسر اپنے لیے رکھے گا۔ اس کا مطلب ہے کہ اگر یہ 100% پر سیٹ ہے، بطور ڈیلیگیٹر آپ کو 0 انڈیکسنگ کےانعامات ملیں گے۔ اگر آپ UI میں 80٪ دیکھتے ہیں،اس کا مطلب ہے کہ بطور ڈیلیگیٹر، آپ کو 20% ملے گا۔ ایک اہم نوٹ - نیٹ ورک کے آغاز میں، انڈیکسنگ انعامات کی اکثریت کا حصہ ہوں گے.
- ![انڈیکسنگ ریوارڈ کٹ](/img/Indexing-Reward-Cut.png) *سب سے اوپر انڈیکسر ڈیلیگیٹرز کو 90% انعامات دے رہا ہے. درمیان - والا ڈیلیگیٹرز کو 20% دے رہا ہے۔ نیچے والا ڈیلیگیٹرز کو ~83% دے رہا ہے۔* + ![انڈیکسنگ ریوارڈ کٹ](/img/Indexing-Reward-Cut.png) *سب سے اوپر انڈیکسر ڈیلیگیٹرز کو 90% انعامات دے رہا ہے. درمیان والا ڈیلیگیٹرز کو 20% دے رہا ہے۔ نیچے والا ڈیلیگیٹرز کو ~83% دے رہا ہے۔*
- کیوری فیس کٹوتی - یہ بلکل انڈیکسنگ ریوارڈ کٹ کی طرح کام کرتا ہے. البتہ، یہ خاص طور پر انڈیکسر جمع کردہ کیوری کی فیس پر واپسی کے لیے ہے۔ واضح رہے کہ نیٹ ورک کے آغاز پر، کیوری فیس سے واپسی انڈیکسنگ کے انعامات کے مقابلے میں بہت کم ہوگی۔ اس بات کا تعین کرنے کے لیے نیٹ ورک پر توجہ دینے کی سفارش کی جاتی ہے کہ نیٹ ورک میں کیوری کی فیس کب زیادہ اہم ہونا شروع ہو گی. From 7fb7dab92c9ff0353362211fabe2b5a665a9d1a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:42 -0400 Subject: [PATCH 0433/2326] New translations delegating.mdx (Marathi) --- website/pages/mr/network/delegating.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/mr/network/delegating.mdx b/website/pages/mr/network/delegating.mdx index 74e6bf0d8e10..4370f27cb5c4 100644 --- a/website/pages/mr/network/delegating.mdx +++ b/website/pages/mr/network/delegating.mdx @@ -34,7 +34,7 @@ Listed below are the main risks of being a Delegator in the protocol.
![प्रतिनिधी अनबॉन्डिंग](/img/Delegation-Unbonding.png) _डेलिगेशन UI मध्ये 0.5% शुल्क तसेच २८ दिवसांची नोंद घ्या - अनबॉन्डिंग कालावधी._ + अनबॉन्डिंग कालावधी._
### Choosing a trustworthy Indexer with a fair reward payout for Delegators @@ -44,8 +44,8 @@ Listed below are the main risks of being a Delegator in the protocol. इंडेक्सिंग रिवॉर्ड कट - इंडेक्सिंग रिवॉर्ड कट हा रिवॉर्डचा भाग आहे जो इंडेक्सर स्वतःसाठी ठेवतो. याचा अर्थ 100% वर सेट केल्यास, प्रतिनिधी म्हणून तुम्हाला 0 इंडेक्सिंग रिवॉर्ड मिळतील. तुम्हाला UI मध्ये 80% दिसल्यास, याचा अर्थ प्रतिनिधी म्हणून, तुम्हाला 20% मिळेल. एक महत्त्वाची टीप - नेटवर्कच्या सुरूवातीस, बहुसंख्य पुरस्कारांसाठी अनुक्रमणिका रिवॉर्ड्स असतील.
- ![इंडेक्सिंग रिवॉर्ड कट](/img/Indexing-Reward-Cut.png) *टॉप इंडेक्सर प्रतिनिधींना 90% बक्षिसे देत आहे. द मधला - प्रतिनिधी 20% देत आहे. सर्वात खालचा भाग प्रतिनिधींना ~83% देत आहे.* + ![इंडेक्सिंग रिवॉर्ड कट](/img/Indexing-Reward-Cut.png) *टॉप इंडेक्सर प्रतिनिधींना 90% बक्षिसे देत आहे. द + मधला प्रतिनिधी 20% देत आहे. सर्वात खालचा भाग प्रतिनिधींना ~83% देत आहे.*
- क्वेरी फी कट - हे इंडेक्सिंग रिवॉर्ड कट प्रमाणेच कार्य करते. तथापि, हे विशेषत: इंडेक्सर गोळा केलेल्या क्वेरी शुल्कावरील परताव्यासाठी आहे. हे लक्षात घेतले पाहिजे की नेटवर्कच्या सुरूवातीस, अनुक्रमणिकेच्या रिवॉर्डच्या तुलनेत क्वेरी फीमधून मिळणारे रिटर्न खूपच कमी असेल. नेटवर्कमधील क्वेरी शुल्क अधिक लक्षणीय केव्हा सुरू होईल हे निर्धारित करण्यासाठी नेटवर्ककडे लक्ष देण्याची शिफारस केली जाते. From 97171bcbaea5bb771f3e6672ebcf28abae767ecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:42 -0400 Subject: [PATCH 0434/2326] New translations delegating.mdx (Hindi) --- website/pages/hi/network/delegating.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/hi/network/delegating.mdx b/website/pages/hi/network/delegating.mdx index b66e0e9e4ce2..3ced69566ba6 100644 --- a/website/pages/hi/network/delegating.mdx +++ b/website/pages/hi/network/delegating.mdx @@ -33,8 +33,8 @@ title: Delegating एक बात पर भी विचार करना चाहिए कि एक इंडेक्सर को बुद्धिमानी से चुनना है। यदि आप एक ऐसे इंडेक्सर को चुनते हैं जो भरोसेमंद नहीं था, या अच्छा काम नहीं कर रहा था, तो आप अनाधिकृत करना चाहेंगे, जिसका अर्थ है कि आप पुरस्कार अर्जित करने के बहुत सारे अवसर खो देंगे, जो जीआरटी जलाने जितना ही बुरा हो सकता है।
- ![डेलिगेशन अनबॉन्डिंग](/img/Delegation-Unbonding.png) _डेलीगेशन UI में 0.5% शुल्क और साथ ही 28 दिन पर ध्यान दें बंधन - अवधि._ + ![डेलिगेशन अनबॉन्डिंग](/img/Delegation-Unbonding.png) _डेलीगेशन UI में 0.5% शुल्क और साथ ही 28 दिन पर ध्यान दें + बंधन अवधि._
### डेलीगेटर्स के लिए उचित इनाम भुगतान के साथ एक भरोसेमंद इंडेक्सर चुनना @@ -44,8 +44,8 @@ title: Delegating इंडेक्सिंग रिवार्ड कट - इंडेक्सिंग रिवार्ड कट उन रिवॉर्ड्स का हिस्सा है जो इंडेक्सर अपने लिए रखेंगे। इसका मतलब है कि अगर इसे 100% पर सेट किया जाता है, तो डेलिगेटर के तौर पर आपको 0 इंडेक्सिंग रिवॉर्ड्स मिलेंगे। यदि आप यूआई में 80% देखते हैं, तो इसका मतलब है कि एक प्रतिनिधि के रूप में, आपको 20% प्राप्त होगा। एक महत्वपूर्ण नोट - नेटवर्क की शुरुआत में, इंडेक्सिंग रिवार्ड्स अधिकांश पुरस्कारों के लिए जिम्मेदार होंगे।
- ![इंडेक्सिंग रिवॉर्ड कट](/img/Indexing-Reward-Cut.png) *शीर्ष इंडेक्सर डेलीगेटर्स को पुरस्कारों का 90% दे रहा है। बीच - वाला प्रतिनिधि को 20% दे रहा है। नीचे वाला डेलिगेटरों को ~83% दे रहा है।* + ![इंडेक्सिंग रिवॉर्ड कट](/img/Indexing-Reward-Cut.png) *शीर्ष इंडेक्सर डेलीगेटर्स को पुरस्कारों का 90% दे रहा है। + बीच वाला प्रतिनिधि को 20% दे रहा है। नीचे वाला डेलिगेटरों को ~83% दे रहा है।*
- प्रश्न शुल्क कट - यह बिल्कुल इंडेक्सिंग रिवार्ड कट की तरह काम करता है। हालाँकि, यह विशेष रूप से इंडेक्सर द्वारा एकत्र की जाने वाली क्वेरी फीस पर रिटर्न के लिए है। यह ध्यान दिया जाना चाहिए कि नेटवर्क की शुरुआत में, इंडेक्सिंग रिवार्ड की तुलना में क्वेरी फीस से रिटर्न बहुत कम होगा। यह निर्धारित करने के लिए नेटवर्क पर ध्यान देने की सिफारिश की जाती है कि नेटवर्क में क्वेरी शुल्क कब अधिक महत्वपूर्ण होने लगेगा। From c085d473c2ab75fd558429cec2024ea0ad3d120b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:44 -0400 Subject: [PATCH 0435/2326] New translations explorer.mdx (Romanian) --- website/pages/ro/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ro/network/explorer.mdx b/website/pages/ro/network/explorer.mdx index b3a549900b83..bca2993eb0b3 100644 --- a/website/pages/ro/network/explorer.mdx +++ b/website/pages/ro/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Explorer --- -Welcome to the Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 The Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of the Graph Explorer, check out the video below (or keep reading below): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraphs -First things first, if you just finished deploying and publishing your subgraph in the Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Image 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ If you want to learn more about how to become a Delegator, look no further! All In the Network section, you will see global KPIs as well as the ability to switch to a per-epoch basis and analyze network metrics in more detail. These details will give you a sense of how the network is performing over time. -### Activity +### Overview -The activity section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - The current total network stake - The stake split between the Indexers and their Delegators @@ -198,6 +198,6 @@ Within your user profile, you’ll be able to manage your personal profile detai ![Explorer Image 15](/img/Profile-Settings.png) -As your official portal into the world of decentralized data, The Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From f418b4b129abb24418181a3eb7df129f03c2f81e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:45 -0400 Subject: [PATCH 0436/2326] New translations explorer.mdx (French) --- website/pages/fr/network/explorer.mdx | 42 +++++++++++++-------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/website/pages/fr/network/explorer.mdx b/website/pages/fr/network/explorer.mdx index 0a627fc28c1a..8542686d9f27 100644 --- a/website/pages/fr/network/explorer.mdx +++ b/website/pages/fr/network/explorer.mdx @@ -1,14 +1,14 @@ --- -title: Explorateur Graph +title: Graph Explorer --- -Bienvenue sur le Graph Explorer, ou comme nous aimons l'appeler, votre portail décentralisé dans le monde des subgraphs et des données de réseau. 👩🏽‍🚀 L'Explorateur de graphs se compose de plusieurs parties où vous pouvez interagir avec d'autres développeurs de subgraphs, développeurs de dapps, curateurs, indexeurs et délégués. Pour un aperçu général de l'explorateur de graphs, regardez la vidéo ci-dessous (ou continuez à lire ci-dessous) : +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraphs -Tout d'abord, si vous venez de terminer le déploiement et la publication de votre subgraph dans Subgraph Studio, l'onglet Subgraphs en haut de la barre de navigation est l'endroit où vous pouvez afficher vos propres subgraphs terminés (et ceux des autres) sur le réseau décentralisé. Ici, vous pourrez trouver le subgraph exact que vous recherchez en fonction de la date de création, du montant du signal ou du nom. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Image 1](/img/Subgraphs-Explorer-Landing.png) @@ -22,7 +22,7 @@ Sur la page dédiée à chaque subgraph, plusieurs détails font surface. Il s'a - Afficher plus de détails tels que des graphs, l'ID de déploiement actuel et d'autres métadonnées - Passer d'une version à l'autre pour explorer les itérations passées du subgraph - Interroger les subgraphs via GraphQL -- Test subgraphs in the playground +- Tester les subgraphs dans le playground - Afficher les indexeurs qui indexent sur un certain subgraph - Statistiques du subgraph (allocations, conservateurs, etc.) - Afficher l'entité qui a publié le subgraph @@ -31,7 +31,7 @@ Sur la page dédiée à chaque subgraph, plusieurs détails font surface. Il s'a ## Participants -Within this tab, you’ll get a bird’s eye view of all the people that are participating in the network activities, such as Indexers, Delegators, and Curators. Below, we’ll go into an in-depth review of what each tab means for you. +Dans cet onglet, vous aurez une vue d'ensemble de toutes les personnes qui participent aux activités du réseau, telles que les indexeurs, les délégateurs et les curateurs. Ci-dessous, nous examinerons en profondeur ce que chaque onglet signifie pour vous. ### 1. Indexeurs @@ -56,19 +56,19 @@ Pour en savoir plus sur la façon de devenir un indexeur, vous pouvez consulter ![Volet Détails de l'indexation](/img/Indexing-Details-Pane.png) -### 2. Curators +### 2. Curateurs Les curateurs analysent les subgraphs afin d'identifier ceux qui sont de la plus haute qualité. Une fois qu'un curateur a trouvé un subgraph potentiellement intéressant, il peut le curer en signalant sa courbe de liaison. Ce faisant, les curateurs indiquent aux indexeurs quels sont les subgraphs de haute qualité qui devraient être indexés. -Curators can be community members, data consumers, or even subgraph developers who signal on their own subgraphs by depositing GRT tokens into a bonding curve. By depositing GRT, Curators mint curation shares of a subgraph. As a result, Curators are eligible to earn a portion of the query fees that the subgraph they have signaled on generates. The bonding curve incentivizes Curators to curate the highest quality data sources. The Curator table in this section will allow you to see: +Les conservateurs peuvent être des membres de la communauté, des consommateurs de données ou même des développeurs de subgraphs qui signalent sur leurs propres subgraphs en déposant des jetons GRT dans une courbe de liaison. En déposant GRT, les curateurs créent des actions de curation d'un subgraph. En conséquence, les curateurs sont éligibles pour gagner une partie des frais de requête générés par le subgraph sur lequel ils ont signalé. La courbe de liaison incite les curateurs à conserver des sources de données de la plus haute qualité. Le Tableau Curateurs de cette section vous permettra de voir : -- The date the Curator started curating -- The number of GRT that was deposited +- La date à laquelle le curateur a commencé à organiser +- Le nombre de GRT déposés - Nombre d'actions détenues par un curateur ![Explorer Image 6](/img/Curation-Overview.png) -If you want to learn more about the Curator role, you can do so by visiting the following links of [The Graph Academy](https://thegraph.academy/curators/) or [official documentation.](/network/curating) +Si vous souhaitez en savoir plus sur le rôle de curateur, vous pouvez le faire en visitant les liens suivants de [The Graph Academy](https://thegraph.academy/curators/) ou de la [documentation officielle.](/network/curating) ### 3. Délégués @@ -84,8 +84,8 @@ Le tableau des délégués vous permet de voir les délégués actifs dans la co - Délégation originale d’un délégant - Les récompenses qu'ils ont accumulées mais qu'ils n'ont pas retirées du protocole - Les récompenses obtenues qu'ils ont retirées du protocole -- Total amount of GRT they have currently in the protocol -- The date they last delegated at +- Quantité totale de GRT qu'ils ont actuellement dans le protocole +- La date de leur dernière délégation à Si vous voulez en savoir plus sur la façon de devenir un délégué, ne cherchez plus ! Il vous suffit de consulter la [documentation officielle](/network/delegating) ou [The Graph Academy](https://docs.thegraph.academy/official-docs/delegator/choosing-indexers). @@ -93,9 +93,9 @@ Si vous voulez en savoir plus sur la façon de devenir un délégué, ne cherche Dans la section Réseau, vous verrez des indicateurs globaux ainsi que la possibilité de passer à une base par écho et d'analyser les paramètres du réseau de manière plus détaillée. Ces détails vous donneront une idée des performances du réseau au fil du temps. -### Activité +### Aperçu -La section "Activité" contient toutes les mesures actuelles du réseau ainsi que des mesures cumulées dans le temps. Vous pouvez y voir des éléments tels que : +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - L’enjeu total actuel du réseau - La répartition des enjeux entre les indexeurs et leurs délégués @@ -119,7 +119,7 @@ Dans la section Époques, vous pouvez analyser, époque par époque, des métriq - Frais de requête générés et récompenses d'indexation collectées au cours d'une époque spécifique - Le statut de l'époque, qui fait référence à la collecte et à la distribution de la redevance d'interrogation, peut présenter différents états : - L'époque active est celle où les indexeurs sont en train d'allouer des enjeux et de collecter des frais de requête - - The settling epochs are the ones in which the state channels are being settled. This means that the Indexers are subject to slashing if the consumers open disputes against them. + - Les époques de règlement sont celles au cours desquelles les canaux d'État sont réglées. Cela signifie que les indexeurs sont soumis à des réductions si les consommateurs ouvrent des litiges à leur encontre. - Les époques de distribution sont les époques au cours desquelles les canaux d'État pour les époques sont réglés et les indexeurs peuvent réclamer leurs remises sur les frais de requête. - Les époques finalisées sont les époques pour lesquelles il ne reste plus aucune remise sur les frais de requête à réclamer par les indexeurs, et sont donc finalisées. @@ -135,7 +135,7 @@ C'est ici que vous pouvez voir toutes les actions en cours que vous avez entrepr ![Explorer Image 10](/img/Profile-Overview.png) -### Subgraphs Tab +### Onglet Subgraphs Si vous cliquez sur l'onglet Subgraphs, vous verrez vos subgraphs publiés. Cela n'inclut pas les subgraphs déployés avec l'interface de programmation à des fins de test - les subgraphs ne s'affichent que lorsqu'ils sont publiés sur le réseau décentralisé. @@ -149,9 +149,9 @@ Cette section comprendra également des détails sur vos récompenses nettes d'i - Participation déléguée - la participation des délégués qui peut être allouée par vous mais ne peut pas être réduite - Total des frais de requête - le total des frais payés par les utilisateurs pour les requêtes que vous leur avez adressées au fil du temps -- Indexer Rewards - the total amount of Indexer rewards you have received, in GRT +- Récompenses de l'indexeur - le montant total des récompenses de l'indexeur que vous avez reçues, en GRT - Réduction des frais : % de remise sur les frais de requête que vous conserverez lors de votre séparation avec les délégués -- Rewards Cut - the % of Indexer rewards that you will keep when splitting with Delegators +- Récompenses de l'indexeur - le montant total des récompenses de l'indexeur que vous avez reçues, en GRT - Possédé : votre mise déposée, qui pourrait être réduite en cas de comportement malveillant ou incorrect ![Explorer Image 12](/img/Indexer-Stats.png) @@ -194,10 +194,10 @@ Dans cet onglet, vous trouverez un aperçu de : Dans votre profil utilisateur, vous pourrez gérer les détails de votre profil personnel (comme la configuration d'un nom ENS). Si vous êtes un indexeur, vous avez encore plus accès aux paramètres à portée de main. Dans votre profil utilisateur, vous pourrez configurer vos paramètres et opérateurs de délégation. - Les opérateurs effectuent des actions limitées dans le protocole au nom de l'indexeur, telles que l'ouverture et la clôture des allocations. Les opérateurs sont généralement d'autres adresses Ethereum, distinctes de leur portefeuille de jalonnement, avec un accès sécurisé au réseau que les indexeurs peuvent définir personnellement -- Delegation parameters allow you to control the distribution of GRT between you and your Delegators. +- Les paramètres de délégation vous permettent de contrôler la répartition des GRT entre vous et vos délégués. ![Explorer Image 15](/img/Profile-Settings.png) -En tant que portail officiel vers le monde des données décentralisées, The Graph Explorer vous permet d'effectuer diverses actions, quel que soit votre rôle dans le réseau. Vous pouvez accéder aux paramètres de votre profil en ouvrant le menu déroulant situé à côté de votre adresse, puis en cliquant sur le bouton Paramètres. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button. -
![Wallet details](/img/Wallet-Details.png)
+
![Détails du portefeuille](/img/Wallet-Details.png)
From f176de068234e824dd887024781d30522181ca6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:46 -0400 Subject: [PATCH 0437/2326] New translations explorer.mdx (Spanish) --- website/pages/es/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/es/network/explorer.mdx b/website/pages/es/network/explorer.mdx index d19881edb1b8..b2f43cebf2a2 100644 --- a/website/pages/es/network/explorer.mdx +++ b/website/pages/es/network/explorer.mdx @@ -2,13 +2,13 @@ title: Explorador de Graph --- -Bienvenido al explorador de The Graph, o como nos gusta llamarlo, tu portal descentralizado al mundo de los subgrafos y los datos de la red. 👩🏽‍🚀 Este explorador de The Graph consta de varias partes en las que puedes interactuar con otros developers de subgrafos, developers de dApp, Curadores, Indexadores y Delegadores. Para obtener una descripción general de The Graph Explorer, échale un vistazo al siguiente video (o sigue leyendo lo que hemos escrito para ti): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgrafos -Lo primero es lo primero, si acabas de terminar de deployar y publicar tu subgrafo en Subgrafo Studio, la pestaña Subgrafos en la parte superior de la barra de navegación es el lugar para ver tus propios subgrafos terminados (y los subgrafos de otros) en la red descentralizada. Aquí podrás encontrar el subgrafo exacto que estás buscando basándote en la fecha de creación, la cantidad de señales o el nombre. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Image 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ Si deseas obtener más información sobre cómo convertirte en Delegador, ¡no b En la sección red, verás los KPI globales, así como la capacidad de cambiar a una base por ciclo y analizar las métricas de la red con más detalle. Estos detalles te darán una idea de cómo se está desempeñando la red a lo largo del tiempo. -### Actividad +### Descripción -La sección actividad tiene todas las métricas de red actuales, así como algunas métricas acumulativas a lo largo del tiempo. Aquí puedes ver cosas como: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - La cantidad total de stake que circula en estos momentos - La participación que se divide entre los Indexadores y sus Delegadores @@ -198,6 +198,6 @@ Dentro de tu perfil de usuario, podrás administrar los detalles de tu perfil pe ![Imagen de Explorer 15](/img/Profile-Settings.png) -Como tu portal oficial en el mundo de los datos descentralizados, The Graph Explorer te permite realizar una variedad de acciones, sin importar tu rol en la red. Puedes acceder a la configuración de tu perfil abriendo el menú desplegable junto a tu dirección y luego haciendo clic en el botón de configuración (settings). +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 5255771b114e71b75641920f3a0f289127d3f06e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:47 -0400 Subject: [PATCH 0438/2326] New translations explorer.mdx (Arabic) --- website/pages/ar/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ar/network/explorer.mdx b/website/pages/ar/network/explorer.mdx index 30ef685d8b1c..4c82281ebc72 100644 --- a/website/pages/ar/network/explorer.mdx +++ b/website/pages/ar/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Explorer --- -مرحبا بك في مستكشف Graph ، أو كما نحب أن نسميها ، بوابتك اللامركزية في عالم subgraphs وبيانات الشبكة. 👩🏽‍🚀 مستكشف TheGraph يتكون من عدة اجزاء حيث يمكنك التفاعل مع مطوري Subgraphs الاخرين ، ومطوري dApp ،والمنسقين والمفهرسين، والمفوضين. للحصول على نظرة عامة حول the Graph Explorer، راجع الفيديو أدناه (أو تابع القراءة أدناه): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraphs -First things first, if you just finished deploying and publishing your subgraph in the Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![صورة المستكشف 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ If you want to learn more about how to become a Delegator, look no further! All في قسم الشبكة ، سترى KPIs بالإضافة إلى القدرة على التبديل بين الفترات وتحليل مقاييس الشبكة بشكل مفصل. ستمنحك هذه التفاصيل فكرة عن كيفية أداء الشبكة بمرور الوقت. -### Activity +### نظره عامة -يحتوي قسم النشاط على جميع مقاييس الشبكة الحالية بالإضافة إلى بعض المقاييس المتراكمة بمرور الوقت. هنا يمكنك رؤية أشياء مثل: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - إجمالي حصة الشبكة الحالية - الحصة المقسمة بين المفهرسين ومفوضيهم @@ -198,6 +198,6 @@ Now that we’ve talked about the network stats, let’s move on to your persona ![صورة المستكشف 15](/img/Profile-Settings.png) -كبوابتك الرسمية إلى عالم البيانات اللامركزية ، يتيح لك Graph Explorer اتخاذ مجموعة متنوعة من الإجراءات ، بغض النظر عن دورك في الشبكة. يمكنك الوصول إلى إعدادات ملفك الشخصي عن طريق فتح القائمة المنسدلة بجوار عنوانك ، ثم النقر على زر Settings. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
تفاصيل المحفظة
From 5ad1f87003b3a5872bcf4fac420210525414e6da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:48 -0400 Subject: [PATCH 0439/2326] New translations explorer.mdx (Czech) --- website/pages/cs/network/explorer.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/cs/network/explorer.mdx b/website/pages/cs/network/explorer.mdx index 92a6940cfe8c..5d12bb618838 100644 --- a/website/pages/cs/network/explorer.mdx +++ b/website/pages/cs/network/explorer.mdx @@ -2,13 +2,13 @@ title: Průzkumník grafů --- -Vítejte v Průzkumníku grafů, nebo jak mu rádi říkáme, ve vašem decentralizovaném portálu do světa podgrafů a síťových dat. 👩🏽‍🚀 Průzkumník grafů se skládá z několika částí, ve kterých můžete komunikovat s ostatními vývojáři subgrafů, vývojáři dapp, kurátory, indexátory a delegátory. Pro obecný přehled o průzkumník grafů se podívejte na video níže (nebo pokračujte ve čtení níže): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Podgrafy -Nejdříve, pokud jste právě dokončili nasazení a publikování podgrafu ve Studio podgrafu, je karta podgrafy v horní části navigačního panelu místem pro zobrazení vlastních dokončených podgrafů (a podgrafů ostatních) v decentralizované síti. Zde budete moci najít přesně ten podgraf, který hledáte, na základě data vytvoření, množství signálu nebo názvu. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Obrázek průzkumníka 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ Pokud se chcete dozvědět více o tom, jak se stát delegátem, už nemusíte h V sekci Síť uvidíte globální klíčové ukazatele výkonnosti (KPI) a také možnost přepnout na základ epoch a detailněji analyzovat síťové metriky. Tyto podrobnosti vám poskytnou představu o tom, jak síť funguje v průběhu času. -### Aktivita +### Přehled -V části o činnosti jsou uvedeny všechny aktuální síťové metriky a některé kumulativní metriky za určitý časový úsek. Zde můžete vidět např: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - Současný celkový podíl v síti - Rozdělení stake mezi indexátory a jejich delegátory @@ -189,15 +189,15 @@ Na této tab najdete přehled: ![Obrázek průzkumníka 14](/img/Curation-Stats.png) -## Your Profile Settings +## Nastavení profilu -Within your user profile, you’ll be able to manage your personal profile details (like setting up an ENS name). If you’re an Indexer, you have even more access to settings at your fingertips. In your user profile, you’ll be able to set up your delegation parameters and operators. +Ve svém uživatelském profilu budete moci spravovat své osobní údaje (například nastavit jméno ENS). Jste-li indexátorem, máte k dispozici ještě více nastavení. Ve svém uživatelském profilu budete moci nastavit parametry delegování a operátory. -- Operators take limited actions in the protocol on the Indexer's behalf, such as opening and closing allocations. Operators are typically other Ethereum addresses, separate from their staking wallet, with gated access to the network that Indexers can personally set -- Delegation parameters allow you to control the distribution of GRT between you and your Delegators. +- Operátoři provádějí v protokolu jménem indexátoru omezené akce, například otevírají a zavírají alokace. Operátoři jsou obvykle jiné adresy Ethereum, oddělené od jejich stakingové peněženky, s uzavřeným přístupem do sítě, který si indexátoři mohou osobně nastavit +- Parametry delegování umožňují řídit rozdělení GRT mezi vás a vaše delegáty. -![Explorer Image 15](/img/Profile-Settings.png) +![Obrázek průzkumníka 15](/img/Profile-Settings.png) -As your official portal into the world of decentralized data, The Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 583b9be45c4316491b3ba3fb9f81b0430fdaf328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:49 -0400 Subject: [PATCH 0440/2326] New translations explorer.mdx (German) --- website/pages/de/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/de/network/explorer.mdx b/website/pages/de/network/explorer.mdx index b3a549900b83..bca2993eb0b3 100644 --- a/website/pages/de/network/explorer.mdx +++ b/website/pages/de/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Explorer --- -Welcome to the Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 The Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of the Graph Explorer, check out the video below (or keep reading below): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraphs -First things first, if you just finished deploying and publishing your subgraph in the Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Image 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ If you want to learn more about how to become a Delegator, look no further! All In the Network section, you will see global KPIs as well as the ability to switch to a per-epoch basis and analyze network metrics in more detail. These details will give you a sense of how the network is performing over time. -### Activity +### Overview -The activity section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - The current total network stake - The stake split between the Indexers and their Delegators @@ -198,6 +198,6 @@ Within your user profile, you’ll be able to manage your personal profile detai ![Explorer Image 15](/img/Profile-Settings.png) -As your official portal into the world of decentralized data, The Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 49370328614b6916c63bc1fa99ed0c07ad65a846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:50 -0400 Subject: [PATCH 0441/2326] New translations explorer.mdx (Italian) --- website/pages/it/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/it/network/explorer.mdx b/website/pages/it/network/explorer.mdx index 991f2e4836ef..f1d1a7a9f431 100644 --- a/website/pages/it/network/explorer.mdx +++ b/website/pages/it/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Explorer --- -Benvenuti nel Graph Explorer, o come ci piace chiamarlo, il vostro portale decentralizzato nel mondo dei subgraph e dei dati di rete. 👩🏽‍🚀 Il Graph Explorer è composto da più parti in cui è possibile interagire con altri sviluppatori di subgraph, sviluppatori di dapp, Curator, Indexer e Delegator. Per una panoramica generale del Graph Explorer, guardate il video qui sotto (o continuate a leggere): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraph -Prima di tutto, se avete appena finito di distribuire e pubblicare il vostro subgraph in Subgraph Studio, il tab Subgraph in cima alla barra di navigazione è il posto giusto per visualizzare i vostri subgraph finiti (e i subgraph di altri) sulla rete decentralizzata. Qui è possibile trovare il subgraph esatto che si sta cercando in base alla data di creazione, alla quantità di segnale o al nome. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Image 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ Se volete saperne di più su come diventare Delegator, non cercate oltre! Tutto Nella sezione Rete, oltre a trovare i KPI globali, è possibile passare a una base per epoche e analizzare le metriche di rete in modo più dettagliato. Questi dettagli danno un'idea dell'andamento della rete nel tempo. -### Attività +### Panoramica -La sezione attività contiene tutte le metriche di rete attuali e alcune metriche cumulative nel tempo. Qui si possono vedere cose come: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - L'attuale stake totale della rete - La ripartizione dello stake tra gli Indexer e i loro Delegator @@ -198,6 +198,6 @@ All'interno del vostro profilo utente, potrete gestire i dettagli del vostro pro ![Explorer Image 15](/img/Profile-Settings.png) -Come portale ufficiale nel mondo dei dati decentralizzati, The Graph Explorer vi permette di intraprendere una serie di azioni, indipendentemente dal vostro ruolo nella rete. Per accedere alle impostazioni del vostro profilo, aprite il menu a tendina accanto al vostro indirizzo e fate clic sul pulsante Impostazioni. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From a7aa16feea5f9414a783f71a590a450686c11621 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:51 -0400 Subject: [PATCH 0442/2326] New translations explorer.mdx (Japanese) --- website/pages/ja/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ja/network/explorer.mdx b/website/pages/ja/network/explorer.mdx index 77904c65fd3b..4d62708f191d 100644 --- a/website/pages/ja/network/explorer.mdx +++ b/website/pages/ja/network/explorer.mdx @@ -2,13 +2,13 @@ title: グラフエクスプローラ --- -グラフエクスプローラーは、サブグラフとネットワークデータの世界への分散型ポータルです。 👩🏽‍🚀 グラフエクスプローラーは、他のサブグラフ開発者、dapp 開発者、キュレーター、インデクサー、デリゲーターと交流できる複数のパートで構成されています。 グラフエクスプローラーの概要については、以下のビデオをご覧ください。 +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## サブグラフ -Subgraph Studio でサブグラフを公開すると、ナビゲーション バーの上部にある [サブグラフ] タブは、分散ネットワーク上の自分の完成したサブグラフ (および他のサブグラフ) を表示する場所です。ここでは、作成日、シグナル量、または名前に基づいて、探している正確なサブグラフを見つけることができます。 +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![エクスプローラー画像1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ Subgraph Studio でサブグラフを公開すると、ナビゲーション バ 「Network」セクションでは、グローバルな KPI に加えて、エポック単位に切り替えてネットワークメトリクスをより詳細に分析する機能があります。 これらの詳細を見ることで、ネットワークが時系列でどのようなパフォーマンスをしているかを知ることができます。 -### アクティビティ +### 概要 -アクティビティセクションには、現在のすべてのネットワークメトリクスと、時系列の累積メトリクスが表示されます。 ここでは、以下のようなことがわかります: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - 現在のネットワーク全体のステーク額 - インデクサーとデリゲーター間のステーク配分 @@ -198,6 +198,6 @@ Subgraph Studio でサブグラフを公開すると、ナビゲーション バ ![エクスプローラーイメージ 15](/img/Profile-Settings.png) -グラフエクスプローラーは、分散型データの世界への公式ポータルとして、ネットワーク内でのあなたの役割に関わらず、様々なアクションを取ることができます。 アドレスの横にあるドロップダウンメニューを開き、「Settings」ボタンをクリックすると、自分のプロフィール設定ができます。 +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 962da24ead75a399d65b2f5e36df86ca94dfd47a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:52 -0400 Subject: [PATCH 0443/2326] New translations explorer.mdx (Korean) --- website/pages/ko/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ko/network/explorer.mdx b/website/pages/ko/network/explorer.mdx index b3a549900b83..bca2993eb0b3 100644 --- a/website/pages/ko/network/explorer.mdx +++ b/website/pages/ko/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Explorer --- -Welcome to the Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 The Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of the Graph Explorer, check out the video below (or keep reading below): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraphs -First things first, if you just finished deploying and publishing your subgraph in the Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Image 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ If you want to learn more about how to become a Delegator, look no further! All In the Network section, you will see global KPIs as well as the ability to switch to a per-epoch basis and analyze network metrics in more detail. These details will give you a sense of how the network is performing over time. -### Activity +### Overview -The activity section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - The current total network stake - The stake split between the Indexers and their Delegators @@ -198,6 +198,6 @@ Within your user profile, you’ll be able to manage your personal profile detai ![Explorer Image 15](/img/Profile-Settings.png) -As your official portal into the world of decentralized data, The Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 2d49f33fe489bcb738c7346ac62071aae7982631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:53 -0400 Subject: [PATCH 0444/2326] New translations explorer.mdx (Dutch) --- website/pages/nl/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/nl/network/explorer.mdx b/website/pages/nl/network/explorer.mdx index e5849178e0d2..e372bdaa81d3 100644 --- a/website/pages/nl/network/explorer.mdx +++ b/website/pages/nl/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Explorer --- -Welkom bij de Graph Explorer, of zoals wij het graag noemen, uw gedecentraliseerde portaal naar de wereld van subgraphs en netwerkgegevens. 👩🏽‍🚀 De Graph Explorer bestaat uit meerdere onderdelen waar u interactie kunt hebben met andere subgraph-ontwikkelaars, dapp-ontwikkelaars, Curatoren, Indexeerders en Delegeerders. Bekijk voor een algemeen overzicht van de Graph Explorer de video hieronder (of blijf hieronder lezen): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraphs -Allereerst, als u klaar bent met het creëren en publiceren van uw subgraph in de Subgraph Studio, dan is het tabblad 'Subgraphs' bovenaan de navigatiebalk de plek om uw eigen voltooide subgraph (en die van anderen) te bekijken op het gedecentraliseerde netwerk. Hier kunt u de exacte subgraph vinden waarnaar u op zoek bent op basis van de aanmaakdatum, signaalhoeveelheid of naam. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Afbeelding 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ Wil je meer leren over hoe je een Delegator kunt worden? Zoek niet verder! Het e In het "Netwerk" gedeelte ziet u de prestatie-indicatoren, evenals de mogelijkheid om te wisselen naar een per-epoch basis en netwerkmetrieken gedetailleerder te analyseren. Deze details geven u een beeld van hoe het netwerk presteert over een bepaalde tijd. -### Activiteit +### Overview -De activiteiten afdeling bevat alle huidige netwerkmetriek, evenals enkele cumulatieve metrieken over tijd. Hier kunt u het volgende zien: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - De huidige totale hoeveelheid GRT in het netwerk - De verdeling van de GRT tussen Indexeerders en hun Delegators @@ -198,6 +198,6 @@ Binnen je gebruikersprofiel kun je je persoonlijke profielgegevens beheren (zoal ![Explorer Afbeelding 15](/img/Profile-Settings.png) -Als je officiële portaal naar de wereld van gedecentraliseerde data, stelt The Graph Explorer je in staat om een verscheidenheid aan acties te ondernemen, ongeacht je rol in het netwerk. Je kunt naar je profielinstellingen gaan door het dropdownmenu naast je adres te openen en vervolgens op de knop "Instellingen" te klikken. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From c965c4361213d67d177d9dd46553819eed54d45f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:54 -0400 Subject: [PATCH 0445/2326] New translations explorer.mdx (Polish) --- website/pages/pl/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/pl/network/explorer.mdx b/website/pages/pl/network/explorer.mdx index a769912c6128..50c9a33dbbca 100644 --- a/website/pages/pl/network/explorer.mdx +++ b/website/pages/pl/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Explorer --- -Welcome to the Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 The Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of the Graph Explorer, check out the video below (or keep reading below): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgrafy -First things first, if you just finished deploying and publishing your subgraph in the Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Image 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ If you want to learn more about how to become a Delegator, look no further! All In the Network section, you will see global KPIs as well as the ability to switch to a per-epoch basis and analyze network metrics in more detail. These details will give you a sense of how the network is performing over time. -### Activity +### Overview -The activity section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - The current total network stake - The stake split between the Indexers and their Delegators @@ -198,6 +198,6 @@ Within your user profile, you’ll be able to manage your personal profile detai ![Explorer Image 15](/img/Profile-Settings.png) -As your official portal into the world of decentralized data, The Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 47dec03133a0555b854bcbfac67a5c27c19aa37f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:55 -0400 Subject: [PATCH 0446/2326] New translations explorer.mdx (Portuguese) --- website/pages/pt/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/pt/network/explorer.mdx b/website/pages/pt/network/explorer.mdx index a360551b388c..c425cf3960ad 100644 --- a/website/pages/pt/network/explorer.mdx +++ b/website/pages/pt/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Explorer --- -Bem vindo ao Graph Explorer — ou, como gostamos de chamá-lo, o seu portal descentralizado ao mundo de dados de subgraphs e redes. 👩🏽‍🚀 O Graph Explorer consiste de vários componentes onde pode interagir com outros programadores de subgraphs e dApps, Curadores, Indexadores e Delegantes. Para um resumo geral do Graph Explorer, confira o vídeo abaixo (ou continue a ler): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraphs -Primeiramente, se acabou de lançar e publicar o seu subgraph no Subgraph Studio, pode ver os seus próprios subgraphs finalizados (e também os dos outros) na rede descentralizada, na aba Subgraphs no topo da barra de navegação. Aqui, poderá achar o subgraph exato que procura com base na data de criação, quantidade de sinais, ou nome. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Imagem do Explorer 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ Caso queira aprender mais sobre como tornar-se um Delegado, é só ir à [docume Na seção de Rede, verá KPIs globais e poderá trocar para uma base por-epoch e analisar métricas de rede em mais detalhes. Estes detalhes darão-lhe uma ideia de como a rede se desempenha com o tempo. -### Atividade +### Visão Geral -A seção de atividade tem todas as métricas atuais da rede, além de métricas cumulativas temporais. Aqui, pode ver coisas como: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - O stake total atual da rede - O stake dividido entre os Indexadores e os seus Delegantes @@ -198,6 +198,6 @@ Dentro do seu perfil de utilizador, poderá configurar os detalhes do seu perfil ![Imagem do Explorer 15](/img/Profile-Settings.png) -Como o seu portal oficial no mundo dos dados descentralizados, o Graph Explorer permite-lhe tomar uma variedade de ações, independente do seu papel na rede. Pode acessar as suas configurações do perfil ao abrir o menu próximo ao seu endereço, e depois, clicar no botão de Configurações. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 3cb2823a77dc3a9764962bb74a929882949f1a3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:56 -0400 Subject: [PATCH 0447/2326] New translations explorer.mdx (Russian) --- website/pages/ru/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ru/network/explorer.mdx b/website/pages/ru/network/explorer.mdx index 431fecc335b0..d88d1f8c4535 100644 --- a/website/pages/ru/network/explorer.mdx +++ b/website/pages/ru/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Explorer --- -Добро пожаловать в Graph Explorer или, как мы его называем, Ваш децентрализованный портал в мир субграфов и сетевых данных. 👩🏽‍🚀 Graph Explorer состоит из нескольких частей, где Вы можете взаимодействовать с другими разработчиками субграфов, разработчиками децентрализованных приложений, кураторами, индексаторами и делегаторами. Для получения общего обзора Graph Explorer посмотрите видео ниже (или продолжайте читать дальше): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Субграфы -Прежде всего, если Вы только что завершили развертывание и публикацию вашего субграфа в Subgraph Studio, вкладка Subgraphs в верхней части панели навигации - это место, где Вы можете просмотреть свои готовые субграфы (а также субграфы других участников) в децентрализованной сети. Здесь Вы сможете найти нужный Вам субграф по дате создания, количеству сигналов или имени. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Изображение проводника 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ title: Graph Explorer В разделе "Сеть" Вы увидите глобальные ключевые показатели эффективности, а также сможете переключиться на основу каждой эпохи и проанализировать метрики сети более детально. Эти данные дадут Вам представление о том, как сеть работает на протяжении определённого времени. -### Активность +### Обзор -В разделе «Активность» представлены все текущие показатели сети, а также некоторые совокупные показатели на протяжении определённого времени. Здесь Вы можете увидеть такие вещи, как: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - Текущая общая доля сети - Доля распределяется между Индексаторами и их Делегаторами @@ -198,6 +198,6 @@ title: Graph Explorer ![Изображение проводника 15](/img/Profile-Settings.png) -Являясь Вашим официальным порталом в мир децентрализованных данных, The Graph Explorer позволяет Вам выполнять самые разные действия, независимо от Вашей роли в сети. Вы можете перейти к настройкам своего профиля, открыв выпадающее меню рядом со своим адресом и нажав кнопку «Настройки». +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Подробности о кошельке](/img/Wallet-Details.png)
From da8eca73a8099243c745c6e8ed893e76208c9b36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:57 -0400 Subject: [PATCH 0448/2326] New translations explorer.mdx (Swedish) --- website/pages/sv/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/sv/network/explorer.mdx b/website/pages/sv/network/explorer.mdx index b65008196f49..41315fc0ab51 100644 --- a/website/pages/sv/network/explorer.mdx +++ b/website/pages/sv/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graf Utforskaren --- -Välkommen till Graf Utforskaren, eller som vi gillar att kalla det, din decentraliserade portal till subgraffar och nätverksdata. 👩🏽‍🚀 Graf Utforskaren består av flera delar där du kan interagera med andra subgraffutvecklare, dapputvecklare, kuratorer, indexerare och delegater. För en generell översikt av Graf Utforskaren, kolla in videon nedan (eller fortsätt läsa nedan): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraffar -Först och främst, om du precis har avslutat att distribuera och publicera din subgraff i Subgraffstudio, är fliken Subgraffar längst upp på navigationsfältet platsen för att se dina egna färdiga subgraffar (och andras subgraffar) på det decentraliserade nätverket. Här kan du hitta den exakta subgraffen du letar efter baserat på skapelsedatum, signalbelopp eller namn. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Utforskaren Bild 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ Om du vill lära dig mer om hur du blir delegat, behöver du inte leta längre! I avsnittet Nätverk kommer du att se globala KPI:er samt möjligheten att växla till en per-epok-basis och analysera nätverksmetriker mer detaljerat. Dessa detaljer ger dig en uppfattning om hur nätverket presterar över tiden. -### Aktivitet +### Översikt -Aktivitetsavsnittet har alla aktuella nätverksmetriker samt vissa kumulativa metriker över tid. Här kan du se saker som: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - Nuvarande totala nätverksinsats - Insatsen fördelad mellan indexerare och deras delegater @@ -198,6 +198,6 @@ Inom din användarprofil kommer du att kunna hantera dina personliga profiluppgi ![Utforskaren Bild 15](/img/Profile-Settings.png) -Som din officiella portal till världen av decentraliserade data, låter Graf Utforskaren dig ta en mängd olika åtgärder, oavsett din roll i nätverket. Du kan komma åt dina profilinställningar genom att öppna rullgardinsmenyn bredvid din adress och sedan klicka på Inställningar-knappen. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 18713f39532a271578249ffd72d3033fe053c1c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:58 -0400 Subject: [PATCH 0449/2326] New translations explorer.mdx (Turkish) --- website/pages/tr/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/tr/network/explorer.mdx b/website/pages/tr/network/explorer.mdx index cea8c4afd564..852af644a69a 100644 --- a/website/pages/tr/network/explorer.mdx +++ b/website/pages/tr/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Gezgini --- -Graph Gezgini'ne ya da bizim deyimimizle subgraphlar ve ağ verileri dünyasına açılan merkeziyetsiz portalınıza hoş geldiniz. 👩🏽‍🚀 Graph Gezgini, diğer subgraph geliştiricileri, merkeziyetsiz uygulama geliştiricileri, Küratörler, İndeksleyiciler ve Delegatörlerle etkileşime girebileceğiniz birden fazla bölümden oluşur. Graph Gezgini'ne genel bir bakış için aşağıdaki videoya göz atın (veya aşağıdan okumaya devam edin): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraph'ler -Her şeyden önce, Subgraph Stüdyo'da subgraph'ınızı dağıtmayı ve yayınlamayı yeni tamamladıysanız, gezinme çubuğunun üst kısmındaki Subgraphlar sekmesi, merkeziyetsiz ağda kendinizin tamamlanmış subgraphlar'ını (ve başkalarının subgraphlar'ını) görüntüleyebileceğiniz yerdir. Burada, oluşturulma tarihine, sinyal miktarına veya adına göre tam olarak aradığınız subgraph'ı bulabileceksiniz. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Gezgin Gürüntüsü 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ Nasıl Delegatör olunacağı hakkında daha fazla bilgi edinmek istiyorsanız, Ağ bölümünde, küresel APG'lerin yanı sıra her bir dönem bazına geçme ve ağ metriklerini daha ayrıntılı olarak analiz etme olanaklarını göreceksiniz. Bu ayrıntılar size ağın zaman içinde nasıl performans gösterdiğine dair bir fikir verecektir. -### Aktivite +### Overview -Aktivite bölümünde tüm mevcut ağ ölçümlerinin yanı sıra zaman içindeki bazı kümülatif metrikler de yer almaktadır. Burada aşağıdaki gibi şeyleri görebilirsiniz: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - Mevcut toplam ağ payı - İndeksleyiciler ve Delegatörler arasındaki pay paylaşımı @@ -198,6 +198,6 @@ Kullanıcı profilinizde, kişisel profil ayrıntılarınızı yönetebileceksin ![Gezgin Gürüntüsü 15](/img/Profile-Settings.png) -Merkeziyetsiz veri dünyasındaki resmi portalınız olan Graph Gezgini, ağdaki rolünüz ne olursa olsun çeşitli eylemlerde bulunmanıza olanak tanır. Profil ayarlarınıza adresinizin yanındaki açılır menüyü açıp Ayarlar düğmesine tıklayarak ulaşabilirsiniz. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From b5d095be389449e30f5a542a08038bfeea38a09d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:33:59 -0400 Subject: [PATCH 0450/2326] New translations explorer.mdx (Ukrainian) --- website/pages/uk/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/uk/network/explorer.mdx b/website/pages/uk/network/explorer.mdx index c192b31acbc2..9d8fa4ed8a8a 100644 --- a/website/pages/uk/network/explorer.mdx +++ b/website/pages/uk/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Explorer --- -Ласкаво просимо до Graph Explorer, або, як ми любимо його називати, вашого децентралізованого порталу у світ субграфів та даних мережі. Graph Explorer складається з декількох частин, де ви можете взаємодіяти з іншими розробниками підграфів, розробниками dapp, кураторами, індексаторами та делегатами. Для загального огляду перегляньте відео нижче (або продовжуйте читати нижче): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Підграфи -Перш за все, якщо ви щойно закінчили розгортання і публікацію вашого підграфа в Subgraph Studio, вкладка Підграфи у верхній частині навігаційної панелі — це місце для перегляду ваших власних готових підграфів (і підграфів інших) в децентралізованій мережі. Тут ви зможете знайти потрібний вам підграф на основі дати створення, кількості сигналів або назви. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Image 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ If you want to learn more about how to become a Delegator, look no further! All In the Network section, you will see global KPIs as well as the ability to switch to a per-epoch basis and analyze network metrics in more detail. These details will give you a sense of how the network is performing over time. -### Activity +### Короткий огляд -The activity section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - The current total network stake - The stake split between the Indexers and their Delegators @@ -198,6 +198,6 @@ Within your user profile, you’ll be able to manage your personal profile detai ![Explorer Image 15](/img/Profile-Settings.png) -As your official portal into the world of decentralized data, The Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 50a1d8a24d2100147c11febc0e6fbfe398d29e82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:00 -0400 Subject: [PATCH 0451/2326] New translations explorer.mdx (Chinese Simplified) --- website/pages/zh/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/zh/network/explorer.mdx b/website/pages/zh/network/explorer.mdx index 1f04ffec65fc..2701151c884a 100644 --- a/website/pages/zh/network/explorer.mdx +++ b/website/pages/zh/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph浏览器 --- -欢迎使用 Graph 浏览器,或者我们可以称它为您进入子图和网络数据世界的去中心化门户。 👩🏽‍🚀Graph 浏览器由多个部分组成,您可以在其中与其他子图开发人员、去中心化应用开发人员、策展人、索引人和 委托人进行交互。 有关 Graph 浏览器的通用概述,请查看下面的视频(或继续阅读下面的内容): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## 子图 -首先,如果您刚刚在子图工作室中完成部署和发布,导航栏顶部的子图选项卡是您在去中心化网络上查看完成子图(以及其他人的子图)的地方。 在这里,您将能够根据创建日期、信号量或名称找到需要的子图。 +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Image 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ Delegators, in turn, select Indexers based on a number of different variables, s 在网络部分,您将看到全局 KPI 以及切换到每个时期的基础和更详细地分析网络指标的能力。 这些详细信息将让您了解网络随时间推移的表现。 -### 活动 +### 概述 -活动部分包含所有当前网络指标以及一些随时间累积的指标。 在这里,您可以看到以下内容: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - 当前网络总份额 - 索引人和他们的委托人之间的份额分配 @@ -198,6 +198,6 @@ Delegators, in turn, select Indexers based on a number of different variables, s ![Explorer Image 15](/img/Profile-Settings.png) -作为您进入去中心化数据世界的官方门户,无论您在网络中的角色如何,G​​raph 浏览器都允许您采取各种行动。 您可以通过打开地址旁边的下拉菜单进入您的个人资料设置,然后单击“设置”按钮。 +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
钱包细节
From 9ed5e2345d7be5f09425ef0764e1300850a95d94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:01 -0400 Subject: [PATCH 0452/2326] New translations explorer.mdx (Urdu (Pakistan)) --- website/pages/ur/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ur/network/explorer.mdx b/website/pages/ur/network/explorer.mdx index b7ea891bf525..09a259db5d50 100644 --- a/website/pages/ur/network/explorer.mdx +++ b/website/pages/ur/network/explorer.mdx @@ -2,13 +2,13 @@ title: گراف ایکسپلورر --- -گراف ایکسپلورر میں خوش آمدید، یا جیسا کہ ہم اسے کال کرنا چاہتے ہیں، سب گراف اور نیٹ ورک ڈیٹا کی دنیا میں آپ کا ​ ڈیسینٹرالائزڈ پورٹل. 👩🏽‍🚀 گراف ایکسپلورر متعدد حصوں پر مشتمل ہوتا ہے جہاں آپ دوسرے سب گراف ڈویلپرز، ڈیپ ڈیولپرز، کیوریٹرز، انڈیکسرز اور ڈیلیگیٹرز کے ساتھ بات چیت کرسکتے ہیں۔ گراف ایکسپلورر کے عمومی جائزہ کے لیے، نیچے دی گئی ویڈیو دیکھیں (یا نیچے پڑھتے رہیں): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## سب گراف -پہلی بات سب سے پہلے، اگر آپ نے ابھی سب گراف اسٹوڈیو میں اپنے سب گراف کی تعیناتی اور اشاعت مکمل کی ہے، نیویگیشن بار کے اوپری حصے پر موجود سب گرافس ٹیب وہ جگہ ہے جہاں آپ کے اپنے تیار کردہ سب گرافس (اور دوسروں کے سب گراف) ڈیسینٹرالائزڈ نیٹ ورک پر دیکھ سکتے ہیں۔یہاں، آپ تخلیق کی تاریخ، سگنل کی رقم، یا نام کی بنیاد پر وہی سب گراف تلاش کر سکیں گے جس کی آپ تلاش کر رہے ہیں. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![ایکسپلورر امیج 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ title: گراف ایکسپلورر نیٹ ورک سیکشن میں، آپ عالمی KPIs کے ساتھ ساتھ فی دور کی بنیاد پر سوئچ کرنے اور نیٹ ورک میٹرکس کا مزید تفصیل سے تجزیہ کرنے کی صلاحیت دیکھیں گے۔ یہ تفصیلات آپ کو اس بات کا احساس دلائیں گی کہ نیٹ ورک وقت کے ساتھ کیسا کارکردگی دکھا رہا ہے. -### سرگرمی +### جائزہ -سرگرمی کے حصے میں تمام موجودہ نیٹ ورک میٹرکس کے ساتھ ساتھ وقت کے ساتھ ساتھ کچھ مجموعی میٹرکس بھی ہوتے ہیں۔ یہاں آپ چیزیں دیکھ سکتے ہیں جیسے: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - موجودہ کل نیٹ ورک کا حصہ - انڈیکسرز اور ان کے ڈیلیگیٹرز کے درمیان حصص کی تقسیم @@ -198,6 +198,6 @@ title: گراف ایکسپلورر ![ایکسپلورر امیج 15](/img/Profile-Settings.png) -ڈیسینٹرالائزڈ ڈیٹا کی دنیا میں آپ کے سرکاری پورٹل کے طور پر، گراف ایکسپلورر آپ کو مختلف قسم کے اقدامات کرنے کی اجازت دیتا ہے، چاہے نیٹ ورک میں آپ کا کردار کچھ بھی ہو۔ آپ اپنے پتے کے ساتھ والے ڈراپ ڈاؤن مینو کو کھول کر، پھر ترتیبات کے بٹن پر کلک کر کے اپنی پروفائل کی ترتیبات تک جا سکتے ہیں. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![پرس کی تفصیلات](/img/Wallet-Details.png)
From 7ed7776dbb46990d4b8d0ada096bcebaadc61259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:02 -0400 Subject: [PATCH 0453/2326] New translations explorer.mdx (Vietnamese) --- website/pages/vi/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/vi/network/explorer.mdx b/website/pages/vi/network/explorer.mdx index 7ad4e0e0184c..f3c441eb0ab1 100644 --- a/website/pages/vi/network/explorer.mdx +++ b/website/pages/vi/network/explorer.mdx @@ -2,13 +2,13 @@ title: Trình khám phá Graph --- -Chào mừng bạn đến với Graph Explorer, hay như chúng tôi thường gọi, cổng thông tin phi tập trung của bạn vào thế giới subgraphs và dữ liệu mạng. 👩🏽‍🚀 Graph Explorer bao gồm nhiều phần để bạn có thể tương tác với các nhà phát triển subgraph khác, nhà phát triển dapp, Curators, Indexers, và Delegators. Để biết tổng quan chung về Graph Explorer, hãy xem video bên dưới (hoặc tiếp tục đọc bên dưới): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraphs -First things first, if you just finished deploying and publishing your subgraph in the Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Image 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ If you want to learn more about how to become a Delegator, look no further! All Trong phần Mạng lưới, bạn sẽ thấy các KPI toàn cầu cũng như khả năng chuyển sang cơ sở từng epoch và phân tích các chỉ số mạng chi tiết hơn. Những chi tiết này sẽ cho bạn biết mạng hoạt động như thế nào theo thời gian. -### Hoạt động +### Tổng quan -Phần hoạt động có tất cả các chỉ số mạng hiện tại cũng như một số chỉ số tích lũy theo thời gian. Ở đây bạn có thể thấy những thứ như: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - Tổng stake mạng hiện tại - Phần chia stake giữa Indexer và các Delegator của họ @@ -198,6 +198,6 @@ Trong hồ sơ người dùng của mình, bạn sẽ có thể quản lý chi t ![Explorer Image 15](/img/Profile-Settings.png) -Là cổng thông tin chính thức của bạn vào thế giới dữ liệu phi tập trung, Graph Explorer cho phép bạn thực hiện nhiều hành động khác nhau, bất kể vai trò của bạn trong mạng. Bạn có thể truy cập cài đặt hồ sơ của mình bằng cách mở menu thả xuống bên cạnh địa chỉ của bạn, sau đó nhấp vào nút Cài đặt. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 0ef9b26940fa5c95c07deeb8b67e7ff3a3dbf2d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:03 -0400 Subject: [PATCH 0454/2326] New translations explorer.mdx (Marathi) --- website/pages/mr/network/explorer.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/mr/network/explorer.mdx b/website/pages/mr/network/explorer.mdx index b00da83c5ebf..efbb87aa2820 100644 --- a/website/pages/mr/network/explorer.mdx +++ b/website/pages/mr/network/explorer.mdx @@ -1,14 +1,14 @@ --- -title: आलेख एक्सप्लोरर +title: Graph Explorer --- -ग्राफ एक्सप्लोररमध्ये आपले स्वागत आहे, किंवा जसे आम्हाला म्हणायचे आहे, सबग्राफ आणि नेटवर्क डेटाच्या जगात तुमचे विकेंद्रित पोर्टल. 👩🏽‍🚀 ग्राफ एक्सप्लोररमध्ये अनेक भाग असतात जेथे तुम्ही इतर सबग्राफ डेव्हलपर, dapp डेव्हलपर, क्युरेटर्स, इंडेक्सर्स आणि डेलिगेटर्स यांच्याशी संवाद साधू शकता. ग्राफ एक्सप्लोररच्या सामान्य विहंगावलोकनसाठी, खालील व्हिडिओ पहा (किंवा खाली वाचत रहा): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraphs -प्रथम गोष्टी, जर तुम्ही सबग्राफ स्टुडिओमध्ये तुमचा सबग्राफ डिप्लॉय करणे आणि प्रकाशित करणे पूर्ण केले असेल तर, नेव्हिगेशन बारच्या शीर्षस्थानी असलेले सबग्राफ टॅब हे विकेंद्रित नेटवर्कवर तुमचे स्वतःचे तयार झालेले सबग्राफ (आणि इतरांचे सबग्राफ) पाहण्याचे ठिकाण आहे. येथे, आपण तयार केलेली तारीख, सिग्नल रक्कम किंवा नावावर आधारित आपण शोधत असलेला अचूक सबग्राफ शोधण्यात सक्षम असाल. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Image 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ The Delegators table will allow you to see the active Delegators in the communit नेटवर्क विभागात, तुम्हाला जागतिक KPIs तसेच प्रत्येक युगाच्या आधारावर स्विच करण्याची आणि नेटवर्क मेट्रिक्सचे अधिक तपशीलवार विश्लेषण करण्याची क्षमता दिसेल. हे तपशील तुम्हाला कालांतराने नेटवर्क कसे कार्य करत आहे याची जाणीव देईल. -### Activity +### सारांश -क्रियाकलाप विभागात सर्व वर्तमान नेटवर्क मेट्रिक्स तसेच कालांतराने काही संचयी मेट्रिक्स आहेत. येथे तुम्ही यासारख्या गोष्टी पाहू शकता: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - The current total network stake - The stake split between the Indexers and their Delegators @@ -198,6 +198,6 @@ In the Epochs section, you can analyze on a per-epoch basis, metrics such as: ![Explorer Image 15](/img/Profile-Settings.png) -विकेंद्रित डेटाच्या जगात तुमचे अधिकृत पोर्टल म्हणून, ग्राफ एक्सप्लोरर तुम्हाला नेटवर्कमधील तुमची भूमिका काहीही असो, विविध क्रिया करण्याची परवानगी देतो. तुम्ही तुमच्या पत्त्याच्या पुढील ड्रॉपडाउन मेनू उघडून, नंतर सेटिंग्ज बटणावर क्लिक करून तुमच्या प्रोफाइल सेटिंग्जवर जाऊ शकता. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 8560e227e32422fc96f5e506e77db6a63801966e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:04 -0400 Subject: [PATCH 0455/2326] New translations explorer.mdx (Hindi) --- website/pages/hi/network/explorer.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/hi/network/explorer.mdx b/website/pages/hi/network/explorer.mdx index b78434937d08..7732e274ec69 100644 --- a/website/pages/hi/network/explorer.mdx +++ b/website/pages/hi/network/explorer.mdx @@ -1,14 +1,14 @@ --- -title: ग्राफ एक्सप्लोरर +title: Graph Explorer --- -ग्राफ़ एक्सप्लोरर में आपका स्वागत है, या जैसा कि हम इसे कहते हैं, सबग्राफ और नेटवर्क डेटा की दुनिया में आपका विकेंद्रीकृत पोर्टल। 👩🏽‍🚀 ग्राफ एक्सप्लोरर में कई भाग होते हैं जहां आप अन्य सबग्राफ डेवलपर्स, डैप डेवलपर्स, क्यूरेटर, इंडेक्सर्स और डेलीगेटर्स के साथ बातचीत कर सकते हैं। ग्राफ़ एक्सप्लोरर के सामान्य अवलोकन के लिए, नीचे दिया गया वीडियो देखें (या नीचे पढ़ना जारी रखें): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## सबग्राफ -सबसे पहली बात, अगर आपने सबग्राफ स्टूडियो में अपने सबग्राफ को तैनात और प्रकाशित करना समाप्त कर दिया है, तो नेविगेशन बार के शीर्ष पर सबग्राफ टैब विकेंद्रीकृत नेटवर्क पर आपके स्वयं के तैयार सबग्राफ (और दूसरों के सबग्राफ) को देखने का स्थान है। यहां, आप बनाए गए दिनांक, सिग्नल राशि, या नाम के आधार पर सटीक सबग्राफ ढूंढने में सक्षम होंगे। +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![एक्सप्लोरर छवि 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ Delegators, in turn, select Indexers based on a number of different variables, s नेटवर्क अनुभाग में, आप वैश्विक KPI के साथ-साथ प्रति युग के आधार पर स्विच करने की क्षमता देखेंगे और नेटवर्क मेट्रिक्स का अधिक विस्तार से विश्लेषण करेंगे। ये विवरण आपको इस बात का बोध कराएंगे कि समय के साथ नेटवर्क कैसा प्रदर्शन कर रहा है। -### गतिविधि +### अवलोकन -गतिविधि अनुभाग में सभी वर्तमान नेटवर्क मेट्रिक्स के साथ-साथ समय के साथ कुछ संचयी मेट्रिक्स हैं। यहां आप चीजें देख सकते हैं जैसे: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - वर्तमान कुल नेटवर्क हिस्सेदारी - इंडेक्सर्स और उनके प्रतिनिधियों के बीच हिस्सेदारी विभाजित हो गई @@ -198,6 +198,6 @@ Delegators, in turn, select Indexers based on a number of different variables, s ![एक्सप्लोरर छवि 15](/img/Profile-Settings.png) -विकेन्द्रीकृत डेटा की दुनिया में आपके आधिकारिक पोर्टल के रूप में, ग्राफ़ एक्सप्लोरर आपको विभिन्न प्रकार की कार्रवाइयाँ करने की अनुमति देता है, चाहे नेटवर्क में आपकी कोई भी भूमिका क्यों न हो। आप अपने पते के आगे ड्रॉपडाउन मेनू खोलकर, फिर सेटिंग बटन पर क्लिक करके अपनी प्रोफ़ाइल सेटिंग प्राप्त कर सकते हैं। +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 9c88b55c37043ee35e9f84f4c7897a09f528e08f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:04 -0400 Subject: [PATCH 0456/2326] New translations explorer.mdx (Yoruba) --- website/pages/yo/network/explorer.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/yo/network/explorer.mdx b/website/pages/yo/network/explorer.mdx index b3a549900b83..bca2993eb0b3 100644 --- a/website/pages/yo/network/explorer.mdx +++ b/website/pages/yo/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Explorer --- -Welcome to the Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 The Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of the Graph Explorer, check out the video below (or keep reading below): +Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): ## Subgraphs -First things first, if you just finished deploying and publishing your subgraph in the Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. +First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. ![Explorer Image 1](/img/Subgraphs-Explorer-Landing.png) @@ -93,9 +93,9 @@ If you want to learn more about how to become a Delegator, look no further! All In the Network section, you will see global KPIs as well as the ability to switch to a per-epoch basis and analyze network metrics in more detail. These details will give you a sense of how the network is performing over time. -### Activity +### Overview -The activity section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: +The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: - The current total network stake - The stake split between the Indexers and their Delegators @@ -198,6 +198,6 @@ Within your user profile, you’ll be able to manage your personal profile detai ![Explorer Image 15](/img/Profile-Settings.png) -As your official portal into the world of decentralized data, The Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button. +As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button.
![Wallet details](/img/Wallet-Details.png)
From 0f09b20b7318526fef9e60de0151ce8431c829d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:06 -0400 Subject: [PATCH 0457/2326] New translations indexing.mdx (Romanian) --- website/pages/ro/network/indexing.mdx | 74 +++++++++++++++++---------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/website/pages/ro/network/indexing.mdx b/website/pages/ro/network/indexing.mdx index 9bdc2fb2eb7e..8ecbccdeb03e 100644 --- a/website/pages/ro/network/indexing.mdx +++ b/website/pages/ro/network/indexing.mdx @@ -26,7 +26,7 @@ The minimum stake for an Indexer is currently set to 100K GRT. Indexing rewards come from protocol inflation which is set to 3% annual issuance. They are distributed across subgraphs based on the proportion of all curation signal on each, then distributed proportionally to Indexers based on their allocated stake on that subgraph. **An allocation must be closed with a valid proof of indexing (POI) that meets the standards set by the arbitration charter in order to be eligible for rewards.** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### What is a proof of indexing (POI)? @@ -38,7 +38,7 @@ Allocations are continuously accruing rewards while they're active and allocated ### Can pending indexing rewards be monitored? -The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) function that can be used to check the pending rewards for a specific allocation. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Many of the community-made dashboards include pending rewards values and they can be easily checked manually by following these steps: @@ -63,7 +63,7 @@ Use Etherscan to call `getRewards()`: - Navigate to [Etherscan interface to Rewards contract](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * To call `getRewards()`: - - Expand the **10. getRewards** dropdown. + - Expand the **9. getRewards** dropdown. - Enter the **allocationID** in the input. - Click the **Query** button. @@ -112,12 +112,12 @@ Indexers may differentiate themselves by applying advanced techniques for making - **Medium** - Production Indexer supporting 100 subgraphs and 200-500 requests per second. - **Large** - Prepared to index all currently used subgraphs and serve requests for the related traffic. -| Setup | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Small | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Medium | 16 | 64 | 2 | 32 | 64 | -| Large | 72 | 468 | 3.5 | 48 | 184 | +| Setup | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | +| -------- |:--------------------------:|:-----------------------------------:|:---------------------------------:|:---------------------:|:------------------------------:| +| Small | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 1 | 12 | 48 | +| Medium | 16 | 64 | 2 | 32 | 64 | +| Large | 72 | 468 | 3.5 | 48 | 184 | ### What are some basic security precautions an Indexer should take? @@ -149,20 +149,20 @@ Note: To support agile scaling, it is recommended that query and indexing concer #### Graph Node -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ----------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(for managing deployments) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Service -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ---------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Agent @@ -182,9 +182,9 @@ Note: To support agile scaling, it is recommended that query and indexing concer #### Create a Google Cloud Project -- Clone or navigate to the Indexer repository. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Navigate to the ./terraform directory, this is where all commands should be executed. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Deploy all resources with `kubectl apply -k $dir`. ### Graph Node -[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the block chain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Getting started from source @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Stake in the protocol -The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. _ **Note**: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Once an Indexer has staked GRT in the protocol, the [Indexer components](/network/indexing#indexer-components) can be started up and begin their interactions with the network. @@ -760,7 +762,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **GraphToken.abi** with the [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. With `GraphToken.abi` selected and open in the editor, switch to the Deploy and `Run Transactions` section in the Remix interface. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -774,7 +776,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **Staking.abi** with the staking ABI. -3. With `Staking.abi` selected and open in the editor, switch to the `Deploy` and `Run Transactions` section in the Remix interface. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -790,12 +792,28 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### The life of an allocation After being created by an Indexer a healthy allocation goes through four states. -- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators (see "how are rewards distributed?" below to learn more). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Indexers are recommended to utilize offchain syncing functionality to sync subgraph deployments to chainhead before creating the allocation on-chain. This feature is especially useful for subgraphs that may take longer than 28 epochs to sync or have some chances of failing undeterministically. From b2b4c6f180fbf800890bf43fbc9ded6d89b13b87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:07 -0400 Subject: [PATCH 0458/2326] New translations indexing.mdx (French) --- website/pages/fr/network/indexing.mdx | 108 +++++++++++++++----------- 1 file changed, 63 insertions(+), 45 deletions(-) diff --git a/website/pages/fr/network/indexing.mdx b/website/pages/fr/network/indexing.mdx index c6045ec4adcd..284bf431bbca 100644 --- a/website/pages/fr/network/indexing.mdx +++ b/website/pages/fr/network/indexing.mdx @@ -26,7 +26,7 @@ La mise minimale pour un indexeur est actuellement fixée à 100 000 GRT. Les récompenses de l'indexation proviennent de l'inflation du protocole qui est fixée à 3 % par an. Ils sont répartis entre les subraphs en fonction de la proportion de tous les signaux de curation sur chacun, puis distribués proportionnellement aux indexeurs en fonction de leur participation allouée sur ce subgraph. **Une allocation doit être clôturée avec une preuve d'indexation (POI) valide et répondant aux normes fixées par la charte d'arbitrage afin d'être éligible aux récompenses.** -De nombreux outils ont été créés par la communauté pour calculer les récompenses ; vous en trouverez une collection organisée dans la [Collection de guides communautaires](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). Vous pouvez également trouver une liste à jour d'outils dans les canaux #Delegators et #Indexers sur le [Serveur Discord](https://discord.gg/graphprotocol). Nous lions ici un [optimiseur d'allocation recommandé](https://github.com/graphprotocol/AllocationOpt.jl) intégré à la pile logicielle de l'indexeur. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### Qu'est-ce qu'une preuve d'indexation (POI) ? @@ -38,7 +38,7 @@ Les allocations accumulent continuellement des récompenses pendant qu'elles son ### Les récompenses d’indexation en attente peuvent-elles être surveillées ? -Le contrat RewardsManager dispose d'une fonction [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) en lecture seule qui peut être utilisée pour vérifier les récompenses en attente pour une allocation spécifique. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. De nombreux tableaux de bord créés par la communauté incluent des valeurs de récompenses en attente et ils peuvent être facilement vérifiés manuellement en suivant ces étapes : @@ -60,10 +60,10 @@ query indexerAllocations { Utilisez Etherscan pour appeler `getRewards()` : -- Naviguer vers [Interface d'étherscan pour le contrat Rewards](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) +- Naviguer vers [Interface d'étherscan pour le contrat de récompenses](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * Appeller `getRewards()`: - - Développez le **10. liste déroulante getRewards**. + - Expand the **9. getRewards** dropdown. - Saisissez le **allocationID** dans l'entrée. - Cliquez sur le bouton **Requête**. @@ -113,11 +113,11 @@ Les indexeurs peuvent se différencier en appliquant des techniques avancées po - **Large** : Prêt à indexer tous les subgraphs actuellement utilisés et à répondre aux demandes pour le trafic associé. | Installation | Postgres
(CPUs) | Postgres
(mémoire en Gbs) | Postgres
(disque en TB) | VMs
(CPUs) | VMs
(mémoire en Gbs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Petit | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 11 | 12 | 48 | -| Moyen | 16 | 64 | 2 | 32 | 64 | -| Large | 72 | 468 | 3.5 | 48 | | +| ------------ |:--------------------------:|:------------------------------------:|:----------------------------------:|:---------------------:|:-------------------------------:| +| Petit | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 11 | 12 | 48 | +| Moyen | 16 | 64 | 2 | 32 | 64 | +| Large | 72 | 468 | 3.5 | 48 | | ### Quelles sont les précautions de sécurité de base qu’un indexeur doit prendre ? @@ -149,42 +149,42 @@ Remarque : Pour prendre en charge la mise à l'échelle agile, il est recommand #### Nœud de The Graph -| Port | Objectif | Routes | Paramètre CLI | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphq | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Objectif | Routes | Argument CLI | Variable d'environnement | +| ---- | ---------------------------------------------------------------- | ---------------------------------------------------- | ----------------- | ------------------------ | +| 8000 | Serveur HTTP GraphQL
(pour les requêtes de subgraphs) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(pour les abonnements aux subgraphs) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(pour gérer les déploiements) | / | --admin-port | - | +| 8030 | API de statut d'indexation des subgraphs | /graphq | --index-node-port | - | +| 8040 | Métriques Prometheus | /metrics | --metrics-port | - | -#### Indexer Service +#### Service d'indexation -| Port | Objectif | Routes | Paramètre CLI | Environment Variable | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Objectif | Routes | Argument CLI | Variable d'environnement | +| ---- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ------------------------ | +| 7600 | Serveur HTTP GraphQL
(pour les requêtes payantes de subgraphs) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Métriques Prometheus | /metrics | --metrics-port | - | -#### Indexer Agent +#### Agent indexeur -| Port | Objectif | Routes | Paramètre CLI | Environment Variable | -| ---- | ---------------------- | ------ | ------------------------- | --------------------------------------- | -| 8000 | Indexer management API | / | --indexer-management-port | `INDEXER_AGENT_INDEXER_MANAGEMENT_PORT` | +| Port | Objectif | Routes | Argument CLI | Variable d'environnement | +| ---- | ---------------------------- | ------ | ------------------------- | --------------------------------------- | +| 8000 | API de gestion des indexeurs | / | --indexer-management-port | `INDEXER_AGENT_INDEXER_MANAGEMENT_PORT` | ### Configurer l'infrastructure du serveur à l'aide de Terraform sur Google Cloud -> Note: Indexers can alternatively use AWS, Microsoft Azure, or Alibaba. +> Note : Les indexeurs peuvent alternativement utiliser AWS, Microsoft Azure ou Alibaba. #### Conditions préalables à l'installation - Google Cloud SDK -- Kubectl command line tool +- Outil de ligne de commande kubectl - Terraform #### Créer un projet Google Cloud -- Clonez ou accédez au référentiel Indexer. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Accédez au répertoire ./terraform, c'est là que toutes les commandes doivent être exécutées. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Déployez toutes les ressources avec `kubectl apply -k $dir`. ### Nœud de The Graph -[Graph Node](https://github.com/graphprotocol/graph-node) est une implémentation open source de Rust qui génère des événements sur la blockchain Ethereum pour mettre à jour de manière déterministe un magasin de données qui peut être interrogé via le Point de terminaison GraphQL. Les développeurs utilisent des subgraphs pour définir leur schéma et un ensemble de mappages pour transformer les données provenant de la chaîne de blocs et le Graph Node gère la synchronisation de l'ensemble de la chaîne, la surveillance des nouveaux blocs et leur diffusion via un point de terminaison GraphQL. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Commencer à partir des sources @@ -317,7 +317,7 @@ sudo apt-get install -y clang libpg-dev libssl-dev pkg-config #### Installation -1. Start a PostgreSQL database server +1. Démarrer un serveur de base de données PostgreSQL ```sh initdb -D .postgres @@ -336,7 +336,7 @@ cargo run -p graph-node --release -- \ --ipfs https://ipfs.network.thegraph.com ``` -#### Getting started using Docker +#### Démarrer avec Docker #### Conditions préalables @@ -518,7 +518,7 @@ graph-indexer-service start \ #### Indexer CLI -The Indexer CLI is a plugin for [`@graphprotocol/graph-cli`](https://www.npmjs.com/package/@graphprotocol/graph-cli) accessible in the terminal at `graph indexer`. +L'interface de ligne de commande de l'indexeur est un plugin pour [`@graphprotocol/graph-cli`](https://www.npmjs.com/package/@graphprotocol/graph-cli) accessible dans le terminal à `graph indexer`. ```sh graph indexer connect http://localhost:18000 @@ -561,13 +561,13 @@ La **Indexer CLI** se connecte à l'agent Indexer, généralement via la redirec Toutes les commandes qui affichent les règles dans la sortie peuvent choisir entre les formats de sortie pris en charge (`table`, `yaml` et `json`) à l'aide du `- argument de sortie`. -#### Indexing rules +#### Règles d'indexation Les règles d'indexation peuvent être appliquées soit comme valeurs par défaut globales, soit pour des déploiements de subgraphs spécifiques à l'aide de leurs ID. Les champs `deployment` et `decisionBasis` sont obligatoires, tandis que tous les autres champs sont facultatifs. Lorsqu'une règle d'indexation a `rules` comme `decisionBasis`, l'agent indexeur comparera les valeurs de seuil non nulles sur cette règle avec les valeurs extraites du réseau pour le déploiement correspondant. Si le déploiement du subgraph a des valeurs supérieures (ou inférieures) à l'un des seuils, il sera choisi pour l'indexation. Par exemple, si la règle globale a un `minStake` de **5** (GRT), tout déploiement de subgraph ayant plus de 5 (GRT) d'enjeu qui lui est alloué seront indexés. Les règles de seuil incluent `maxAllocationPercentage`, `minSignal`, `maxSignal`, `minStake` et `minAverageQueryFees`. -Data model: +Modèle de données: ```graphql type IndexingRule { @@ -613,7 +613,7 @@ graph indexer rules stop QmZfeJYR86UARzp9HiXbURWunYgC9ywvPvoePNbuaATrEK graph indexer rules delete QmZfeJYR86UARzp9HiXbURWunYgC9ywvPvoePNbuaATrEK ``` -#### Actions queue CLI +#### CLI de la file des actions L'indexer-cli fournit un module `actions` pour travailler manuellement avec le fichier d'attente d'actions. Il utilise l'**API Graphql** hébergée par le serveur de gestion de l'indexeur pour interagir avec le fichier d'attente des actions. @@ -626,7 +626,7 @@ Le travailleur d'exécution d'action ne récupérera les éléments de la file d - Si une action réussit, le travailleur s'assurera qu'il existe une règle d'indexation qui indique à l'agent comment gérer l'allocation à l'avenir, utile lors de la réalisation d'actions manuelles lorsque l'agent est en mode `auto` ou `. mode surveillance`. - L'indexeur peut surveiller la file d'attente des actions pour consulter un historique de l'exécution des actions et, si nécessaire, réapprouver et mettre à jour les éléments d'action en cas d'échec de leur exécution. La file d'attente des actions fournit un historique de toutes les actions mises en file d'attente et entreprises. -Data model: +Modèle de données: ```graphql Type ActionInput { @@ -681,7 +681,7 @@ graph indexer actions execute approve Notez que les types d'actions pris en charge pour la gestion des allocations ont des exigences d'entrée différentes : -- `Allocate` - allocate stake to a specific subgraph deployment +- `Allocate` - allouer une participation à un déploiement de subgraph spécifique - paramètres d'action requis : - deploymentID @@ -751,17 +751,19 @@ indexer cost set model my_model.agora ### Enjeu dans le protocole -Les premières étapes pour participer au réseau en tant qu'indexeur consistent à approuver le protocole, à investir des fonds et (éventuellement) à configurer une adresse d'opérateur pour les interactions quotidiennes du protocole. _ **Remarque** : Aux fins de ces instructions, Remix sera utilisé pour l'interaction contractuelle, mais n'hésitez pas à utiliser l'outil de votre choix ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/) et [MyCrypto](https://www.mycrypto.com/account) sont quelques autres outils connus)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. -Once an Indexer has staked GRT in the protocol, the [Indexer components](/network/indexing#indexer-components) can be started up and begin their interactions with the network. +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). + +Une fois qu'un indexeur a staké des GRT dans le protocole, les [composants de l'indexeur](/network/indexing#indexer-components) peuvent être démarrés et commencer leurs interactions avec le réseau. #### Approuver les jetons 1. Ouvrez l'[application Remix](https://remix.ethereum.org/) dans un navigateur -2. Dans l'`Explorateur de fichiers`, créez un fichier nommé **GraphToken.abi** avec le [jeton ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). +2. Dans `File Explorer`, créez un fichier nommé **GraphToken.abi** avec l'[ABI du jeton](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. Avec `GraphToken.abi` sélectionné et ouvert dans l'éditeur, passez à la section Déployer et `Exécuter des transactions` dans l'interface Remix. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Sous Environnement, sélectionnez `Injected Web3` et sous `Compte` sélectionnez votre adresse d'indexeur. @@ -775,7 +777,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. Dans l'`Explorateur de fichiers`, créez un fichier nommé **Staking.abi** avec l'ABI de staking. -3. Avec `Staking.abi` sélectionné et ouvert dans l'éditeur, passez aux sections `Déployer` et `Exécuter des transactions` dans l'interface Remix. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Sous Environnement, sélectionnez `Injected Web3` et sous `Compte` sélectionnez votre adresse d'indexeur. @@ -791,12 +793,28 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### La durée de vie d'une allocation Après avoir été créée par un indexeur, une allocation saine passe par quatre états. -- **Active** : une fois qu'une allocation est créée sur la chaîne ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)), elle est considérée comme **active**. Une partie de la participation propre et/ou déléguée de l'indexeur est allouée à un déploiement de subgraph, ce qui lui permet de réclamer des récompenses d'indexation et de répondre à des requêtes pour ce déploiement de subgraph. L'agent Indexer gère la création d'allocations basées sur les règles de l'Indexeur. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Fermé** : un indexeur est libre de fermer une allocation une fois qu'une époque s'est écoulée ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) ou son agent indexeur fermera automatiquement l'allocation après le **maxAllocationEpochs**(actuellement 28 jours). Lorsqu'une allocation est clôturée avec une preuve d'indexation (POI) valide, leurs récompenses d'indexation sont distribuées à l'indexeur et à ses délégants (voir « comment les récompenses sont-elles distribuées ? » ci-dessous pour en savoir plus). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Il est recommandé aux indexeurs d'utiliser la fonctionnalité de synchronisation hors chaîne pour synchroniser les déploiements de subgraphs avec Chainhead avant de créer l'allocation en chaîne. Cette fonctionnalité est particulièrement utile pour les sous-graphes dont la synchronisation peut prendre plus de 28 époques ou qui risquent d'échouer de manière indéterministe. From c24a0ca70fbd3a03ea7e3d301a796e16d402a267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:08 -0400 Subject: [PATCH 0459/2326] New translations indexing.mdx (Spanish) --- website/pages/es/network/indexing.mdx | 72 +++++++++++++++++---------- 1 file changed, 45 insertions(+), 27 deletions(-) diff --git a/website/pages/es/network/indexing.mdx b/website/pages/es/network/indexing.mdx index b3ed8579fb0b..5477fef27cfc 100644 --- a/website/pages/es/network/indexing.mdx +++ b/website/pages/es/network/indexing.mdx @@ -26,7 +26,7 @@ El stake mínimo para un Indexador es actualmente de 100.000 GRT. Las recompensas de indexación proceden de la inflación del protocolo, que se fija en un 3% anual de emisión. Se distribuyen entre los subgrafos en función de la proporción de todas las señales de curación en cada uno de ellos y, a luego, se distribuyen proporcionalmente a los Indexadores en función de su allocated stake en ese subgrafo. **Una allocation debe cerrarse con una prueba válida de indexación (POI) que cumpla las normas establecidas por el acta de arbitraje para poder optar a las recompensas.** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### ¿Qué es una prueba de indexación (POI)? @@ -38,7 +38,7 @@ Las allocations acumulan recompensas continuamente mientras están activas y asi ### ¿Se pueden monitorear las recompensas de indexación pendientes? -El contrato de RewardsManager tiene una función [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) de solo lectura que se puede usar para comprobar las recompensas pendientes para una allocation específica. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Muchos de los paneles creados por la comunidad incluyen valores de recompensas pendientes y se pueden verificar fácilmente de forma manual siguiendo estos pasos: @@ -63,7 +63,7 @@ Utiliza Etherscan para solicitar el `getRewards()`: - Navega hacia [Etherscan interface to Rewards contract](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * Para llamar `getRewards()`: - - Expande el **10. getRewards** dropdown. + - Expand the **9. getRewards** dropdown. - Introduce el **allocationID** en la entrada. - Haz clic en el botón **Query**. @@ -113,11 +113,11 @@ Los indexadores pueden diferenciarse aplicando técnicas avanzadas para tomar de - **Grande**: Preparado para indexar todos los subgrafos utilizados actualmente y atender solicitudes para el tráfico relacionado. | Configuración | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Pequeño | 4 | 8 | 1 | 4 | 16 | -| Estándar | 8 | 30 | 1 | 12 | 48 | -| Medio | 16 | 64 | 2 | 32 | 64 | -| Grande | 72 | 468 | 3,5 | 48 | 184 | +| ------------- |:--------------------------:|:-----------------------------------:|:---------------------------------:|:---------------------:|:------------------------------:| +| Pequeño | 4 | 8 | 1 | 4 | 16 | +| Estándar | 8 | 30 | 1 | 12 | 48 | +| Medio | 16 | 64 | 2 | 32 | 64 | +| Grande | 72 | 468 | 3,5 | 48 | 184 | ### ¿Qué precauciones básicas de seguridad debe tomar un Indexador? @@ -149,20 +149,20 @@ Nota: Para admitir el escalado ágil, se recomienda que las inquietudes de consu #### Graph Node -| Puerto | Objeto | Rutas | Argumento CLI | Variable de Entorno | -| --- | --- | --- | --- | --- | -| 8000 | Servidor HTTP GraphQL
(para consultas de subgrafos) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(para suscripciones a subgrafos) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(para administrar implementaciones) | / | --admin-port | - | -| 8030 | API de estado de indexación de subgrafos | /graphql | --index-node-port | - | -| 8040 | Métricas de Prometheus | /metrics | --metrics-port | - | +| Puerto | Objeto | Rutas | Argumento CLI | Variable de Entorno | +| ------ | -------------------------------------------------------------- | ---------------------------------------------------- | ----------------- | ------------------- | +| 8000 | Servidor HTTP GraphQL
(para consultas de subgrafos) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(para suscripciones a subgrafos) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(para administrar implementaciones) | / | --admin-port | - | +| 8030 | API de estado de indexación de subgrafos | /graphql | --index-node-port | - | +| 8040 | Métricas de Prometheus | /metrics | --metrics-port | - | #### Servicio de Indexador -| Puerto | Objeto | Rutas | Argumento CLI | Variable de Entorno | -| --- | --- | --- | --- | --- | -| 7600 | Servidor HTTP GraphQL
(para consultas de subgrafo pagadas) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Métricas de Prometheus | /metrics | --metrics-port | - | +| Puerto | Objeto | Rutas | Argumento CLI | Variable de Entorno | +| ------ | --------------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | Servidor HTTP GraphQL
(para consultas de subgrafo pagadas) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Métricas de Prometheus | /metrics | --metrics-port | - | #### Agente Indexador @@ -182,9 +182,9 @@ Nota: Para admitir el escalado ágil, se recomienda que las inquietudes de consu #### Crear un proyecto de Google Cloud -- Clona o navega hasta el repositorio del Indexador. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Navega al directorio ./terraform, aquí es donde se deben ejecutar todos los comandos. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Despliega todas las fuentes usando `kubectl apply -k $dir`. ### Graph Node -[Graph Node](https://github.com/graphprotocol/graph-node) es una implementación de Rust de código abierto que genera eventos en la blockchain Ethereum para actualizar de manera deterministica un almacén de datos que se puede consultar a través del endpoint GraphQL. Los desarrolladores usan subgrafos para definir su esquema, y ​​un conjunto de mapeos para transformar los datos provenientes de la blockchain y Graph Node maneja la sincronización de toda la cadena, monitorea nuevos bloques y sirve a través de un endpoint GraphQL. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Empezar desde el origen @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Stake en el protocolo -Los primeros pasos para participar en la red como Indexador son aprobar el protocolo, stakear fondos y (opcionalmente) configurar una dirección de operador para las interacciones diarias del protocolo. _ **Nota**: Para propósito de estas instrucciones, Remix se utilizará para la interacción del contrato, pero no dudes en utilizar la herramienta que elijas (\[OneClickDapp\](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/) y [MyCrypto](https://www.mycrypto.com/account) son algunas otras herramientas conocidas)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Una vez que un Indexador ha stakeado GRT en el protocolo, los [Indexer components](/network/indexing#indexer-components) pueden iniciarse y comenzar sus interacciones con la red. @@ -760,7 +762,7 @@ Una vez que un Indexador ha stakeado GRT en el protocolo, los [Indexer component 2. En el `File Explorer`, crea un archivo llamado **GraphToken.abi** con [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. Con `GraphToken.abi` seleccionado y abierto en el editor, cambia a la sección Implementar (Deploy) y `Run Transactions` en la interfaz Remix. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. En entorno, selecciona `Injected Web3` y en `Account` selecciona tu dirección de Indexador. @@ -774,7 +776,7 @@ Una vez que un Indexador ha stakeado GRT en el protocolo, los [Indexer component 2. En el `File Explorer`, crea un archivo llamado **Staking.abi** con la ABI de staking. -3. Con `Staking.abi` seleccionado y abierto en el editor, cambia a la sección `Deploy` y `Run Transactions` en la interfaz Remix. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. En entorno, selecciona `Injected Web3` y en `Account` selecciona tu dirección de Indexador. @@ -790,12 +792,28 @@ Una vez que un Indexador ha stakeado GRT en el protocolo, los [Indexer component setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### La vida de una allocation Después de ser creada por un Indexador, una allocation saludable pasa por cuatro fases. -- **Activo**: Una vez que se crea una allocation on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) se considera **activa**. Una parte del staking propio y/o delegado del Indexador se asigna a un deploy de subgrafo, lo que le permite reclamar recompensas de indexación y atender consultas para ese deploy de subgrafo. El agente Indexador gestiona la creación de allocations basadas en las reglas del Indexador. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Cerrado**: Un Indexador puede cerrar una allocation una vez que haya pasado 1 ciclo ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) o su agente Indexador cerrará automáticamente la allocation después de **maxAllocationEpochs** (actualmente 28 días). Cuando una allocation se cierra con una prueba válida de indexación (POI), sus recompensas de indexación se distribuyen al Indexador y sus Delegadores (consulta "¿Cómo se distribuyen las recompensas?" a continuación para obtener más información). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Se recomienda a los Indexadores que utilicen la funcionalidad de sincronización fuera de la cadena para sincronizar el deploy de subgrafos con el cabezal de la cadena antes de crear la allocation on-chain. Esta función es especialmente útil para subgrafos que pueden tardar más de 28 épocas en sincronizarse o que tienen algunas posibilidades de fallar de forma indeterminada. From 6abc71e2057c45e9605931553a2b9f56947b3f2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:09 -0400 Subject: [PATCH 0460/2326] New translations indexing.mdx (Arabic) --- website/pages/ar/network/indexing.mdx | 72 +++++++++++++++++---------- 1 file changed, 45 insertions(+), 27 deletions(-) diff --git a/website/pages/ar/network/indexing.mdx b/website/pages/ar/network/indexing.mdx index abe53eae2f89..55eea176d16c 100644 --- a/website/pages/ar/network/indexing.mdx +++ b/website/pages/ar/network/indexing.mdx @@ -26,7 +26,7 @@ The minimum stake for an Indexer is currently set to 100K GRT. Indexing rewards come from protocol inflation which is set to 3% annual issuance. They are distributed across subgraphs based on the proportion of all curation signal on each, then distributed proportionally to Indexers based on their allocated stake on that subgraph. **An allocation must be closed with a valid proof of indexing (POI) that meets the standards set by the arbitration charter in order to be eligible for rewards.** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### ما هو إثبات الفهرسة (POI)؟ @@ -38,7 +38,7 @@ Allocations are continuously accruing rewards while they're active and allocated ### Can pending indexing rewards be monitored? -يحتوي عقد RewardsManager على وظيفة [ الحصول على المكافآت ](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) للقراءة فقط يمكن استخدامها للتحقق من المكافآت المعلقة لتخصيص معين. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. تشتمل العديد من لوحات المعلومات التي أنشأها المجتمع على قيم المكافآت المعلقة ويمكن التحقق منها بسهولة يدويًا باتباع الخطوات التالية: @@ -63,7 +63,7 @@ Allocations are continuously accruing rewards while they're active and allocated - انتقل إلى [ واجهة Etherscan لعقد المكافآت Rewards contract ](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * لاستدعاء `getRewards()`: - - قم بتوسيع ** 10 .الحصول على المكافآت ** القائمة المنسدلة. + - Expand the **9. getRewards** dropdown. - أدخل ** معرّف التخصيص ** في الإدخال. - انقر فوق الزر ** الاستعلام **. @@ -113,11 +113,11 @@ The `queryFeeCut` and `indexingRewardCut` values are delegation parameters that - **كبيرة** - مُعدة لفهرسة جميع ال subgraphs المستخدمة حاليا وأيضا لخدمة طلبات حركة مرور البيانات ذات الصلة. | Setup | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| صغير | 4 | 8 | 1 | 4 | 16 | -| قياسي | 8 | 30 | 1 | 12 | 48 | -| متوسط | 16 | 64 | 2 | 32 | 64 | -| كبير | 72 | 468 | 3.5 | 48 | 184 | +| ----- |:---------------------------:|:-----------------------------------:|:---------------------------------:|:---------------------:|:------------------------------:| +| صغير | 4 | 8 | 1 | 4 | 16 | +| قياسي | 8 | 30 | 1 | 12 | 48 | +| متوسط | 16 | 64 | 2 | 32 | 64 | +| كبير | 72 | 468 | 3.5 | 48 | 184 | ### What are some basic security precautions an Indexer should take? @@ -149,20 +149,20 @@ At the center of an Indexer's infrastructure is the Graph Node which monitors th #### Graph Node -| المنفذ | الغرض | المسار | CLI Argument | متغيرات البيئة | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...

/subgraphs/name/.../... | http-port-- | - | -| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...

/subgraphs/name/.../... | ws-port-- | - | -| 8020 | JSON-RPC
(for managing deployments) | / | admin-port-- | - | -| 8030 | Subgraph indexing status API | /graphql | index-node-port-- | - | -| 8040 | Prometheus metrics | /metrics | metrics-port-- | - | +| المنفذ | الغرض | المسار | CLI Argument | متغيرات البيئة | +| ------ | ------------------------------------------------------- | ------------------------------------------------------------------- | ----------------- | -------------- | +| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...

/subgraphs/name/.../... | http-port-- | - | +| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...

/subgraphs/name/.../... | ws-port-- | - | +| 8020 | JSON-RPC
(for managing deployments) | / | admin-port-- | - | +| 8030 | Subgraph indexing status API | /graphql | index-node-port-- | - | +| 8040 | Prometheus metrics | /metrics | metrics-port-- | - | #### خدمة المفهرس -| المنفذ | الغرض | المسار | CLI Argument | متغيرات البيئة | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | port-- | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus metrics | /metrics | metrics-port-- | - | +| المنفذ | الغرض | المسار | CLI Argument | متغيرات البيئة | +| ------ | ------------------------------------------------------------ | --------------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | port-- | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus metrics | /metrics | metrics-port-- | - | #### وكيل المفهرس(Indexer Agent) @@ -182,9 +182,9 @@ At the center of an Indexer's infrastructure is the Graph Node which monitors th #### أنشئ مشروع Google Cloud -- Clone or navigate to the Indexer repository. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- انتقل إلى الدليل ./terraform ، حيث يجب تنفيذ جميع الأوامر. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ kubectl config use-context $(kubectl config get-contexts --output='name' ### Graph Node -[ Graph Node ](https://github.com/graphprotocol/graph-node) هو تطبيق مفتوح المصدر Rust ومصدره Ethereum blockchain لتحديث البيانات والذي يمكن الاستعلام عنها عبر GraphQL endpoint. يستخدم المطورون ال subgraphs لتحديد مخططهم ، ويستخدمون مجموعة من الرسوم لتحويل البيانات التي يتم الحصول عليها من blockchain و the Graph Node والتي تقوم بمعالجة مزامنة السلسلة بأكملها ، ومراقبة الكتل الجديدة ، وتقديمها عبر GraphQL endpoint. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### ابدأ من المصدر @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Stake in the protocol -الخطوات الأولى للمشاركة في الشبكة كمفهرس هي الموافقة على البروتوكول وصناديق الأسهم، و (اختياريا) إعداد عنوان المشغل لتفاعلات البروتوكول اليومية. _ ** ملاحظة **: لأغراض الإرشادات ، سيتم استخدام Remix للتفاعل مع العقد ، ولكن لا تتردد في استخدام الأداة التي تختارها (\[OneClickDapp \](https://oneclickdapp.com/) و [ABItopic](https://abitopic.io/) و [MyCrypto](https://www.mycrypto.com/account) وهذه بعض الأدوات المعروفة)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Once an Indexer has staked GRT in the protocol, the [Indexer components](/network/indexing#indexer-components) can be started up and begin their interactions with the network. @@ -760,7 +762,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. في `File Explorer` أنشئ ملفا باسم ** GraphToken.abi ** باستخدام [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. مع تحديد `GraphToken.abi` وفتحه في المحرر ، قم بالتبديل إلى Deploy و `Run Transactions` في واجهة Remix. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -774,7 +776,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. في `File Explorer` أنشئ ملفا باسم ** Staking.abi ** باستخدام Staking ABI. -3. مع تحديد `Staking.abi` وفتحه في المحرر ، قم بالتبديل إلى قسم `Deploy` و `Run Transactions` في واجهة Remix. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -790,12 +792,28 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### عمر التخصيص allocation After being created by an Indexer a healthy allocation goes through four states. -- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators (see "how are rewards distributed?" below to learn more). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Indexers are recommended to utilize offchain syncing functionality to sync subgraph deployments to chainhead before creating the allocation on-chain. This feature is especially useful for subgraphs that may take longer than 28 epochs to sync or have some chances of failing undeterministically. From ebf3c27eea9ed5789d32dc2617ba8c344fcff69b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:10 -0400 Subject: [PATCH 0461/2326] New translations indexing.mdx (Czech) --- website/pages/cs/network/indexing.mdx | 128 +++++++++++++++----------- 1 file changed, 73 insertions(+), 55 deletions(-) diff --git a/website/pages/cs/network/indexing.mdx b/website/pages/cs/network/indexing.mdx index 61567ffe302a..901a31a12e97 100644 --- a/website/pages/cs/network/indexing.mdx +++ b/website/pages/cs/network/indexing.mdx @@ -26,7 +26,7 @@ Minimální vklad pro indexátora je v současné době nastaven na 100k GRT. Odměny za indexaci pocházejí z protokolární inflace, která je stanovena na 3 % ročně. Rozdělují se mezi podgrafy na základě podílu všech kurátorských signálů na každém z nich a poté se poměrně rozdělí indexátorům na základě jejich přiděleného podílu na daném podgrafu. **Alokace musí být uzavřena platným důkazem indexace (POI), který splňuje standardy stanovené rozhodčí chartou, aby bylo možné získat odměny.** -Komunita vytvořila řadu nástrojů pro výpočet odměn; jejich sbírku najdete ve sbírce [Průvodci komunity](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). Aktuální seznam nástrojů najdete také v kanálech #Delegators a #Indexers na serveru [Discord](https://discord.gg/graphprotocol). Zde uvádíme odkaz na [doporučený optimalizátor alokace](https://github.com/graphprotocol/AllocationOpt.jl) integrovaný se softwarovým zásobníkem indexátorů. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### Co je Důkaz indexování (POI)? @@ -38,7 +38,7 @@ Za přidělení se průběžně připisují odměny, dokud jsou aktivní a přid ### Lze sledovat čekající odměny za indexaci? -Smlouva RewardsManager obsahuje funkci [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) pouze pro čtení, kterou lze použít ke zjištění čekajících odměn pro konkrétní příděl. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Mnoho informačních panelů vytvořených komunitou obsahuje hodnoty čekajících odměn a lze je snadno zkontrolovat ručně podle následujících kroků: @@ -63,7 +63,7 @@ Pomocí funkce Etherscan zavolejte `getRewards()`: - Přejděte na [Etherscan rozhraní na smlouvu odměny](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * Volání funkce `getRewards()`: - - Rozbalte rozevírací seznam **10. getRewards**. + - Expand the **9. getRewards** dropdown. - Do vstupu zadejte **allocationID**. - Klikněte na tlačítko **Dotaz**. @@ -113,11 +113,11 @@ Indexátory se mohou odlišovat použitím pokročilých technik pro rozhodován - **Large** - Připraveno k indexování všech aktuálně nepoužívaných příbuzných podgrafů. | Nastavení | Postgres
(CPUs) | Postgres
(paměť v GBs) | Postgres
(disk v TBs) | VMs
(CPUs) | VMs
(paměť v GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Malé | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Střední | 16 | 64 | 2 | 32 | 64 | -| Velký | 72 | 468 | 3.5 | 48 | 184 | +| --------- |:--------------------------:|:---------------------------------:|:--------------------------------:|:---------------------:|:----------------------------:| +| Malé | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 1 | 12 | 48 | +| Střední | 16 | 64 | 2 | 32 | 64 | +| Velký | 72 | 468 | 3.5 | 48 | 184 | ### Jaká jsou základní bezpečnostní opatření, která by měl indexátor přijmout? @@ -149,20 +149,20 @@ Poznámka: Pro podporu agilního škálování se doporučuje oddělit dotazová #### Uzel Graf -| Port | Účel | Trasy | CLI Argument | Proměnná prostředí | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
(pro dotazy podgrafy) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(pro odběry podgrafů) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(pro správu nasazení) | / | --admin-port | - | -| 8030 | Stav indexování podgrafů API | /graphql | --index-node-port | - | -| 8040 | Metriky Prometheus | /metrics | --metrics-port | - | +| Port | Účel | Trasy | CLI Argument | Proměnná prostředí | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | ----------------- | ------------------ | +| 8000 | GraphQL HTTP server
(pro dotazy podgrafy) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(pro odběry podgrafů) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(pro správu nasazení) | / | --admin-port | - | +| 8030 | Stav indexování podgrafů API | /graphql | --index-node-port | - | +| 8040 | Metriky Prometheus | /metrics | --metrics-port | - | #### Služba Indexer -| Port | Účel | Trasy | CLI Argument | Proměnná prostředí | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
(pro placené dotazy na podgrafy) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Metriky Prometheus | /metrics | --metrics-port | - | +| Port | Účel | Trasy | CLI Argument | Proměnná prostředí | +| ---- | --------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP server
(pro placené dotazy na podgrafy) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Metriky Prometheus | /metrics | --metrics-port | - | #### Agent indexátoru @@ -182,9 +182,9 @@ Poznámka: Pro podporu agilního škálování se doporučuje oddělit dotazová #### Vytvoření projektu Google Cloud -- Klonujte nebo přejděte do úložiště Indexer. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Přejděte do adresáře ./terraform, kde by se měly spouštět všechny příkazy. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Všechny prostředky nasadíte pomocí `kubectl apply -k $dir`. ### Uzel Grafu -[Uzel Graf](https://github.com/graphprotocol/graph-node) je open source implementace Rust, která využívá zdrojové kódy událostí v blockchainu Ethereum k deterministické aktualizaci datového úložiště, na které se lze dotazovat prostřednictvím koncového bodu GraphQL. Vývojáři používají podgrafy k definici svého schématu a sadu mapování pro transformaci dat získaných z blokového řetězce a Uzel Graf se stará o synchronizaci celého řetězce, monitorování nových bloků a jejich obsluhu prostřednictvím koncového bodu GraphQL. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Začínáme od zdroje @@ -708,15 +708,15 @@ Všimněte si, že podporované typy akcí pro správu přidělování mají rů #### Nákladové modely -Cost models provide dynamic pricing for queries based on market and query attributes. The Indexer Service shares a cost model with the gateways for each subgraph for which they intend to respond to queries. The gateways, in turn, use the cost model to make Indexer selection decisions per query and to negotiate payment with chosen Indexers. +Modely nákladů poskytují dynamické ceny pro dotazy na základě atributů trhu a dotazu. Služba Indexer sdílí s gateway model nákladů pro každý pods podgraf, na jehož dotazy chtějí odpovídat. Gatewaye pak na základě modelu nákladů rozhodují o výběru indexátoru pro každý dotaz a vyjednávají platby s vybranými indexátory. #### Agora -The Agora language provides a flexible format for declaring cost models for queries. An Agora price model is a sequence of statements that execute in order for each top-level query in a GraphQL query. For each top-level query, the first statement which matches it determines the price for that query. +Jazyk Agora poskytuje flexibilní formát pro deklarování nákladových modelů pro dotazy. Cenový model Agora je posloupnost příkazů, které se provádějí v pořadí pro každý dotaz nejvyšší úrovně v dotazu GraphQL. Pro každý dotaz nejvyšší úrovně určuje cenu tohoto dotazu první příkaz, který mu odpovídá. -A statement is comprised of a predicate, which is used for matching GraphQL queries, and a cost expression which when evaluated outputs a cost in decimal GRT. Values in the named argument position of a query may be captured in the predicate and used in the expression. Globals may also be set and substituted in for placeholders in an expression. +Příkaz se skládá z predikátu, který se používá pro porovnávání dotazů GraphQL, a nákladového výrazu, který po vyhodnocení vypisuje náklady v desetinném GRT. Hodnoty na pozici pojmenovaného argumentu dotazu mohou být zachyceny v predikátu a použity ve výrazu. Globály lze také nastavit a nahradit jimi zástupné znaky ve výrazu. -Example cost model: +Příklad nákladového modelu: ``` # This statement captures the skip value, @@ -729,73 +729,91 @@ query { pairs(skip: $skip) { id } } when $skip > 2000 => 0.0001 * $skip * $SYSTE default => 0.1 * $SYSTEM_LOAD; ``` -Example query costing using the above model: +Příklad výpočtu nákladů na dotaz pomocí výše uvedeného modelu: -| Query | Price | +| Dotaz | Cena | | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | | { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | -#### Applying the cost model +#### Použití nákladového modelu -Cost models are applied via the Indexer CLI, which passes them to the Indexer Management API of the Indexer agent for storing in the database. The Indexer Service will then pick them up and serve the cost models to gateways whenever they ask for them. +Nákladové modely se používají prostřednictvím Indexer CLI, které je předává API pro správu indexátoru agenta Indexer k uložení do databáze. Služba Indexer je pak vyzvedne a nákladové modely doručí branám, kdykoli o ně požádají. ```sh indexer cost set variables '{ "SYSTEM_LOAD": 1.4 }' indexer cost set model my_model.agora ``` -## Interacting with the network +## Interakce se sítí -### Stake in the protocol +### Podíl na protokolu -The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. _ **Note**: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. -Once an Indexer has staked GRT in the protocol, the [Indexer components](/network/indexing#indexer-components) can be started up and begin their interactions with the network. +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). -#### Approve tokens +Jakmile indexer zakládá GRT v protokolu, lze spustit komponenty [Indexer](/network/indexing#indexer-components) a zahájit jejich interakci se sítí. -1. Open the [Remix app](https://remix.ethereum.org/) in a browser +#### Schválení žetonů -2. In the `File Explorer` create a file named **GraphToken.abi** with the [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). +1. Otevření aplikace [Remix](https://remix.ethereum.org/) v prohlížeči -3. With `GraphToken.abi` selected and open in the editor, switch to the Deploy and `Run Transactions` section in the Remix interface. +2. V `Průzkumníku souborů` vytvořte soubor s názvem **GraphToken.abi** s [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -4. Under environment select `Injected Web3` and under `Account` select your Indexer address. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. -5. Set the GraphToken contract address - Paste the GraphToken contract address (`0xc944E90C64B2c07662A292be6244BDf05Cda44a7`) next to `At Address` and click the `At address` button to apply. +4. V části prostředí vyberte možnost `Injected Web3` a v části `Account` vyberte adresu indexeru. -6. Call the `approve(spender, amount)` function to approve the Staking contract. Fill in `spender` with the Staking contract address (`0xF55041E37E12cD407ad00CE2910B8269B01263b9`) and `amount` with the tokens to stake (in wei). +5. Nastavení adresy smlouvy GraphToken - Vložte adresu smlouvy GraphToken (`0xc944E90C64B2c07662A292be6244BDf05Cda44a7`) vedle pole `At Address` a klikněte na tlačítko `At address` pro použití. -#### Stake tokens +6. Voláním funkce `approve(zadavatel, částka)` schválíte smlouvu o sázce. Do pole `spender` vyplňte adresu smlouvy o sázce (`0xF55041E37E12cD407ad00CE2910B8269B01263b9`) a do pole `amount` tokeny, které chcete vsadit (ve wei). -1. Open the [Remix app](https://remix.ethereum.org/) in a browser +#### Vkladové žetony -2. In the `File Explorer` create a file named **Staking.abi** with the staking ABI. +1. Otevření aplikace [Remix](https://remix.ethereum.org/) v prohlížeči -3. With `Staking.abi` selected and open in the editor, switch to the `Deploy` and `Run Transactions` section in the Remix interface. +2. V `Průzkumníku souborů` vytvořte soubor s názvem **Staking.abi** s ABI staking. -4. Under environment select `Injected Web3` and under `Account` select your Indexer address. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. -5. Set the Staking contract address - Paste the Staking contract address (`0xF55041E37E12cD407ad00CE2910B8269B01263b9`) next to `At Address` and click the `At address` button to apply. +4. V části prostředí vyberte možnost `Injected Web3` a v části `Account` vyberte adresu indexeru. -6. Call `stake()` to stake GRT in the protocol. +5. Nastavení adresy smlouvy o sázce - Vložte adresu smlouvy o sázce (`0xF55041E37E12cD407ad00CE2910B8269B01263b9`) vedle pole `At address` a klikněte na tlačítko `At address` pro použití. -7. (Optional) Indexers may approve another address to be the operator for their Indexer infrastructure in order to separate the keys that control the funds from those that are performing day to day actions such as allocating on subgraphs and serving (paid) queries. In order to set the operator call `setOperator()` with the operator address. +6. Voláním `stake()` vložíte GRT do protokolu. -8. (Optional) In order to control the distribution of rewards and strategically attract Delegators Indexers can update their delegation parameters by updating their indexingRewardCut (parts per million), queryFeeCut (parts per million), and cooldownBlocks (number of blocks). To do so call `setDelegationParameters()`. The following example sets the queryFeeCut to distribute 95% of query rebates to the Indexer and 5% to Delegators, set the indexingRewardCutto distribute 60% of indexing rewards to the Indexer and 40% to Delegators, and set `thecooldownBlocks` period to 500 blocks. +7. (Nepovinné) Indexátoři mohou schválit jinou adresu jako provozovatele své infrastruktury indexátorů, aby se oddělily klíče, které kontrolují finanční prostředky, od klíčů, které provádějí každodenní činnosti, jako je přidělování v podgrafech a obsluha (placených) dotazů. Pro nastavení operátora zavolejte `setOperator()` s adresou operátora. + +8. (Nepovinné) Za účelem řízení rozdělování odměn a strategického přilákání delegátů mohou indexátory aktualizovat své parametry delegování aktualizací indexingRewardCut (díly na milion), queryFeeCut (díly na milion) a cooldownBlocks (počet bloků). Za tímto účelem zavolejte `setDelegationParameters()`. Následující příklad nastavuje queryFeeCut tak, aby 95 % odměn za dotaz bylo rozděleno indexátoru a 5 % delegátům, indexingRewardCutto rozděluje 60 % odměn za indexování indexátoru a 40 % delegátům, a nastavuje `obdobícooldownBlocks` na 500 bloků. ``` setDelegationParameters(950000, 600000, 500) ``` -### The life of an allocation +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + +### Životnost přídělu -After being created by an Indexer a healthy allocation goes through four states. +Po vytvoření indexátorem prochází zdravé přidělení čtyřmi stavy. -- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. +- **Aktivní** – Jakmile je alokace vytvořena v řetězci ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/ contract/staking/Staking.sol#L316)) je považován za **aktivní**. Část vlastního a/nebo delegovaného podílu indexeru je přidělena na nasazení podgrafu, což jim umožňuje nárokovat si odměny za indexování a obsluhovat dotazy pro toto nasazení podgrafu. Agent indexeru spravuje vytváření alokací na základě pravidel indexeru. -- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators (see "how are rewards distributed?" below to learn more). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). -Indexers are recommended to utilize offchain syncing functionality to sync subgraph deployments to chainhead before creating the allocation on-chain. This feature is especially useful for subgraphs that may take longer than 28 epochs to sync or have some chances of failing undeterministically. +Indexerům se doporučuje využívat funkce synchronizace mimo řetězec k synchronizaci nasazení subgrafů do hlavy řetězce před vytvořením alokace v řetězci. Tato funkce je užitečná zejména pro subgrafy, jejichž synchronizace může trvat déle než 28 epoch nebo u nichž existuje určitá pravděpodobnost nedeterministického selhání. From de9c7e7783271d78603a6f234bf4c0f7ef4fd0bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:11 -0400 Subject: [PATCH 0462/2326] New translations indexing.mdx (German) --- website/pages/de/network/indexing.mdx | 72 +++++++++++++++++---------- 1 file changed, 45 insertions(+), 27 deletions(-) diff --git a/website/pages/de/network/indexing.mdx b/website/pages/de/network/indexing.mdx index 8d273d73853d..41b4c2e23efb 100644 --- a/website/pages/de/network/indexing.mdx +++ b/website/pages/de/network/indexing.mdx @@ -26,7 +26,7 @@ The minimum stake for an Indexer is currently set to 100K GRT. Indexing rewards come from protocol inflation which is set to 3% annual issuance. They are distributed across subgraphs based on the proportion of all curation signal on each, then distributed proportionally to Indexers based on their allocated stake on that subgraph. **An allocation must be closed with a valid proof of indexing (POI) that meets the standards set by the arbitration charter in order to be eligible for rewards.** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### What is a proof of indexing (POI)? @@ -38,7 +38,7 @@ Allocations are continuously accruing rewards while they're active and allocated ### Can pending indexing rewards be monitored? -The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) function that can be used to check the pending rewards for a specific allocation. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Many of the community-made dashboards include pending rewards values and they can be easily checked manually by following these steps: @@ -63,7 +63,7 @@ Use Etherscan to call `getRewards()`: - Navigate to [Etherscan interface to Rewards contract](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * To call `getRewards()`: - - Expand the **10. getRewards** dropdown. + - Expand the **9. getRewards** dropdown. - Enter the **allocationID** in the input. - Click the **Query** button. @@ -113,11 +113,11 @@ Indexers may differentiate themselves by applying advanced techniques for making - **Large** - Prepared to index all currently used subgraphs and serve requests for the related traffic. | Konfiguration | Postgres
(CPUs) | Postgres
(Speicher in GB) | Postgres
(Festplatte in TB) | VMs
(CPUs) | VMs
(Speicher in GB) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Klein | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Mittel | 16 | 64 | 2 | 32 | 64 | -| Groß | 72 | 468 | 3.5 | 48 | 184 | +| ------------- |:--------------------------:|:------------------------------------:|:--------------------------------------:|:---------------------:|:-------------------------------:| +| Klein | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 1 | 12 | 48 | +| Mittel | 16 | 64 | 2 | 32 | 64 | +| Groß | 72 | 468 | 3.5 | 48 | 184 | ### What are some basic security precautions an Indexer should take? @@ -149,20 +149,20 @@ Note: To support agile scaling, it is recommended that query and indexing concer #### Der Graph-Knoten -| Port | Zweck | Routen | CLI-Argument | Umgebungsvariable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP-Server
(für Subgraf-Abfragen) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(für Subgraf-Abonnements) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(zum Verwalten von Deployments) | / | --admin-port | - | -| 8030 | Subgraf-Indizierungsstatus-API | /graphql | --index-node-port | - | -| 8040 | Prometheus-Metriken | /metrics | --metrics-port | - | +| Port | Zweck | Routen | CLI-Argument | Umgebungsvariable | +| ---- | ----------------------------------------------------- | ---------------------------------------------------- | ----------------- | ----------------- | +| 8000 | GraphQL HTTP-Server
(für Subgraf-Abfragen) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(für Subgraf-Abonnements) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(zum Verwalten von Deployments) | / | --admin-port | - | +| 8030 | Subgraf-Indizierungsstatus-API | /graphql | --index-node-port | - | +| 8040 | Prometheus-Metriken | /metrics | --metrics-port | - | #### Indexer Service -| Port | Zweck | Routen | CLI-Argument | Umgebungsvariable | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL-HTTP-Server
(für kostenpflichtige Subgraf-Abfragen) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus-Metriken | /metrics | --metrics-port | - | +| Port | Zweck | Routen | CLI-Argument | Umgebungsvariable | +| ---- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL-HTTP-Server
(für kostenpflichtige Subgraf-Abfragen) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus-Metriken | /metrics | --metrics-port | - | #### Indexer Agent @@ -182,9 +182,9 @@ Note: To support agile scaling, it is recommended that query and indexing concer #### Create a Google Cloud Project -- Clone or navigate to the Indexer repository. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Navigate to the ./terraform directory, this is where all commands should be executed. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Deploy all resources with `kubectl apply -k $dir`. ### Graph Node -[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the block chain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Einstieg in den Sourcecode @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Stake in the protocol -The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. _ **Note**: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Once an Indexer has staked GRT in the protocol, the [Indexer components](/network/indexing#indexer-components) can be started up and begin their interactions with the network. @@ -760,7 +762,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **GraphToken.abi** with the [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. With `GraphToken.abi` selected and open in the editor, switch to the Deploy and `Run Transactions` section in the Remix interface. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -774,7 +776,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **Staking.abi** with the staking ABI. -3. With `Staking.abi` selected and open in the editor, switch to the `Deploy` and `Run Transactions` section in the Remix interface. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -790,12 +792,28 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### The life of an allocation After being created by an Indexer a healthy allocation goes through four states. -- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators (see "how are rewards distributed?" below to learn more). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Indexers are recommended to utilize offchain syncing functionality to sync subgraph deployments to chainhead before creating the allocation on-chain. This feature is especially useful for subgraphs that may take longer than 28 epochs to sync or have some chances of failing undeterministically. From 39a1ce1300790ffbc89f93c0733bb73e5f9a8ad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:13 -0400 Subject: [PATCH 0463/2326] New translations indexing.mdx (Italian) --- website/pages/it/network/indexing.mdx | 74 +++++++++++++++++---------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/website/pages/it/network/indexing.mdx b/website/pages/it/network/indexing.mdx index 33a42fc96831..b808ec13d489 100644 --- a/website/pages/it/network/indexing.mdx +++ b/website/pages/it/network/indexing.mdx @@ -26,7 +26,7 @@ Lo stake minimo per un Indexer è attualmente fissato a 100K GRT. Le ricompense di indicizzazione provengono dall'inflazione del protocollo, impostata al 3% di emissione annuale. Vengono distribuite tra i subgraph in base alla proporzione di tutti i segnali di curation su ciascuno di essi, quindi distribuite proporzionalmente agli Indexer in base allo stake di partecipazione assegnato a quel subgraph. **Un'allocation deve essere chiusa con una prova valida di indicizzazione (POI) che soddisfi gli standard stabiliti dalla carta dell'arbitrato per poter beneficiare delle ricompense.** -Numerosi strumenti sono stati creati dalla comunità per il calcolo delle ricompense; potete trovarne una collezione organizzata nella [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). È inoltre possibile trovare un elenco aggiornato di strumenti nei canali #Delegator e #Indexers sul [server Discord](https://discord.gg/graphprotocol). Qui un link ad un [ottimizzatore dell'allocazione consigliata](https://github.com/graphprotocol/AllocationOpt.jl) integrato nello stack software dell' Indexer. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### Che cos'è una prova di indicizzazione (POI)? @@ -38,7 +38,7 @@ Le allocazioni accumulano continuamente ricompense mentre sono attive e vengono ### È possibile monitorare le ricompense di indicizzazione in sospeso? -Il contratto RewardsManager ha una funzione di sola lettura [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) che può essere utilizzata per controllare le ricompense in sospeso per una specifica allocazione. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Molte delle dashboard create dalla comunità includono i valori delle ricompense in sospeso, che possono essere facilmente controllate manualmente seguendo questi passaggi: @@ -63,7 +63,7 @@ Utilizzare Etherscan per chiamare `getRewards()`: - Andare su [Etherscan interface to Rewards contract](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * Per chiamare `getRewards()`: - - Espandere il **10. getRewards** a tendina. + - Expand the **9. getRewards** dropdown. - Inserire l'**allocationID** nell'input. - Fare clic sul pulsante **Query**. @@ -112,12 +112,12 @@ Gli Indexer possono differenziarsi applicando tecniche avanzate per prendere dec - **Medio** - Indexer di produzione che supporta 100 subgraph e 200-500 richieste al secondo. - **Grande** - È pronto a indicizzare tutti i subgraph attualmente utilizzati e a servire le richieste per il relativo traffico. -| Setup | Postgres
(CPUs) | Postgres
(memoria in GBs) | Postgres
(disco in TBs) | VMs
(CPUs) | VMs
(memoria in GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Piccolo | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Medio | 16 | 64 | 2 | 32 | 64 | -| Grande | 72 | 468 | 3.5 | 48 | 184 | +| Setup | Postgres
(CPUs) | Postgres
(memoria in GBs) | Postgres
(disco in TBs) | VMs
(CPUs) | VMs
(memoria in GBs) | +| -------- |:--------------------------:|:------------------------------------:|:----------------------------------:|:---------------------:|:-------------------------------:| +| Piccolo | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 1 | 12 | 48 | +| Medio | 16 | 64 | 2 | 32 | 64 | +| Grande | 72 | 468 | 3.5 | 48 | 184 | ### Quali sono le precauzioni di base per la sicurezza che un Indexer dovrebbe adottare? @@ -149,20 +149,20 @@ Nota: Per supportare una scalabilità agile, si consiglia di separare le attivit #### Graph Node -| Porta | Obiettivo | Routes | Argomento CLI | Variabile d'ambiente | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
(per le query di subgraph) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(per le sottoscrizioni ai subgraph) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(per la gestione dei deployment) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Metriche di Prometheus | /metrics | --metrics-port | - | +| Porta | Obiettivo | Routes | Argomento CLI | Variabile d'ambiente | +| ----- | --------------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
(per le query di subgraph) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(per le sottoscrizioni ai subgraph) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(per la gestione dei deployment) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Metriche di Prometheus | /metrics | --metrics-port | - | #### Servizio Indexer -| Porta | Obiettivo | Routes | Argomento CLI | Variabile d'ambiente | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
(per le query di subgraph a pagamento) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Metriche di Prometheus | /metrics | --metrics-port | - | +| Porta | Obiettivo | Routes | Argomento CLI | Variabile d'ambiente | +| ----- | --------------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP server
(per le query di subgraph a pagamento) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Metriche di Prometheus | /metrics | --metrics-port | - | #### Indexer Agent @@ -182,9 +182,9 @@ Nota: Per supportare una scalabilità agile, si consiglia di separare le attivit #### Creare un progetto Google Cloud -- Clonare o navigare nella repository dell'Indexer. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Navigare nella directory ./terraform, dove devono essere eseguiti tutti i comandi. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Distribuire tutte le risorse con `kubectl apply -k $dir`. ### Graph Node -[Graph Node](https://github.com/graphprotocol/graph-node) è un'implementazione open source di Rust che esegue l'event source della blockchain di Ethereum per aggiornare in modo deterministico un archivio di dati che può essere fatto query tramite l'endpoint GraphQL. Gli sviluppatori usano i subgraph per definire il loro schema e una serie di mappature per trasformare i dati provenienti dalla catena di blocchi e il Graph Node gestisce la sincronizzazione dell'intera catena, il monitoraggio dei nuovi blocchi e il servizio tramite un endpoint GraphQL. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Iniziare dalla sorgente @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Staking al protocollo -I primi passi per partecipare alla rete come Indexer consistono nell'approvare il protocollo, nel puntare i fondi e (facoltativamente) nel creare un indirizzo operatore per le interazioni quotidiane con il protocollo. _ **Nota**: Per le finalità di queste istruzioni verrà utilizzato Remix per l'interazione con il contratto, ma sentitevi liberi di utilizzare lo strumento che preferite. ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) sono alcuni altri strumenti conosciuti)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Una volta che l'Indexer ha messo in staking i GRT nel protocollo, gli [Indexer components](/network/indexing#indexer-components) possono essere avviati e iniziare le loro interazioni con la rete. @@ -760,7 +762,7 @@ Una volta che l'Indexer ha messo in staking i GRT nel protocollo, gli [Indexer c 2. Nel `File Explorer` creare un file chiamato **GraphToken.abi** con il [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. Con `GraphToken.abi` selezionato e aperto nell'editor, passare alla sezione Deploy e sezione `Run Transactions` nell'interfaccia Remix. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. In Ambiente selezionare `Injected Web3` e nel `Account` selezionare l'indirizzo dell'Indexer. @@ -774,7 +776,7 @@ Una volta che l'Indexer ha messo in staking i GRT nel protocollo, gli [Indexer c 2. Nel `File Explorer` creare un file chiamato **Staking.abi** con log staking ABI. -3. Con `Staking.abi` selezionato e aperto nell'editor, passare alla sezione `Deploy` e `Run Transactions` nell'interfaccia di Remix. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. In Ambiente selezionare `Injected Web3` e nel `Account` selezionare l'indirizzo dell'Indexer. @@ -790,12 +792,28 @@ Una volta che l'Indexer ha messo in staking i GRT nel protocollo, gli [Indexer c setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### La vita di un'allocazione Dopo essere stata creata da un Indexer, un'allocazione sana passa attraverso quattro stati. -- **Attiva** - Una volta creata un'allocazione sulla chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) è considerata **attiva**. Una parte dello stake proprio e/o delegato dall'Indexer viene assegnato a una distribuzione di subgraph, il che consente di richiedere ricompense per l'indicizzazione e di servire query per quella distribuzione di subgraph. L'Indexer agent gestisce la creazione di allocazioni basate sulle regole dell'Indexer. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Chiusa** - Un Indexer è libero di chiudere un'allocazione una volta che 1 epoca è passata ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) o il loro Indexer agent chiuderà automaticamente l'allocazione dopo il **maxAllocationEpochs** (attualmente 28 giorni). Quando un'allocazione viene chiusa con una prova di indicizzazione (POI) valida, le ricompense per l'indicizzazione vengono distribuite all'Indexer e ai suoi Delegator (per saperne di più, si veda la sezione "Come vengono distribuite le ricompense?). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Si raccomanda agli Indexer di utilizzare la funzionalità di sincronizzazione offchain per sincronizzare le distribuzioni dei subgraph con chainhead prima di creare l'allocazione on-chain. Questa funzione è particolarmente utile per i subgraph che possono richiedere più di 28 epoche per la sincronizzazione o che hanno qualche possibilità di fallire in modo indeterminato. From 0db3dccb3673ac890421c5169273fbe973472414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:14 -0400 Subject: [PATCH 0464/2326] New translations indexing.mdx (Japanese) --- website/pages/ja/network/indexing.mdx | 78 ++++++++++++++++----------- 1 file changed, 48 insertions(+), 30 deletions(-) diff --git a/website/pages/ja/network/indexing.mdx b/website/pages/ja/network/indexing.mdx index 1f65adb35093..abd8622ecd6f 100644 --- a/website/pages/ja/network/indexing.mdx +++ b/website/pages/ja/network/indexing.mdx @@ -26,7 +26,7 @@ title: インデキシング インデキシング報酬は、年間 3%の発行量に設定されているプロトコル・インフレから得られます。 報酬は、それぞれのサブグラフにおけるすべてのキュレーション・シグナルの割合に基づいてサブグラフに分配され、そのサブグラフに割り当てられたステークに基づいてインデクサーに分配されます。 **特典を受けるためには、仲裁憲章で定められた基準を満たす有効な POI(Proof of Indexing)で割り当てを終了する必要があります。** -コミュニティでは報酬を計算するための多くのツールが開発されており、それらは[Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c)で整理されています。また、最新のツールのリストは[Discord server](https://discord.gg/graphprotocol)の#Delegatorsおよび#Indexersチャンネルで確認できます。以下に、インデクサーソフトウェアスタックに統合された[recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl)へのリンクを示します。 +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### POI(proof of indexing)とは何ですか? @@ -38,7 +38,7 @@ POI は、インデクサーが割り当てられたサブグラフにインデ ### 保留中のインデクサーの報酬は監視できますか? -RewardsManager コントラクトには、使用できる読み取り専用の [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) 関数があります。特定の割り当てに対する保留中の報酬を確認します。 +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. コミュニティが作成したダッシュボードの多くには保留中の報酬値が含まれており、次の手順に従って手動で簡単に確認できます。 @@ -63,7 +63,7 @@ Use Etherscan to call `getRewards()`: - [報酬契約への Etherscan インターフェイス](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract)に移動します。 * `getRewards()`を呼び出します - - **10 を拡大します。 getRewards**のドロップダウン + - Expand the **9. getRewards** dropdown. - 入力欄に**allocationID**を入力 - **Query**ボタンをクリック @@ -112,12 +112,12 @@ Use Etherscan to call `getRewards()`: - **Medium** - 100 個のサブグラフと 1 秒あたり 200 ~ 500 のリクエストをサポートするプロダクションインデクサー - **Large** - 現在使用されているすべてのサブグラフのインデックスを作成し、関連するトラフィックのリクエストに対応します -| Setup | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Small | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Medium | 16 | 64 | 2 | 32 | 64 | -| Large | 72 | 468 | 3.5 | 48 | 184 | +| Setup | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | +| -------- |:--------------------------:|:-----------------------------------:|:---------------------------------:|:---------------------:|:------------------------------:| +| Small | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 1 | 12 | 48 | +| Medium | 16 | 64 | 2 | 32 | 64 | +| Large | 72 | 468 | 3.5 | 48 | 184 | ### インデクサーが取るべきセキュリティ対策は? @@ -149,20 +149,20 @@ Use Etherscan to call `getRewards()`: #### グラフノード -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ------------------------------------------------------- | ------------------------------------------------------ | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(for managing deployments) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Service -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ------------------------------------------------------------ | --------------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Agent @@ -182,9 +182,9 @@ Use Etherscan to call `getRewards()`: #### Google Cloud プロジェクトの作成 -- クローンまたはインデクサーリポジトリに移動 +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- ./terraform ディレクトリに移動し、ここですべてのコマンドを実行 +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -296,7 +296,7 @@ Deploy all resources with `kubectl apply -k $dir`. ### グラフノード -[グラフノード](https://github.com/graphprotocol/graph-node)はオープンソースの Rust 実装で、Ethereum ブロックチェーンをイベントソースにして、GraphQL エンドポイントでクエリ可能なデータストアを決定論的に更新します。 開発者は、サブグラフを使ってスキーマを定義し、ブロックチェーンから供給されるデータを変換するためのマッピングセットを使用します。 グラフノードは、チェーン全体の同期、新しいブロックの監視、GraphQL エンドポイント経由での提供を処理します。 +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### ソースからのスタート @@ -730,10 +730,10 @@ default => 0.1 * $SYSTEM_LOAD; 上記のモデルを使用したクエリのコスト計算の例: -| クエリ | 価格 | +| クエリ | 価格 | | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | -| { トークン { シンボル } } | 0.1 GRT | +| { トークン { シンボル } } | 0.1 GRT | | { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | #### コストモデルの適用 @@ -749,7 +749,9 @@ indexer cost set model my_model.agora ### プロトコルへのステーク -インデクサーとしてネットワークに参加するための最初のステップは、プロトコルを承認し、資金を拠出し、(オプションで)日常的なプロトコルのやり取りのためにオペレーターアドレスを設定することです。 \_ **注**: 本説明書ではコントラクトのやり取りに Remix を使用しますが、お好みのツールを自由にお使いください([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account)などが知られています) +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). インデクサーがプロトコルにGRTをステークすると、[Indexerコンポーネント](/network/indexing#indexer-components)を立ち上げ、ネットワークとのやりとりを開始することができます。 @@ -759,7 +761,7 @@ indexer cost set model my_model.agora 2. `File Explorer`で**GraphToken.abi**というファイルを作成し、 [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json)を指定します。 -3. `GraphToken.abi`を選択してエディタで開いた状態で、Remix のインターフェースの Deploy and `Run Transactions` セクションに切り替えます。 +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. 環境から[`Injected Web3`] を選択し、`Account`でインデクサーアドレスを選択します。 @@ -773,7 +775,7 @@ indexer cost set model my_model.agora 2. `File Explorer`で**Staking.abi**という名前のファイルを作成し、Staking ABI を指定します。 -3. エディタで`Staking.abi`を選択して開いた状態で、Remix インターフェースの`Deploy` and `Run Transactions`セクションに切り替えます。 +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. 環境から[`Injected Web3`] を選択し、`Account`でインデクサーアドレスを選択します。 @@ -789,12 +791,28 @@ indexer cost set model my_model.agora setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### アロケーションの寿命 インデクサーによって作成された後、健全なアロケーションは 4 つの状態を経ます。 -- **アクティブ** - 割り当てがオンチェーンで作成されると ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/ Staking.sol#L873)) **アクティブ**と見なされます。インデクサー自身および/または委任されたステークの一部は、サブグラフの展開に割り当てられます。これにより、インデックス作成の報酬を要求し、そのサブグラフの展開に対するクエリを提供できます。インデクサー エージェントは、インデクサー ルールに基づいて割り当ての作成を管理します。 +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed** - インデクサーは、1 エポックが経過した時点で自由に割り当てをクローズすることができます([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) また、インデクサエージェントは、**maxAllocationEpochs**(現在は 28 日)が経過した時点で自動的に割り当てをクローズします。 割り当てが有効な POI(Proof of Indexing)とともにクローズされると、そのインデクサー報酬がインデクサーとそのデリゲーターに分配されます(詳細は下記の「報酬の分配方法」を参照してください) +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). インデクサーは、チェーン上に配置を作成する前に、チェーンヘッドにサブグラフの配置を同期させるために、オフチェーン同期機能を利用することを推奨します。この機能は、同期に28エポック以上かかる可能性があるサブグラフや、不定期に失敗する可能性があるサブグラフに特に有効です。 From 8815c7ff48916cf94dc414b49ffa7d4429fd4d95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:15 -0400 Subject: [PATCH 0465/2326] New translations indexing.mdx (Korean) --- website/pages/ko/network/indexing.mdx | 74 +++++++++++++++++---------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/website/pages/ko/network/indexing.mdx b/website/pages/ko/network/indexing.mdx index 9bdc2fb2eb7e..8ecbccdeb03e 100644 --- a/website/pages/ko/network/indexing.mdx +++ b/website/pages/ko/network/indexing.mdx @@ -26,7 +26,7 @@ The minimum stake for an Indexer is currently set to 100K GRT. Indexing rewards come from protocol inflation which is set to 3% annual issuance. They are distributed across subgraphs based on the proportion of all curation signal on each, then distributed proportionally to Indexers based on their allocated stake on that subgraph. **An allocation must be closed with a valid proof of indexing (POI) that meets the standards set by the arbitration charter in order to be eligible for rewards.** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### What is a proof of indexing (POI)? @@ -38,7 +38,7 @@ Allocations are continuously accruing rewards while they're active and allocated ### Can pending indexing rewards be monitored? -The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) function that can be used to check the pending rewards for a specific allocation. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Many of the community-made dashboards include pending rewards values and they can be easily checked manually by following these steps: @@ -63,7 +63,7 @@ Use Etherscan to call `getRewards()`: - Navigate to [Etherscan interface to Rewards contract](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * To call `getRewards()`: - - Expand the **10. getRewards** dropdown. + - Expand the **9. getRewards** dropdown. - Enter the **allocationID** in the input. - Click the **Query** button. @@ -112,12 +112,12 @@ Indexers may differentiate themselves by applying advanced techniques for making - **Medium** - Production Indexer supporting 100 subgraphs and 200-500 requests per second. - **Large** - Prepared to index all currently used subgraphs and serve requests for the related traffic. -| Setup | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Small | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Medium | 16 | 64 | 2 | 32 | 64 | -| Large | 72 | 468 | 3.5 | 48 | 184 | +| Setup | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | +| -------- |:--------------------------:|:-----------------------------------:|:---------------------------------:|:---------------------:|:------------------------------:| +| Small | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 1 | 12 | 48 | +| Medium | 16 | 64 | 2 | 32 | 64 | +| Large | 72 | 468 | 3.5 | 48 | 184 | ### What are some basic security precautions an Indexer should take? @@ -149,20 +149,20 @@ Note: To support agile scaling, it is recommended that query and indexing concer #### Graph Node -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ----------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(for managing deployments) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Service -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ---------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Agent @@ -182,9 +182,9 @@ Note: To support agile scaling, it is recommended that query and indexing concer #### Create a Google Cloud Project -- Clone or navigate to the Indexer repository. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Navigate to the ./terraform directory, this is where all commands should be executed. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Deploy all resources with `kubectl apply -k $dir`. ### Graph Node -[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the block chain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Getting started from source @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Stake in the protocol -The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. _ **Note**: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Once an Indexer has staked GRT in the protocol, the [Indexer components](/network/indexing#indexer-components) can be started up and begin their interactions with the network. @@ -760,7 +762,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **GraphToken.abi** with the [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. With `GraphToken.abi` selected and open in the editor, switch to the Deploy and `Run Transactions` section in the Remix interface. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -774,7 +776,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **Staking.abi** with the staking ABI. -3. With `Staking.abi` selected and open in the editor, switch to the `Deploy` and `Run Transactions` section in the Remix interface. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -790,12 +792,28 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### The life of an allocation After being created by an Indexer a healthy allocation goes through four states. -- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators (see "how are rewards distributed?" below to learn more). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Indexers are recommended to utilize offchain syncing functionality to sync subgraph deployments to chainhead before creating the allocation on-chain. This feature is especially useful for subgraphs that may take longer than 28 epochs to sync or have some chances of failing undeterministically. From 81957d9e5911d039a97cabfc0b4cc3f07a04bc18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:16 -0400 Subject: [PATCH 0466/2326] New translations indexing.mdx (Dutch) --- website/pages/nl/network/indexing.mdx | 322 ++++++++++++++------------ 1 file changed, 170 insertions(+), 152 deletions(-) diff --git a/website/pages/nl/network/indexing.mdx b/website/pages/nl/network/indexing.mdx index 9bdc2fb2eb7e..0133e5360f2a 100644 --- a/website/pages/nl/network/indexing.mdx +++ b/website/pages/nl/network/indexing.mdx @@ -1,48 +1,48 @@ --- -title: Indexing +title: Indexeren --- -Indexers are node operators in The Graph Network that stake Graph Tokens (GRT) in order to provide indexing and query processing services. Indexers earn query fees and indexing rewards for their services. They also earn query fees that are rebated according to an exponential rebate function. +Indexeers zijn node-operators in The Graph Netwerk die Graph Tokens (GRT) inzetten om indexing- en queryverwerkingsdiensten te leveren. Indexeerders verdienen querykosten en indexingsbeloningen voor hun diensten. Ze verdienen ook querykosten die worden terugbetaald volgens een exponentiële functie. -GRT that is staked in the protocol is subject to a thawing period and can be slashed if Indexers are malicious and serve incorrect data to applications or if they index incorrectly. Indexers also earn rewards for delegated stake from Delegators, to contribute to the network. +GRT dat in het protocol wordt ingezet, is onderheven aan een ontdooiperiode en kan worden geslashed als Indexers schadelijke acties ondernemen, onjuiste data aan applicaties leveren of als ze onjuist indexeren. Indexers verdienen ook beloningen voor gedelegeerde inzet van Delegators om te contributeren aan het netwerk. -Indexers select subgraphs to index based on the subgraph’s curation signal, where Curators stake GRT in order to indicate which subgraphs are high-quality and should be prioritized. Consumers (eg. applications) can also set parameters for which Indexers process queries for their subgraphs and set preferences for query fee pricing. +Indexeerders selecteren subgraphs om te indexeren op basis van het curatiesignaal van de subgraph, waar Curatoren GRT inzetten om aan te geven welke subgraphs van hoge kwaliteit zijn en prioriteit moeten krijgen. Consumenten (bijv. applicaties) kunnen ook parameters instellen voor welke Indexeerders queries voor hun subgraphs verwerken en voorkeuren instellen voor de prijs van querykosten. ## FAQ -### What is the minimum stake required to be an Indexer on the network? +### Wat is de minimale inzet vereist om een Indexeerder op het netwerk te zijn? -The minimum stake for an Indexer is currently set to 100K GRT. +De minimale inzet voor een Indexeerder is momenteel vastgesteld op 100K GRT. -### What are the revenue streams for an Indexer? +### Wat zijn de inkomstenstromen voor een Indexeerder? -**Query fee rebates** - Payments for serving queries on the network. These payments are mediated via state channels between an Indexer and a gateway. Each query request from a gateway contains a payment and the corresponding response a proof of query result validity. +**Querykostenrebates** - Betalingen voor het verwerken van queries op het netwerk. Deze betalingen worden bemiddeld via state channels tussen een Indexeerder en een gateway. Elke query-aanvraag van een gateway bevat een betaling en de bijbehorende reactie een bewijs van geldigheid van het queryresultaat. -**Indexing rewards** - Generated via a 3% annual protocol wide inflation, the indexing rewards are distributed to Indexers who are indexing subgraph deployments for the network. +**Indexeringsbeloningen** - De indexeringsbeloningen worden gegenereerd via de 3% jaarlijkse protocolbrede inflatie en verdeeld onder de Indexeerders die subgraphs voor het netwerk indexeren. -### How are indexing rewards distributed? +### Hoe worden indexeringsbeloningen verdeeld? -Indexing rewards come from protocol inflation which is set to 3% annual issuance. They are distributed across subgraphs based on the proportion of all curation signal on each, then distributed proportionally to Indexers based on their allocated stake on that subgraph. **An allocation must be closed with a valid proof of indexing (POI) that meets the standards set by the arbitration charter in order to be eligible for rewards.** +Indexeringsbeloningen komen van de protocolinflatie die is vastgesteld op 3% jaarlijkse uitgifte. Ze worden verdeeld over de subgraphs op basis van de verhouding van al het curatiesignaal, en vervolgens proportioneel verdeeld onder de Indexers op basis van hun toegewezen inzet op die subgraph. **Een allocatie moet worden gesloten met een geldig bewijs van indexering (Proof of Indexing) dat voldoet aan de normen die door het arbitrage charter zijn vastgesteld om in aanmerking te komen voor beloningen. ** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Vele hulpmiddelen zijn gecreëerd door de community voor het berekenen van beloningen; je vindt een verzameling ervan georganiseerd in de [Community Guides collectie](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). Je kunt ook een actuele lijst van hulpmiddelen vinden in de #Delegators en #indexers kanalen op de [Discord server](https://discord.gg/graphprotocol). Hier is een link naar de [aanbevolen allocatie optimalisator](https://github.com/graphprotocol/allocation-optimizer) die is geïntegreerd met de Indexeerder-softwarestack. -### What is a proof of indexing (POI)? +### Wat is een bewijs van indexering (Proof of Indexing)? -POIs are used in the network to verify that an Indexer is indexing the subgraphs they have allocated on. A POI for the first block of the current epoch must be submitted when closing an allocation for that allocation to be eligible for indexing rewards. A POI for a block is a digest for all entity store transactions for a specific subgraph deployment up to and including that block. +POI's worden in het netwerk gebruikt om te verifiëren dat een indexer aan het indexeren is op de subgraph waaraan zij zijn toegewezen. Een POI voor het eerste blok van de huidige epoch moet opgegeven worden tijdens het sluiten van een allocatie, zodat die allocatie in aanmerking komt voor indexeringsbeloningen. Een POI voor een blok is een verwerking van alle entiteitwinkeltransacties voor een specifieke subgraph-implementatie tot aan en inclusief dat blok. -### When are indexing rewards distributed? +### Wanneer worden indexeringsbeloningen verdeeld? -Allocations are continuously accruing rewards while they're active and allocated within 28 epochs. Rewards are collected by the Indexers, and distributed whenever their allocations are closed. That happens either manually, whenever the Indexer wants to force close them, or after 28 epochs a Delegator can close the allocation for the Indexer, but this results in no rewards. 28 epochs is the max allocation lifetime (right now, one epoch lasts for ~24h). +Allocaties verzamelen voortdurend beloningen terwijl ze actief zijn tot een maximum duur van 28 epochs. Beloningen worden verzameld door de Indexers en verdeeld wanneer ze hun allocaties sluiten. Dat gebeurt handmatig wanneer de Indexeerder ze wil sluiten of, na 28 epochs kan een Delagator de allocatie voor de Indexeerder sluiten, maar dit resulteerd in geen beloningen. 28 epochs is de maximale duur van een allocatie (momenteel duurt één epoch ongeveer 24 uur). -### Can pending indexing rewards be monitored? +### Kunnen ongerealiseerde indexeringsbeloningen worden bekeken? -The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) function that can be used to check the pending rewards for a specific allocation. +Het RewardsManager-contract heeft een read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) functie die kan worden gebruikt om te controleren hoeveel ongerealiseerde beloningen er zijn voor een specifieke allocatie. -Many of the community-made dashboards include pending rewards values and they can be easily checked manually by following these steps: +Veel van de door de community gemaakte dashboards bevatten waarden van ongerealiseerde beloningen en ze kunnen gemakkelijk handmatig worden gecontroleerd door deze stappen te volgen: -1. Query the [mainnet subgraph](https://thegraph.com/hosted-service/subgraph/graphprotocol/graph-network-mainnet) to get the IDs for all active allocations: +1. Query de [mainnet subgraph](https://thegraph.com/hosted-service/subgraph/graphprotocol/graph-network-mainnet) om de ID's te krijgen voor alle actieve allocaties: ```graphql query indexerAllocations { @@ -58,139 +58,139 @@ query indexerAllocations { } ``` -Use Etherscan to call `getRewards()`: +Gebruik Etherscan om `getRewards()` aan te roepen: -- Navigate to [Etherscan interface to Rewards contract](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) +- Navigeer naar de [Etherscan-interface naar het Rewards-contract](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) -* To call `getRewards()`: - - Expand the **10. getRewards** dropdown. - - Enter the **allocationID** in the input. - - Click the **Query** button. +* Om `getRewards()` aan te roepen: + - Klap het dropdown-menu van **9. getRewards** uit. + - Voer het **allocationID** in het invoerveld in. + - Klik op de **Query** knop. -### What are disputes and where can I view them? +### Wat zijn geschillen en waar kan ik ze bekijken? -Indexer's queries and allocations can both be disputed on The Graph during the dispute period. The dispute period varies, depending on the type of dispute. Queries/attestations have 7 epochs dispute window, whereas allocations have 56 epochs. After these periods pass, disputes cannot be opened against either of allocations or queries. When a dispute is opened, a deposit of a minimum of 10,000 GRT is required by the Fishermen, which will be locked until the dispute is finalized and a resolution has been given. Fisherman are any network participants that open disputes. +Een indexers query's en allocaties kunnen beide betwist worden op The Graph tijdens de dispuutperiode. De dispuutperiode varieert afhankelijk van het type dispuut. Query's/attestaties hebben een 7 epochs dispuutperiode waarbij allocaties 56 epochs hebben. Nadat deze periodes aflopen kunnen disputen niet meer geopnd worde thegen allocaties of query's. Wanneer een dispuut geopend is, is een storting van minimaal 10,000 GRT vereist door de Fisherman, welke vergrendeld zal worden to het dipuut gefinalizeerd is en een resolutie gegeven is. Fisherman zijn alle netwerkdeelnemers die disputen openen. -Disputes have **three** possible outcomes, so does the deposit of the Fishermen. +Disputen hebben **drie** mogelijke uitkomsten, net als de storting van de Fishermen. -- If the dispute is rejected, the GRT deposited by the Fishermen will be burned, and the disputed Indexer will not be slashed. -- If the dispute is settled as a draw, the Fishermen's deposit will be returned, and the disputed Indexer will not be slashed. -- If the dispute is accepted, the GRT deposited by the Fishermen will be returned, the disputed Indexer will be slashed and the Fishermen will earn 50% of the slashed GRT. +- Als het dispuut wordt verworpen, wordt de door de Fishermen gestorte GRT verbrand, en de betwiste Indexeerder zal niet worden geslashed. +- Als het dispuut wordt beoordeeld als een gelijkspel, wordt de storting van de Fishermen teruggestort, en de betwiste Indexeerder zal niet worden geslashed. +- Als het dispuut wordt geaccepteerd, wordt de door de Fishermen gestorte GRT teruggestort, de betwiste Indexeerder zal worden geslashed. De Fishermen ontvangen 50% van de GRT die geslashed is. -Disputes can be viewed in the UI in an Indexer's profile page under the `Disputes` tab. +Disputen kunnen in de UI op de profielpagina van de Indexeerder onder het tabblad `Disputen` worden bekeken. -### What are query fee rebates and when are they distributed? +### Wat zijn query kosten rebates en wanneer worden ze uitgedeeld? -Query fees are collected by the gateway and distributed to indexers according to the exponential rebate function (see GIP [here](https://forum.thegraph.com/t/gip-0051-exponential-query-fee-rebates-for-indexers/4162)). The exponential rebate function is proposed as a way to ensure indexers achieve the best outcome by faithfully serving queries. It works by incentivizing Indexers to allocate a large amount of stake (which can be slashed for erring when serving a query) relative to the amount of query fees they may collect. +Querykosten worden verzameld door de gateway en verdeeld aan Indexeerders volgens de exponentiële rebate-functie (zie de GIP [hier](https://forum.thegraph.com/t/gip-0051-exponential-query-fee-rebates-for-indexers/4162)). De exponentiële rebate-functie is voorgesteld als een manier om ervoor te zorgen dat Indexeerders het beste resultaat behalen door trouw query's te verwerken. Het werkt door het voor Indexeerders aantrekkelijk the maken om een grote hoeveelheid in te zetten (die kan worden geslashed voor fouten bij het verwerken van een query) in verhouding tot de hoeveelheid querykosten die ze kunnen innen. -Once an allocation has been closed the rebates are available to be claimed by the Indexer. Upon claiming, the query fee rebates are distributed to the Indexer and their Delegators based on the query fee cut and the exponential rebate function. +Zodra een allocatie is gesloten, zijn de rebates beschikbaar om door de Indexeerder te worden geclaimd. Bij het claimen worden de query rebates verdeeld aan de Indexeerder en hun Delegators op basis van de query fee cut en de exponentiële rebate-functie. -### What is query fee cut and indexing reward cut? +### Wat is de Query Fee Cut en de Indexing Reward Cut? -The `queryFeeCut` and `indexingRewardCut` values are delegation parameters that the Indexer may set along with cooldownBlocks to control the distribution of GRT between the Indexer and their Delegators. See the last steps in [Staking in the Protocol](/network/indexing#stake-in-the-protocol) for instructions on setting the delegation parameters. +De `queryFeeCut` en `indexingRewardCut` waarden zijn delegatie parameters die de Indexer kan instellen samen met de cooldownBlocks om de verdeling GRT te controleren tussen de Indexer en hun Delegators. Zie de laatste stappen in [Inzetten in het Protocol](/network/indexing#stake-in-the-protocol) voor instructies op delegatie parameters in the stellen. -- **queryFeeCut** - the % of query fee rebates that will be distributed to the Indexer. If this is set to 95%, the Indexer will receive 95% of the query fees earned when an allocation is closed with the other 5% going to the Delegators. +- **queryFeeCut** - het % van de query kosten rebates die worden verdeeld aan de Indexeerder. Als dit is ingesteld op 95%, ontvangt de Indexeerder 95% van de query kosten die zijn verdiend wanneer een allocatie wordt gesloten, met de overige 5% gaande naar Delegators. -- **indexingRewardCut** - the % of indexing rewards that will be distributed to the Indexer. If this is set to 95%, the Indexer will receive 95% of the indexing rewards when an allocation is closed and the Delegators will split the other 5%. +- **indexingRewardCut** - het % van de indexeringsbeloningen die worden verdeeld aan de Indexeerder. Als dit is ingesteld op 95%, ontvangt de Indexeerder 95% van de indexeringsbeloningen wanneer een allocatie wordt gesloten, met de overige 5% verdeeld onder de Delegators. -### How do Indexers know which subgraphs to index? +### Hoe weten Indexeerders welke subgraphs te indexeren? -Indexers may differentiate themselves by applying advanced techniques for making subgraph indexing decisions but to give a general idea we'll discuss several key metrics used to evaluate subgraphs in the network: +Indexeerders kunnen zich onderscheiden door geavanceerde technieken toe te passen bij het maken van beslissingen over subgraph indexering maar om een algemeen idee te geven, bespreken we enkele belangrijke meetpunten die worden gebruikt om subgraphs te evalueren in het netwerk: -- **Curation signal** - The proportion of network curation signal applied to a particular subgraph is a good indicator of the interest in that subgraph, especially during the bootstrap phase when query voluming is ramping up. +- **Curatie Signaal** - De proportie van het netwerk curatie signaal dat is gesignaleerd op een bepaalde subgraph is een goede indicator van de interesse in die subgraph, vooral tijdens de bootstrap fase wanneer het query volume toeneemt. -- **Query fees collected** - The historical data for volume of query fees collected for a specific subgraph is a good indicator of future demand. +- **Verzamelde query kosten** - De historische data voor het volume van verzamelde query kosten voor een specifieke subgraph is een goede indicator voor toekomstige vraag. -- **Amount staked** - Monitoring the behavior of other Indexers or looking at proportions of total stake allocated towards specific subgraphs can allow an Indexer to monitor the supply side for subgraph queries to identify subgraphs that the network is showing confidence in or subgraphs that may show a need for more supply. +- **Hoeveelheid inzet** - Het monitoren van het gedrag van andere Indexeerders of het bekijken van verhoudingen van het totaal aan inzet naar specifieke subgraphs kan een Indexeerder helpen de aanbodzijde voor subgraph query's te monitoren om subgraphs te identificeren waarin het netwerk vertrouwen toont of subgraphs die mogelijk meer aanbod nodig hebben. -- **Subgraphs with no indexing rewards** - Some subgraphs do not generate indexing rewards mainly because they are using unsupported features like IPFS or because they are querying another network outside of mainnet. You will see a message on a subgraph if it is not generating indexing rewards. +- **Subgraphs zonder indexeringsbeloningen** - Sommige subgraphs genereren geen indexeringsbeloningen, meestal omdat ze niet-ondersteunde functies zoals IPFS gebruiken of query's versturen naar een netwerk buiten het mainnet. Je zult een bericht zien op een subgraph als deze geen indexeringsbeloningen genereert. -### What are the hardware requirements? +### Wat zijn de hardware vereisten? -- **Small** - Enough to get started indexing several subgraphs, will likely need to be expanded. -- **Standard** - Default setup, this is what is used in the example k8s/terraform deployment manifests. -- **Medium** - Production Indexer supporting 100 subgraphs and 200-500 requests per second. -- **Large** - Prepared to index all currently used subgraphs and serve requests for the related traffic. +- **Klein** - Genoeg om te beginnen met het indexeren van enkele subgraphs, zal waarschijnlijk uitgebreid moeten worden. +- **Standaard** - Standaard setup, dit wordt gebruikt in het voorbeeld k8s/terraform uitvoeringsmanifest. +- **Middel** - Indexer die 100 subgraphs ondersteund en 200-500 query's per seconde verwerkt. +- **Groot** - Voorbereid om alle momenteel gebruikte subgraphs te indexeren en de bijbehorende query's te verwerken. -| Setup | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Small | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Medium | 16 | 64 | 2 | 32 | 64 | -| Large | 72 | 468 | 3.5 | 48 | 184 | +| Setup | Postgres
(CPUs) | Postgres
(Geheugen in GBs) | Postgres
(schijf in TBs) | VMs
(CPUs) | VMs
(geheugen in GBs) | +| --------- |:--------------------------:|:-------------------------------------:|:-----------------------------------:|:---------------------:|:--------------------------------:| +| Klein | 4 | 8 | 1 | 4 | 16 | +| Standaard | 8 | 30 | 1 | 12 | 48 | +| Middel | 16 | 64 | 2 | 32 | 64 | +| Groot | 72 | 468 | 3.5 | 48 | 184 | -### What are some basic security precautions an Indexer should take? +### Wat zijn enkele basisveiligheidsmaatregelen die een Indexeerder moet nemen? -- **Operator wallet** - Setting up an operator wallet is an important precaution because it allows an Indexer to maintain separation between their keys that control stake and those that are in control of day-to-day operations. See [Stake in Protocol](/network/indexing#stake-in-the-protocol) for instructions. +- **Operator wallet** - Het opzetten van een operator wallet is een belangrijke voorzorgsmaatregel omdat het een Indexeerder in staat stelt om scheiding te behouden tussen de sleutels die de GRT beheren en degenen die de dagelijkse operaties beheren. Zie [Inzet in het Protocol](/network/indexing#stake-in-the-protocol) voor instructies. -- **Firewall** - Only the Indexer service needs to be exposed publicly and particular attention should be paid to locking down admin ports and database access: the Graph Node JSON-RPC endpoint (default port: 8030), the Indexer management API endpoint (default port: 18000), and the Postgres database endpoint (default port: 5432) should not be exposed. +- **Firewall** - Alleen de Indexer service hoeft openbaar te worden blootgesteld en er moet extra aandacht worden besteed aan het vergrendelen van de admin poorten en database toegang: de Graph Node Jason-RPC endpoint (standaardpoort: 8030), de Indexer management API endpoint (standaardpoort: 18000), en de Postgres database endpoint (standaardpoort: 5432) mogen niet worden blootgesteld. -## Infrastructure +## Infrastructuur -At the center of an Indexer's infrastructure is the Graph Node which monitors the indexed networks, extracts and loads data per a subgraph definition and serves it as a [GraphQL API](/about/#how-the-graph-works). The Graph Node needs to be connected to an endpoint exposing data from each indexed network; an IPFS node for sourcing data; a PostgreSQL database for its store; and Indexer components which facilitate its interactions with the network. +Het hart van de infrastructuur van een Indexeerder is de Graph Node, die de geïndexeerde netwerken monitort, data extract en laadt volgens een subgraphdefinitie en deze dient als een [GraphQL API](/about/#how-the-graph-works). De Graph Node moet verbonden zijn met een eindpunt dat gegevens van elke geïndexeerd netwerk blootstelt; een IPFS-node voor het verkrijgen van data, een PostgreSQL database voor de opslag; en de Indexer-componenten die de interacties met het netwerk faciliteren. -- **PostgreSQL database** - The main store for the Graph Node, this is where subgraph data is stored. The Indexer service and agent also use the database to store state channel data, cost models, indexing rules, and allocation actions. +- **PostgreSQL database** - De hoofdopslag voor de Graph Node, hier wordt subgraph data opgeslagen. De Indexer-service en -agent gebruiken de database ook om gegevens van state channels, kostenmodellen, indexatieregels en allocatieacties op te slaan. -- **Data endpoint** - For EVM-compatible networks, Graph Node needs to be connected to an endpoint that exposes an EVM-compatible JSON-RPC API. This may take the form of a single client or it could be a more complex setup that load balances across multiple. It's important to be aware that certain subgraphs will require particular client capabilities such as archive mode and/or the parity tracing API. +- **Data eindpunt** Voor EVM-compatibele netwerken moet de Graph Node verbonden zijn met een eindpunt dat een EVM-compatibele JSON-RPC API blootstelt. Dit kan de vorm aannemen van een enkele client of een complexere setup die de belasting verdeeld over meerdere clients. Het is belangrijk om te weten dat sommige subgraphs specifieke eisen hebben voor de client, zoals archiefmodus en/of de parity tracing API. -- **IPFS node (version less than 5)** - Subgraph deployment metadata is stored on the IPFS network. The Graph Node primarily accesses the IPFS node during subgraph deployment to fetch the subgraph manifest and all linked files. Network Indexers do not need to host their own IPFS node, an IPFS node for the network is hosted at https://ipfs.network.thegraph.com. +- **IPFS node (versie lager dan 5)** - Subgraph implementatie metadata is opgeslagen op het IPFS netwerk. De Graph Node communiceert voornamelijk met de IPFS-node tijdens de implementatie van subgraphs om het subgraph manifest en alle gelinkte bestanden op te vragen. Netwerk Indexers hoeven geen eigen IPFS-node te hosten, een IPFS-node voor het netwerk wordt gehost op https://ipfs.network.thegraph.com. -- **Indexer service** - Handles all required external communications with the network. Shares cost models and indexing statuses, passes query requests from gateways on to a Graph Node, and manages the query payments via state channels with the gateway. +- **Indexer service** - Beheert alle vereiste externe communicatie met het netwerk. Deelt kostenmodellen en indexeerstatussen, stuurt query's van gateways door naar een Graph Node en beheert de query betalingen via state channels met de gateway. -- **Indexer agent** - Facilitates the Indexers interactions on chain including registering on the network, managing subgraph deployments to its Graph Node/s, and managing allocations. +- **Indexer agent** - Faciliteert de interacties van de Indexeerders op de chain, inclusief registratie op het netwerk, beheer van subgraph implementaties op de Graph Node(s) en beheer van allocaties. -- **Prometheus metrics server** - The Graph Node and Indexer components log their metrics to the metrics server. +- **Prometheus metrics-server** - De Graph Node en Indexer-componenten versturen hun metrics naar de metrics-server. -Note: To support agile scaling, it is recommended that query and indexing concerns are separated between different sets of nodes: query nodes and index nodes. +Tip: Om wendbare schaalvergroting te ondersteunen, wordt aanbevolen om Query- en Indexeringszaken te scheiden tussen verschillende sets nodes: Query Nodes en Index Nodes. -### Ports overview +### Poorten overzicht -> **Important**: Be careful about exposing ports publicly - **administration ports** should be kept locked down. This includes the the Graph Node JSON-RPC and the Indexer management endpoints detailed below. +> **Belangrijk**: Wees voorzichtig met het openbaar blootstellen van poorten - **admin poorten** moeten vergrendeld blijven. Dit is inclusief de Graph Node JSON-RPC en de Indexer management endpoints, zoals hieronder beschreven. #### Graph Node -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Poort | Doel | Routes | CLI-Argument | Omgevingsvariabele | +| ----- | --------------------------------------------------------- | ---------------------------------------------------- | ----------------- | ------------------ | +| 8000 | GraphQL HTTP server
(voor subgraph query's) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(voor subgraph abonnementen) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(voor het beheren van implementaties) | / | --admin-port | - | +| 8030 | Subgraph indexeerstatus API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Service -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus metrics | /metrics | --metrics-port | - | +| Poort | Doel | Routes | CLI-Argument | Omgevingsvariabele | +| ----- | --------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP server
(voor betaalde subgraph query's) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Agent -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| ---- | ---------------------- | ------ | ------------------------- | --------------------------------------- | -| 8000 | Indexer management API | / | --indexer-management-port | `INDEXER_AGENT_INDEXER_MANAGEMENT_PORT` | +| Poort | Doel | Routes | CLI-Argument | Omgevingsvariabele | +| ----- | ---------------------- | ------ | ------------------------- | --------------------------------------- | +| 8000 | Indexer management API | / | --indexer-management-port | `INDEXER_AGENT_INDEXER_MANAGEMENT_PORT` | -### Setup server infrastructure using Terraform on Google Cloud +### Het opzetten van server infrastructuur met Terraform op Google Cloud -> Note: Indexers can alternatively use AWS, Microsoft Azure, or Alibaba. +> Let op: Indexeerders kunnen als alternatief AWS, Microsoft Azure or Alibaba gebruiken. -#### Install prerequisites +#### Installeer vereisten - Google Cloud SDK - Kubectl command line tool - Terraform -#### Create a Google Cloud Project +#### Maak een Google Cloud project aan -- Clone or navigate to the Indexer repository. +- Kloon of navigeer naar de [ Indexer repository](https://github.com/graphprotocol/indexer). -- Navigate to the ./terraform directory, this is where all commands should be executed. +- Navigeer naar de `./terraform` map, dit is waar alle commando's moeten worden uitgevoerd. ```sh cd terraform ``` -- Authenticate with Google Cloud and create a new project. +- Authenticeer met Google Cloud en maak een nieuw project. ```sh gcloud auth login @@ -198,9 +198,9 @@ project= gcloud projects create --enable-cloud-apis $project ``` -- Use the Google Cloud Console's billing page to enable billing for the new project. +- Gebruik de factureringspagina van Google Cloud Console om facturering voor het nieuwe project in te schakelen. -- Create a Google Cloud configuration. +- Maak een Google Cloud configuratie. ```sh proj_id=$(gcloud projects list --format='get(project_id)' --filter="name=$project") @@ -210,7 +210,7 @@ gcloud config set compute/region us-central1 gcloud config set compute/zone us-central1-a ``` -- Enable required Google Cloud APIs. +- Schakel de vereiste Google Cloud API's in. ```sh gcloud services enable compute.googleapis.com @@ -219,7 +219,7 @@ gcloud services enable servicenetworking.googleapis.com gcloud services enable sqladmin.googleapis.com ``` -- Create a service account. +- Maak een serviceaccount. ```sh svc_name= @@ -237,7 +237,7 @@ gcloud projects add-iam-policy-binding $proj_id \ --role roles/editor ``` -- Enable peering between database and Kubernetes cluster that will be created in the next step. +- Schakel peering in tussen de database en de Kubernetes cluster die in de volgende stap wordt gemaakt. ```sh gcloud compute addresses create google-managed-services-default \ @@ -251,7 +251,7 @@ gcloud services vpc-peerings connect \ --ranges=google-managed-services-default ``` -- Create minimal terraform configuration file (update as needed). +- Maak het minimaal terraform-configuratiebestand (update indien nodig). ```sh indexer= @@ -262,24 +262,24 @@ database_password = "" EOF ``` -#### Use Terraform to create infrastructure +#### Gebruik Terraform om infrastructuur te creëren -Before running any commands, read through [variables.tf](https://github.com/graphprotocol/indexer/blob/main/terraform/variables.tf) and create a file `terraform.tfvars` in this directory (or modify the one we created in the last step). For each variable where you want to override the default, or where you need to set a value, enter a setting into `terraform.tfvars`. +Voordat commandos worden uitgevoerd, lees [variables.tf](https://github.com/graphprotocol/indexer/blob/main/terraform/variables.tf) door en maak een bestand genaamd `terraform.tfvars` in deze map (of pas het bestand dat is gemaakt in de laatste stap aan). Voer voor elke variable waar u de standaard wilt overschrijven of waar u waarde moet instellen, een waarde in `terraform.tfvars` in. -- Run the following commands to create the infrastructure. +- Voer de volgende commandos in om de infrastructuur te creëren. ```sh -# Install required plugins +# Installeer vereiste plug-ins terraform init -# View plan for resources to be created +# Bekijk het plan voor bronnen die gecreëerd worden terraform plan -# Create the resources (expect it to take up to 30 minutes) +# Creëer de bronnen (verwacht dat het tot 30 minuten duurt) terraform apply ``` -Download credentials for the new cluster into `~/.kube/config` and set it as your default context. +Download de inloggegevens voor de nieuwe cluster in `~/.kube/config` en stel het in als uw standaardcontext. ```sh gcloud container clusters get-credentials $indexer @@ -287,21 +287,21 @@ kubectl config use-context $(kubectl config get-contexts --output='name' | grep $indexer) ``` -#### Creating the Kubernetes components for the Indexer +#### Creëer de Kubernetes-componenten voor de Indexer -- Copy the directory `k8s/overlays` to a new directory `$dir,` and adjust the `bases` entry in `$dir/kustomization.yaml` so that it points to the directory `k8s/base`. +- Kopieer de map `k8s/overlays` naar een nieuwe map `$dir,` en pas de `bases` invoer in `$dir/kustomization.yaml` aan zodat deze wijst naar de map `k8s/base`. -- Read through all the files in `$dir` and adjust any values as indicated in the comments. +- Lees alle bestanden in `$dir` door en pas eventueel waarden aan zoals aangegeven in de opmerkingen. -Deploy all resources with `kubectl apply -k $dir`. +Implementeer alle bronnen met `kubectl apply -k $dir`. ### Graph Node -[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the block chain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. +[Graph Node](https://github.com/graphprotocol/graph-node) is een open source Rust-implementatie die de data van de Ethereum blockchain deterministisch update naar een database, zodat de data kan worden opgevraagd via het GraphQL eindpunt. Developers gebruiken subgraphs om hun schema te creëren, een reeks mappings voor het transformeren van de blockchain data, en Graph Node synchroniseerd de volledige blockchain, monitort voor een aantal nieuwe blocks, en verwerkt dit via een GraphQL eindpunt. -#### Getting started from source +#### Starten vanuit source -#### Install prerequisites +#### Installeer vereisten - **Rust** @@ -309,7 +309,7 @@ Deploy all resources with `kubectl apply -k $dir`. - **IPFS** -- **Additional Requirements for Ubuntu users** - To run a Graph Node on Ubuntu a few additional packages may be needed. +- **Aanvullende vereisten voor Ubuntu gebruikers** - Om een Graph Node op Ubuntu te laten werken, zijn mogelijke enkele aanvullende updates nodig. ```sh sudo apt-get install -y clang libpg-dev libssl-dev pkg-config @@ -317,7 +317,7 @@ sudo apt-get install -y clang libpg-dev libssl-dev pkg-config #### Setup -1. Start a PostgreSQL database server +1. Start een PostgreSQL database server ```sh initdb -D .postgres @@ -325,9 +325,9 @@ pg_ctl -D .postgres -l logfile start createdb graph-node ``` -2. Clone [Graph Node](https://github.com/graphprotocol/graph-node) repo and build the source by running `cargo build` +2. Kloon de [Graph Node](https://github.com/graphprotocol/graph-node) map en bouw de bron door `cargo build` uit te voeren -3. Now that all the dependencies are setup, start the Graph Node: +3. Nu alle afhankelijkheden zijn ingesteld, start de Graph Node: ```sh cargo run -p graph-node --release -- \ @@ -336,54 +336,54 @@ cargo run -p graph-node --release -- \ --ipfs https://ipfs.network.thegraph.com ``` -#### Getting started using Docker +#### Starten met Docker -#### Prerequisites +#### Vereisten -- **Ethereum node** - By default, the docker compose setup will use mainnet: [http://host.docker.internal:8545](http://host.docker.internal:8545) to connect to the Ethereum node on your host machine. You can replace this network name and url by updating `docker-compose.yaml`. +- **Ethereum node** - De docker compose setup zal als standaard mainnet gebruiken: gebruik [http://host.docker.internal:8545](http://host.docker.internal:8545) om verbinding te maken met de Ethereum node op uw host machine.U kunt deze netwerknaam en url vervangen door `docker-compose.yaml` bij te werken. #### Setup -1. Clone Graph Node and navigate to the Docker directory: +1. Kloon Graph Node en navigeer naar de Docker map: ```sh git clone https://github.com/graphprotocol/graph-node cd graph-node/docker ``` -2. For linux users only - Use the host IP address instead of `host.docker.internal` in the `docker-compose.yaml`using the included script: +2. Alleen voor Linux gebruikers - Gebruik het IP-adres van de host in plaats van `host.docker.internal` in de `docker-compose.yaml` door dit script uit te voeren: ```sh ./setup.sh ``` -3. Start a local Graph Node that will connect to your Ethereum endpoint: +3. Start een lokale Graph Node die verbeiding maakt met uw Ethereum endpoint: ```sh docker-compose up ``` -### Indexer components +### De componenten van de Indexer -To successfully participate in the network requires almost constant monitoring and interaction, so we've built a suite of Typescript applications for facilitating an Indexers network participation. There are three Indexer components: +Om succesvol deel te nemen aan het netwerk is bijna constante monitoring en interactie nodig, dus we hebben een reeks Typescript applicaties ontwikkeld om deelname van Indexeerders aan het netwerk te vergemakkelijken. De indexer heeft drie componenten: -- **Indexer agent** - The agent monitors the network and the Indexer's own infrastructure and manages which subgraph deployments are indexed and allocated towards on chain and how much is allocated towards each. +- **Indexer agent** - De agent monitort het netwerk en de Indexers eigen infrastructuur en beheert welke subgraph implementaties worden geïndexeerd en allocaties naar on chain en hoe veel naar elk toegewezen wordt. -- **Indexer service** - The only component that needs to be exposed externally, the service passes on subgraph queries to the graph node, manages state channels for query payments, shares important decision making information to clients like the gateways. +- **Indexer service** - Het enige component dat extern moet worden blootgesteld. De Indexer service geeft subgraph query's door aan de Graph Node, beheert state channels voor betalingen van query's en deelt belangrijke besluitvormingsinformatie met cliënten zoals de gateways. -- **Indexer CLI** - The command line interface for managing the Indexer agent. It allows Indexers to manage cost models, manual allocations, actions queue, and indexing rules. +- **Indexer CLI** - De command line interface voor het beheren van de Indexer agent. Hiermee kunnen Indexeerders kostenmodellen, handmatige allocaties, wachtrijen voor acties en regels voor het indexeren beheren. -#### Getting started +#### Aan de slag -The Indexer agent and Indexer service should be co-located with your Graph Node infrastructure. There are many ways to set up virtual execution environments for your Indexer components; here we'll explain how to run them on baremetal using NPM packages or source, or via kubernetes and docker on the Google Cloud Kubernetes Engine. If these setup examples do not translate well to your infrastructure there will likely be a community guide to reference, come say hi on [Discord](https://discord.gg/graphprotocol)! Remember to [stake in the protocol](/network/indexing#stake-in-the-protocol) before starting up your Indexer components! +De indexer agent en indexer service moeten zich op de zelfde locatie bevinden als de Graph Node. Er zijn vele manieren om de virtuele uitvoeromgeving voor uw indexer-componenten op te zetten; we zullen uitleggen hoe ze op baremetal uit te voeren zijn met NPM-pakketten of de source code, of via Kubernetes en Docker op de Google Cloud Kubernetes Engine. Als deze voorbeelden niet goed zullen werken op uw infrastructuur, is er waarschijnlijk een community guide om als alternatief te gebruiken. Kom gerust hallo zeggen op [Discord](https://discord.gg/graphprotocol)! Onthoud om [GRT in the zetten](/network/indexing#stake-in-the-protocol) in het protocol voordat u uw indexer-componenten start! -#### From NPM packages +#### Met NPM-pakketten ```sh npm install -g @graphprotocol/indexer-service npm install -g @graphprotocol/indexer-agent -# Indexer CLI is a plugin for Graph CLI, so both need to be installed: +# Indexer CLI is een plug-in voor Graph CLI, dus beide moeten worden geïnstalleerd: npm install -g @graphprotocol/graph-cli npm install -g @graphprotocol/indexer-cli @@ -394,19 +394,19 @@ graph-indexer-service start ... graph-indexer-agent start ... # Indexer CLI -#Forward the port of your agent pod if using Kubernetes +# Stuur de poort van uw agent pod door als u Kubernetes gebruikt kubectl port-forward pod/POD_ID 18000:8000 graph indexer connect http://localhost:18000/ graph indexer ... ``` -#### From source +#### Met source-code ```sh -# From Repo root directory +# Vanuit de hoofdmap van de repository yarn -# Indexer Service +# Indexer service cd packages/indexer-service ./bin/graph-indexer-service start ... @@ -420,16 +420,16 @@ cd packages/indexer-cli ./bin/graph-indexer-cli indexer ... ``` -#### Using docker +#### Met Docker -- Pull images from the registry +- Haal de images uit het register ```sh docker pull ghcr.io/graphprotocol/indexer-service:latest docker pull ghcr.io/graphprotocol/indexer-agent:latest ``` -Or build images locally from source +Of bouw imagines lokaal vanuit source ```sh # Indexer service @@ -444,24 +444,24 @@ docker build \ -t indexer-agent:latest \ ``` -- Run the components +- Zet de componenten aan ```sh docker run -p 7600:7600 -it indexer-service:latest ... docker run -p 18000:8000 -it indexer-agent:latest ... ``` -**NOTE**: After starting the containers, the Indexer service should be accessible at [http://localhost:7600](http://localhost:7600) and the Indexer agent should be exposing the Indexer management API at [http://localhost:18000/](http://localhost:18000/). +**OPMERKING**: Na het starten van de containers, moet de Indexer service toegankelijk zijn op [http://localhost:7600](http://localhost:7600) en de Indexer agent zou de Indexer management API moeten bloodstellen op [http://localhost:18000/](http://localhost:18000/). -#### Using K8s and Terraform +#### Met K8s en Terraform -See the [Setup Server Infrastructure Using Terraform on Google Cloud](/network/indexing#setup-server-infrastructure-using-terraform-on-google-cloud) section +Zie de sectie [Infrastructuur van de server instellen met behulp van Terraform op Google Cloud](/network/indexing#setup-server-infrastructure-using-terraform-on-google-cloud) -#### Usage +#### Gebruik -> **NOTE**: All runtime configuration variables may be applied either as parameters to the command on startup or using environment variables of the format `COMPONENT_NAME_VARIABLE_NAME`(ex. `INDEXER_AGENT_ETHEREUM`). +> **OPMERKING**: Alle configuratievariabelen tijdens runtime kunnen worden toegepast als parameters bij het opstartcommando of met behulp van omgevingsvariabelen in het format `COMPONENT_NAME_VARIABLE_NAME`(bijv. `INDEXER_AGENT_ETHEREUM`). -#### Indexer agent +#### Indexer Agent ```sh graph-indexer-agent start \ @@ -490,7 +490,7 @@ graph-indexer-agent start \ | pino-pretty ``` -#### Indexer service +#### Indexer Service ```sh SERVER_HOST=localhost \ @@ -518,7 +518,7 @@ graph-indexer-service start \ #### Indexer CLI -The Indexer CLI is a plugin for [`@graphprotocol/graph-cli`](https://www.npmjs.com/package/@graphprotocol/graph-cli) accessible in the terminal at `graph indexer`. +De Indexer CLI is een plug-in voor [`@graphprotocol/graph-cli`](https://www.npmjs.com/package/@graphprotocol/graph-cli) toegankelijk in de terminal op `graph indexer`. ```sh graph indexer connect http://localhost:18000 @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Stake in the protocol -The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. _ **Note**: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Once an Indexer has staked GRT in the protocol, the [Indexer components](/network/indexing#indexer-components) can be started up and begin their interactions with the network. @@ -760,7 +762,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **GraphToken.abi** with the [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. With `GraphToken.abi` selected and open in the editor, switch to the Deploy and `Run Transactions` section in the Remix interface. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -774,7 +776,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **Staking.abi** with the staking ABI. -3. With `Staking.abi` selected and open in the editor, switch to the `Deploy` and `Run Transactions` section in the Remix interface. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -790,12 +792,28 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### The life of an allocation After being created by an Indexer a healthy allocation goes through four states. -- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators (see "how are rewards distributed?" below to learn more). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Indexers are recommended to utilize offchain syncing functionality to sync subgraph deployments to chainhead before creating the allocation on-chain. This feature is especially useful for subgraphs that may take longer than 28 epochs to sync or have some chances of failing undeterministically. From d1ef4c5686a8e89782e967f0ae0cb22004c2ae21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:17 -0400 Subject: [PATCH 0467/2326] New translations indexing.mdx (Polish) --- website/pages/pl/network/indexing.mdx | 74 +++++++++++++++++---------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/website/pages/pl/network/indexing.mdx b/website/pages/pl/network/indexing.mdx index 9bdc2fb2eb7e..8ecbccdeb03e 100644 --- a/website/pages/pl/network/indexing.mdx +++ b/website/pages/pl/network/indexing.mdx @@ -26,7 +26,7 @@ The minimum stake for an Indexer is currently set to 100K GRT. Indexing rewards come from protocol inflation which is set to 3% annual issuance. They are distributed across subgraphs based on the proportion of all curation signal on each, then distributed proportionally to Indexers based on their allocated stake on that subgraph. **An allocation must be closed with a valid proof of indexing (POI) that meets the standards set by the arbitration charter in order to be eligible for rewards.** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### What is a proof of indexing (POI)? @@ -38,7 +38,7 @@ Allocations are continuously accruing rewards while they're active and allocated ### Can pending indexing rewards be monitored? -The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) function that can be used to check the pending rewards for a specific allocation. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Many of the community-made dashboards include pending rewards values and they can be easily checked manually by following these steps: @@ -63,7 +63,7 @@ Use Etherscan to call `getRewards()`: - Navigate to [Etherscan interface to Rewards contract](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * To call `getRewards()`: - - Expand the **10. getRewards** dropdown. + - Expand the **9. getRewards** dropdown. - Enter the **allocationID** in the input. - Click the **Query** button. @@ -112,12 +112,12 @@ Indexers may differentiate themselves by applying advanced techniques for making - **Medium** - Production Indexer supporting 100 subgraphs and 200-500 requests per second. - **Large** - Prepared to index all currently used subgraphs and serve requests for the related traffic. -| Setup | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Small | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Medium | 16 | 64 | 2 | 32 | 64 | -| Large | 72 | 468 | 3.5 | 48 | 184 | +| Setup | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | +| -------- |:--------------------------:|:-----------------------------------:|:---------------------------------:|:---------------------:|:------------------------------:| +| Small | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 1 | 12 | 48 | +| Medium | 16 | 64 | 2 | 32 | 64 | +| Large | 72 | 468 | 3.5 | 48 | 184 | ### What are some basic security precautions an Indexer should take? @@ -149,20 +149,20 @@ Note: To support agile scaling, it is recommended that query and indexing concer #### Graph Node -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ----------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(for managing deployments) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Service -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ---------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Agent @@ -182,9 +182,9 @@ Note: To support agile scaling, it is recommended that query and indexing concer #### Create a Google Cloud Project -- Clone or navigate to the Indexer repository. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Navigate to the ./terraform directory, this is where all commands should be executed. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Deploy all resources with `kubectl apply -k $dir`. ### Graph Node -[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the block chain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Getting started from source @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Stake in the protocol -The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. _ **Note**: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Once an Indexer has staked GRT in the protocol, the [Indexer components](/network/indexing#indexer-components) can be started up and begin their interactions with the network. @@ -760,7 +762,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **GraphToken.abi** with the [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. With `GraphToken.abi` selected and open in the editor, switch to the Deploy and `Run Transactions` section in the Remix interface. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -774,7 +776,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **Staking.abi** with the staking ABI. -3. With `Staking.abi` selected and open in the editor, switch to the `Deploy` and `Run Transactions` section in the Remix interface. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -790,12 +792,28 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### The life of an allocation After being created by an Indexer a healthy allocation goes through four states. -- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators (see "how are rewards distributed?" below to learn more). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Indexers are recommended to utilize offchain syncing functionality to sync subgraph deployments to chainhead before creating the allocation on-chain. This feature is especially useful for subgraphs that may take longer than 28 epochs to sync or have some chances of failing undeterministically. From 213810f5bb9e5b0f8934a584c07ca3e1e08dc13a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:18 -0400 Subject: [PATCH 0468/2326] New translations indexing.mdx (Portuguese) --- website/pages/pt/network/indexing.mdx | 74 +++++++++++++++++---------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/website/pages/pt/network/indexing.mdx b/website/pages/pt/network/indexing.mdx index e22041a8bb18..de88bddf3dc8 100644 --- a/website/pages/pt/network/indexing.mdx +++ b/website/pages/pt/network/indexing.mdx @@ -26,7 +26,7 @@ O stake mínimo atual para um Indexador é de 100 mil GRT. As recompensas de indexação vêm da inflação do protocolo, que é configurada em 3% da emissão anual. Elas são distribuídas em subgraphs, com base na proporção de todos os sinais de curadoria em cada um, e depois distribuídos proporcionalmente a Indexadores baseado no stake que alocaram naquele subgraph. ** Para ser elegível a recompensas, uma alocação deve ser fechada com uma prova de indexação válida (POI) que atende aos padrões determinados pela carta de arbitragem.** -A comunidade criou várias ferramentas para calcular recompensas; essas estão organizadas na [coleção de Guias da Comunidade](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). Há também uma lista atualizada de ferramentas nos canais #Delegators e #Indexers no [servidor do Discord](https://discord.gg/graphprotocol). No próximo link, temos um [otimizador de alocações recomendadas](https://github.com/graphprotocol/AllocationOpt.jl) integrado com o stack de software de indexador. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### O que é uma prova de indexação (POI)? @@ -38,7 +38,7 @@ As alocações continuamente acumulam recompensas enquanto permanecerem ativas e ### É possível monitorar recompensas de indexação pendentes? -O contrato RewardsManager tem uma função [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) de apenas-leitura que pode ser usada para conferir as recompensas pendentes para uma alocação específica. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Muitos dos painéis feitos pela comunidade incluem valores pendentes de recompensas, que podem facilmente ser conferidos de forma manual ao seguir os seguintes passos: @@ -63,7 +63,7 @@ Use o Etherscan para chamar o `getRewards()`: - Navegue à [interface do Etherscan para o contrato de Recompensas](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * Para chamar o `getRewards()`: - - Abra o _dropdown_ **10. getRewards**. + - Expand the **9. getRewards** dropdown. - Insira a **allocationID**. - Clique no botão **Query**. @@ -112,12 +112,12 @@ Os Indexadores podem se diferenciar ao aplicar técnicas avançadas para decidir - **Médio** — Indexador de Produção. Apoia 100 subgraphs e 200 – 500 pedidos por segundo. - **Grande** — Preparado para indexar todos os subgraphs usados atualmente e servir pedidos para o tráfego relacionado. -| Setup | Postgres
(CPUs) | Postgres
(memória em GBs) | Postgres
(disco em TBs) | VMs
(CPUs) | VMs
(memória em GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Pequeno | 4 | 8 | 1 | 4 | 16 | -| Normal | 8 | 30 | 1 | 12 | 48 | -| Médio | 16 | 64 | 2 | 32 | 64 | -| Grande | 72 | 468 | 3.5 | 48 | 184 | +| Setup | Postgres
(CPUs) | Postgres
(memória em GBs) | Postgres
(disco em TBs) | VMs
(CPUs) | VMs
(memória em GBs) | +| ------- |:--------------------------:|:------------------------------------:|:----------------------------------:|:---------------------:|:-------------------------------:| +| Pequeno | 4 | 8 | 1 | 4 | 16 | +| Normal | 8 | 30 | 1 | 12 | 48 | +| Médio | 16 | 64 | 2 | 32 | 64 | +| Grande | 72 | 468 | 3.5 | 48 | 184 | ### Há alguma precaução básica de segurança que um Indexador deve tomar? @@ -149,20 +149,20 @@ Nota: Para apoiar o escalamento ágil, recomendamos que assuntos de consulta e i #### Graph Node -| Porta | Propósito | Rotas | Argumento CLI | Variável de Ambiente | -| --- | --- | --- | --- | --- | -| 8000 | Servidor HTTP GraphQL
(para consultas de subgraph) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | WS GraphQL
(para inscrições a subgraphs) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(para gerir lançamentos) | / | --admin-port | - | -| 8030 | API de status de indexamento do subgraph | /graphql | --index-node-port | - | -| 8040 | Métricas Prometheus | /metrics | --metrics-port | - | +| Porta | Propósito | Rotas | Argumento CLI | Variável de Ambiente | +| ----- | ------------------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | Servidor HTTP GraphQL
(para consultas de subgraph) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | WS GraphQL
(para inscrições a subgraphs) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(para gerir lançamentos) | / | --admin-port | - | +| 8030 | API de status de indexamento do subgraph | /graphql | --index-node-port | - | +| 8040 | Métricas Prometheus | /metrics | --metrics-port | - | #### Serviço Indexador -| Porta | Propósito | Rotas | Argumento CLI | Variável de Ambiente | -| --- | --- | --- | --- | --- | -| 7600 | Servidor HTTP GraphQL
(para consultas de subgraph pagas) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus metrics | /metrics | --metrics-port | - | +| Porta | Propósito | Rotas | Argumento CLI | Variável de Ambiente | +| ----- | ------------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | Servidor HTTP GraphQL
(para consultas de subgraph pagas) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus metrics | /metrics | --metrics-port | - | #### Agente Indexador @@ -182,9 +182,9 @@ Nota: Para apoiar o escalamento ágil, recomendamos que assuntos de consulta e i #### Criando um projeto no Google Cloud -- Clone ou navegue ao repositório de Indexador. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Navegue ao diretório ./terraform, é aqui onde todos os comandos devem ser executados. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Lance todos os recursos com o `kubectl apply -k $dir`. ### Graph Node -O [Graph Node](https://github.com/graphprotocol/graph-node) é uma implementação em Rust de código aberto que faz event sources na blockchain Ethereum, para atualizar deterministicamente um armazenamento de dados que pode ser consultado através do endpoint GraphQL. Os programadores usam subgraphs para definir o seu schema e um conjunto de mapeamentos para transformar os dados da blockchain; e o Graph Node sincroniza toda a chain, monitora blocos novos, e serve-a através de um endpoint GraphQL. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Começando da fonte @@ -751,7 +751,9 @@ indexer cost set model my_model.agora ### Stake no protocolo -Os primeiros passos para participar como Indexador na rede são: a aprovação do protocolo, fundos de stake, e (opcionalmente) a preparação de um endereço de operador para interações cotidianas com o protocolo. **Nota:** Para os fins destas instruções, o Remix será usado para interações de contrato, mas qualquer ferramenta de sua escolha pode ser usada aqui (Por exemplo: [OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), ou [MyCrypto](https://www.mycrypto.com/account).) +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Quando um Indexador faz stake de GRT no protocolo, será possível iniciar os seus [componentes](/network/indexing#indexer-components) e começar as suas interações com a rede. @@ -761,7 +763,7 @@ Quando um Indexador faz stake de GRT no protocolo, será possível iniciar os se 2. No `File Explorer`, crie um arquivo chamado **GraphToken.abi** com a [Token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. Com o `Staking.abi` selecionado e aberto no editor, troque para a seção com `Deploy` e `Run Transactions` na interface do Remix. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Na opção de ambiente `Injected Web3`, e sob `Account`, selecione o seu endereço de Indexador. @@ -775,7 +777,7 @@ Quando um Indexador faz stake de GRT no protocolo, será possível iniciar os se 2. No `File Explorer`, crie um arquivo chamado **Staking.abi** com a ABI de staking. -3. Com o `Staking.abi` selecionado e aberto no editor, troque para a seção com `Deploy` e `Run Transactions` na interface do Remix. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Na opção de ambiente `Injected Web3`, e sob `Account`, selecione o seu endereço de Indexador. @@ -791,12 +793,28 @@ Quando um Indexador faz stake de GRT no protocolo, será possível iniciar os se setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### A vida de uma alocação Após criada por um Indexador, uma alocação sadia passa por quatro estados. -- **Ativa** - Quando uma alocação é criada on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)), ela é considerada **ativa**. Uma porção do stake próprio e/ou delegado do Indexador é alocada a um lançamento de subgraph, que lhe permite resgatar recompensas de indexação e servir queries para aquele lançamento de subgraph. O agente indexador cria alocações baseada nas regras do Indexador. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Fechada** - Um Indexador pode fechar uma alocação após a passagem de um epoch ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)), ou o seu agente indexador a fechará automaticamente após o **maxAllocationEpochs** (atualmente, 28 dias). Quando uma alocação é fechada com uma prova de indexação válida (POI), as suas recompensas de indexação são distribuídas ao Indexador e aos seus Delegantes (veja "como são distribuídas as recompensas?" abaixo para saber mais). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). É ideal que os Indexadores utilizem a funcionalidade de sincronização off-chain para sincronizar lançamentos de subgraph à chainhead antes de criar a alocação on-chain. Esta ferramenta é mais útil para subgraphs que demorem mais de 28 epochs para sincronizar, ou que têm chances de falhar não-deterministicamente. From 1f0eea028a2db5df06422903eb2160ae241dbfad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:20 -0400 Subject: [PATCH 0469/2326] New translations indexing.mdx (Russian) --- website/pages/ru/network/indexing.mdx | 78 ++++++++++++++++----------- 1 file changed, 48 insertions(+), 30 deletions(-) diff --git a/website/pages/ru/network/indexing.mdx b/website/pages/ru/network/indexing.mdx index ab88480b0ba3..47e19b4fafb2 100644 --- a/website/pages/ru/network/indexing.mdx +++ b/website/pages/ru/network/indexing.mdx @@ -26,7 +26,7 @@ Indexers are node operators in The Graph Network that stake Graph Tokens (GRT) i Вознаграждения за индексацию поступают от инфляции протокола, которая установлена на 3% в год. Оно распределяется между подграфами в зависимости от соотношения всех сигналов на каждом из них, а затем пропорционально распределяется между индексаторами в зависимости от их выделенного стейка на этом подграфе. **Чтобы получить право на вознаграждение, распределение должно быть закрыто достоверным доказательством индексации (POI), соответствующим стандартам, установленным arbitration charter.** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### Что такое подтверждение индексации (proof of indexing - POI)? @@ -38,7 +38,7 @@ POI (подтверждение индексации) используются ### Каким образом можно отслеживать ожидаемые вознаграждения за индексацию? -В контракте RewardsManager есть функция [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317), доступная только для чтения, которую можно использовать, чтобы проверить вознаграждения, ожидающие выплаты за конкретные распределения. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Многие панели мониторинга, созданные сообществом, содержат ожидающие значения вознаграждений, и их можно легко проверить вручную, выполнив следующие действия: @@ -63,7 +63,7 @@ query indexerAllocations { - Перейдите в [интерфейсе Etherscan к контракту Rewards](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * Чтобы вызвать `getRewards()`: - - Разверните выпадающее меню **10. getRewards**. + - Expand the **9. getRewards** dropdown. - Введите во входные данные **allocationID**. - Нажмите кнопку **Query**. @@ -113,11 +113,11 @@ Once an allocation has been closed the rebates are available to be claimed by th - **Large** – готовность индексировать все используемые в настоящее время подграфы и обслуживать запросы на соответствующий трафик. | Настройка | Postgres
(ЦП) | Postgres
(память в ГБ) | Postgres
(диск в ТБ) | VMs
(ЦП) | VMs
(память в ГБ) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Small | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Medium | 16 | 64 | 2 | 32 | 64 | -| Large | 72 | 468 | 3.5 | 48 | 184 | +| --------- |:------------------------:|:---------------------------------:|:-------------------------------:|:-------------------:|:----------------------------:| +| Small | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 1 | 12 | 48 | +| Medium | 16 | 64 | 2 | 32 | 64 | +| Large | 72 | 468 | 3.5 | 48 | 184 | ### Какие основные меры безопасности следует предпринять индексатору? @@ -149,26 +149,26 @@ Once an allocation has been closed the rebates are available to be claimed by th #### Graph Node -| Порт | Назначение | Расположение | CLI-аргумент | Переменная среды | -| --- | --- | --- | --- | --- | -| 8000 | HTTP-сервер GraphQL
(для запросов подграфов) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(для подписок на подграфы) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(для управления процессом развертывания) | / | --admin-port | - | -| 8030 | API для определения статуса индексирования подграфов | /graphql | --index-node-port | - | -| 8040 | Показатели Prometheus | /metrics | --metrics-port | - | +| Порт | Назначение | Расположение | CLI-аргумент | Переменная среды | +| ---- | ------------------------------------------------------------ | ---------------------------------------------------- | ----------------- | ---------------- | +| 8000 | HTTP-сервер GraphQL
(для запросов подграфов) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(для подписок на подграфы) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(для управления процессом развертывания) | / | --admin-port | - | +| 8030 | API для определения статуса индексирования подграфов | /graphql | --index-node-port | - | +| 8040 | Показатели Prometheus | /metrics | --metrics-port | - | #### Indexer Service -| Порт | Назначение | Расположение | CLI-аргумент | Переменная среды | -| --- | --- | --- | --- | --- | -| 7600 | HTTP-сервер GraphQL
(для платных запросов к подграфам) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Показатели Prometheus | /metrics | --metrics-port | - | +| Порт | Назначение | Расположение | CLI-аргумент | Переменная среды | +| ---- | ----------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | HTTP-сервер GraphQL
(для платных запросов к подграфам) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Показатели Prometheus | /metrics | --metrics-port | - | #### Indexer Agent -| Порт | Назначение | Расположение | CLI-аргумент | Переменная среды | -| --- | --- | --- | --- | --- | -| 8000 | API для управления индексатором | / | --indexer-management-port | `INDEXER_AGENT_INDEXER_MANAGEMENT_PORT` | +| Порт | Назначение | Расположение | CLI-аргумент | Переменная среды | +| ---- | ------------------------------- | ------------ | ------------------------- | --------------------------------------- | +| 8000 | API для управления индексатором | / | --indexer-management-port | `INDEXER_AGENT_INDEXER_MANAGEMENT_PORT` | ### Настройка серверной инфраструктуры с помощью Terraform в Google Cloud @@ -182,9 +182,9 @@ Once an allocation has been closed the rebates are available to be claimed by th #### Создайте проект Google Cloud -- Клонируйте или перейдите к репозиторию индексатора. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Перейдите в директорию ./terraform, именно здесь должны быть выполнены все команды. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ kubectl config use-context $(kubectl config get-contexts --output='name' ### Graph Node -[Graph Node](https://github.com/graphprotocol/graph-node) – это внедрение Rust составляющей с открытым исходным кодом, которая использует блокчейн Ethereum для детерминированного обновления хранилища данных, которое можно запрашивать через эндпоинт GraphQL. Разработчики используют подграфы для определения своей структуры и набора маппингов для преобразования данных, получаемых из сети блоков, а Graph Node занимается синхронизацией всей сети, мониторингом новых блоков и их обслуживанием через GraphQL эндпоинт. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Начало работы с исходным кодом @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Стейкинг в протоколе -Первые шаги к участию в сети в качестве индексатора заключаются в подтверждении протокола, стейкинге средств и (по желанию) установке адреса оператора для ежедневного взаимодействия с протоколом. _ **Примечание**: В этом документе для обмена контрактами используется Remix, но вы можете использовать любой удобный для вас инструмент ([OneClickDapp](https://oneclickdapp.com/), [ABITopic](https://abitopic.io/) и [MyCrypto](https://www.mycrypto. com/account) и другие)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). После того как индексатор застейкал GRT в протоколе, можно запустить [Indexer components](/network/indexing#indexer-components) и начать взаимодействие с сетью. @@ -760,7 +762,7 @@ indexer cost set model my_model.agora 2. В `File Explorer` создайте файл с именем **GraphToken.abi** с [token ABI](https://raw.githubusercontent.com/graphprotocol /contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. Выбрав и открыв в редакторе `GraphToken.abi`, перейдите в раздел Deploy и запустите `Run Transactions` в интерфейсе Remix. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. В разделе environment выберите `Injected Web3`, а в разделе `Account` выберите адрес вашего индексатора. @@ -774,7 +776,7 @@ indexer cost set model my_model.agora 2. В `File Explorer` создайте файл с именем **Staking.abi** с ABI для стейкинга. -3. Выбрав и открыв в редакторе `Staking.abi`, перейдите в разделы `Deploy` и запустите `Run Transactions` в интерфейсе Remix. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. В разделе environment выберите `Injected Web3`, а в разделе `Account` выберите адрес вашего индексатора. @@ -790,12 +792,28 @@ indexer cost set model my_model.agora setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### Срок существования аллокации После создания индексатором распределение проходит четыре состояния. -- **Active** — после создания распределения в сети ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/ Staking.sol#L873)) считается **active**. Часть собственной и/или делегированной доли индексатора выделяется для развертывания подграфа, что позволяет ему требовать вознаграждения за индексирование и обслуживать запросы для этого развертывания подграфа. Агент индексатора управляет созданием распределений на основе правил индексатора. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed**. Индексатор может закрыть аллокацию по при истечении 1 эпохи ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) или Indexer agent автоматически закроет его по истечении эпохи **maxAllocationEpochs** (в настоящее время 28 дней). Когда оно закрыто с действительным доказательством индексации (POI), вознаграждения за индексирование распределяются между индексатором и его делегаторами (ниже см. подробнее «Как распределяются вознаграждения?»). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Индексаторам рекомендуется использовать функцию синхронизации вне сети для синхронизации развертывания подграфов в chainhead перед созданием аллокации в сети. Эта функция особенно полезна для подграфов, синхронизация которых может занять более 28 эпох или имеющих некоторую вероятность неопределенного сбоя. From 5495af9deae4eacd3f62ba0350a0a7bdcd07951d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:21 -0400 Subject: [PATCH 0470/2326] New translations indexing.mdx (Swedish) --- website/pages/sv/network/indexing.mdx | 72 +++++++++++++++++---------- 1 file changed, 45 insertions(+), 27 deletions(-) diff --git a/website/pages/sv/network/indexing.mdx b/website/pages/sv/network/indexing.mdx index 609035dec6fc..5382dc5b1d8f 100644 --- a/website/pages/sv/network/indexing.mdx +++ b/website/pages/sv/network/indexing.mdx @@ -26,7 +26,7 @@ Det minsta beloppet för en indexerare är för närvarande inställt på 100 00 Indexeringsbelöningar kommer från protokollsinflation som är inställd på en årlig emission på 3%. De fördelas över subgrafer baserat på andelen av all kuratersignal på varje subgraf, och fördelas sedan proportionellt till indexerare baserat på deras tilldelade insats på den subgrafen. **En tilldelning måste avslutas med ett giltigt bevis på indexering (POI) som uppfyller de standarder som fastställts av skiljekommittéstadgan för att vara berättigad till belöningar.** -Många verktyg har skapats av gemenskapen för att beräkna belöningar; du hittar en samling av dem organiserade i [Gemenskapsrådssamlingen](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). Du kan också hitta en uppdaterad lista över verktyg i kanalerna #Delegater och #Indexers på [Discord-servern](https://discord.gg/graphprotocol). Här länkar vi en [rekommenderad allokeringsoptimerare](https://github.com/graphprotocol/AllocationOpt.jl) integrerad med indexer-programvarustapeln. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### Vad är ett bevis på indexering (POI)? @@ -38,7 +38,7 @@ Tilldelningar ackumulerar kontinuerligt belöningar medan de är aktiva och till ### Kan väntande indexeringsbelöningar övervakas? -Kontraktet RewardsManager har en skrivskyddad funktion [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) som kan användas för att kontrollera de väntande belöningarna för en specifik tilldelning. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Många av gemenskapens egentillverkade instrument inkluderar värden för väntande belöningar och de kan enkelt kontrolleras manuellt genom att följa dessa steg: @@ -63,7 +63,7 @@ Använd Etherscan för att anropa `getRewards()`: - Navigera till [Etherscan-gränssnittet till belöningskontraktet](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * För att anropa `getRewards()`: - - Expandera rullgardinsmenyn **10. getRewards**. + - Expand the **9. getRewards** dropdown. - Ange **allocationID** i inmatningen. - Klicka på **Fråga**-knappen. @@ -113,11 +113,11 @@ Indexers kan skilja sig åt genom att tillämpa avancerade tekniker för att fat - **Stor** - Förberedd för att indexera alla för närvarande använda subgrafer och att ta emot förfrågningar för relaterad trafik. | Konfiguration | Postgres
(CPU:er) | Postgres
(minne i GB) | Postgres
(disk i TB) | VM:er
(CPU:er) | VM:er
(minne i GB) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Liten | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Medium | 16 | 64 | 2 | 32 | 64 | -| Stor | 72 | 468 | 3,5 | 48 | 184 | +| ------------- |:----------------------------:|:--------------------------------:|:-------------------------------:|:-------------------------:|:-----------------------------:| +| Liten | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 1 | 12 | 48 | +| Medium | 16 | 64 | 2 | 32 | 64 | +| Stor | 72 | 468 | 3,5 | 48 | 184 | ### Vilka grundläggande säkerhetsåtgärder bör en Indexer vidta? @@ -149,20 +149,20 @@ Observera: För att stödja smidig skalning rekommenderas det att fråge- och in #### Graf Node -| Port | Syfte | Vägar | CLI-argument | Miljövariabel | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP-server
(för subgraf-förfrågningar) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(för subgraf-prenumerationer) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(för hantering av distributioner) | / | --admin-port | - | -| 8030 | Subgrafindexeringsstatus-API | /graphql | --index-node-port | - | -| 8040 | Prometheus-metrar | /metrics | --metrics-port | - | +| Port | Syfte | Vägar | CLI-argument | Miljövariabel | +| ---- | ---------------------------------------------------------- | ---------------------------------------------------- | ----------------- | ------------- | +| 8000 | GraphQL HTTP-server
(för subgraf-förfrågningar) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(för subgraf-prenumerationer) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(för hantering av distributioner) | / | --admin-port | - | +| 8030 | Subgrafindexeringsstatus-API | /graphql | --index-node-port | - | +| 8040 | Prometheus-metrar | /metrics | --metrics-port | - | #### Indexertjänst -| Port | Syfte | Vägar | CLI-argument | Miljövariabel | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP-server
(för betalda subgraf-förfrågningar) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus-metrar | /metrics | --metrics-port | - | +| Port | Syfte | Vägar | CLI-argument | Miljövariabel | +| ---- | ------------------------------------------------------------------ | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP-server
(för betalda subgraf-förfrågningar) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus-metrar | /metrics | --metrics-port | - | #### Indexeragent @@ -182,9 +182,9 @@ Observera: För att stödja smidig skalning rekommenderas det att fråge- och in #### Skapa ett Google Cloud-projekt -- Klonad eller navigera till Indexer-repositoriet. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Navigera till ./terraform-mappen, detta är där alla kommandon ska köras. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Installera alla resurser med `kubectl apply -k $dir`. ### Graf Node -[Graph Node](https://github.com/graphprotocol/graph-node) är en öppen källkodsimplementering i Rust som eventkällor Ethereum-blockkedjan för att deterministiskt uppdatera en datalagring som kan förfrågas via GraphQL-endpunkten. Utvecklare använder subgrafer för att definiera sitt schema och en uppsättning avbildningar för att omvandla data som hämtas från blockkedjan, och Graph Node hanterar synkroniseringen av hela kedjan, övervakning av nya block och servering av den via en GraphQL-endpunkt. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Komma igång från källkoden @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Satsa i protokollet -De första stegen för att delta i nätverket som en Indexer är att godkänna protokollet, satsa medel och (valfritt) sätta upp en operatörsadress för dagliga protokollinteraktioner. _ **Observera**: För dessa instruktioner används Remix för kontraktsinteraktion, men använd gärna din valfria verktyg ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/) och [MyCrypto](https://www.mycrypto.com/account) är några andra kända verktyg)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). När en Indexer har satsat GRT i protokollet kan [Indexer-komponenterna](/network/indexing#indexer-components) startas och börja interagera med nätverket. @@ -760,7 +762,7 @@ När en Indexer har satsat GRT i protokollet kan [Indexer-komponenterna](/networ 2. I `Filutforskaren` skapa en fil med namnet **GraphToken.abi** med [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. Med `GraphToken.abi` markerad och öppen i redigeraren, växla till avsnittet Implementera och `Kör transaktioner` i Remix-gränssnittet. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under miljö väljer du `Injected Web3` och under `Konto` väljer du din Indexer-adress. @@ -774,7 +776,7 @@ När en Indexer har satsat GRT i protokollet kan [Indexer-komponenterna](/networ 2. I `Filutforskaren` skapa en fil med namnet **Staking.abi** med stakings ABI. -3. Med `Staking.abi` markerad och öppen i redigeraren, växla till avsnittet `Implementera` och `Kör transaktioner` i Remix-gränssnittet. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under miljö väljer du `Injected Web3` och under `Konto` väljer du din Indexer-adress. @@ -790,12 +792,28 @@ När en Indexer har satsat GRT i protokollet kan [Indexer-komponenterna](/networ setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### En allokations livscykel Efter att ha skapats av en Indexer går en sund allokering igenom fyra tillstånd. -- **Aktiv** - När en allokering skapas på kedjan ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) betraktas den som **aktiv**. En del av Indexerens egen och/eller delegerad insats allokeras till en subgraph-deployering, vilket möjliggör att de kan hävda indexbelöningar och tjäna frågor för den subgraph-deployeringen. Indexer-agenten hanterar skapandet av allokeringar baserat på Indexer-reglerna. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Stängd** - En Indexer är fri att stänga en allokering när 1 epoch har passerat ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) eller deras Indexer-agent kommer automatiskt att stänga allokeringen efter den **maxAllocationEpochs** (för närvarande 28 dagar). När en allokering stängs med ett giltigt bevis för indexering (POI) fördelas deras indexbelöningar till Indexer och dess Delegators (se "hur fördelas belöningar?" nedan för att lära dig mer). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Det rekommenderas att Indexers använder funktionen för offchain-synkronisering för att synkronisera subgraph-deploys till kedjehuvudet innan de skapar allokeringen på kedjan. Den här funktionen är särskilt användbar för subgraphs som kan ta längre tid än 28 epoker att synkronisera eller har vissa chanser att misslyckas obestämt. From 37bf90b1003d40a2231127607fffba5a4ccfae9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:22 -0400 Subject: [PATCH 0471/2326] New translations indexing.mdx (Turkish) --- website/pages/tr/network/indexing.mdx | 152 ++++++++++++++------------ 1 file changed, 85 insertions(+), 67 deletions(-) diff --git a/website/pages/tr/network/indexing.mdx b/website/pages/tr/network/indexing.mdx index 27c87c872378..44613e0ef7ba 100644 --- a/website/pages/tr/network/indexing.mdx +++ b/website/pages/tr/network/indexing.mdx @@ -1,48 +1,48 @@ --- -title: İndeksleme +title: Indexing --- İndeksleyiciler, indeksleme ve sorgu işleme hizmetleri sağlamak için Graph Token'leri (GRT) stake eden Graph Ağındaki düğüm operatörleridir. İndeksleyiciler, hizmetleri karşılığında sorgu ücretleri ve indeksleme ödülleri kazanırlar. Ayrıca üstel bir indirim fonksiyonuna göre geri ödenen sorgu ücretleri de kazanırlar. -Ağ üzerinde stake edilen GRT'ler, bir çözülme süresine tabidir ve indeksleyiciler kötü niyetliyse ve uygulamalara yanlış veriler sunar veya hatalı şekilde indekslenir ise kesilebilir. İndeksleyiciler ayrıca, ağa katkıda bulunmak üzere delegatörlerden stake dilen pay için ödüller kazanır. +GRT that is staked in the protocol is subject to a thawing period and can be slashed if Indexers are malicious and serve incorrect data to applications or if they index incorrectly. Indexers also earn rewards for delegated stake from Delegators, to contribute to the network. -İndeksleyiciler, subgraph'in kürasyon sinyaline dayalı olarak indekslenecek subgraph'leri seçer; burada küratörler, hangi subgraph'lerin yüksek kaliteli olduğunu ve önceliklendirilmesi gerektiğini belirtmek için GRT'yi paylaşır. Tüketiciler (örn. uygulamalar), indeksleyicilerin kendi subgraph'leri için sorguları işlediği parametreleri ve sorgu ücreti fiyatlandırması için tercihleri de ayarlayabilir. +Indexers select subgraphs to index based on the subgraph’s curation signal, where Curators stake GRT in order to indicate which subgraphs are high-quality and should be prioritized. Consumers (eg. applications) can also set parameters for which Indexers process queries for their subgraphs and set preferences for query fee pricing. ## SSS -### Ağda indeksleyici olmak için gereken minimum gereksinim nedir? +### What is the minimum stake required to be an Indexer on the network? -Bir indeksleyici için minimum stake tutarı şu anda 100K GRT olarak ayarlanmıştır. +The minimum stake for an Indexer is currently set to 100K GRT. -### Bir indeksleyici için gelir akışları nelerdir? +### What are the revenue streams for an Indexer? -**Sorgu ücreti ödülleri** - Ağda sorgu sunma karşılığında yapılan ödemeler. Bu ödemeler, bir indeksleyici ile bir ağ geçidi arasındaki durum kanalları aracılığıyla aracılık edilir. Bir ağ geçidinden gelen her sorgu isteği, bir ödeme ve karşılık gelen yanıt, sorgu sonucunun geçerliliğinin bir kanıtını içerir. +**Query fee rebates** - Payments for serving queries on the network. These payments are mediated via state channels between an Indexer and a gateway. Each query request from a gateway contains a payment and the corresponding response a proof of query result validity. -**İndeksleme ödülleri** - Protokol genelinde yıllık %3'lük bir enflasyonla oluşturulan indeksleme ödülleri, ağ için subgraph dağıtımlarını indeksleyen indeksleyicilere dağıtılır. +**Indexing rewards** - Generated via a 3% annual protocol wide inflation, the indexing rewards are distributed to Indexers who are indexing subgraph deployments for the network. -### İndeksleme ödülleri nasıl dağıtılır? +### How are indexing rewards distributed? -İndeksleme ödülleri, yıllık %3 ihraç olarak belirlenen protokol enflasyonundan gelir. Her birindeki kürasyon sinyalinin oranına göre subgraph'ler arasında dağıtılırlar, ardından o subgraph'te tahsis edilen paylarına göre indeksleyicilere orantılı olarak dağıtılırlar. **Ödül almaya hak kazanabilmek için bir tahsisin, tahkim sözleşmesi tarafından belirlenen standartları karşılayan geçerli bir indeksleme kanıtı (POI) ile kapatılması gerekir.** +Indexing rewards come from protocol inflation which is set to 3% annual issuance. They are distributed across subgraphs based on the proportion of all curation signal on each, then distributed proportionally to Indexers based on their allocated stake on that subgraph. **An allocation must be closed with a valid proof of indexing (POI) that meets the standards set by the arbitration charter in order to be eligible for rewards.** -Ödülleri hesaplamak için topluluk tarafından çok sayıda araç oluşturulmuştur. Bunların bir koleksiyonunu [Topluluk Kılavuzları koleksiyonu](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c) bölümünde düzenlenmiş olarak bulabilirsiniz. Ayrıca [Discord sunucusundaki](https://discord.gg/graphprotocol) #Delegators ve #Indexers kanallarında araçların güncel bir listesini bulabilirsiniz. Burada, indeksleyici yazılım yığınına entegre edilmiş bir [önerilen tahsis optimizatörüne](https://github.com/graphprotocol/AllocationOpt.jl) bağlantı sağlıyoruz. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. -### İndeksleme kanıtı (POI) nedir? +### What is a proof of indexing (POI)? -POI'ler ağda, bir indeksleyicinin tahsis ettikleri subgraph'leri indekslediğini doğrulamak için kullanılır. Mevcut dönemin ilk bloğu için bir POI, indeksleme ödüllerine hak kazanabilmek için söz konusu tahsis için bir tahsisi kapatırken sunulmalıdır. Bir blok için POI, o bloğa kadar olan belirli bir subgraph konuşlandırması için tüm varlık depolama işlemlerinin özetidir. +POIs are used in the network to verify that an Indexer is indexing the subgraphs they have allocated on. A POI for the first block of the current epoch must be submitted when closing an allocation for that allocation to be eligible for indexing rewards. A POI for a block is a digest for all entity store transactions for a specific subgraph deployment up to and including that block. -### İndeksleme ödülleri ne zaman dağıtılır? +### When are indexing rewards distributed? -Tahsisler, aktif oldukları ve 28 dönem içinde tahsis edildikleri sürece sürekli olarak ödül toplamaya devam eder.İndeksleme ödülleri, indeksleyiciler tahsislerini kapattığında toplanır ve dağıtılır. Aktif oldukları sürece tahsisler sürekli olarak ödül kazanmaya devam eder. İndeksleyiciler, tahsislerini manuel olarak kapatmaya zorlayabilir veya maksimum tahsis ömründen sonra (her 28 dönemde bir) otomatik olarak kapanmalarına izin verebilir (1 dönem = ~24 saat). +Allocations are continuously accruing rewards while they're active and allocated within 28 epochs. Rewards are collected by the Indexers, and distributed whenever their allocations are closed. That happens either manually, whenever the Indexer wants to force close them, or after 28 epochs a Delegator can close the allocation for the Indexer, but this results in no rewards. 28 epochs is the max allocation lifetime (right now, one epoch lasts for ~24h). -### Bekleyen indeksleme ödülleri izlenebilir mi? +### Can pending indexing rewards be monitored? -RewardsManager sözleşmesi, belirli bir tahsis için bekleyen ödülleri kontrol etmek adına kullanılabilen salt okunur bir [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) işlevine sahiptir. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. -Topluluk yapımı gösterge panolarının çoğu, bekleyen ödül değerleri içerir ve bunlar, aşağıdaki adımlar izlenerek manuel olarak kolayca kontrol edilebilir: +Many of the community-made dashboards include pending rewards values and they can be easily checked manually by following these steps: -1. Tüm etkin tahsislerin kimliklerini almak için [mainnet subgraph](https://thegraph.com/hosted-service/subgraph/graphprotocol/graph-network-mainnet)'i sorgulayın: +1. Query the [mainnet subgraph](https://thegraph.com/hosted-service/subgraph/graphprotocol/graph-network-mainnet) to get the IDs for all active allocations: ```graphql query indexerAllocations { @@ -58,48 +58,48 @@ query indexerAllocations { } ``` -`getRewards()` öğesini çağırmak için Etherscan'i kullanın: +Use Etherscan to call `getRewards()`: -- [Ödül sözleşmesine Etherscan arayüzü](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract)'ne gidin +- Navigate to [Etherscan interface to Rewards contract](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) -* `getRewards()`'ı çağırmak için: - - **10. getRewards** açılır menüsünü genişletin. - - Girişte **allocationID**'yi girin. - - **Sorgu** düğmesini tıklayın. +* To call `getRewards()`: + - Expand the **9. getRewards** dropdown. + - Enter the **allocationID** in the input. + - Click the **Query** button. -### Anlaşmazlıklar nelerdir ve bunları nerede görebilirim? +### What are disputes and where can I view them? -İndeksleyicinin sorguları ve tahsisleri, itiraz süresi boyunca Graph üzerinde tartışılabilir. Anlaşmazlık süresi, anlaşmazlığın türüne göre değişir. Sorgular/onaylar 7 dönem ihtilaf penceresine sahipken, tahsisler 56 dönem içerir. Bu süreler geçtikten sonra tahsislere veya sorgulara karşı ihtilaf açılamaz. Bir anlaşmazlık açıldığında, fishermen tarafından minimum 10.000 GRT tutarında bir depozito talep edilir ve bu, anlaşmazlık sonuçlanana ve bir çözüm sağlanana kadar kilitlenir. Fishermen, anlaşmazlıkları açan herhangi bir ağ katılımcısıdır. +Indexer's queries and allocations can both be disputed on The Graph during the dispute period. The dispute period varies, depending on the type of dispute. Queries/attestations have 7 epochs dispute window, whereas allocations have 56 epochs. After these periods pass, disputes cannot be opened against either of allocations or queries. When a dispute is opened, a deposit of a minimum of 10,000 GRT is required by the Fishermen, which will be locked until the dispute is finalized and a resolution has been given. Fisherman are any network participants that open disputes. -Anlaşmazlıkların **üç** olası sonucu vardır, fishermen'lerin para yatırması da öyle. +Disputes have **three** possible outcomes, so does the deposit of the Fishermen. -- Anlaşmazlık reddedilirse, fishermen tarafından yatırılan GRT yakılacak ve tartışmalı indeksleyici cezalandırılmayacaktır. -- İhtilaf berabere biterse, fishermen'in depozitosu iade edilecek ve ihtilaflı indeksleyici cezalandırılmayacaktır. -- Anlaşmazlık kabul edilirse, fishermen tarafından yatırılan GRT iade edilecek, tartışmalı indeksleyici cezalandırılacak ve fishermen kesilen GRT'nin %50'sini kazanacaktır. +- If the dispute is rejected, the GRT deposited by the Fishermen will be burned, and the disputed Indexer will not be slashed. +- If the dispute is settled as a draw, the Fishermen's deposit will be returned, and the disputed Indexer will not be slashed. +- If the dispute is accepted, the GRT deposited by the Fishermen will be returned, the disputed Indexer will be slashed and the Fishermen will earn 50% of the slashed GRT. -Anlaşmazlıklar, bir indeksleyicinin profil sayfasında `İtirazlar` sekmesi altındaki kullanıcı arayüzünde görüntülenebilir. +Disputes can be viewed in the UI in an Indexer's profile page under the `Disputes` tab. -### Sorgu ücreti ödülleri nedir ve ne zaman dağıtılır? +### What are query fee rebates and when are they distributed? Sorgu ücretleri ağ geçidi tarafından toplanır ve üstel indirim fonksiyonuna göre indeksleyicilere dağıtılır ([buradan](https://forum.thegraph.com/t/gip-0051-exponential-query-fee-rebates-for-indexers/4162) GIP'e bakınız). Üstel indirim fonksiyonu, indeksleyicilerin sorguları dürüstçe sunarak en iyi sonucu elde etmelerini sağlamanın bir yolu olarak önerilmiştir. İndeksleyicileri, toplayabilecekleri sorgu ücretlerine göre büyük miktarda pay (bir sorguya hizmet verirken hata yaptıklarında kesinti olabilir) ayırmaya teşvik ederek çalışmaktadır. Bir tahsisat kapatıldıktan sonra iadeler İndeksleyici tarafından talep edilebilir. Talep edildikten sonra, sorgu ücreti iadeleri, sorgu ücreti kesintisi ve üstel indirim fonksiyonuna göre İndeksleyiciye ve Delegatörlerine dağıtılır. -### Sorgu ücreti kesintisi ve indeksleme ödülü kesintisi nedir? +### What is query fee cut and indexing reward cut? -`queryFeeCut` ve `indexingRewardCut` değerleri, indeksleyicinin, GRT'nin indeksleyici ile delegatörleri arasındaki dağıtımını kontrol etmek için cooldownBlock'larla birlikte ayarlayabileceği yetkilendirme parametreleridir. Stake parametrelerini ayarlama talimatları için [Protokolde Staking](/network/indexing#stake-in-the-protocol) kısmındaki son adımlara göz atın. +The `queryFeeCut` and `indexingRewardCut` values are delegation parameters that the Indexer may set along with cooldownBlocks to control the distribution of GRT between the Indexer and their Delegators. See the last steps in [Staking in the Protocol](/network/indexing#stake-in-the-protocol) for instructions on setting the delegation parameters. - **queryFeeCut** - İndeksleyiciye dağıtılacak sorgu ücreti iadelerinin %'si. Bu %95 olarak ayarlanırsa, İndeksleyici bir tahsisat kapatıldığında kazanılan sorgu ücretlerinin %95'ini alır ve diğer %5'lik kısım Delegatörlere gider. - **indexingRewardCut** - İndeksleyiciye dağıtılacak indeksleme ödüllerinin %'si. Bu, %95 olarak ayarlanırsa, indeksleyici, bir tahsis kapatıldığında indeksleme ödül havuzunun %95'ini alacak ve delegatörler diğer %5'i bölüşecektir. -### İndeksleyiciler hangi subgraph'lerin indeksleneceğini nasıl bilir? +### How do Indexers know which subgraphs to index? -İndeksleyiciler, subgraph indeksleme kararları vermek için gelişmiş teknikler uygulayarak kendilerini farklılaştırabilir, ancak genel bir fikir vermek için ağdaki subgraph'leri değerlendirmek için kullanılan birkaç temel ölçümü tartışacağız: +Indexers may differentiate themselves by applying advanced techniques for making subgraph indexing decisions but to give a general idea we'll discuss several key metrics used to evaluate subgraphs in the network: -- **Kürasyon Sinyali** - Belirli bir subgraph'e uygulanan ağ kürasyon sinyalinin oranı, özellikle sorgu hacminin arttığı önyükleme aşamasında, o subgraph'e olan ilginin iyi bir göstergesidir. +- **Curation signal** - The proportion of network curation signal applied to a particular subgraph is a good indicator of the interest in that subgraph, especially during the bootstrap phase when query voluming is ramping up. -- **Toplanan sorgu ücretleri** - Belirli bir subgraph için toplanan sorgu ücretlerinin hacmine ilişkin geçmiş veriler, gelecekteki talebin iyi bir göstergesidir. +- **Query fees collected** - The historical data for volume of query fees collected for a specific subgraph is a good indicator of future demand. - **Stake edilen miktar** - Diğer İndeksleyicilerin davranışlarını izlemek veya belirli subgraphlara tahsis edilen toplam stake oranlarına bakmak, bir İndeksleyicinin subgraph sorgularına yönelik arz tarafını izlemesine olanak tanır; böylece ağın güvendiği subgraphları veya daha fazla arz ihtiyacı olabilecek subgraphları belirlemesine yardımcı olur. @@ -112,12 +112,12 @@ Bir tahsisat kapatıldıktan sonra iadeler İndeksleyici tarafından talep edile - **Orta** - 100 subgraph ve saniyede 200-500 isteği destekleyen Üretim İndeksleyici. - **Yüksek** - Şu anda kullanılan tüm subgraphları indekslemek ve ilgili trafik için istekleri sunmak için hazırlanmıştır. -| Kurulum | Postgres
(CPU'lar) | Postgres
(GB cinsinden bellek) | Postgres
(TB cinsinden disk) | VM'ler
(CPU'lar) | VM'ler
(GB cinsinden bellek) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Düşük | 4 | 8 | 1 | 4 | 16 | -| Standart | 8 | 30 | 1 | 12 | 48 | -| Orta | 16 | 64 | 2 | 32 | 64 | -| Yüksek | 72 | 468 | 3.5 | 48 | 184 | +| Kurulum | Postgres
(CPU'lar) | Postgres
(GB cinsinden bellek) | Postgres
(TB cinsinden disk) | VM'ler
(CPU'lar) | VM'ler
(GB cinsinden bellek) | +| -------- |:-----------------------------:|:-----------------------------------------:|:---------------------------------------:|:---------------------------:|:---------------------------------------:| +| Düşük | 4 | 8 | 1 | 4 | 16 | +| Standart | 8 | 30 | 1 | 12 | 48 | +| Orta | 16 | 64 | 2 | 32 | 64 | +| Yüksek | 72 | 468 | 3.5 | 48 | 184 | ### Bir İndeksleyicinin alması gereken bazı temel güvenlik önlemleri nelerdir? @@ -149,20 +149,20 @@ Not: Çevik ölçeklendirmeyi desteklemek için, sorgulama ve indeksleme endişe #### Graph Node -| Port | Amaç | Rotalar | CLI Argümanı | Ortam Değişkeni | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP sunucusu
( subgraph sorguları için) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
( subgraph abonelikleri için) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(dağıtımları yönetmek için) | / | --admin-port | - | -| 8030 | Subgraph indeksleme durum API'si | /graphql | --index-node-port | - | -| 8040 | Prometheus metrikleri | /metrics | --metrics-port | - | +| Port | Amaç | Rotalar | CLI Argümanı | Ortam Değişkeni | +| ---- | ----------------------------------------------------------- | ---------------------------------------------------- | ----------------- | --------------- | +| 8000 | GraphQL HTTP sunucusu
( subgraph sorguları için) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
( subgraph abonelikleri için) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(dağıtımları yönetmek için) | / | --admin-port | - | +| 8030 | Subgraph indeksleme durum API'si | /graphql | --index-node-port | - | +| 8040 | Prometheus metrikleri | /metrics | --metrics-port | - | #### İndeksleyici Hizmeti -| Port | Amaç | Rotalar | CLI Argümanı | Ortam Değişkeni | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP sunucusu
(ücretli subgraph sorguları için) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus metrikleri | /metrics | --metrics-port | - | +| Port | Amaç | Rotalar | CLI Argümanı | Ortam Değişkeni | +| ---- | ------------------------------------------------------------------ | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP sunucusu
(ücretli subgraph sorguları için) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus metrikleri | /metrics | --metrics-port | - | #### İndeksleyici Aracı @@ -182,9 +182,9 @@ Not: Çevik ölçeklendirmeyi desteklemek için, sorgulama ve indeksleme endişe #### Bir Google Cloud Projesi Oluşturun -- İndeksleyici deposunu klonlayın veya bu depoya gidin. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- ./terraform dizinine gidin, tüm komutların yürütülmesi gereken yer burasıdır. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -251,7 +251,7 @@ gcloud services vpc-peerings connect \ --ranges=google-managed-services-default ``` -- Minimal terraform yapılandırma dosyası oluşturun (gerektiğinde güncelleyin). +- Create minimal terraform configuration file (update as needed). ```sh indexer= @@ -262,7 +262,7 @@ database_password = "" EOF ``` -#### Altyapı oluşturmak için Terraform'u kullanın +#### Use Terraform to create infrastructure Herhangi bir komutu çalıştırmadan önce [variables.tf](https://github.com/graphprotocol/indexer/blob/main/terraform/variables.tf) dosyasını okuyun ve bu dizinde bir `terraform.tfvars` dosyası oluşturun (veya son adımda oluşturduğumuzu değiştirin). Varsayılanı geçersiz kılmak istediğiniz veya bir değer ayarlamanız gereken her değişken için `terraform.tfvars` dosyasına bir ayar girin. @@ -297,7 +297,7 @@ Tüm kaynakları `kubectl apply -k $dir` ile dağıtın. ### Graph Node -[Graph Düğümü](https://github.com/graphprotocol/graph-node), GraphQL uç noktası aracılığıyla sorgulanabilen bir veri deposunu belirleyici bir şekilde güncellemek için Ethereum blok zincirine olay kaynağı sağlayan açık kaynaklı bir Rust uygulamasıdır. Geliştiriciler şemalarını tanımlamak için subgraph'lar ve blok zincirinden alınan verileri dönüştürmek için bir dizi eşleştirme kullanır ve Graph Node tüm zinciri senkronize eder, yeni blokları izler ve GraphQL uç noktası aracılığıyla sunar. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Kaynaktan başlama @@ -529,7 +529,7 @@ graph indexer status **İndeksleyici Yönetim API**'si ile etkileşim için önerilen araç, **Graph CLI**'nın bir uzantısı olan **İndeksleyici CLI**'dır. İndeksleyici aracısı, İndeksleyici adına ağ ile bağımsız olarak etkileşim kurmak için bir İndeksleyiciden gelen girdiye ihtiyaç duyar. İndeksleyici aracı davranışını tanımlama mekanizması **tahsis yönetim** modu ve **indeksleme kurallarıdır**. Otomatik modda, bir İndeksleyici, sorguları indekslemek ve sunmak üzere subgraph'ları seçmek için kendi özel stratejisini uygulamak üzere **indeksleme kurallarını** kullanabilir. Kurallar, aracı tarafından sunulan ve İndeksleyici Yönetim API'si olarak bilinen bir GraphQL API aracılığıyla yönetilir. Manuel modda, bir İndeksleyici **eylem kuyruğunu** kullanarak tahsis eylemleri oluşturabilir ve yürütülmeden önce bunları açıkça onaylayabilir. Gözetim modunda, **indeksleme kuralları** **eylem kuyruğunu** doldurmak için kullanılır ve ayrıca yürütme için açık onay gerektirir. -#### Kullanım +#### Kullanış **İndeksleyici CLI**, tipik olarak bağlantı noktası yönlendirme yoluyla İndeksleyici aracısına bağlanır, bu nedenle CLI'nın aynı sunucuda veya kümede çalışması gerekmez. Başlamanıza yardımcı olmak ve biraz bilgi vermek için CLI burada kısaca açıklanacaktır. @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Protokolde stake -Bir İndeksleyici olarak ağa katılmanın ilk adımları protokolü onaylamak, fon stake etmek ve ( opsiyonel olarak) günlük protokol etkileşimleri için bir operatör adresi oluşturmaktır. _ **Not**: Bu talimatların amaçları doğrultusunda sözleşme etkileşimi için Remix kullanılacaktır, ancak kendi tercih ettiğiniz aracı kullanmaktan çekinmeyin ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), ve [MyCrypto](https://www.mycrypto.com/account) bilinen diğer birkaç araçtır)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Bir İndeksleyici protokolde GRT'yi stake ettikten sonra, [İndeksleyici kompenetleri ](/network/indexing#indexer-components) başlatılabilir ve ağ ile etkileşimlerine başlayabilir. @@ -760,7 +762,7 @@ Bir İndeksleyici protokolde GRT'yi stake ettikten sonra, [İndeksleyici kompene 2. `File Explorer`'da [ABI token](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json) ile **GraphToken.abi** adında bir dosya oluşturun. -3. Editörde `GraphToken.abi` seçili ve açık durumdayken, Remix arayüzünde Deploy ve `Run Transactions` bölümüne gidin. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Ortam altında `Injected Web3`'ü seçin ve `Account` altında İndeksleyici adresinizi seçin. @@ -774,7 +776,7 @@ Bir İndeksleyici protokolde GRT'yi stake ettikten sonra, [İndeksleyici kompene 2. `File Explorer`'da, Staking ABI ile **Staking.abi** adında bir dosya oluşturun. -3. Editörde `Staking.abi` seçili ve açık durumdayken, Remix arayüzünde `Deploy` ve `Run Transactions` bölümüne gidin. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Ortam altında `Injected Web3`'ü seçin ve `Account` altında İndeksleyici adresinizi seçin. @@ -790,12 +792,28 @@ Bir İndeksleyici protokolde GRT'yi stake ettikten sonra, [İndeksleyici kompene setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### Bir tahsisin ömrü Bir İndeksleyici tarafından oluşturulmasının ardından sağlıklı bir tahsis dört aşamadan geçer. -- **Aktif** - Zincir üstünde bir tahsis oluşturulduğunda ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) **aktif** olarak kabul edilir. İndeksleyicinin kendi ve/veya delege edilmiş stake'inin bir kısmı indeksleme ödüllerini talep etmelerine ve bu subgraph dağıtımı için sorgular sunmalarına olanak tanıyan subgraph dağıtımına tahsis edilir. İndeksleyici aracı, İndeksleyici kurallarına ilişkin olarak tahsisat oluşturmayı düzenler. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Kapalı** - İndeksleyici 1 dönem geçtikten sonra ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) bir tahsisi kapatmakta serbesttir veya İndeksleyici aracısı **maxAllocationEpochs** (şu anda 28 gün) sonrasında tahsisi otomatik olarak kapatacaktır. Bir tahsis geçerli bir indeksleme kanıtı (POI) ile kapatıldığında, indeksleme ödülleri İndeksleyici ve bu indeksleyicinin Delegatörlerine dağıtılır (daha fazla bilgi için aşağıdaki "ödüller nasıl dağıtılır?" bölümüne bakın). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). İndeksleyicilerin, zincir üstünde tahsis oluşturmadan önce subgraph dağıtımlarını chainhead ile senkronize etmek için zincir dışı senkronizasyon fonksiyonunu kullanmaları önerilir. Bu özellik bilhassa senkronize edilmesi 28 dönemden daha uzun sürebilecek veya belirsiz bir şekilde başarısız olma ihtimali olan subgraphlar için kullanışlıdır. From b88c727290472df4c69fe41d1b9b71b664fd5b28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:23 -0400 Subject: [PATCH 0472/2326] New translations indexing.mdx (Ukrainian) --- website/pages/uk/network/indexing.mdx | 78 ++++++++++++++++----------- 1 file changed, 48 insertions(+), 30 deletions(-) diff --git a/website/pages/uk/network/indexing.mdx b/website/pages/uk/network/indexing.mdx index 933e55faa68e..9c14f4909424 100644 --- a/website/pages/uk/network/indexing.mdx +++ b/website/pages/uk/network/indexing.mdx @@ -26,7 +26,7 @@ GRT, які застейкані в протоколі, підлягають п Винагорода за індексацію надходить від інфляції протоколу, яка встановлена на рівні 3% річної емісії. Вони розподіляються між підграфами на основі частки всіх кураторських сигналів на кожному, а потім розподіляються пропорційно між індексаторами на основі їхнього виділеного стейку на відповідному підграфі. **Щоб мати право на винагороду, розподіл має бути закрито за допомогою доказу індексації (proof of indexing - POI), яке відповідає стандартам, установленим арбітражним регламентом.** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### Що за доказ індексації (POI)? @@ -38,7 +38,7 @@ POI використовуються в мережі для перевірки ### Чи можна відстежувати винагороди за індексацію, що очікують на розгляд? -Контракт RewardsManager має функцію [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317), доступну тільки для читання, яку можна використовувати для перевірки очікуваних винагород для конкретного розподілу. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Багато інформаційних панелей, створених спільнотою, містять очікувані значення винагород, і їх можна легко перевірити вручну, виконавши ці кроки: @@ -63,7 +63,7 @@ POI використовуються в мережі для перевірки - Перейдіть до [EtherScan інтерфейсу, потім до контракту Rewards](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * Оберіть `getRewards()`: - - Відкрийте список **10. getRewards**. + - Expand the **9. getRewards** dropdown. - Введіть **allocationID** у вхідних даних. - Натисніть кнопку **Query**. @@ -113,11 +113,11 @@ Query fees are collected by the gateway and distributed to indexers according to - **Large** - підготовлений для індексації всіх підграфів, що використовуються наразі, і обслуговування запитів на відповідний трафік. | Налаштування | Postgres
(CPU) | Postgres
(пам'ять в GB) | Postgres
(диск у ТБ) | VMs
(Центральні CPU) | VMs
(пам'ять у ГБ) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Small | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Medium | 16 | 64 | 2 | 32 | 64 | -| Large | 72 | 468 | 3.5 | 48 | 184 | +| ------------ |:-------------------------:|:----------------------------------:|:-------------------------------:|:-------------------------------:|:-----------------------------:| +| Small | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 1 | 12 | 48 | +| Medium | 16 | 64 | 2 | 32 | 64 | +| Large | 72 | 468 | 3.5 | 48 | 184 | ### Яких основних заходів безпеки повинен дотримуватися індексатор? @@ -149,26 +149,26 @@ Query fees are collected by the gateway and distributed to indexers according to #### Graph Node -| Порт | Призначення | Розташування | Аргумент CLI | Перемінна оточення | -| --- | --- | --- | --- | --- | -| 8000 | HTTP-сервер GraphQL
(для запитів до підграфів) | /subgraphs/id/...
/subgraphs/name/.../... | --http-порт | - | -| 8001 | GraphQL WS
(для підписок на підграфи) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(для керування розгортаннями) | / | --admin-port | - | -| 8030 | API стану індексації підграфів | /graphql | --index-node-port | - | -| 8040 | Метрики Prometheus | /metrics | --metrics-port | - | +| Порт | Призначення | Розташування | Аргумент CLI | Перемінна оточення | +| ---- | --------------------------------------------------------- | ---------------------------------------------------- | ----------------- | ------------------ | +| 8000 | HTTP-сервер GraphQL
(для запитів до підграфів) | /subgraphs/id/...
/subgraphs/name/.../... | --http-порт | - | +| 8001 | GraphQL WS
(для підписок на підграфи) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(для керування розгортаннями) | / | --admin-port | - | +| 8030 | API стану індексації підграфів | /graphql | --index-node-port | - | +| 8040 | Метрики Prometheus | /metrics | --metrics-port | - | #### Служба індексації -| Порт | Призначення | Розташування | Аргумент CLI | Перемінна оточення | -| --- | --- | --- | --- | --- | -| 7600 | HTTP-сервер GraphQL
(для платних запитів до підграфів) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Метрики Prometheus | /metrics | --metrics-port | - | +| Порт | Призначення | Розташування | Аргумент CLI | Перемінна оточення | +| ---- | ----------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | HTTP-сервер GraphQL
(для платних запитів до підграфів) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Метрики Prometheus | /metrics | --metrics-port | - | #### Агент індексації -| Порт | Призначення | Розташування | Аргумент CLI | Перемінна оточення | -| --- | --- | --- | --- | --- | -| 8000 | API для керування індексатором | / | --indexer-management-port | `INDEXER_AGENT_INDEXER_MANAGEMENT_PORT` | +| Порт | Призначення | Розташування | Аргумент CLI | Перемінна оточення | +| ---- | ------------------------------ | ------------ | ------------------------- | --------------------------------------- | +| 8000 | API для керування індексатором | / | --indexer-management-port | `INDEXER_AGENT_INDEXER_MANAGEMENT_PORT` | ### Налаштування серверної інфраструктури з використанням Terraform на Google Cloud @@ -182,9 +182,9 @@ Query fees are collected by the gateway and distributed to indexers according to #### Створіть проєкт на Google Cloud -- Клонуйте або перейдіть до репозиторію індексатора. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Перейдіть до каталогу ./terraform, саме тут слід виконати всі команди. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ kubectl config use-context $(kubectl config get-contexts --output='name' ### Graph Node -[Graph Node](https://github.com/graphprotocol/graph-node) - це реалізація Rust з відкритим вихідним кодом, яка використовує події блокчейну Ethereum для детермінованого оновлення сховища даних, які можна запитувати через кінцеву точку GraphQL. Розробники використовують підграфи для визначення своєї схеми та набір відображень для перетворення даних, отриманих з блоків мережі, а Graph Node займається синхронізацією всієї мережі, моніторингом нових блоків і обслуговуванням їх через кінцеву точку GraphQL. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Початок роботи з базового коду @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Стейкінг в протоколі -Перші кроки до участі в мережі в якості індексатора — це затвердження протоколу, стейкінгу коштів і (за бажанням) встановлення адреси оператора для щоденної взаємодії протоколу. _ **Примітка**. Для цілей цих інструкцій Remix використовуватиметься для взаємодії за контрактом, але не соромтеся використовувати інструмент за вибором ([OneClickDapp](https:// oneclickdapp.com/), [ABItopic](https://abitopic.io/) і [MyCrypto](https://www.mycrypto.com/account) – це ще кілька відомих інструментів)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Після того, як індексатор застейкав GRT токени у протоколі, [Indexer components](/network/indexing#indexer-components) можна запустити та почати взаємодію з мережею. @@ -760,7 +762,7 @@ indexer cost set model my_model.agora 2. У `File Explorer` створіть файл під назвою **GraphToken.abi** з [токен ABI](https://raw.githubusercontent.com/graphprotocol /contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. Вибравши `GraphToken.abi` та відкривши його в редакторі, перейдіть до розділу Deploy і `Run Transactions` в інтерфейсі Remix. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. У розділі середовища виберіть `Injected Web3`, а в розділі `Account` виберіть свою адресу індексатора. @@ -774,7 +776,7 @@ indexer cost set model my_model.agora 2. У `File Explorer` створіть файл під назвою **Staking.abi** зі стейкінгом ABI. -3. Вибравши `Staking.abi` та відкривши його в редакторі, перейдіть до розділу `Deploy` і `Run Transactions` в інтерфейсі Remix. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. У розділі середовища виберіть `Injected Web3`, а в розділі `Account` виберіть свою адресу індексатора. @@ -790,12 +792,28 @@ indexer cost set model my_model.agora setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### Термін розподілу Після створення індексатором правильний розподіл проходить через чотири стани. -- **Active** – після створення розподілу в мережі ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/ Staking.sol#L873)) вважається **активним**. Частина власного та/або делегованого стейку Індексатора розподіляється для розгортання підграфа, що дозволяє йому отримувати винагороди за індексування та обслуговувати запити для цього розгортання підграфа. Агент індексатора керує створенням розподілів на основі правил індексування. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed** – індексатор може вільно закрити виділення, коли мине 1 епоха ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master) /contracts/staking/Staking.sol#L873)) або їхній агент автоматично закриє розподіл після **maxAllocationEpochs** (наразі 28 днів). Коли розподіл закрито за допомогою доказу індексації (POI), їх винагороди за індексацію розподіляються між Індексатором і його Делегатами (див. "how are rewards distributed?" нижче, щоб дізнатися більше). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Індексаторам рекомендується використовувати функцію offchain синхронізації для синхронізації розгортань підграфів з head of chain перед створенням розподілів у мережі. Ця функція особливо корисна для підграфів, синхронізація яких може зайняти понад 28 епох, або для яких існує ймовірність невизначеного збою. From 1a065a1a8e559101113a0ef6a5ea4ddd8376e9cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:24 -0400 Subject: [PATCH 0473/2326] New translations indexing.mdx (Chinese Simplified) --- website/pages/zh/network/indexing.mdx | 80 ++++++++++++++++----------- 1 file changed, 49 insertions(+), 31 deletions(-) diff --git a/website/pages/zh/network/indexing.mdx b/website/pages/zh/network/indexing.mdx index 1e3ae15b544a..758f0c895f75 100644 --- a/website/pages/zh/network/indexing.mdx +++ b/website/pages/zh/network/indexing.mdx @@ -26,7 +26,7 @@ title: 索引 索引奖励来自协议通胀,每年发行量设定为 3%。 它们根据每个子图上所有管理信号的比例分布在子图上,然后根据他们在该子图上分配的份额按比例分配给索引人。 **一项分配必须以符合仲裁章程规定的标准的有效索引证明(POI)来结束,才有资格获得奖励。** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### 什么是索引证明 (POI)? @@ -38,7 +38,7 @@ Numerous tools have been created by the community for calculating rewards; you'l ### 可以监控待处理的索引人奖励吗? -RewardsManager 合约有一个只读函数,[getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) 功能可以用来检查特定分配的挂起的奖励。 +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. 许多社区制作的仪表板包含悬而未决的奖励值,通过以下步骤可以很容易地手动检查这些值: @@ -63,7 +63,7 @@ query indexerAllocations { - 导航到[奖励合约的 Etherscan 界面](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * 调用`getRewards()`: - - 展开 **10. getRewards** 下拉菜单。 + - Expand the **9. getRewards** dropdown. - 在输入中输入**分配 ID**. - 点击**查询**按钮. @@ -113,11 +113,11 @@ Query fees are collected by the gateway and distributed to indexers according to - **大型** -准备对当前使用的所有子图进行索引,并为相关流量的请求提供服务。 | 设置 | (CPU 数量) | (内存 GB) | (硬盘 TB) | (CPU 数量) | (内存 GB) | -| ---- | :--------: | :-------: | :-------: | :--------: | :-------: | -| 小型 | 4 | 8 | 1 | 4 | 16 | -| 标准 | 8 | 30 | 1 | 12 | 48 | -| 中型 | 16 | 64 | 2 | 32 | 64 | -| 大型 | 72 | 468 | 3.5 | 48 | 184 | +| -- |:--------:|:-------:|:-------:|:--------:|:-------:| +| 小型 | 4 | 8 | 1 | 4 | 16 | +| 标准 | 8 | 30 | 1 | 12 | 48 | +| 中型 | 16 | 64 | 2 | 32 | 64 | +| 大型 | 72 | 468 | 3.5 | 48 | 184 | ### 索引人应该采取哪些基本的安全防范措施? @@ -149,26 +149,26 @@ Query fees are collected by the gateway and distributed to indexers according to #### Graph 节点 -| 端口 | 用途 | 路径 | CLI 参数 | 环境 变量 | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP 服务
(用于子图查询) | /subgraphs/id/...

/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(用于子图订阅) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(用于管理部署) | / | --admin-port | - | -| 8030 | 子图索引状态 API | /graphql | --index-node-port | - | -| 8040 | Prometheus 指标 | /metrics | --metrics-port | - | +| 端口 | 用途 | 路径 | CLI 参数 | 环境 变量 | +| ---- | ------------------------------------ | ------------------------------------------------------------------- | ----------------- | ----- | +| 8000 | GraphQL HTTP 服务
(用于子图查询) | /subgraphs/id/...

/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(用于子图订阅) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(用于管理部署) | / | --admin-port | - | +| 8030 | 子图索引状态 API | /graphql | --index-node-port | - | +| 8040 | Prometheus 指标 | /metrics | --metrics-port | - | #### 索引人服务 -| 端口 | 用途 | 路径 | CLI 参数 | 环境 变量 | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP 服务器
(用于付费子图查询) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus 指标 | /metrics | --metrics-port | - | +| 端口 | 用途 | 路径 | CLI 参数 | 环境 变量 | +| ---- | --------------------------------------- | --------------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP 服务器
(用于付费子图查询) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus 指标 | /metrics | --metrics-port | - | #### 索引人代理 -| 端口 | 用途 | 路径 | CLI 参数 | 环境 变量 | -| ---- | -------------- | ---- | ------------------------- | --------------------------------------- | -| 8000 | 索引人管理 API | / | --indexer-management-port | `INDEXER_AGENT_INDEXER_MANAGEMENT_PORT` | +| 端口 | 用途 | 路径 | CLI 参数 | 环境 变量 | +| ---- | --------- | -- | ------------------------- | --------------------------------------- | +| 8000 | 索引人管理 API | / | --indexer-management-port | `INDEXER_AGENT_INDEXER_MANAGEMENT_PORT` | ### 在谷歌云上使用 Terraform 建立服务器基础设施 @@ -182,9 +182,9 @@ Query fees are collected by the gateway and distributed to indexers according to #### 创建一个谷歌云项目 -- 克隆或导航到索引人存储库。 +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- 导航到./terraform 目录,这是所有命令应该执行的地方。 +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ kubectl config use-context $(kubectl config get-contexts --output='name' ### Graph节点 -[Graph节点](https://github.com/graphprotocol/graph-node) 是一个开源的 Rust 实现,它将以太坊区块链事件源化,以确定地更新一个数据存储,可以通过 GraphQL 端点进行查询。 开发者使用子图来定义他们的模式,以及一组用于转换区块链来源数据的映射,Graph 节点处理同步整个链,监控新的区块,并通过 GraphQL 端点提供服务。 +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### 从来源开始 @@ -730,7 +730,7 @@ default => 0.1 * $SYSTEM_LOAD; 使用上述模型的查询成本计算示例: -| 询问 | 价格 | +| 询问 | 价格 | | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | @@ -749,7 +749,9 @@ indexer cost set model my_model.agora ### 在协议中进行质押 -作为索引人参与网络的第一步是批准协议、质押资金,以及(可选)设置一个操作员地址以进行日常协议交互。 _ **注意**: 在这些说明中,Remix 将用于合约交互,但请随意使用您选择的工具([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), 和[MyCrypto](https://www.mycrypto.com/account) 是其他一些已知的工具)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). 一旦索引人将GRT置于协议中,[索引人组件](/network/indexing#indexer-components)就可以启动并开始与网络交互。 @@ -759,7 +761,7 @@ indexer cost set model my_model.agora 2. 使用[token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json).在`File Explorer`文件夹中创建一个名为**GraphToken.abi**的文件。 -3. 在编辑器中选择`GraphToken.abi` 并打开,切换到Remix 界面中部署和`Run Transactions` 选项中。 +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. 在环境选择`Injected Web3`和`Account` 下面选择你的索引人地址。 @@ -773,7 +775,7 @@ indexer cost set model my_model.agora 2. 在 `File Explorer` 创建一个名为**Staking.abi** 的文件中,使用 staking ABI. -3. 在编辑器中选择并打开 `Staking.abi` 后,切换到 Remix 界面中的 `Deploy` 和 `Run Transactions` 部分。 +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. 在环境选择`Injected Web3`和`Account` 下面选择你的索引人地址。 @@ -789,12 +791,28 @@ indexer cost set model my_model.agora setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### 分配的生命周期 在被索引人创建之后,健康的分配会经历四个状态。 -- **Active** - 一旦在链上创建了分配 ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) ,它就被认为是**active**的。索引人自己和/或委托的一部分份额分配给子图部署,这允许他们申请索引奖励并为该子图部署提供查询。索引人代理根据索引人规则管理创建分配。 +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed** - 索引人可以在经过1个时期后自由关闭分配 ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) ,或者其索引人代理将在**maxAllocationEpochs** 之后(当前为28天)自动关闭分配。当分配以有效的索引证明(POI)结束时,其索引奖励将分配给索引人及其委托人(请参阅下面的“如何分配奖励?”了解更多信息)。 +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). 建议索引人在链上创建分配之前,利用链外同步功能将子图部署同步到链头。对于可能需要超过28个时期才能同步或有一些无法确定失败的机会的子图,此功能特别有用。 From 16b700fe87c1bb6a92fe92821087541ea023e86a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:25 -0400 Subject: [PATCH 0474/2326] New translations indexing.mdx (Urdu (Pakistan)) --- website/pages/ur/network/indexing.mdx | 74 +++++++++++++++++---------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/website/pages/ur/network/indexing.mdx b/website/pages/ur/network/indexing.mdx index 6b396ceccca7..e17ef5c8ef39 100644 --- a/website/pages/ur/network/indexing.mdx +++ b/website/pages/ur/network/indexing.mdx @@ -26,7 +26,7 @@ title: انڈیکسنگ انڈیکسنگ کے انعامات پروٹوکول کے افراط زر سے آتے ہیں جو کہ %3 سالانہ جاری کرنے پر مقر ر ہے. وہ ہر ایک پر تمام کیوریشن سگنل کے تناسب کی بنیاد پر سب گرافس میں تقسیم کیے جاتے ہیں, پھر اس سب گراف پر ان کے مختص سٹیک کی بنیاد پر انڈیکسرز کو متناسب طور پر تقسیم کیے جاتے ہیں. **ایک مختص کرنے کو انڈیکسنگ کے درست ثبوت (POI) کے ساتھ مختص کرنا ضروری ہے جو ثالثی چارٹر کے ذریعہ مقرر کردہ معیارات پر پورا اترتا ہے تاکہ انعامات کا اہل ہو.** -انعامات کا حساب لگانے کے لیے کمیونٹی کی طرف سے متعدد ٹولز بنائے گئے ہیں۔ آپ کو ان کا ایک مجموعہ [کمیونٹی گائیڈز کلیکشن](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c) میں مل جائے گا۔ آپ [ڈسکورڈ سرور](https://discord.gg/graphprotocol) پر #Delegators اور #Indexers چینلز میں ٹولز کی تازہ ترین فہرست بھی تلاش کر سکتے ہیں۔ یہاں ہم ایک [تجویز کردہ ایلوکیشن آپٹیمائزر](https://github.com/graphprotocol/AllocationOpt.jl) کو انڈیکسر سافٹ ویئر سٹیک کے ساتھ مربوط کرتے ہیں. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### انڈئکسنگ کا ثبوت (POI) کیا ہے؟ @@ -38,7 +38,7 @@ POIs کو نیٹ ورک میں اس بات کی تصدیق کرنے کے لیے ### کیا زیر غور انڈیکسنگ کے انعامات کی نگرانی کی جا سکتی ہے؟ -RewardsManager کنٹریکٹ میں صرف پڑھنے کے لیے [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) فنکشن ہوتا ہے جسے مخصوص مختص کے لیے زیر التواء انعامات کو چیک کرنے کے لیے استعمال کیا جا سکتا ہے. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. کمیونٹی کے بنائے ہوئے بہت سے ڈیش بورڈز میں زیر التواء انعامات کی قدریں شامل ہیں اور ان اقدامات پر عمل کر کے انہیں آسانی سے دستی طور پر چیک کیا جا سکتا ہے: @@ -63,7 +63,7 @@ query indexerAllocations { - [انعامات کے کنٹریکٹ پر ایتھرسکین انٹرفیس](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) پر جائیں * `getRewards()` کو کال کرنے کے لیے: - - **10. getRewards** ڈراپ ڈاؤن کو پھیلائیں. + - Expand the **9. getRewards** dropdown. - ان پٹ میں **AllocationID** درج کریں. - **کیوری** بٹن پر کلک کریں. @@ -112,12 +112,12 @@ query indexerAllocations { - **درمیانہ** - پروڈکشن انڈیکسر 100 سب گراف اور 200-500 درخواستیں فی سیکنڈ کو اٹھا سکتا ہے. - **بڑا** - تمام فی الحال زیر استعمال سب گرافس کو انڈیکس کرنے اور متعلقہ ٹریفک کے لیے درخواستیں پیش کرنے کے لیے تیار ہے. -| سیٹ اپ | Postgres
(CPUs) | Postgres
(GBs میں میموری) | Postgres
(TBs میں ڈسک) | VMs
(CPUs) | VMs
(GBs میں میموری) | -| --- | :-: | :-: | :-: | :-: | :-: | -| چھوٹا | 4 | 8 | 1 | 4 | 16 | -| معیاری | 8 | 30 | 1 | 12 | 48 | -| درمیانہ | 16 | 64 | 2 | 32 | 64 | -| بڑا | 72 | 468 | 3.5 | 48 | 184 | +| سیٹ اپ | Postgres
(CPUs) | Postgres
(GBs میں میموری) | Postgres
(TBs میں ڈسک) | VMs
(CPUs) | VMs
(GBs میں میموری) | +| ------- |:--------------------------:|:------------------------------------:|:---------------------------------:|:---------------------:|:-------------------------------:| +| چھوٹا | 4 | 8 | 1 | 4 | 16 | +| معیاری | 8 | 30 | 1 | 12 | 48 | +| درمیانہ | 16 | 64 | 2 | 32 | 64 | +| بڑا | 72 | 468 | 3.5 | 48 | 184 | ### وہ کون سی چند بنیادی حفاظتی تدابیر ہیں جو ایک انڈیکسر کو اختیار کرنی چاہیے؟ @@ -149,20 +149,20 @@ query indexerAllocations { #### گراف نوڈ -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
(سب گراف کی کیوریز کے لیے) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(سب گراف سبسکرپشنز کے لیے) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(تعیناتیوں کے انتظام کے لیے) | / | --admin-port | - | -| 8030 | سب گراف انڈیکسنگ اسٹیٹس API | /graphql | --index-node-port | - | -| 8040 | Prometheus میٹرکس | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | --------------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
(سب گراف کی کیوریز کے لیے) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(سب گراف سبسکرپشنز کے لیے) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(تعیناتیوں کے انتظام کے لیے) | / | --admin-port | - | +| 8030 | سب گراف انڈیکسنگ اسٹیٹس API | /graphql | --index-node-port | - | +| 8040 | Prometheus میٹرکس | /metrics | --metrics-port | - | #### انڈیکسر سروس -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
(ادا شدہ سب گراف کی کیوریز کے لیے) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus میٹرکس | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ----------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP server
(ادا شدہ سب گراف کی کیوریز کے لیے) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus میٹرکس | /metrics | --metrics-port | - | #### انڈیکسر ایجنٹ @@ -182,9 +182,9 @@ query indexerAllocations { #### گوگل کلاؤڈ پروجیکٹ بنائیں -- انڈیکسر ریپوزٹری کی نقل کریں یا اس پر تشریف لے جائیں. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- ./terraform ڈائریکٹری پر جائیں, یہ وہ جگہ ہے جہاں تمام کمانڈز چلائی جانی چاہئے. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ kubectl config use-context $(kubectl config get-contexts --output='name' ### گراف نوڈ -[گراف نوڈ](https://github.com/graphprotocol/graph-node) ایک اوپن سورس Rust کا نفاذ ہے جو ایتھیریم بلاکچین کو ڈیٹا سٹور کو متعین طور پر اپ ڈیٹ کرنے کے لیے فراہم کرتا ہے جس سے GraphQL اینڈ پوائنٹ کے ذریعے کیوری کیا جا سکتا ہے. ڈویلپرز اپنے اسکیما کی وضاحت کرنے کے لیے سب گراف کا استعمال کرتے ہیں، اور بلاک چین سے حاصل کردہ ڈیٹا کو تبدیل کرنے کے لیے میپنگ کا ایک سیٹ اور گراف نوڈ پوری چین کو ہم آہنگ کرنے، نئے بلاکس کی مانیٹرنگ، اور GraphQL اینڈ پوائنٹ کے ذریعے اسے پیش کرنے کے لیے استعمال کرتے ہیں. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### سورس سے شروع کرنا @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### پروٹوکول میں حصہ ڈالنا -انڈیکسر کے طور پر نیٹ ورک میں حصہ لینے کے پہلے اقدامات پروٹوکول، سٹیک فنڈز کو منظور کرنا، اور (اختیاری طور پر) روزانہ پروٹوکول تعاملات کے لیے آپریٹر ایڈریس ترتیب دینا ہیں. _**نوٹ**: ان ہدایات کے مقاصد کے لیے Remix کو معاہدہ کے تعامل کے لیے استعمال کیا جائے گا، لیکن بلا جھجھک اپنی پسند کا ٹول استعمال کریں ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), اور [MyCrypto](https://www.mycrypto.com/account) چند دوسرے معروف ٹولز ہیں)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). ایک بار جب ایک انڈیکسر نے پروٹوکول میں GRT کو سٹیک کر دیا ہے، تو [انڈیکسر اجزاء](/network/indexing#indexer-components) کو شروع کیا جا سکتا ہے اور نیٹ ورک کے ساتھ اپنے تعاملات شروع کر سکتے ہیں. @@ -760,7 +762,7 @@ indexer cost set model my_model.agora 2. `File Explorer` میں [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json) کے ساتھ **GraphToken.abi** کے نام سے ایک فائل بنائیں. -3. `GraphToken.abi` کو منتخب کرنے اور ایڈیٹر میں کھولنے کے ساتھ، Remix انٹرفیس میں Deploy اور `Run Transactions` سیکشن پر جائیں. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. ماحول کے نیچے `Injected Web3` کو منتخب کریں اور `Account` کے نیچے اپنا انڈیکسر ایڈریس منتخب کریں. @@ -774,7 +776,7 @@ indexer cost set model my_model.agora 2. `File Explorer` میں اسٹیکنگ ABI کے ساتھ **Staking.abi** کے نام سے ایک فائل بنائیں. -3. `Staking.abi` کو منتخب کرنے اور ایڈیٹر میں کھولنے کے ساتھ، Remix انٹرفیس میں `Deploy` اور `Run Transactions` سیکشن پر جائیں. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. ماحول کے نیچے `Injected Web3` کو منتخب کریں اور `Account` کے نیچے اپنا انڈیکسر کے ایڈریس کو منتخب کریں. @@ -790,12 +792,28 @@ indexer cost set model my_model.agora setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### ایک ایلوکیشن کا دورانیہ ایک انڈیکسر کے ذریعہ بنائے جانے کے بعد ایک صحت مند ایلوکیشن چار مرحلوں سے گزرتا ہے. -- **Active** - ایک بار جب ایک ایلوکیشن on-chain بن جاتی ہے ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) تو اسے **active** سمجھا جاتا ہے. انڈیکسر کے اپنے اور​/یا ڈیلیگیٹ سٹیک کا ایک حصہ سب گراف کی تعیناتی کے لیے مختص کیا جاتا ہے، جو انہیں انڈیکسنگ انعامات کا دعوی کرنے اور اس سب گراف کی تعیناتی کے لیے کیوریز پیش کرنے کی اجازت دیتا ہے. انڈیکسر ایجنٹ انڈیکسر کے اصولوں کی بنیاد پر ایلوکیشن کا انتظام کرتا ہے. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed** - ایک انڈیکسر 1 ایپوک گزر جانے کے بعد ایلوکیشن کو بند کرنے کے لیے آزاد ہوتا ہے ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) یا ان کا انڈیکسر ایجنٹ **maxAllocationEpochs** (فی الحال 28 دن) کے بعد مختص کو خود بخود بند کر دے گا. جب کوئی ایلوکیشن انڈیکسنگ کے درست ثبوت (POI) کے ساتھ بند کر دیا جاتا ہے تو ان کے انڈیکسنگ کے انعامات انڈیکسر اور اس کے ڈیلیگیٹرز میں تقسیم کیے جاتے ہیں (مزید جاننے کے لیے نیچے "انعامات کیسے تقسیم کیے جاتے ہیں؟" دیکھیں). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). انڈیکسرز کو تجویز کی جاتی ہے کہ وہ offchain مطابقت پذیری کی فعالیت کو استعمال کریں تاکہ on-chain ایلوکیشن سے پہلے سب گراف کی تعیناتیوں کو chainhead سے ہم آہنگ کیا جا سکے. یہ خصوصیت خاص طور پر ان سب گرافوں کے لیے مفید ہے جن کی مطابقت پذیری میں 28 ایپوک سے زیادہ وقت لگ سکتا ہے یا غیر یقینی طور پر ناکام ہونے کے کچھ امکانات ہوتے ہیں. From 770423df39e380a34164224f3faeddbfaee5772d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:26 -0400 Subject: [PATCH 0475/2326] New translations indexing.mdx (Vietnamese) --- website/pages/vi/network/indexing.mdx | 74 +++++++++++++++++---------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/website/pages/vi/network/indexing.mdx b/website/pages/vi/network/indexing.mdx index 8365be2856b1..7893bb05d03c 100644 --- a/website/pages/vi/network/indexing.mdx +++ b/website/pages/vi/network/indexing.mdx @@ -26,7 +26,7 @@ The minimum stake for an Indexer is currently set to 100K GRT. Indexing rewards come from protocol inflation which is set to 3% annual issuance. They are distributed across subgraphs based on the proportion of all curation signal on each, then distributed proportionally to Indexers based on their allocated stake on that subgraph. **An allocation must be closed with a valid proof of indexing (POI) that meets the standards set by the arbitration charter in order to be eligible for rewards.** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### Bằng chứng lập chỉ mục (proof of indexing - POI) là gì? @@ -38,7 +38,7 @@ Allocations are continuously accruing rewards while they're active and allocated ### Can pending indexing rewards be monitored? -Hợp đồng RewardsManager có có một chức năng [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) chỉ đọc có thể được sử dụng để kiểm tra phần thưởng đang chờ để phân bổ cụ thể. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Nhiều trang tổng quan (dashboard) do cộng đồng tạo bao gồm các giá trị phần thưởng đang chờ xử lý và bạn có thể dễ dàng kiểm tra chúng theo cách thủ công bằng cách làm theo các bước sau: @@ -63,7 +63,7 @@ Sử dụng Etherscan để gọi `getRewards()`: - Điều hướng đến [giao diện Etherscan đến hợp đồng Rewards](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * Để gọi `getRewards()`: - - Expand the **10. getRewards** dropdown. + - Expand the **9. getRewards** dropdown. - Nhập **allocationID** trong đầu vào. - Click the **Query** button. @@ -112,12 +112,12 @@ Indexer có thể tự phân biệt bản thân bằng cách áp dụng các k - **Medium** - Production Indexer supporting 100 subgraphs and 200-500 requests per second. - **Lớn** - Được chuẩn bị để index tất cả các subgraph hiện đang được sử dụng và phục vụ các yêu cầu cho lưu lượng truy cập liên quan. -| Cài đặt | Postgres
(CPUs) | Postgres
(bộ nhớ tính bằng GB) | Postgres
(đĩa tính bằng TB) | VMs
(CPUs) | VMs
(bộ nhớ tính bằng GB) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Nhỏ | 4 | 8 | 1 | 4 | 16 | -| Tiêu chuẩn | 8 | 30 | 1 | 12 | 48 | -| Trung bình | 16 | 64 | 2 | 32 | 64 | -| Lớn | 72 | 468 | 3.5 | 48 | 184 | +| Cài đặt | Postgres
(CPUs) | Postgres
(bộ nhớ tính bằng GB) | Postgres
(đĩa tính bằng TB) | VMs
(CPUs) | VMs
(bộ nhớ tính bằng GB) | +| ----------- |:--------------------------:|:-----------------------------------------:|:--------------------------------------:|:---------------------:|:------------------------------------:| +| Nhỏ | 4 | 8 | 1 | 4 | 16 | +| Tiêu chuẩn | 8 | 30 | 1 | 12 | 48 | +| Trung bình | 16 | 64 | 2 | 32 | 64 | +| Lớn | 72 | 468 | 3.5 | 48 | 184 | ### What are some basic security precautions an Indexer should take? @@ -149,20 +149,20 @@ Lưu ý: Để hỗ trợ mở rộng quy mô nhanh, bạn nên tách các mối #### Graph Node -| Cổng | Mục đích | Tuyến | Đối số CLI | Biến môi trường | -| --- | --- | --- | --- | --- | -| 8000 | Máy chủ GraphQL HTTP
(cho các truy vấn subgraph) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(cho các đăng ký subgraph) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(để quản lý triển khai) | / | --admin-port | - | -| 8030 | API trạng thái lập chỉ mục Subgraph | /graphql | --index-node-port | - | -| 8040 | Số liệu Prometheus | /metrics | --metrics-port | - | +| Cổng | Mục đích | Tuyến | Đối số CLI | Biến môi trường | +| ---- | ----------------------------------------------------------- | ---------------------------------------------------- | ----------------- | --------------- | +| 8000 | Máy chủ GraphQL HTTP
(cho các truy vấn subgraph) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(cho các đăng ký subgraph) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(để quản lý triển khai) | / | --admin-port | - | +| 8030 | API trạng thái lập chỉ mục Subgraph | /graphql | --index-node-port | - | +| 8040 | Số liệu Prometheus | /metrics | --metrics-port | - | #### Dịch vụ Indexer -| Cổng | Mục đích | Tuyến | Đối số CLI | Biến môi trường | -| --- | --- | --- | --- | --- | -| 7600 | Máy chủ GraphQL HTTP
(cho các truy vấn subgraph có trả phí) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Số liệu Prometheus | /metrics | --metrics-port | - | +| Cổng | Mục đích | Tuyến | Đối số CLI | Biến môi trường | +| ---- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | Máy chủ GraphQL HTTP
(cho các truy vấn subgraph có trả phí) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Số liệu Prometheus | /metrics | --metrics-port | - | #### Đại lý Indexer @@ -182,9 +182,9 @@ Lưu ý: Để hỗ trợ mở rộng quy mô nhanh, bạn nên tách các mối #### Tạo một dự án Google Cloud -- Clone or navigate to the Indexer repository. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Điều hướng đến thư mục ./terraform, đây là nơi tất cả các lệnh sẽ được thực thi. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Triển khai tất cả các tài nguyên với `kubectl apply -k $dir`. ### Graph Node -[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the block chain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Bắt đầu từ nguồn @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Stake trong giao thức -Các bước đầu tiên để tham gia vào mạng với tư cách là Indexer là phê duyệt giao thức, stake tiền và (tùy chọn) thiết lập địa chỉ operator cho các tương tác giao thức hàng ngày. _ **Lưu ý**: Đối với các mục đích của các hướng dẫn này, Remix sẽ được sử dụng để tương tác hợp đồng, nhưng hãy thoải mái sử dụng công cụ bạn chọn ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), và [MyCrypto](https://www.mycrypto.com/account) là một vài công cụ được biết đến khác)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Once an Indexer has staked GRT in the protocol, the [Indexer components](/network/indexing#indexer-components) can be started up and begin their interactions with the network. @@ -760,7 +762,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. Trong `File Explorer` tạo một tệp tên **GraphToken.abi** với [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. Với `GraphToken.abi` đã chọn và mở trong trình chỉnh sửa, chuyển sang Deploy (Triển khai) và `Run Transactions` trong giao diện Remix. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -774,7 +776,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **Staking.abi** with the staking ABI. -3. Với `Staking.abi` đã chọn và mở trong trình chỉnh sửa, chuyển sang `Deploy` và `Run Transactions` trong giao diện Remix. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -790,12 +792,28 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### Tuổi thọ của một phân bổ After being created by an Indexer a healthy allocation goes through four states. -- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators (see "how are rewards distributed?" below to learn more). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Indexers are recommended to utilize offchain syncing functionality to sync subgraph deployments to chainhead before creating the allocation on-chain. This feature is especially useful for subgraphs that may take longer than 28 epochs to sync or have some chances of failing undeterministically. From f4fe7085a12ebdb74e4b07fb146a2a6f2fd505c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:27 -0400 Subject: [PATCH 0476/2326] New translations indexing.mdx (Marathi) --- website/pages/mr/network/indexing.mdx | 76 +++++++++++++++++---------- 1 file changed, 47 insertions(+), 29 deletions(-) diff --git a/website/pages/mr/network/indexing.mdx b/website/pages/mr/network/indexing.mdx index 4ead6f7ae74b..46d959c4478f 100644 --- a/website/pages/mr/network/indexing.mdx +++ b/website/pages/mr/network/indexing.mdx @@ -26,7 +26,7 @@ The minimum stake for an Indexer is currently set to 100K GRT. इंडेक्सिंग रिवॉर्ड्स प्रोटोकॉल इन्फ्लेशनमधून येतात जे 3% वार्षिक जारी करण्यावर सेट केले जातात. ते प्रत्येकावरील सर्व क्युरेशन सिग्नलच्या प्रमाणावर आधारित सबग्राफमध्ये वितरीत केले जातात, नंतर त्या सबग्राफवरील त्यांच्या वाटप केलेल्या भागभांडवलांच्या आधारे अनुक्रमणिकेला प्रमाणात वितरीत केले जातात. **पुरस्कारांसाठी पात्र होण्यासाठी लवाद चार्टरने सेट केलेल्या मानकांची पूर्तता करणार्‍या अनुक्रमणिकेच्या वैध पुराव्यासह (POI) वाटप बंद करणे आवश्यक आहे.** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### What is a proof of indexing (POI)? @@ -38,7 +38,7 @@ Numerous tools have been created by the community for calculating rewards; you'l ### Can pending indexing rewards be monitored? -RewardsManager करारामध्ये केवळ वाचनीय [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) फंक्शन आहे जे वापरले जाऊ शकते. विशिष्ट वाटपासाठी प्रलंबित पुरस्कार तपासण्यासाठी. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. समुदायाने बनवलेल्या अनेक डॅशबोर्डमध्ये प्रलंबित पुरस्कार मूल्यांचा समावेश आहे आणि ते या चरणांचे अनुसरण करून सहजपणे व्यक्तिचलितपणे तपासले जाऊ शकतात: @@ -63,7 +63,7 @@ Use Etherscan to call `getRewards()`: - Navigate to [Etherscan interface to Rewards contract](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * `getRewards()` ला कॉल करण्यासाठी: - - Expand the **10. getRewards** dropdown. + - Expand the **9. getRewards** dropdown. - Enter the **allocationID** in the input. - Click the **Query** button. @@ -112,12 +112,12 @@ Once an allocation has been closed the rebates are available to be claimed by th - **Medium** - Production Indexer supporting 100 subgraphs and 200-500 requests per second. - **Large** - Prepared to index all currently used subgraphs and serve requests for the related traffic. -| Setup | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Small | 4 | 8 | 1 | 4 | 16 | -| मानक | 8 | 30 | 1 | 12 | 48 | -| Medium | 16 | 64 | 2 | 32 | 64 | -| Large | 72 | 468 | 3.5 | 48 | 184 | +| Setup | Postgres
(CPUs) | Postgres
(memory in GBs) | Postgres
(disk in TBs) | VMs
(CPUs) | VMs
(memory in GBs) | +| ------ |:--------------------------:|:-----------------------------------:|:---------------------------------:|:---------------------:|:------------------------------:| +| Small | 4 | 8 | 1 | 4 | 16 | +| मानक | 8 | 30 | 1 | 12 | 48 | +| Medium | 16 | 64 | 2 | 32 | 64 | +| Large | 72 | 468 | 3.5 | 48 | 184 | ### What are some basic security precautions an Indexer should take? @@ -149,20 +149,20 @@ Once an allocation has been closed the rebates are available to be claimed by th #### आलेख नोड -| बंदर | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
(for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| बंदर | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ----------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
(for subgraph queries) | /subgraphs/id/...
/subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
(for subgraph subscriptions) | /subgraphs/id/...
/subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
(for managing deployments) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Service -| बंदर | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus metrics | /metrics | --metrics-port | - | +| बंदर | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ---------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP server
(for paid subgraph queries) | /subgraphs/id/...
/status
/channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Agent @@ -182,9 +182,9 @@ Once an allocation has been closed the rebates are available to be claimed by th #### Create a Google Cloud Project -- Clone or navigate to the Indexer repository. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Navigate to the ./terraform directory, this is where all commands should be executed. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Deploy all resources with `kubectl apply -k $dir`. ### आलेख नोड -[ग्राफ नोड](https://github.com/graphprotocol/graph-node) हे एक ओपन सोर्स रस्ट अंमलबजावणी आहे जे ग्राफक्यूएल एंडपॉइंट द्वारे विचारले जाऊ शकणारे डेटा स्टोअर निश्चितपणे अपडेट करण्यासाठी इथरियम ब्लॉकचेनला इव्हेंट स्रोत देते. विकासक त्यांचा स्कीमा परिभाषित करण्यासाठी सबग्राफ वापरतात, आणि ब्लॉक साखळीतून मिळवलेल्या डेटाचे रूपांतर करण्यासाठी मॅपिंगचा संच आणि ग्राफ नोड संपूर्ण साखळी समक्रमित करणे, नवीन ब्लॉक्सचे निरीक्षण करणे आणि ग्राफक्यूएल एंडपॉईंटद्वारे सर्व्ह करणे. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Getting started from source @@ -623,7 +623,7 @@ graph indexer rules delete QmZfeJYR86UARzp9HiXbURWunYgC9ywvPvoePNbuaATrEK - Indexer can use the `indexer-cli` to view all queued actions - इंडेक्सर (किंवा इतर सॉफ्टवेअर) `indexer-cli` वापरून रांगेतील क्रिया मंजूर किंवा रद्द करू शकतात. मंजूर आणि रद्द आदेश इनपुट म्हणून अॅक्शन आयडीचा अॅरे घेतात. - अंमलबजावणी कर्मचारी नियमितपणे मंजूर कृतींसाठी रांगेत मतदान करतात. ते रांगेतील `मंजूर` क्रिया पकडेल, त्या कार्यान्वित करण्याचा प्रयत्न करेल आणि अंमलबजावणीच्या स्थितीनुसार `यशस्वी` किंवा `अयशस्वी< वर db मधील मूल्ये अपडेट करेल. /code>. -
  • एखादी कृती यशस्वी झाल्यास कार्यकर्ता खात्री करेल की एक अनुक्रमणिका नियम उपस्थित आहे जो एजंटला वाटप कसे व्यवस्थापित करावे हे सांगते, एजंट ऑटो` किंवा ` मध्ये असताना मॅन्युअल क्रिया करताना उपयुक्त oversight` मोड. +
  • एखादी कृती यशस्वी झाल्यास कार्यकर्ता खात्री करेल की एक अनुक्रमणिका नियम उपस्थित आहे जो एजंटला वाटप कसे व्यवस्थापित करावे हे सांगते, एजंट ऑटो` किंवा ` मध्ये असताना मॅन्युअल क्रिया करताना उपयुक्त oversight` मोड. - इंडेक्सर कारवाईच्या अंमलबजावणीचा इतिहास पाहण्यासाठी कृती रांगेचे निरीक्षण करू शकतो आणि आवश्यक असल्यास क्रिया आयटमची अंमलबजावणी अयशस्वी झाल्यास पुन्हा मंजूर आणि अद्यतनित करू शकतो. कृती रांग रांगेत लावलेल्या आणि केलेल्या सर्व क्रियांचा इतिहास प्रदान करते. Data model: @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Stake in the protocol -इंडेक्सर म्‍हणून नेटवर्कमध्‍ये सहभागी होण्‍याची पहिली पायरी म्हणजे प्रोटोकॉल, स्‍टेक फंड आणि (वैकल्पिकपणे) दैनंदिन प्रोटोकॉल संवादांसाठी ऑपरेटर पत्ता सेट करणे. _ **टीप**: या सूचनांच्या उद्देशांसाठी रीमिक्सचा वापर कराराच्या परस्परसंवादासाठी केला जाईल, परंतु आपल्या आवडीचे साधन वापरण्यास मोकळ्या मनाने ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/) >, आणि [MyCrypto](https://www.mycrypto.com/account) ही काही इतर ज्ञात साधने आहेत)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). एकदा इंडेक्सरने प्रोटोकॉलमध्ये GRT स्टेक केल्यानंतर, [इंडेक्सर घटक](/network/indexing#indexer-components) सुरू केले जाऊ शकतात आणि त्यांचे नेटवर्कशी परस्परसंवाद सुरू करू शकतात. @@ -760,7 +762,7 @@ indexer cost set model my_model.agora 2. In the `File Explorer` create a file named **GraphToken.abi** with the [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. With `GraphToken.abi` selected and open in the editor, switch to the Deploy and `Run Transactions` section in the Remix interface. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -774,7 +776,7 @@ indexer cost set model my_model.agora 2. In the `File Explorer` create a file named **Staking.abi** with the staking ABI. -3. With `Staking.abi` selected and open in the editor, switch to the `Deploy` and `Run Transactions` section in the Remix interface. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -790,12 +792,28 @@ indexer cost set model my_model.agora setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### The life of an allocation After being created by an Indexer a healthy allocation goes through four states. -- **सक्रिय** - एकदा वाटप ऑन-चेन ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) तयार झाल्यावर ते **सक्रिय** मानले जाते. इंडेक्सरच्या स्वतःच्या आणि/किंवा नियुक्त केलेल्या स्टेकचा एक भाग सबग्राफ डिप्लॉयमेंटसाठी वाटप केला जातो, ज्यामुळे त्यांना इंडेक्सिंग रिवॉर्ड्सचा दावा करता येतो आणि त्या सबग्राफ डिप्लॉयमेंटसाठी क्वेरी करता येतात. इंडेक्सर एजंट इंडेक्सर नियमांवर आधारित वाटप तयार करण्याचे व्यवस्थापन करतो. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **बंद** - एकदा 1 युग निघून गेल्यावर इंडेक्सर एलोकेशन बंद करण्यास मोकळे आहे ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master /contracts/staking/Staking.sol#L873)) किंवा त्यांचा इंडेक्सर एजंट **maxAllocationEpochs** (सध्या २८ दिवस) नंतर वाटप आपोआप बंद करेल). जेव्हा इंडेक्सिंग (POI) च्या वैध पुराव्यासह वाटप बंद केले जाते तेव्हा त्यांची अनुक्रमणिका पुरस्कार इंडेक्सर आणि त्याच्या प्रतिनिधींना वितरित केले जातात (अधिक जाणून घेण्यासाठी खाली "बक्षिसे कशी वितरित केली जातात?" पहा). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). ऑन-चेन वाटप तयार करण्यापूर्वी चेनहेडमध्ये सबग्राफ उपयोजन समक्रमित करण्यासाठी ऑफचेन सिंकिंग कार्यक्षमता वापरण्याची शिफारस इंडेक्सर्सना केली जाते. हे वैशिष्ट्य विशेषतः उपग्राफसाठी उपयुक्त आहे ज्यांना समक्रमित करण्यासाठी 28 पेक्षा जास्त काळ लागू शकतो किंवा अनिश्चितपणे अयशस्वी होण्याची काही शक्यता असते. From e80580f31288afc6fca3bb1ea2a5078e13830f3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:28 -0400 Subject: [PATCH 0477/2326] New translations indexing.mdx (Hindi) --- website/pages/hi/network/indexing.mdx | 78 ++++++++++++++++----------- 1 file changed, 48 insertions(+), 30 deletions(-) diff --git a/website/pages/hi/network/indexing.mdx b/website/pages/hi/network/indexing.mdx index 4af09b4d7fd8..dd51e52a0a08 100644 --- a/website/pages/hi/network/indexing.mdx +++ b/website/pages/hi/network/indexing.mdx @@ -26,7 +26,7 @@ Indexers are node operators in The Graph Network that stake Graph Tokens (GRT) i अनुक्रमण पुरस्कार प्रोटोकॉल मुद्रास्फीति से आते हैं जो 3% वार्षिक जारी करने के लिए निर्धारित है। उन्हें प्रत्येक पर सभी क्यूरेशन सिग्नल के अनुपात के आधार पर सबग्राफ में वितरित किया जाता है, फिर उस सबग्राफ पर उनकी आवंटित हिस्सेदारी के आधार पर इंडेक्सर्स को आनुपातिक रूप से वितरित किया जाता है। **अनुक्रमण के एक वैध प्रमाण (POI) के साथ एक आवंटन बंद होना चाहिए जो पुरस्कारों के योग्य होने के लिए मध्यस्थता चार्टर द्वारा निर्धारित मानकों को पूरा करता है।** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### इंडेक्सिंग (पीओआई) का सबूत क्या है? @@ -38,7 +38,7 @@ Numerous tools have been created by the community for calculating rewards; you'l ### क्या लंबित अनुक्रमण पुरस्कारों की निगरानी की जा सकती है? -RewardsManager अनुबंध में केवल पढ़ने के लिए [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) फ़ंक्शन है जिसका उपयोग किया जा सकता है किसी विशिष्ट आवंटन के लिए लंबित पुरस्कारों की जांच करने के लिए। +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. कई समुदाय-निर्मित डैशबोर्ड में लंबित पुरस्कार मान शामिल हैं और इन चरणों का पालन करके उन्हें आसानी से मैन्युअल रूप से चेक किया जा सकता है: @@ -63,7 +63,7 @@ query indexerAllocations { - [इथरस्कैन इंटरफ़ेस टू रिवॉर्ड्स कॉन्ट्रैक्ट](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) पर नेविगेट करें * कॉल करने के लिए `getRewards()`: - - **10 को विस्तृत करें। getRewards** ड्रॉपडाउन। + - Expand the **9. getRewards** dropdown. - इनपुट में **allocationID** दर्ज करें। - **क्वेरी** बटन क्लिक करें. @@ -112,12 +112,12 @@ Once an allocation has been closed the rebates are available to be claimed by th - **माध्यम** - प्रोडक्शन इंडेक्सर प्रति सेकंड 100 सबग्राफ और 200-500 अनुरोधों का समर्थन करता है। - **बड़ा** - वर्तमान में उपयोग किए जाने वाले सभी सबग्राफ को अनुक्रमित करने और संबंधित ट्रैफ़िक के अनुरोधों को पूरा करने के लिए तैयार है। -| Setup | Postgres
    (CPUs) | Postgres
    (memory in GBs) | Postgres
    (disk in TBs) | VMs
    (CPUs) | VMs
    (memory in GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Small | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Medium | 16 | 64 | 2 | 32 | 64 | -| Large | 72 | 468 | 3.5 | 48 | 184 | +| Setup | Postgres
    (CPUs) | Postgres
    (memory in GBs) | Postgres
    (disk in TBs) | VMs
    (CPUs) | VMs
    (memory in GBs) | +| -------- |:--------------------------:|:-----------------------------------:|:---------------------------------:|:---------------------:|:------------------------------:| +| Small | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 1 | 12 | 48 | +| Medium | 16 | 64 | 2 | 32 | 64 | +| Large | 72 | 468 | 3.5 | 48 | 184 | ### एक इंडेक्सर को कौन सी बुनियादी सुरक्षा सावधानियां बरतनी चाहिए? @@ -149,20 +149,20 @@ Once an allocation has been closed the rebates are available to be claimed by th #### ग्राफ नोड -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (सबग्राफ प्रश्नों के लिए) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (सबग्राफ सब्सक्रिप्शन के लिए) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (तैनाती के प्रबंधन के लिए) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | -------------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
    (सबग्राफ प्रश्नों के लिए) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (सबग्राफ सब्सक्रिप्शन के लिए) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (तैनाती के प्रबंधन के लिए) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Service -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
    (सबग्राफ प्रश्नों के लिए) | /subgraphs/id/...
    /status
    /channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | -------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP server
    (सबग्राफ प्रश्नों के लिए) | /subgraphs/id/...
    /status
    /channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Agent @@ -182,9 +182,9 @@ Once an allocation has been closed the rebates are available to be claimed by th #### एक Google क्लाउड प्रोजेक्ट बनाएं -- Clone or navigate to the Indexer repository. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- ./terraform निर्देशिका पर नेविगेट करें, यह वह जगह है जहां सभी आदेशों को क्रियान्वित किया जाना चाहिए। +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ kubectl config use-context $(kubectl config get-contexts --output='name' ### ग्राफ नोड -[ग्राफ नोड](https://github.com/graphprotocol/graph-node) एक ओपन सोर्स रस्ट इम्प्लीमेंटेशन है, जो इवेंट सोर्स एथेरियम ब्लॉकचैन को डेटा स्टोर को निश्चित रूप से अपडेट करने के लिए देता है, जिसे ग्राफक्लाइन एंडपॉइंट के माध्यम से क्वेरी किया जा सकता है। डेवलपर्स अपने स्कीमा को परिभाषित करने के लिए सबग्राफ का उपयोग करते हैं, और ब्लॉक श्रृंखला से प्राप्त डेटा को बदलने के लिए मैपिंग का एक सेट और ग्राफ नोड पूरी श्रृंखला को सिंक करने, नए ब्लॉकों की निगरानी करने और इसे एक ग्राफक्यूएल समापन बिंदु के माध्यम से सेवा देने का काम करता है। +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### स्रोत से प्रारंभ करना @@ -559,7 +559,7 @@ graph indexer status - `ग्राफ़ अनुक्रमणिका क्रियाएँ स्वीकृत निष्पादित करती हैं` - कार्यकर्ता को स्वीकृत क्रियाओं को तुरंत निष्पादित करने के लिए बाध्य करें -सभी आदेश जो आउटपुट में नियम प्रदर्शित करते हैं, समर्थित आउटपुट स्वरूपों (`तालिका`, `yaml`, और `json`) के बीच `का उपयोग करके चुन सकते हैं - आउटपुट` तर्क। +सभी आदेश जो आउटपुट में नियम प्रदर्शित करते हैं, समर्थित आउटपुट स्वरूपों (`तालिका`, `yaml`, और `json`) के बीच ` का उपयोग करके चुन सकते हैं - आउटपुट ` तर्क। #### Indexing rules @@ -623,7 +623,7 @@ graph indexer rules delete QmZfeJYR86UARzp9HiXbURWunYgC9ywvPvoePNbuaATrEK - सभी कतारबद्ध क्रियाओं को देखने के लिए इंडेक्सर `indexer-cli` का उपयोग कर सकता है - इंडेक्सर (या अन्य सॉफ़्टवेयर) `इंडेक्सर-क्ली` का उपयोग करके कतार में क्रियाओं को स्वीकृत या रद्द कर सकता है। स्वीकृति और रद्द करने के आदेश इनपुट के रूप में क्रिया आईडी की एक सरणी लेते हैं। - निष्पादन कार्यकर्ता नियमित रूप से स्वीकृत कार्यों के लिए कतार का चुनाव करता है। यह कतार से `अनुमोदित` कार्यों को पकड़ लेगा, उन्हें निष्पादित करने का प्रयास करेगा, और निष्पादन की स्थिति के आधार पर डीबी में मूल्यों को `सफलता` या `विफल< पर अपडेट करेगा। /0>.
  • -
  • If an action is successful the worker will ensure that there is an indexing rule present that tells the agent how to manage the allocation moving forward, useful when taking manual actions while the agent is in auto` or `oversight` mode. +
  • If an action is successful the worker will ensure that there is an indexing rule present that tells the agent how to manage the allocation moving forward, useful when taking manual actions while the agent is in auto` or `oversight` mode. - अनुक्रमणक क्रिया निष्पादन के इतिहास को देखने के लिए क्रिया कतार की निगरानी कर सकता है और यदि आवश्यक हो तो निष्पादन विफल होने पर क्रिया आइटम को पुन: अनुमोदित और अद्यतन कर सकता है। क्रिया कतार पंक्तिबद्ध और की गई सभी कार्रवाइयों का इतिहास प्रदान करती है। डेटा मॉडल: @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### प्रोटोकॉल में हिस्सेदारी -एक इंडेक्सर के रूप में नेटवर्क में भाग लेने के लिए पहला कदम प्रोटोकॉल, स्टेक फंड्स को मंजूरी देना और (वैकल्पिक रूप से) दिन-प्रतिदिन के प्रोटोकॉल इंटरैक्शन के लिए एक ऑपरेटर एड्रेस सेट करना है। _ **नोट**: इन निर्देशों के प्रयोजनों के लिए रीमिक्स का उपयोग अनुबंध बातचीत के लिए किया जाएगा, लेकिन अपनी पसंद के टूल का बेझिझक उपयोग करें ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), और [MyCrypto](https://www.mycrypto.com/account) कुछ अन्य ज्ञात उपकरण हैं)।_ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). एक बार एक इंडेक्सर प्रोटोकॉल में जीआरटी को दांव पर लगा देता है, तो [इंडेक्सर घटक](/network/indexing#indexer-components) को शुरू किया जा सकता है और नेटवर्क के साथ उनकी बातचीत शुरू की जा सकती है। @@ -760,7 +762,7 @@ indexer cost set model my_model.agora 2. `फाइल एक्सप्लोरर` में [टोकन एबीआई](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json) के साथ **GraphToken.abi** नाम की एक फाइल बनाएं। -3. `GraphToken.abi` चुने जाने और संपादक में खुलने के साथ, Remix इंटरफ़ेस में Deploy और `Run Transactions` सेक्शन में स्विच करें। +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -774,7 +776,7 @@ indexer cost set model my_model.agora 2. `फाइल एक्सप्लोरर` में स्टेकिंग एबीआई के साथ **Stakeing.abi** नाम की एक फाइल बनाएं। -3. `Stakeing.abi` चुने जाने और संपादक में खुलने के साथ, रीमिक्स इंटरफ़ेस में `Deploy` और `Run Transactions` सेक्शन पर स्विच करें। +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -790,12 +792,28 @@ indexer cost set model my_model.agora setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### आवंटन का जीवन एक इंडेक्सर द्वारा बनाए जाने के बाद एक स्वस्थ आवंटन चार राज्यों से होकर जाता है। -- **एक्टिव** - एक बार चेन पर आवंटन हो जाने के बाद ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) इसे **सक्रिय** माना जाता है। इंडेक्सर के अपने और/या प्रत्यायोजित हिस्सेदारी का एक हिस्सा एक सबग्राफ परिनियोजन के लिए आवंटित किया जाता है, जो उन्हें इंडेक्सिंग पुरस्कारों का दावा करने और उस सबग्राफ परिनियोजन के लिए प्रश्नों की सेवा करने की अनुमति देता है। इंडेक्सर एजेंट इंडेक्सर नियमों के आधार पर आवंटन बनाने का प्रबंधन करता है। +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **बंद** - 1 युग बीत जाने के बाद एक अनुक्रमणिका आवंटन को बंद करने के लिए स्वतंत्र है ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master /contracts/stracting/Shaking.sol#L873)) या उनका इंडेक्सर एजेंट **maxAllocationEpochs** (वर्तमान में 28 दिन) के बाद आवंटन को स्वचालित रूप से बंद कर देगा). जब एक आबंटन इंडेक्सिंग (पीओआई) के वैध प्रमाण के साथ बंद हो जाता है तो उनके इंडेक्सिंग पुरस्कार इंडेक्सर और उसके प्रतिनिधियों को वितरित किए जाते हैं (अधिक जानने के लिए नीचे "पुरस्कार कैसे वितरित किए जाते हैं?" देखें)। +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). इंडेक्सर्स को ऑन-चेन आवंटन बनाने से पहले चेनहेड में सबग्राफ परिनियोजन को सिंक करने के लिए ऑफ-चेन सिंकिंग कार्यक्षमता का उपयोग करने की सिफारिश की जाती है। यह सुविधा सबग्राफ के लिए विशेष रूप से उपयोगी है जो सिंक करने के लिए 28 से अधिक समय ले सकती है या अनिश्चित रूप से विफल होने की कुछ संभावनाएं हैं। From 8735d22adc1a36157b54279d83d9c2e1776edf33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:29 -0400 Subject: [PATCH 0478/2326] New translations indexing.mdx (Yoruba) --- website/pages/yo/network/indexing.mdx | 74 +++++++++++++++++---------- 1 file changed, 46 insertions(+), 28 deletions(-) diff --git a/website/pages/yo/network/indexing.mdx b/website/pages/yo/network/indexing.mdx index 9bdc2fb2eb7e..8ecbccdeb03e 100644 --- a/website/pages/yo/network/indexing.mdx +++ b/website/pages/yo/network/indexing.mdx @@ -26,7 +26,7 @@ The minimum stake for an Indexer is currently set to 100K GRT. Indexing rewards come from protocol inflation which is set to 3% annual issuance. They are distributed across subgraphs based on the proportion of all curation signal on each, then distributed proportionally to Indexers based on their allocated stake on that subgraph. **An allocation must be closed with a valid proof of indexing (POI) that meets the standards set by the arbitration charter in order to be eligible for rewards.** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/AllocationOpt.jl) integrated with the indexer software stack. +Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. ### What is a proof of indexing (POI)? @@ -38,7 +38,7 @@ Allocations are continuously accruing rewards while they're active and allocated ### Can pending indexing rewards be monitored? -The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/master/contracts/rewards/RewardsManager.sol#L317) function that can be used to check the pending rewards for a specific allocation. +The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. Many of the community-made dashboards include pending rewards values and they can be easily checked manually by following these steps: @@ -63,7 +63,7 @@ Use Etherscan to call `getRewards()`: - Navigate to [Etherscan interface to Rewards contract](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * To call `getRewards()`: - - Expand the **10. getRewards** dropdown. + - Expand the **9. getRewards** dropdown. - Enter the **allocationID** in the input. - Click the **Query** button. @@ -112,12 +112,12 @@ Indexers may differentiate themselves by applying advanced techniques for making - **Medium** - Production Indexer supporting 100 subgraphs and 200-500 requests per second. - **Large** - Prepared to index all currently used subgraphs and serve requests for the related traffic. -| Setup | Postgres
    (CPUs) | Postgres
    (memory in GBs) | Postgres
    (disk in TBs) | VMs
    (CPUs) | VMs
    (memory in GBs) | -| --- | :-: | :-: | :-: | :-: | :-: | -| Small | 4 | 8 | 1 | 4 | 16 | -| Standard | 8 | 30 | 1 | 12 | 48 | -| Medium | 16 | 64 | 2 | 32 | 64 | -| Large | 72 | 468 | 3.5 | 48 | 184 | +| Setup | Postgres
    (CPUs) | Postgres
    (memory in GBs) | Postgres
    (disk in TBs) | VMs
    (CPUs) | VMs
    (memory in GBs) | +| -------- |:--------------------------:|:-----------------------------------:|:---------------------------------:|:---------------------:|:------------------------------:| +| Small | 4 | 8 | 1 | 4 | 16 | +| Standard | 8 | 30 | 1 | 12 | 48 | +| Medium | 16 | 64 | 2 | 32 | 64 | +| Large | 72 | 468 | 3.5 | 48 | 184 | ### What are some basic security precautions an Indexer should take? @@ -149,20 +149,20 @@ Note: To support agile scaling, it is recommended that query and indexing concer #### Graph Node -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ----------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Service -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 7600 | GraphQL HTTP server
    (for paid subgraph queries) | /subgraphs/id/...
    /status
    /channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | -| 7300 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ---------------------------------------------------------- | ----------------------------------------------------------------------- | -------------- | ---------------------- | +| 7600 | GraphQL HTTP server
    (for paid subgraph queries) | /subgraphs/id/...
    /status
    /channel-messages-inbox | --port | `INDEXER_SERVICE_PORT` | +| 7300 | Prometheus metrics | /metrics | --metrics-port | - | #### Indexer Agent @@ -182,9 +182,9 @@ Note: To support agile scaling, it is recommended that query and indexing concer #### Create a Google Cloud Project -- Clone or navigate to the Indexer repository. +- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). -- Navigate to the ./terraform directory, this is where all commands should be executed. +- Navigate to the `./terraform` directory, this is where all commands should be executed. ```sh cd terraform @@ -297,7 +297,7 @@ Deploy all resources with `kubectl apply -k $dir`. ### Graph Node -[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the block chain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. +[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. #### Getting started from source @@ -750,7 +750,9 @@ indexer cost set model my_model.agora ### Stake in the protocol -The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. _ **Note**: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools)._ +The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. + +> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). Once an Indexer has staked GRT in the protocol, the [Indexer components](/network/indexing#indexer-components) can be started up and begin their interactions with the network. @@ -760,7 +762,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **GraphToken.abi** with the [token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. With `GraphToken.abi` selected and open in the editor, switch to the Deploy and `Run Transactions` section in the Remix interface. +3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -774,7 +776,7 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ 2. In the `File Explorer` create a file named **Staking.abi** with the staking ABI. -3. With `Staking.abi` selected and open in the editor, switch to the `Deploy` and `Run Transactions` section in the Remix interface. +3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. 4. Under environment select `Injected Web3` and under `Account` select your Indexer address. @@ -790,12 +792,28 @@ Once an Indexer has staked GRT in the protocol, the [Indexer components](/networ setDelegationParameters(950000, 600000, 500) ``` +### Setting delegation parameters + +The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. + +### How to set delegation parameters + +To set the delegation parameters using Graph Explorer interface, follow these steps: + +1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). +2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. +3. Connect the wallet you have as a signer. +4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. +5. Submit the transaction to the network. + +> Note: This transaction will need to be confirmed by the multisig wallet signers. + ### The life of an allocation After being created by an Indexer a healthy allocation goes through four states. -- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. +- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. -- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/master/contracts/staking/Staking.sol#L873)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators (see "how are rewards distributed?" below to learn more). +- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). Indexers are recommended to utilize offchain syncing functionality to sync subgraph deployments to chainhead before creating the allocation on-chain. This feature is especially useful for subgraphs that may take longer than 28 epochs to sync or have some chances of failing undeterministically. From 9c14ec5dd442f1f541ca740f1866c7ce0b7c2d96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:30 -0400 Subject: [PATCH 0479/2326] New translations overview.mdx (Romanian) --- website/pages/ro/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ro/network/overview.mdx b/website/pages/ro/network/overview.mdx index bee546908372..16214028dbc9 100644 --- a/website/pages/ro/network/overview.mdx +++ b/website/pages/ro/network/overview.mdx @@ -2,14 +2,14 @@ title: Network Overview --- -The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs, to retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Overview -The Graph Network consists of Indexers, Curators and Delegators that provide services to the network, and serve data to Web3 applications. Consumers use the applications and consume the data. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Token Economics](/img/Network-roles@2x.png) To ensure economic security of The Graph Network and the integrity of data being queried, participants stake and use Graph Tokens ([GRT](/tokenomics)). GRT is a work utility token that is an ERC-20 used to allocate resources in the network. -Active Indexers, Curators and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From 342ad8dcbf97b971c9cd53de07df19ed01b62f72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:31 -0400 Subject: [PATCH 0480/2326] New translations overview.mdx (French) --- website/pages/fr/network/overview.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/fr/network/overview.mdx b/website/pages/fr/network/overview.mdx index 85433f3772f8..09210f52ce37 100644 --- a/website/pages/fr/network/overview.mdx +++ b/website/pages/fr/network/overview.mdx @@ -1,15 +1,15 @@ --- -title: Network Overview +title: Présentation du réseau --- -Le réseau The Graph est un protocole d'indexation décentralisé qui a pour but d'organiser les données de la blockchain. Les applications utilisent alors GraphQL pour interroger des API ouvertes appelées subgraphs, afin de récupérer les données indexées sur le réseau. Par conséquent, les développeurs peuvent créer des applications qui ne nécessitent pas de serveur et qui fonctionnent entièrement sur l'infrastructure publique. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Aperçu -Le réseau Graph se compose d'indexeurs, de conservateurs et de délégués qui fournissent des services au réseau et servent des données aux applications Web3. Les clients utilisent les applications et consomment les données. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. -![Token Economics](/img/Network-roles@2x.png) +![Économie des jetons](/img/Network-roles@2x.png) Pour garantir la sécurité économique du Graph Network et l'intégrité des données interrogées, les participants misent et utilisent des jetons Graph ([GRT](/tokenomics)). GRT est un jeton utilitaire de travail qui est un ERC-20 utilisé pour allouer des ressources dans le réseau. -Active Indexers, Curators and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From a864fc425092c17dfd8ac866eb53f3d58ad774ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:32 -0400 Subject: [PATCH 0481/2326] New translations overview.mdx (Spanish) --- website/pages/es/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/es/network/overview.mdx b/website/pages/es/network/overview.mdx index 247690875b84..bd83a749410e 100644 --- a/website/pages/es/network/overview.mdx +++ b/website/pages/es/network/overview.mdx @@ -2,14 +2,14 @@ title: Visión general de la red --- -The Graph Network es un protocolo de indexación descentralizado, el cual permite organizar los datos de la blockchain. Las aplicaciones utilizan GraphQL para consultar APIs públicas, llamadas subgrafos, que sirven para recuperar los datos que están indexados en la red. Con The Graph, los developers pueden construir sus aplicaciones completamente en una infraestructura pública. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Descripción -The Graph Network está formada por Indexadores, Curadores y Delegadores que proporcionan servicios a la red y proveen datos a las aplicaciones Web3. Los clientes utilizan estas aplicaciones y consumen los datos. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Economía de los tokens](/img/Network-roles@2x.png) Para garantizar la seguridad económica de la red de The Graph y la integridad de los datos que se consultan, los participantes hacen stake y utilizan Graph Tokens ([GRT](/tokenomics)). GRT es un token de utilidad que se utiliza para asignar recursos en la red y es un estándar ERC-20. -Los Indexadores, Curadores y Delegadores activos pueden prestar sus servicios y obtener ingresos de la red, en proporción a su desempeño y la cantidad de GRT que hayan colocado en staking. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From 9f34484c0a93a8fc2ff50cd25ef7d2e7bead9cef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:33 -0400 Subject: [PATCH 0482/2326] New translations overview.mdx (Arabic) --- website/pages/ar/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ar/network/overview.mdx b/website/pages/ar/network/overview.mdx index 5e530fe7fab5..08469cdc547b 100644 --- a/website/pages/ar/network/overview.mdx +++ b/website/pages/ar/network/overview.mdx @@ -2,14 +2,14 @@ title: Network Overview --- -شبكة The Graph هو بروتوكول فهرسة لامركزي لتنظيم بيانات الـ blockchain. التطبيقات تستخدم GraphQL للاستعلام عن APIs المفتوحة والتي تسمى subgraphs ، لجلب البيانات المفهرسة على الشبكة. باستخدام The Graph ، يمكن للمطورين إنشاء تطبيقات بدون خادم تعمل بالكامل على البنية الأساسية العامة. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## نظره عامة -شبكة TheGraph تتكون من مفهرسين (Indexers) ومنسقين (Curators) ومفوضين (Delegator) حيث يقدمون خدمات للشبكة ويقدمون البيانات لتطبيقات Web3. حيث يتم استخدام تلك التطبيقات والبيانات من قبل المستهلكين. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![اقتصاد الـ Token](/img/Network-roles@2x.png) To ensure economic security of The Graph Network and the integrity of data being queried, participants stake and use Graph Tokens ([GRT](/tokenomics)). GRT is a work utility token that is an ERC-20 used to allocate resources in the network. -Active Indexers, Curators and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From 7bcfa29c0f82a85e8d3a63ee2962dbb83b08cc32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:34 -0400 Subject: [PATCH 0483/2326] New translations overview.mdx (Czech) --- website/pages/cs/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/cs/network/overview.mdx b/website/pages/cs/network/overview.mdx index 6d0e628ec063..0060dfc506a4 100644 --- a/website/pages/cs/network/overview.mdx +++ b/website/pages/cs/network/overview.mdx @@ -2,14 +2,14 @@ title: Přehled sítě --- -Sit' Graf je decentralizovaný indexovací protokol pro organizaci dat v blockchainu. Aplikace používají GraphQL k dotazování otevřených API zvaných podgrafy, aby získaly data, která jsou v síti indexována. Díky Graf mohou vývojáři vytvářet bezserverové aplikace, které běží výhradně na veřejné infrastruktuře. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Přehled -Síť grafů se skládá z indexátorů, kurátorů a delegátorů, kteří poskytují služby síti a obsluhují data aplikací Web3. Spotřebitelé používají aplikace a spotřebovávají data. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Token Economics](/img/Network-roles@2x.png) Pro zajištění ekonomické bezpečnosti sítě Graf a integrity dotazovaných dat účastníci sázejí a používají graf tokeny ([GRT](/tokenomics)). GRT je pracovní užitkový token, který má hodnotu ERC-20 a slouží k přidělování zdrojů v síti. -Aktivní indexátoři, kurátoři a delegáti mohou poskytovat služby a vydělávat na síti úměrně množství práce, kterou vykonají, a svému podílu GRT. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From 4f66291b189a5d6aec89d5a618499e3ea27aaa56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:35 -0400 Subject: [PATCH 0484/2326] New translations overview.mdx (German) --- website/pages/de/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/de/network/overview.mdx b/website/pages/de/network/overview.mdx index bee546908372..16214028dbc9 100644 --- a/website/pages/de/network/overview.mdx +++ b/website/pages/de/network/overview.mdx @@ -2,14 +2,14 @@ title: Network Overview --- -The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs, to retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Overview -The Graph Network consists of Indexers, Curators and Delegators that provide services to the network, and serve data to Web3 applications. Consumers use the applications and consume the data. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Token Economics](/img/Network-roles@2x.png) To ensure economic security of The Graph Network and the integrity of data being queried, participants stake and use Graph Tokens ([GRT](/tokenomics)). GRT is a work utility token that is an ERC-20 used to allocate resources in the network. -Active Indexers, Curators and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From 5402413c37c13b68abfefe4a94e63ed69626100c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:36 -0400 Subject: [PATCH 0485/2326] New translations overview.mdx (Italian) --- website/pages/it/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/it/network/overview.mdx b/website/pages/it/network/overview.mdx index 46d07c4060ba..05337a3f3eca 100644 --- a/website/pages/it/network/overview.mdx +++ b/website/pages/it/network/overview.mdx @@ -2,14 +2,14 @@ title: Panoramica della rete --- -The Graph Network è un protocollo di indicizzazione decentralizzato per organizzare i dati della blockchain. Le applicazioni utilizzano GraphQL per fare query su API aperte chiamate subgraph, per recuperare i dati indicizzati sulla rete. Con The Graph, gli sviluppatori possono creare applicazioni serverless che vengono eseguite interamente su infrastrutture pubbliche. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Panoramica -The Graph Network è composta da i Indexer, i Curator e i Delegator che forniscono servizi alla rete e forniscono i dati alle applicazioni Web3. I consumatori utilizzano le applicazioni e consumano i dati. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Economia del token](/img/Network-roles@2x.png) Per garantire la sicurezza economica di The Graph Network e l'integrità dei dati interrogati, i partecipanti puntano e utilizzano i Graph Token ([GRT](/tokenomics)). Il GRT è un work utility token, è ERC-20 utilizzato per fare allocation di risorse nella rete. -Gli Indexer, i Curator e i Delegator attivi possono fornire servizi e guadagnare dalla rete, proporzionalmente alla quantità di lavoro svolto e alla quantita' di GRT che hanno in staking. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From 88c71cd08cac09212b81546b95983354af32e11b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:37 -0400 Subject: [PATCH 0486/2326] New translations overview.mdx (Japanese) --- website/pages/ja/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ja/network/overview.mdx b/website/pages/ja/network/overview.mdx index 41446c193bca..de1a9994f545 100644 --- a/website/pages/ja/network/overview.mdx +++ b/website/pages/ja/network/overview.mdx @@ -2,14 +2,14 @@ title: ネットワークの概要 --- -グラフネットワークは、ブロックチェーンデータを整理するための分散型インデックスプロトコルです。 アプリケーションは GraphQL を使ってサブグラフと呼ばれるオープンな API にクエリし、ネットワーク上にインデックスされているデータを取得します。 The Graph を使うことで、開発者は公共のインフラ上で実行されるサーバーレスアプリケーションを構築することができます。 +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## 概要 -グラフネットワークは、インデクサー、キュレーター、デリゲーターにより構成され、ネットワークにサービスを提供し、Web3 アプリケーションにデータを提供します。 消費者は、アプリケーションを利用し、データを消費します。 +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![トークンエコノミクス](/img/Network-roles@2x.png) The Graph Network の経済的安全性と照会されるデータの完全性を確保するために、参加者は Graph トークン ([GRT](/tokenomics)) をステークして使用します。 GRT は、ネットワークでリソースを割り当てるために使用される ERC-20 であるワーク ユーティリティ トークンです。 -アクティブなインデクサー、キュレーター、および委任者は、サービスを提供し、実行する作業量と GRT ステークに比例してネットワークから収入を得ることができます。 +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From 8b09b186e867d59d81048ab9e2de1bd1e3253bc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:38 -0400 Subject: [PATCH 0487/2326] New translations overview.mdx (Korean) --- website/pages/ko/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ko/network/overview.mdx b/website/pages/ko/network/overview.mdx index bee546908372..16214028dbc9 100644 --- a/website/pages/ko/network/overview.mdx +++ b/website/pages/ko/network/overview.mdx @@ -2,14 +2,14 @@ title: Network Overview --- -The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs, to retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Overview -The Graph Network consists of Indexers, Curators and Delegators that provide services to the network, and serve data to Web3 applications. Consumers use the applications and consume the data. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Token Economics](/img/Network-roles@2x.png) To ensure economic security of The Graph Network and the integrity of data being queried, participants stake and use Graph Tokens ([GRT](/tokenomics)). GRT is a work utility token that is an ERC-20 used to allocate resources in the network. -Active Indexers, Curators and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From dfe53b87f27cfc659ca77a2f1f46c1ff8f59a6c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:39 -0400 Subject: [PATCH 0488/2326] New translations overview.mdx (Dutch) --- website/pages/nl/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/nl/network/overview.mdx b/website/pages/nl/network/overview.mdx index bee546908372..16214028dbc9 100644 --- a/website/pages/nl/network/overview.mdx +++ b/website/pages/nl/network/overview.mdx @@ -2,14 +2,14 @@ title: Network Overview --- -The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs, to retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Overview -The Graph Network consists of Indexers, Curators and Delegators that provide services to the network, and serve data to Web3 applications. Consumers use the applications and consume the data. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Token Economics](/img/Network-roles@2x.png) To ensure economic security of The Graph Network and the integrity of data being queried, participants stake and use Graph Tokens ([GRT](/tokenomics)). GRT is a work utility token that is an ERC-20 used to allocate resources in the network. -Active Indexers, Curators and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From d8fb72c66549e7b22b6cdd7ed8375e2e7016e39e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:40 -0400 Subject: [PATCH 0489/2326] New translations overview.mdx (Polish) --- website/pages/pl/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pl/network/overview.mdx b/website/pages/pl/network/overview.mdx index bee546908372..16214028dbc9 100644 --- a/website/pages/pl/network/overview.mdx +++ b/website/pages/pl/network/overview.mdx @@ -2,14 +2,14 @@ title: Network Overview --- -The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs, to retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Overview -The Graph Network consists of Indexers, Curators and Delegators that provide services to the network, and serve data to Web3 applications. Consumers use the applications and consume the data. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Token Economics](/img/Network-roles@2x.png) To ensure economic security of The Graph Network and the integrity of data being queried, participants stake and use Graph Tokens ([GRT](/tokenomics)). GRT is a work utility token that is an ERC-20 used to allocate resources in the network. -Active Indexers, Curators and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From 2cecf2c7ad23228aecff14ff36a000c48274f60e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:40 -0400 Subject: [PATCH 0490/2326] New translations overview.mdx (Portuguese) --- website/pages/pt/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/network/overview.mdx b/website/pages/pt/network/overview.mdx index f7f782de732e..b4f13291a33c 100644 --- a/website/pages/pt/network/overview.mdx +++ b/website/pages/pt/network/overview.mdx @@ -2,14 +2,14 @@ title: Visão Geral da Rede --- -O Graph Network é um protocolo descentralizado de indexação projetado para organizar dados de blockchain. Aplicativos usam o GraphQL para consultar APIs abertas chamadas de subgraphs, a fim de retirar dados indexados na rede. Com o The Graph, programadores podem construir aplicativos sem servidor, executados totalmente em infraestrutura pública. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Visão Geral -A Graph Network consiste de Indexadores, Curadores e Delegantes que fornecem serviços à rede, e servem dados para aplicativos Web3. Os consumidores usam os aplicativos e consomem os dados. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Economia de Token](/img/Network-roles@2x.png) Para garantir a segurança económica da Graph Network, e a integridade de dados em consultas, os participantes depositam e usam Graph Tokens ([GRT](/tokenomics)). O GRT é um token de utilidade de trabalho ERC-20 usado para alocar recursos na rede. -Os Indexadores, Curadores e Delegantes ativos podem prover serviços e ganhar uma renda da rede, proporcional à quantidade de trabalho que realizam e ao seu stake em GRT. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From 70bb6d48b2d5dfdf50fed8c462ff5016e07cd573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:41 -0400 Subject: [PATCH 0491/2326] New translations overview.mdx (Russian) --- website/pages/ru/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ru/network/overview.mdx b/website/pages/ru/network/overview.mdx index 48436213bd7b..d36a6f7d4094 100644 --- a/website/pages/ru/network/overview.mdx +++ b/website/pages/ru/network/overview.mdx @@ -2,14 +2,14 @@ title: Network Overview --- -Cеть The Graph - это децентрализованный протокол индексации для организации данных блокчейна. Приложения используют GraphQL для запроса открытых API, называемых подграфами, для получения данных, которые индексируются в сети. С помощью The Graph разработчики могут создавать бессерверные приложения, полностью работающие на общедоступной инфраструктуре. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Обзор -Сеть The Graph состоит из Индексаторов, Кураторов и Делегаторов которые предоставляют свои услуги сети и передают данные Web3 приложениям. Потребители пользуются этими приложениями и данными. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Токеномика](/img/Network-roles@2x.png) To ensure economic security of The Graph Network and the integrity of data being queried, participants stake and use Graph Tokens ([GRT](/tokenomics)). GRT is a work utility token that is an ERC-20 used to allocate resources in the network. -Active Indexers, Curators and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From e6447a286afed20ee55f9bacc13875f2342da58c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:42 -0400 Subject: [PATCH 0492/2326] New translations overview.mdx (Swedish) --- website/pages/sv/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/sv/network/overview.mdx b/website/pages/sv/network/overview.mdx index f1f46b58accd..c90c1d462939 100644 --- a/website/pages/sv/network/overview.mdx +++ b/website/pages/sv/network/overview.mdx @@ -2,14 +2,14 @@ title: Nätverksöversikt --- -The Graph Nätverk är en decentraliserad indexeringsprotokoll för att organisera blockkedjedata. Applikationer använder GraphQL för att fråga öppna API: er som kallas subgrafer, för att hämta data som är indexerad på nätverket. Med The Graph kan utvecklare bygga serverlösa applikationer som körs helt på offentlig infrastruktur. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Översikt -The Graph Nätverk består av Indexers, Curators och Delegatorer som tillhandahåller tjänster till nätverket och levererar data till Web3-applikationer. Konsumenter använder applikationerna och konsumerar datan. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Tokenekonomi](/img/Network-roles@2x.png) För att säkerställa den ekonomiska säkerheten för The Graph Nätverk och integriteten hos den data som frågas, satsar deltagare och använder Graph Tokens ([GRT](/tokenomics)). GRT är en arbetsnyttighetstoken som är en ERC-20-token som används för att allokera resurser i nätverket. -Aktiva Indexers, Curators och Delegatorer kan tillhandahålla tjänster och tjäna inkomst från nätverket, proportionellt mot mängden arbete de utför och deras GRT-satsning. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From 5105448dbb406d62b0c831bfede23c863031eef1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:43 -0400 Subject: [PATCH 0493/2326] New translations overview.mdx (Turkish) --- website/pages/tr/network/overview.mdx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/website/pages/tr/network/overview.mdx b/website/pages/tr/network/overview.mdx index 9b8963f7056d..16214028dbc9 100644 --- a/website/pages/tr/network/overview.mdx +++ b/website/pages/tr/network/overview.mdx @@ -1,15 +1,15 @@ --- -title: Ağa Genel Bakış +title: Network Overview --- -Graph Ağı, blok zinciri verilerini düzenlemek için merkeziyetsiz bir indeksleme protokolüdür. Uygulamalar, ağda indekslenen verileri almak için subgraph'ler adı verilen açık API'leri sorgulamak için GraphQL kullanır. Graph ile geliştiriciler, tamamen genel altyapı üzerinde çalışan sunucusuz uygulamalar oluşturabilir. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. -## Genel Bakış +## Overview -Graph Ağı, ağa hizmet sağlayan ve verileri Web3 uygulamalarına sunan indeksleyiciler, küratörler ve delegatörlerden oluşur. Tüketiciler uygulamaları kullanır ve verileri tüketir. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. -![Token Ekonomisi](/img/Network-roles@2x.png) +![Token Economics](/img/Network-roles@2x.png) -Graph ağının ekonomik güvenliğini ve sorgulanan verilerin bütünlüğünü sağlamak için katılımcılar Graph token yani ([GRT](/tokenomics)).'yi stake eder ve kullanır. GRT, ağdaki kaynakları tahsis etmek için kullanılan bir ERC-20 olan çalışma aracı belirtecidir. +To ensure economic security of The Graph Network and the integrity of data being queried, participants stake and use Graph Tokens ([GRT](/tokenomics)). GRT is a work utility token that is an ERC-20 used to allocate resources in the network. -Aktif indeksleyiciler, küratörler ve delegatörler, gerçekleştirdikleri iş miktarı ve stake ettikleri GRT ile orantılı olarak hizmet sağlayabilir ve ağdan gelir elde edebilir. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From f2fd96da00923ac4a7de7e8930c1f9d4aec350c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:44 -0400 Subject: [PATCH 0494/2326] New translations overview.mdx (Ukrainian) --- website/pages/uk/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/uk/network/overview.mdx b/website/pages/uk/network/overview.mdx index ca85a9f5e322..1a9f3f00fc43 100644 --- a/website/pages/uk/network/overview.mdx +++ b/website/pages/uk/network/overview.mdx @@ -2,14 +2,14 @@ title: Загальний огляд мережі --- -Graph Network - це протокол децентралізованої індексації для організації даних блокчейну. Додатки використовують GraphQL для запитів до відкритих API, які називаються підграфами, щоб отримати дані, які індексуються в мережі. За допомогою The Graph розробники можуть створювати без серверні додатки, які повністю працюють на загальнодоступній інфраструктурі. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Короткий огляд -Graph Network складається з індексаторів, кураторів та делегатів, які надають послуги мережі та передають дані до web3 додатків. Споживачі використовують додатки та користуються даними. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Економіка токенів](/img/Network-roles@2x.png) Для забезпечення економічної безпеки The Graph Network і цілісності даних, що запитуються, учасники стейкають і використовують Graph токени ([GRT](/tokenomics)). GRT - це функціональний (utility) токен, який існує в мережі ERC-20 та використовується для розподілу ресурсів в мережі. -Активні індексатори, куратори та делегати можуть надавати послуги та отримувати дохід від мережі, пропорційний обсягу виконаної ними роботи та стейку GRT. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From e0db98bb8a9619c7d19f6ec4ab91205c30cba15e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:45 -0400 Subject: [PATCH 0495/2326] New translations overview.mdx (Chinese Simplified) --- website/pages/zh/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/zh/network/overview.mdx b/website/pages/zh/network/overview.mdx index c77426b38408..58d3359f6692 100644 --- a/website/pages/zh/network/overview.mdx +++ b/website/pages/zh/network/overview.mdx @@ -2,14 +2,14 @@ title: 网络概述 --- -Graph 网络是一个去中心化的索引协议,用于组织区块链数据。 应用程序使用 GraphQL 查询称为子图的开放 API,以检索网络上的索引数据。 通过Graph,开发者可以建立完全在公共基础设施上运行的无服务器应用程序。 +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## 概述 -Graph 网络由索引人、策展人和委托人组成,为网络提供服务,并为 Web3 应用程序提供数据。 消费者使用应用程序并消费数据。 +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![代币经济学](/img/Network-roles@2x.png) 为了确保Graph网络的经济安全和被查询数据的完整性,参与者持有并使用Graph代币([GRT](/tokenomics))。GRT是一种工作实用代币,是一种用于在网络中分配资源的ERC-20代币。 -活跃的索引人、策展人和委托人可以提供服务并从网络中获得收入,收入与他们的工作量和他们的GRT委托量成正比。 +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From a362468453a2f9f7bd74ad0b3e9bda79347a42e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:46 -0400 Subject: [PATCH 0496/2326] New translations overview.mdx (Urdu (Pakistan)) --- website/pages/ur/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ur/network/overview.mdx b/website/pages/ur/network/overview.mdx index edfb733ac1aa..dd09e61c8425 100644 --- a/website/pages/ur/network/overview.mdx +++ b/website/pages/ur/network/overview.mdx @@ -2,14 +2,14 @@ title: نیٹ ورک کا جائزہ --- -گراف نیٹ ورک بلاکچین ڈیٹا کو منظم کرنے کے لیے ایک ڈیسینٹرالائزڈ انڈیکسنگ پروٹوکول ہے۔ ایپلیکیشنز GraphQL کا استعمال اوپن APIs سے کیوری کرنے کے لیے کرتی ہیں جسے سب گراف کہتے ہیں، نیٹ ورک پر انڈیکس کردہ ڈیٹا کو بازیافت کرنے کے لیے۔ گراف کے ساتھ، ڈویلپر بغیر سرور کے ایپلیکیشنز بنا سکتے ہیں جو مکمل طور پر عوامی انفراسٹرکچر پر چلتی ہیں. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## جائزہ -گراف نیٹ ورک انڈیکسرز، کیوریٹرز اور ڈیلیگیٹرز پر مشتمل ہوتا ہے جو نیٹ ورک کو خدمات فراہم کرتے ہیں، اور ویب 3 ایپلیکیشنز کو ڈیٹا پیش کریں۔ صارفین ایپلیکیشنز استعمال کرتے ہیں اور ڈیٹا استعمال کرتے ہیں. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![ٹوکن اکنامکس](/img/Network-roles@2x.png) گراف نیٹ ورک کی اقتصادی حفاظت اور کیوری کیے جانے والے ڈیٹا کی سالمیت کو یقینی بنانے کے لیے، شرکاء گراف ٹوکنز ([GRT](/tokenomics)) کو داؤ پر لگاتے اور استعمال کرتے ہیں۔ GRT ایک ورک یوٹیلیٹی ٹوکن ہے جو کہ نیٹ ورک میں وسائل مختص کرنے کے لیے استعمال ہونے والا ERC-20 ہے. -فعال انڈیکسرز، کیوریٹرز اور ڈیلیگیٹرز خدمات فراہم کر سکتے ہیں اور نیٹ ورک سے آمدنی حاصل کر سکتے ہیں، ان کے کام کی مقدار اور ان کے GRT حصص کے متناسب. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From c134e305620e1890884d79ce9d156fe793e4f6fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:47 -0400 Subject: [PATCH 0497/2326] New translations overview.mdx (Vietnamese) --- website/pages/vi/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/vi/network/overview.mdx b/website/pages/vi/network/overview.mdx index bcf11c552377..bfdd5a7ea294 100644 --- a/website/pages/vi/network/overview.mdx +++ b/website/pages/vi/network/overview.mdx @@ -2,14 +2,14 @@ title: Network Overview --- -Mạng The Graph là một giao thức lập chỉ mục phi tập trung để tổ chức dữ liệu blockchain. Các ứng dụng sử dụng GraphQL để truy vấn các API mở được gọi là subgraph, để truy xuất dữ liệu được lập chỉ mục trên mạng. Với The Graph, các nhà phát triển có thể xây dựng các ứng dụng không máy chủ chạy hoàn toàn trên cơ sở hạ tầng công cộng. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Tổng quan -Mạng The Graph bao gồm Indexers, Curators và Delegators cung cấp các dịch vụ cho mạng và cung cấp dữ liệu cho các ứng dụng Web3. Người tiêu dùng sử dụng các ứng dụng và sử dụng dữ liệu. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Token Economics](/img/Network-roles@2x.png) To ensure economic security of The Graph Network and the integrity of data being queried, participants stake and use Graph Tokens ([GRT](/tokenomics)). GRT is a work utility token that is an ERC-20 used to allocate resources in the network. -Active Indexers, Curators and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From e7254c565cef38c274aa0bf3f7c22b2b83cac10b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:48 -0400 Subject: [PATCH 0498/2326] New translations overview.mdx (Marathi) --- website/pages/mr/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/mr/network/overview.mdx b/website/pages/mr/network/overview.mdx index 917dea3b2ae8..79ef11647660 100644 --- a/website/pages/mr/network/overview.mdx +++ b/website/pages/mr/network/overview.mdx @@ -2,14 +2,14 @@ title: नेटवर्क विहंगावलोकन --- -ग्राफ नेटवर्क ब्लॉकचेन डेटा आयोजित करण्यासाठी विकेंद्रित अनुक्रमणिका प्रोटोकॉल आहे. नेटवर्कवर अनुक्रमित केलेला डेटा पुनर्प्राप्त करण्यासाठी सबग्राफ नावाच्या ओपन API ची क्वेरी करण्यासाठी अनुप्रयोग GraphQL वापरतात. The Graph सह, विकासक सर्व्हरलेस अॅप्लिकेशन तयार करू शकतात जे पूर्णपणे सार्वजनिक पायाभूत सुविधांवर चालतात. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## सारांश -ग्राफ नेटवर्कमध्ये इंडेक्सर्स, क्युरेटर्स आणि डेलिगेटर्स असतात जे नेटवर्कला सेवा देतात आणि वेब3 ऍप्लिकेशन्सना डेटा देतात. ग्राहक ऍप्लिकेशन्स वापरतात आणि डेटा वापरतात. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![टोकन इकॉनॉमिक्स](/img/Network-roles@2x.png) ग्राफ नेटवर्कची आर्थिक सुरक्षितता आणि विचारल्या जाणार्‍या डेटाची अखंडता सुनिश्चित करण्यासाठी, सहभागी ग्राफ टोकन ([GRT](/tokenomics)) घेतात आणि वापरतात. GRT एक कार्य उपयुक्तता टोकन आहे जो नेटवर्कमध्ये संसाधने वाटप करण्यासाठी वापरला जाणारा ERC-20 आहे. -सक्रिय इंडेक्सर्स, क्युरेटर्स आणि डेलिगेटर्स सेवा देऊ शकतात आणि नेटवर्कमधून उत्पन्न मिळवू शकतात, ते करत असलेल्या कामाच्या प्रमाणात आणि त्यांच्या GRT स्टेकच्या प्रमाणात. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From f865cc5b0b754f7a6cb89af9bf9b40e84d647c20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:48 -0400 Subject: [PATCH 0499/2326] New translations overview.mdx (Hindi) --- website/pages/hi/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/hi/network/overview.mdx b/website/pages/hi/network/overview.mdx index 75b0e8812fd2..b9ff51cb4f59 100644 --- a/website/pages/hi/network/overview.mdx +++ b/website/pages/hi/network/overview.mdx @@ -2,14 +2,14 @@ title: नेटवर्क अवलोकन --- -ग्राफ नेटवर्क ब्लॉकचेन डेटा को व्यवस्थित करने के लिए एक विकेन्द्रीकृत इंडेक्सिंग प्रोटोकॉल है। नेटवर्क पर अनुक्रमित डेटा को पुनः प्राप्त करने के लिए एप्लिकेशन सबग्राफ नामक ओपन एपीआई को क्वेरी करने के लिए ग्राफकलाइन का उपयोग करते हैं। द ग्राफ के साथ, डेवलपर्स सर्वर रहित एप्लिकेशन बना सकते हैं जो पूरी तरह से सार्वजनिक बुनियादी ढांचे पर चलते हैं। +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## अवलोकन -ग्राफ़ नेटवर्क में इंडेक्सर्स, क्यूरेटर और प्रतिनिधि शामिल हैं जो नेटवर्क को सेवाएं प्रदान करते हैं और वेब3 अनुप्रयोगों को डेटा प्रदान करते हैं। उपभोक्ता एप्लिकेशन का उपयोग करते हैं और डेटा का उपभोग करते हैं। +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![टोकन अर्थशास्त्र](/img/Network-roles@2x.png) द ग्राफ़ नेटवर्क की आर्थिक सुरक्षा और क्वेरी किए जा रहे डेटा की अखंडता सुनिश्चित करने के लिए, प्रतिभागी ग्राफ़ टोकन ([GRT](/tokenomics)) को दांव पर लगाते हैं और उनका उपयोग करते हैं। GRT एक वर्क यूटिलिटी टोकन है जो एक ERC-20 है जिसका उपयोग नेटवर्क में संसाधन आवंटित करने के लिए किया जाता है। प्रसंग -सक्रिय अनुक्रमणिका, क्यूरेटर और प्रतिनिधि सेवाएं प्रदान कर सकते हैं और नेटवर्क से आय अर्जित कर सकते हैं, जो उनके द्वारा किए जाने वाले कार्य और उनकी जीआरटी हिस्सेदारी के अनुपात में है। +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From 68f97de19e72cb417eb91a3cd5cd9981054f8316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:49 -0400 Subject: [PATCH 0500/2326] New translations overview.mdx (Yoruba) --- website/pages/yo/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/yo/network/overview.mdx b/website/pages/yo/network/overview.mdx index bee546908372..16214028dbc9 100644 --- a/website/pages/yo/network/overview.mdx +++ b/website/pages/yo/network/overview.mdx @@ -2,14 +2,14 @@ title: Network Overview --- -The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs, to retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. +The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. ## Overview -The Graph Network consists of Indexers, Curators and Delegators that provide services to the network, and serve data to Web3 applications. Consumers use the applications and consume the data. +The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. ![Token Economics](/img/Network-roles@2x.png) To ensure economic security of The Graph Network and the integrity of data being queried, participants stake and use Graph Tokens ([GRT](/tokenomics)). GRT is a work utility token that is an ERC-20 used to allocate resources in the network. -Active Indexers, Curators and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. +Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. From 2ce521a1b8927c4d2391af83939b4e8ccd8e1519 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:50 -0400 Subject: [PATCH 0501/2326] New translations publishing-a-subgraph.mdx (Romanian) --- .../ro/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/ro/publishing/publishing-a-subgraph.mdx b/website/pages/ro/publishing/publishing-a-subgraph.mdx index 63ec80a57e88..a26843378c9e 100644 --- a/website/pages/ro/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ro/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to the Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. - + You can find the list of the supported networks [Here](/developing/supported-networks). ## Publishing a subgraph -Subgraphs can be published to the decentralized network directly from the Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in the [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgraphs can be published to Goerli, Arbitrum goerli, Arbitrum One, or Ethereum mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Regardless of the network the subgraph was published on, it can index data on any of the [supported networks](/developing/supported-networks). - When publishing a new version for an existing subgraph the same rules apply as above. -## Curating your subgraph +## Adding signal to your subgraph -> It is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio enables you to be the first to curate your subgraph by adding GRT to your subgraph's curation pool in the same transaction. When publishing your subgraph, make sure to check the button that says, "Be the first to signal on this subgraph." +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Updating metadata for a published subgraph -Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in the Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in The Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From c08fbe1708107e632dde21611199a54e9f288093 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:51 -0400 Subject: [PATCH 0502/2326] New translations publishing-a-subgraph.mdx (French) --- .../fr/publishing/publishing-a-subgraph.mdx | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/website/pages/fr/publishing/publishing-a-subgraph.mdx b/website/pages/fr/publishing/publishing-a-subgraph.mdx index b799dc02c59d..710facbdeb0d 100644 --- a/website/pages/fr/publishing/publishing-a-subgraph.mdx +++ b/website/pages/fr/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Publication d'un subgraph sur le réseau décentralisé --- -Une fois que votre subgraph a été [déployé dans Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), que vous l'avez testé et que vous êtes prêt à le mettre en production, vous pouvez le déployer sur le réseau décentralisé. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. La publication d'un subgraph sur le réseau décentralisé permet aux [curateurs](/network/curating) de commencer à signaler et aux [indexeurs](/network/indexing) de l'indexer. - + Vous pouvez trouver la liste des réseaux supportés [ici](/developing/supported-networks). ## Publier un subgraph -Les subgraphs peuvent être publiés sur le réseau décentralisé directement depuis le tableau de bord du subgraph Studio en cliquant sur le bouton **Publier**. Une fois qu'un subgraph est publié, il sera disponible dans l'[explorateur The Graph](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Les subgraphs peuvent être publiés sur Goerli, Arbitrum goerli, Arbitrum One ou sur le mainnet Ethereum. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Quel que soit le réseau sur lequel le subgraph a été publié, il peut indexer des données sur n'importe lequel des [réseaux pris en charge](/developing/supported-networks). - Lors de la publication d'une nouvelle version pour un subgraph existant, les mêmes règles que ci-dessus s'appliquent. -## Curating your subgraph +## Adding signal to your subgraph -> Il est recommandé de créer votre propre subgraph avec 10 000 GRT pour vous assurer qu'il est indexé et disponible pour interrogation dès que possible. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio enables you to be the first to curate your subgraph by adding GRT to your subgraph's curation pool in the same transaction. When publishing your subgraph, make sure to check the button that says, "Be the first to signal on this subgraph." +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. -![Curation Pool](/img/curate-own-subgraph-tx.png) +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. + +![Pool de curation](/img/curate-own-subgraph-tx.png) + +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) ## Mise à jour des métadonnées d'un subgraph publié -Une fois que votre subgraph a été publié sur le réseau décentralisé, vous pouvez modifier les métadonnées à tout moment en effectuant la mise à jour dans le tableau de bord Subgraph Studio du subgraphe. Après avoir enregistré les modifications et publié vos mises à jour sur le réseau, elles seront reflétées dans l'Explorateur The Graph. Cela ne créera pas de nouvelle version, puisque votre déploiement n'a pas changé. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From f4f716b56862588c05ca1cc54295fd931d194070 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:52 -0400 Subject: [PATCH 0503/2326] New translations publishing-a-subgraph.mdx (Spanish) --- .../es/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/es/publishing/publishing-a-subgraph.mdx b/website/pages/es/publishing/publishing-a-subgraph.mdx index dca0908133b1..8941d44272dc 100644 --- a/website/pages/es/publishing/publishing-a-subgraph.mdx +++ b/website/pages/es/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Publicación de un subgrafo en la Red Descentralizada --- -Una vez que tu subgrafo se haya [deployado en Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), lo hayas probado y esté listo para ponerlo en producción, lo podrás publicar en la red descentralizada. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. La publicación de un subgrafo en la red descentralizada hace que esté disponible para que los [Curadores](/network/curating) comiencen a seleccionarlo y los [Indexadores](/network/indexing) comienzen a indexarlo. - + Puedes encontrar la lista de las redes admitidas [Aquí](/developing/supported-networks). ## Publicar un subgrafo -Los subgrafos se pueden publicar en la red descentralizada directamente desde el panel de control de Subgraph Studio haciendo clic en el botón **Publish**. Una vez publicado un subgrafo, estará disponible para su visualización en The [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Los subgrafos pueden ser publicados en Goerli, Arbitrum Goerli, Arbitrum One o en Ethereum mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Indiferentemente de la red en la que se haya publicado el subgrafo, se puede indexar datos en cualquiera de las [redes compatibles](/developing/supported-networks). - Cuando se publica una nueva versión para un subgrafo existente se aplican las mismas reglas que las anteriores. -## Curando tu subgrafo +## Adding signal to your subgraph -> Se recomienda que cures tu propio subgrafo con 10.000 GRT para asegurarte de que esté indexado y disponible para consultas lo antes posible. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio te permite ser el primero en curar tu subgrafo agregando GRT al pool de curación de tu subgrafo en la misma transacción. Al publicar tu subgrafo, asegúrate de marcar el botón que dice "Sé el primero en señalar en este subgrafo." +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Actualización de los metadatos de un subgrafo publicado -Una vez que tu subgrafo ha sido publicado en la red descentralizada, puedes modificar los metadatos en cualquier momento haciendo la actualización en el panel de control de Subgraph Studio del subgrafo. Después de guardar los cambios y publicar tus actualizaciones en la red, se reflejarán en The Graph Explorer. Esto no creará una nueva versión, ya que tu deploy no ha cambiado. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From af7b4bcdba6ce2289c614144ee1724fe8edd3a8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:53 -0400 Subject: [PATCH 0504/2326] New translations publishing-a-subgraph.mdx (Arabic) --- .../ar/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/ar/publishing/publishing-a-subgraph.mdx b/website/pages/ar/publishing/publishing-a-subgraph.mdx index 89aec5bee958..b0c8f266ee6a 100644 --- a/website/pages/ar/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ar/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to the Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. - + You can find the list of the supported networks [Here](/developing/supported-networks). ## Publishing a subgraph -Subgraphs can be published to the decentralized network directly from the Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in the [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgraphs can be published to Goerli, Arbitrum goerli, Arbitrum One, or Ethereum mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Regardless of the network the subgraph was published on, it can index data on any of the [supported networks](/developing/supported-networks). - عند نشر نسخة جديدة لـ subgraph حالي ، تنطبق عليه نفس القواعد أعلاه. -## Curating your subgraph +## Adding signal to your subgraph -> It is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio enables you to be the first to curate your subgraph by adding GRT to your subgraph's curation pool in the same transaction. When publishing your subgraph, make sure to check the button that says, "Be the first to signal on this subgraph." +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Updating metadata for a published subgraph -Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in the Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in The Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From eb217509bd5983a0e51aa7268fb477d75a2dc559 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:54 -0400 Subject: [PATCH 0505/2326] New translations publishing-a-subgraph.mdx (Czech) --- .../cs/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/cs/publishing/publishing-a-subgraph.mdx b/website/pages/cs/publishing/publishing-a-subgraph.mdx index 2a090f8812f4..9cd6f71f6f39 100644 --- a/website/pages/cs/publishing/publishing-a-subgraph.mdx +++ b/website/pages/cs/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Zveřejnění podgrafu v decentralizované síti --- -Jakmile je váš podgraf [nastaven ve Studio podgrafu](/deploying/deploying-a-subgraph-to-studio), otestován a připraven k uvedení do produkčního provozu, můžete jej publikovat v decentralizované síti. +Jakmile je váš podgraf [nasazen do Podgraf Studio](/deploying/deploying-a-subgraph-to-studio), otestovali jste jej a jste připraveni jej nasadit do produkce, můžete jej publikovat do decentralizované sítě. Zveřejněním podgrafu v decentralizované síti jej mohou [kurátoři](/network/curating) začít kurátorsky zpracovávat a [indexátoři](/network/indexing) jej mohou začít indexovat. - + Seznam podporovaných sítí najdete [Zde](/developing/supported-networks). ## Zveřejnění podgrafu -Podgrafy lze publikovat do decentralizované sítě přímo z ovládacího panelu podgraf Studio kliknutím na tlačítko **Publish**. Jakmile je podgraf publikován, bude k dispozici k zobrazení v [Průzkumníku grafů](https://thegraph.com/explorer/). +Podgrafy lze publikovat do decentralizované sítě přímo z ovládacího panelu Podgraf Studio kliknutím na tlačítko **Publish**. Jakmile je podgraf publikován, bude k dispozici k zobrazení v [Průzkumníku grafů](https://thegraph.com/explorer/). -- Podgrafy lze publikovat do sítí Goerli, Arbitrum goerli, Arbitrum One nebo Ethereum mainnet. +- Podgrafy mohou být publikovány na Arbitrum One. [Další informace o síti Graf na webu Arbitrum](/arbitrum/arbitrum-faq). - Bez ohledu na to, v jaké síti byl podgraf publikován, může indexovat data v kterékoli z [podporovaných sítí](/developing/supported-networks). - Při publikování nové verze pro existující podgraf platí stejná pravidla jako výše. -## Kurátorství podgrafu +## Přidání signálu do podgrafu -> Doporučujeme, abyste si vytvořili vlastní podgraf s 10 000 GRT, abyste zajistili, že bude co nejdříve indexován a dostupný pro dotazování. +Vývojáři mohou do svých podgrafů přidat signál GRT. Pokud je podgraf způsobilý pro odměny za indexaci, indexátoři, kteří poskytnou "důkaz o indexaci", obdrží odměnu GRT podle množství signalizovaného GRT. Způsobilost k odměně za indexování na základě použití funkce podgrafu můžete zkontrolovat [zde](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Konkrétně podporované sítě lze zkontrolovat [zde](/developing/supported-networks). -Aplikace podgraf Studio vám umožní být prvním, kdo bude kurátorem vašeho podgrafu, a to přidáním GRT do fondu kurátorů vašeho podgrafu v rámci stejné transakce. Při publikování podgrafu nezapomeňte zaškrtnout tlačítko "Be first to signal on this subgraph" (Buďte první, kdo bude signalizovat na tomto podgrafu) +> Přidání signálu do podgrafu, který nemá nárok na odměny, nepřiláká další indexátory. + +> Pokud je váš subgraf způsobilý pro odměny, doporučujeme, abyste si vytvořili vlastní podgraf s alespoň 3,000 GRT (k 11, dubnu 2024), abyste přilákali další indexátory k indexování vašeho podgrafu + +Podgraf Studio umožňuje přidat signál do podgrafu přidáním GRT do fondu kurátorů podgrafu v téže transakci, ve které je publikován. ![Kurátorský bazén](/img/curate-own-subgraph-tx.png) +Případně můžete přidat signál GRT do publikovaného podgrafu z Průzkumníka grafů. + +![Signál z Průzkumníka](/img/signal-from-explorer.png) + ## Aktualizace metadata publikovaného podgrafu -Jakmile je podgraf zveřejněn v decentralizované síti, můžete kdykoli změnit metadata provedením aktualizace na ovládacím panelu podgrafu v aplikaci podgraf Studio. Po uložení změn a publikování aktualizací do sítě se tyto změny projeví v Průzkumníku grafů. Tím se nevytvoří nová verze, protože vaše nasazení se nezměnilo. +Jakmile je váš podgraf zveřejněn v decentralizované síti, můžete kdykoli změnit metadata provedením aktualizace na ovládacím panelu podgrafu v aplikaci Podgraf Studio. Po uložení změn a publikování aktualizací do sítě se tyto změny projeví v aplikaci Průzkumník grafů. Tím se nevytvoří nová verze, protože vaše nasazení se nezměnilo. From f6b5f8837648ab9e5176ddf69159b53bdeb34050 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:55 -0400 Subject: [PATCH 0506/2326] New translations publishing-a-subgraph.mdx (German) --- .../de/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/de/publishing/publishing-a-subgraph.mdx b/website/pages/de/publishing/publishing-a-subgraph.mdx index 63ec80a57e88..a26843378c9e 100644 --- a/website/pages/de/publishing/publishing-a-subgraph.mdx +++ b/website/pages/de/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to the Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. - + You can find the list of the supported networks [Here](/developing/supported-networks). ## Publishing a subgraph -Subgraphs can be published to the decentralized network directly from the Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in the [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgraphs can be published to Goerli, Arbitrum goerli, Arbitrum One, or Ethereum mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Regardless of the network the subgraph was published on, it can index data on any of the [supported networks](/developing/supported-networks). - When publishing a new version for an existing subgraph the same rules apply as above. -## Curating your subgraph +## Adding signal to your subgraph -> It is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio enables you to be the first to curate your subgraph by adding GRT to your subgraph's curation pool in the same transaction. When publishing your subgraph, make sure to check the button that says, "Be the first to signal on this subgraph." +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Updating metadata for a published subgraph -Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in the Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in The Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From 7c2c2adcdc68702aa7843b774904613bdd0e70dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:56 -0400 Subject: [PATCH 0507/2326] New translations publishing-a-subgraph.mdx (Italian) --- .../it/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/it/publishing/publishing-a-subgraph.mdx b/website/pages/it/publishing/publishing-a-subgraph.mdx index 9fef5cdce1a3..69d12cafe1ea 100644 --- a/website/pages/it/publishing/publishing-a-subgraph.mdx +++ b/website/pages/it/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Pubblicare un subgraph nella rete decentralizzata --- -Una volta che il subgraph è stato [implementato nel Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), è stato testato ed è pronto per essere messo in produzione, è possibile pubblicarlo nella rete decentralizzata. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. La pubblicazione di un Subgraph nella rete decentralizzata lo rende disponibile per [i Сurator](/network/curating) per iniziare a curarlo e [gli Indexer](/network/indexing) per iniziare a indicizzarlo. - + La lista delle reti supportate è disponibile [qui](/developing/supported-networks). ## Pubblicazione di un subgraph -I subgraph possono essere pubblicati sulla rete decentralizzata direttamente dalla dashboard di Subgraph Studio facendo clic sul pulsante **Pubblica**. Una volta pubblicato, il subgraph sarà disponibile per la visualizzazione nel [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- I subgraph possono essere pubblicati su Goerli, Arbitrum goerli, Arbitrum One o su Ethereum mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Indipendentemente dalla rete su cui è stato pubblicato il subgraph, può indicizzare i dati su qualsiasi [rete supportata](/developing/supported-networks). - Quando si pubblica una nuova versione per un subgraph esistente, si applicano le stesse regole sopra indicate. -## Curation del subgraph +## Adding signal to your subgraph -> Si consiglia di curare il proprio subgraph con 10.000 GRT per assicurarsi che sia indicizzato e disponibile per le query il prima possibile. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio vi permette di essere i primi a curare il vostro subgraph aggiungendo GRT al pool di curation del vostro subgraph nella stessa transazione. Quando pubblicate il vostro subgraph, assicuratevi di selezionare il pulsante "Sii il primo a segnalare questo subgraph" +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Pool di curation](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Aggiornamento dei metadati per un subgraph pubblicato -Una volta che il subgraph è stato pubblicato sulla rete decentralizzata, è possibile modificare i metadati in qualsiasi momento effettuando l'aggiornamento nella dashboard di Subgraph Studio del subgraph. Dopo aver salvato le modifiche e pubblicato gli aggiornamenti sulla rete, questi si rifletteranno nel Graph Explorer. Non verrà creata una nuova versione, poiché la distribuzione non è cambiata. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From 7cb098e0bdf2f942450c92c6fcff31ed641a3e28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:57 -0400 Subject: [PATCH 0508/2326] New translations publishing-a-subgraph.mdx (Japanese) --- .../ja/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/ja/publishing/publishing-a-subgraph.mdx b/website/pages/ja/publishing/publishing-a-subgraph.mdx index 5d0bd2e459cb..1ffabafb2b19 100644 --- a/website/pages/ja/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ja/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: 分散型ネットワークへのサブグラフの公開 --- -サブグラフが [Subgraph Studio にデプロイ](/deploying/deploying-a-subgraph-to-studio)され、それをテストし、本番の準備ができたら、分散型ネットワークにパブリッシュすることができます。 +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. サブグラフを分散型ネットワークに公開すると、[キュレーター](/network/curating)がキュレーションを開始したり、[インデクサー](/network/indexing)がインデックスを作成したりできるようになります。 - + 対応ネットワークの一覧は[こちら](/developing/supported-networks)で確認できます。 ## サブグラフの公開 -サブグラフは、Subgraph Studio のダッシュボードから**Publish** ボタンをクリックすることで、直接分散型ネットワークに公開することができます。 サブグラフが公開されると、[Graph Explorer](https://thegraph.com/explorer/)で閲覧できるようになります。 +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- サブグラフは、Goerli、Arbitrum goerli、Arbitrum One、または Ethereum メインネットに公開できます。 +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - サブグラフが公開されたネットワークに関係なく、[サポートされているネットワーク](/developing/supported-networks)のデータをインデックス化できます。 - 既存のサブグラフの新バージョンを公開する場合は、上記と同じルールが適用されます。 -## サブグラフのキュレーション +## Adding signal to your subgraph -> 10,000GRTのサブグラフは、できるだけ早くインデックス化され、クエリに利用できるように、自分でキュレーションすることが推奨されます。 +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studioでは、同じトランザクションでGRTをサブグラフのキュレーションプールに追加することにより、サブグラフを最初にキュレーションすることができます。サブグラフを公開する際には、"Be the first to signal on this subgraph "というボタンにチェックを入れてください。 +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![キュレーションプール](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## パブリッシュされたサブグラフのメタデータの更新 -サブグラフが分散型ネットワークに公開されると、サブグラフの Subgraph Studio ダッシュボードで更新を行うことにより、いつでもメタデータを変更することができます。 変更を保存し、更新内容をネットワークに公開すると、グラフエクスプローラーに反映されます。 デプロイメントが変更されていないため、新しいバージョンは作成されません。 +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From 646ac06909d8542c3cc407003acad5f733de094f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:57 -0400 Subject: [PATCH 0509/2326] New translations publishing-a-subgraph.mdx (Korean) --- .../ko/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/ko/publishing/publishing-a-subgraph.mdx b/website/pages/ko/publishing/publishing-a-subgraph.mdx index 63ec80a57e88..a26843378c9e 100644 --- a/website/pages/ko/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ko/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to the Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. - + You can find the list of the supported networks [Here](/developing/supported-networks). ## Publishing a subgraph -Subgraphs can be published to the decentralized network directly from the Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in the [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgraphs can be published to Goerli, Arbitrum goerli, Arbitrum One, or Ethereum mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Regardless of the network the subgraph was published on, it can index data on any of the [supported networks](/developing/supported-networks). - When publishing a new version for an existing subgraph the same rules apply as above. -## Curating your subgraph +## Adding signal to your subgraph -> It is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio enables you to be the first to curate your subgraph by adding GRT to your subgraph's curation pool in the same transaction. When publishing your subgraph, make sure to check the button that says, "Be the first to signal on this subgraph." +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Updating metadata for a published subgraph -Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in the Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in The Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From f3f268213396f2c3793ddcb5294153812fd44b45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:58 -0400 Subject: [PATCH 0510/2326] New translations publishing-a-subgraph.mdx (Dutch) --- .../nl/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/nl/publishing/publishing-a-subgraph.mdx b/website/pages/nl/publishing/publishing-a-subgraph.mdx index 63ec80a57e88..a26843378c9e 100644 --- a/website/pages/nl/publishing/publishing-a-subgraph.mdx +++ b/website/pages/nl/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to the Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. - + You can find the list of the supported networks [Here](/developing/supported-networks). ## Publishing a subgraph -Subgraphs can be published to the decentralized network directly from the Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in the [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgraphs can be published to Goerli, Arbitrum goerli, Arbitrum One, or Ethereum mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Regardless of the network the subgraph was published on, it can index data on any of the [supported networks](/developing/supported-networks). - When publishing a new version for an existing subgraph the same rules apply as above. -## Curating your subgraph +## Adding signal to your subgraph -> It is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio enables you to be the first to curate your subgraph by adding GRT to your subgraph's curation pool in the same transaction. When publishing your subgraph, make sure to check the button that says, "Be the first to signal on this subgraph." +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Updating metadata for a published subgraph -Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in the Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in The Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From 53b14d5f1751d695700edb2de2142400557ba74d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:34:59 -0400 Subject: [PATCH 0511/2326] New translations publishing-a-subgraph.mdx (Polish) --- .../pl/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/pl/publishing/publishing-a-subgraph.mdx b/website/pages/pl/publishing/publishing-a-subgraph.mdx index 63ec80a57e88..a26843378c9e 100644 --- a/website/pages/pl/publishing/publishing-a-subgraph.mdx +++ b/website/pages/pl/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to the Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. - + You can find the list of the supported networks [Here](/developing/supported-networks). ## Publishing a subgraph -Subgraphs can be published to the decentralized network directly from the Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in the [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgraphs can be published to Goerli, Arbitrum goerli, Arbitrum One, or Ethereum mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Regardless of the network the subgraph was published on, it can index data on any of the [supported networks](/developing/supported-networks). - When publishing a new version for an existing subgraph the same rules apply as above. -## Curating your subgraph +## Adding signal to your subgraph -> It is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio enables you to be the first to curate your subgraph by adding GRT to your subgraph's curation pool in the same transaction. When publishing your subgraph, make sure to check the button that says, "Be the first to signal on this subgraph." +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Updating metadata for a published subgraph -Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in the Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in The Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From e66ea8ff3923b5a43410907a1f7b0d42eced18da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:00 -0400 Subject: [PATCH 0512/2326] New translations publishing-a-subgraph.mdx (Portuguese) --- .../pt/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/pt/publishing/publishing-a-subgraph.mdx b/website/pages/pt/publishing/publishing-a-subgraph.mdx index b09693642e0e..3070cc541ada 100644 --- a/website/pages/pt/publishing/publishing-a-subgraph.mdx +++ b/website/pages/pt/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Como Editar um Subgraph na Rede Descentralizada --- -Quando o seu subgraph for [lançado ao Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), estiver testado, e estiver pronto para produção, pode então editá-lo na rede descentralizada. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. Editar um Subgraph na rede descentralizada o disponibiliza para a curadoria pelos [Curadores](/network/curating), e para indexação pelos [Indexadores](/network/indexing). - + A lista de redes apoiadas está [aqui](/developing/supported-networks). ## Como editar um subgraph -Subgraphs podem ser editados na rede descentralizada diretamente do painel de controle do Subgraph Studio, no botão **Publish** (Publicar). Quando um subgraph for editado, ele ficará disponível para visualização no [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgraphs podem ser editados no Goerli, Arbitrum Goerli, Arbitrum One, ou na mainnet Ethereum. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Independente da rede em que o subgraph foi editado, ele pode indexar dados em qualquer uma das [redes apoiadas](/developing/supported-networks). - Ao editar uma nova versão para um subgraph existente, aplicam-se as mesmas regras ditas acima. -## Como curar o seu subgraph +## Adding signal to your subgraph -> É recomendado que cure o seu próprio subgraph com 10.000 GRT, para garantir que ele seja indexado e disponibilizado para queries o mais rápido possível. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -O Subgraph Studio permite-lhe ser o primeiro a curar o seu subgraph ao depositar GRT no seu pool de curadoria na mesma transação. Ao editar o seu subgraph, confira o botão que diz "Be the first to signal on this subgraph." (Seja o primeiro a sinalizar neste subgraph.) +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Pool de Curadoria](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Como atualizar metadados para um subgraph editado -Quando o seu subgraph for editado na rede descentralizada, pode modificar os metadados a qualquer hora ao fazer a atualização no painel de controle do subgraph, no Subgraph Studio. Após salvar as mudanças e editar as suas atualizações na rede, elas serão refletidas no Graph Explorer. Isto não criará uma nova versão, já que o seu lançamento não foi modificado. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From 5aa581159e457b410bd046625429e4cb665aa5c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:01 -0400 Subject: [PATCH 0513/2326] New translations publishing-a-subgraph.mdx (Russian) --- .../ru/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/ru/publishing/publishing-a-subgraph.mdx b/website/pages/ru/publishing/publishing-a-subgraph.mdx index 596bf3ff5d23..f03e3405162b 100644 --- a/website/pages/ru/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ru/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Публикация подграфа в децентрализованной сети --- -После того как ваш подграф был [развернут в Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), вы протестировали его и готовы запустить в производство, вы можете опубликовать его в децентрализованной сети. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. Публикация Подграфа в децентрализованной сети делает его доступным для [Кураторов](/network/curating), чтобы начать его курирование, и для [Индексаторов](/network/indexing), чтобы начать его индексирование. - + Вы можете найти список поддерживаемых сетей [тут](/developing/supported-networks). ## Publishing a subgraph -Подграфы можно развертывать в децентрализованной сети непосредственно с панели инструментов Subgraph Studio, нажав на кнопку **Publish**. Как только подграф будет опубликован, он будет доступен для просмотра в [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgraphs can be published to Goerli, Arbitrum goerli, Arbitrum One, or Ethereum mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Regardless of the network the subgraph was published on, it can index data on any of the [supported networks](/developing/supported-networks). - При публикации новой версии для существующего подграфа применяются те же правила, что и выше. -## Curating your subgraph +## Adding signal to your subgraph -> Рекомендуется, чтобы вы курировали свой собственный подграф с помощью 10 000 GRT, чтобы убедиться, что он проиндексирован и доступен для запросов как можно скорее. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio позволяет вам быть первым, кто будет курировать ваш подграф, добавив GRT в пул курирования ваших подграфов в той же транзакции. При публикации вашего подграфа обязательно проверьте кнопку с надписью "Be the first to signal on this subgraph" +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Кураторский пул](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Updating metadata for a published subgraph -Как только ваш подграф будет опубликован в децентрализованной сети, вы можете в любое время изменить метаданные, выполнив обновление на панели инструментов Subgraph Studio для подграфа. После сохранения изменений и публикации ваших обновлений в сети они будут отражены в The Graph Explorer. Это не приведет к созданию новой версии, поскольку ваш первоначальный запуск не изменился. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From dc95de4101368c16abb2b11c7491522c949ffaad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:02 -0400 Subject: [PATCH 0514/2326] New translations publishing-a-subgraph.mdx (Swedish) --- .../sv/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/sv/publishing/publishing-a-subgraph.mdx b/website/pages/sv/publishing/publishing-a-subgraph.mdx index 82beda3c26b3..d3f472162015 100644 --- a/website/pages/sv/publishing/publishing-a-subgraph.mdx +++ b/website/pages/sv/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Publicera en Subgraph på Det Decentraliserade Nätverket --- -När din subgraph har [implementerats i Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), du har testat den och är redo att sätta den i produktion, kan du sedan publicera den på det decentraliserade nätverket. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. Genom att publicera en subgraph på det decentraliserade nätverket blir den tillgänglig för [Kurators](/network/curating) att börja kurera och [Indexeres](/network/indexing) att börja indexera den. - + Du hittar listan över de nätverk som stöds [Här](/developing/supported-networks). ## Publicera en subgraph -Subgrafer kan publiceras på det decentraliserade nätverket direkt från Subgraph Studio-panelen genom att klicka på **Publicera**-knappen. När en subgraph är publicerad blir den tillgänglig att visa i [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgrafer kan publiceras på Goerli, Arbitrum goerli, Arbitrum One eller Ethereum-mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Oavsett vilket nätverk subgraphen har publicerats på kan den indexera data på något av de [stödda nätverken](/developing/supported-networks). - När du publicerar en ny version för en befintlig subgraph gäller samma regler som ovan. -## Kura din subgraph +## Adding signal to your subgraph -> Det rekommenderas att du kurar din egen subgraph med 10 000 GRT för att säkerställa att den indexeras och blir tillgänglig för frågor så snart som möjligt. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio möjliggör för dig att vara den första att kura din subgraph genom att lägga till GRT i subgraphens kurationspool i samma transaktion. När du publicerar din subgraph, se till att markera knappen som säger "Var den första att signalera på denna subgraph." +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Kurationspool](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Uppdatera metadata för en publicerad subgraph -När din subgraph har publicerats på det decentraliserade nätverket kan du när som helst ändra metadata genom att göra uppdateringen i Subgraph Studio-panelen för subgraphen. Efter att du har sparat ändringarna och publicerat dina uppdateringar på nätverket kommer de att återspeglas i The Graph Explorer. Detta kommer inte skapa en ny version, eftersom din implementation inte har ändrats. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From f0a9eb03e9cc1b2a6d11599b0c248c6bbba339cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:03 -0400 Subject: [PATCH 0515/2326] New translations publishing-a-subgraph.mdx (Turkish) --- .../tr/publishing/publishing-a-subgraph.mdx | 36 +++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/website/pages/tr/publishing/publishing-a-subgraph.mdx b/website/pages/tr/publishing/publishing-a-subgraph.mdx index b217d55b13bd..089e2f792ddf 100644 --- a/website/pages/tr/publishing/publishing-a-subgraph.mdx +++ b/website/pages/tr/publishing/publishing-a-subgraph.mdx @@ -1,33 +1,41 @@ --- -title: Merkeziyetsiz Ağa Bir Subgraph Yayınlamak +title: Publishing a Subgraph to the Decentralized Network --- -Subgraph'iniz [Subgraph Studio'ya deploy edildikten](/deploying/deploying-a-subgraph-to-studio) sonra, onu test edip üretime sokmaya hazırsınız, ardından merkeziyetsiz ağda yayınlayabilirsiniz. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -Merkeziyetsiz ağda bir subgraph yayınlamak, [küratörlerin](/network/curating) ona sinyal göndermeye ve [indeksleyicilerin](/network/indexing) onu indekslemeye başlamasını sağlar. +Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. - + -Desteklenen ağların listesini [burada](/developing/supported-networks) bulabilirsiniz. +You can find the list of the supported networks [Here](/developing/supported-networks). ## Bir subgraph yayınlamak -Subgraph'ler, **yayınla** düğmesi tıklanarak doğrudan Subgraph Studio panosundan merkeziyetsiz ağda yayınlanabilir. Bir subgraph yayınlandıktan sonra, [Graph Gezgini](https://thegraph.com/explorer/)'nde görüntülenebilecektir. +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgraph'ler Goerli, Arbitrum Goerli, Arbitrum One veya Ethereum mainnet'te yayınlanabilir. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). -- Subgraph'in yayınlandığı ağdan bağımsız olarak, herhangi bir [desteklenen ağlar](/developing/supported-networks) üzerindeki verileri indeksleyebilir. +- Regardless of the network the subgraph was published on, it can index data on any of the [supported networks](/developing/supported-networks). -- Mevcut bir subgraph için yeni bir sürüm yayınlarken, yukarıdakiyle aynı kurallar geçerlidir. +- When publishing a new version for an existing subgraph the same rules apply as above. -## Subgraph'ınızın küratörlüğünü yapma +## Adding signal to your subgraph -> 10.000 GRT ile kendi subgraph'inize sinyal göndermeniz, mümkün olan en kısa sürede indekslenmesini ve sorgulanmaya hazır olmasını sağlamanız önerilir. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio, aynı işlemde subgraph kürasyon havuzuna GRT ekleyerek subgraph'inize ilk sinyal gönderen kişi olmanızı sağlar. Subgraph'inizi yayınlarken, "Bu subgraph'te ilk sinyal veren siz olun" yazan düğmeyi kontrol ettiğinizden emin olun. +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. -![Kürasyon Havuzu](/img/curate-own-subgraph-tx.png) +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. + +![Curation Pool](/img/curate-own-subgraph-tx.png) + +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) ## Yayınlanan bir subgraph için üst veri güncelleme -Subgraph'iniz merkeziyetsiz ağda yayınlandıktan sonra, Subgraph Studio kontrol panelinde güncelleme yaparak istediğiniz zaman meta verileri değiştirebilirsiniz. Değişiklikleri kaydettikten ve güncellemelerinizi ağda yayınladıktan sonra, bunlar Graph Gezgini'ne yansıtılacaktır. Konuşlandırmanız değişmediğinden dolayı, bu yeni bir sürüm oluşturmaz. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From 23758bb90e064054a8312a128c9237b7be3d4dfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:04 -0400 Subject: [PATCH 0516/2326] New translations publishing-a-subgraph.mdx (Ukrainian) --- .../uk/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/uk/publishing/publishing-a-subgraph.mdx b/website/pages/uk/publishing/publishing-a-subgraph.mdx index 63ec80a57e88..a26843378c9e 100644 --- a/website/pages/uk/publishing/publishing-a-subgraph.mdx +++ b/website/pages/uk/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to the Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. - + You can find the list of the supported networks [Here](/developing/supported-networks). ## Publishing a subgraph -Subgraphs can be published to the decentralized network directly from the Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in the [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgraphs can be published to Goerli, Arbitrum goerli, Arbitrum One, or Ethereum mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Regardless of the network the subgraph was published on, it can index data on any of the [supported networks](/developing/supported-networks). - When publishing a new version for an existing subgraph the same rules apply as above. -## Curating your subgraph +## Adding signal to your subgraph -> It is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio enables you to be the first to curate your subgraph by adding GRT to your subgraph's curation pool in the same transaction. When publishing your subgraph, make sure to check the button that says, "Be the first to signal on this subgraph." +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Updating metadata for a published subgraph -Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in the Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in The Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From cda07659b1ae3c34c23dd2c5d6c5941355bac016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:05 -0400 Subject: [PATCH 0517/2326] New translations publishing-a-subgraph.mdx (Chinese Simplified) --- .../zh/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/zh/publishing/publishing-a-subgraph.mdx b/website/pages/zh/publishing/publishing-a-subgraph.mdx index ea343c5fbfc4..3c8615855d7f 100644 --- a/website/pages/zh/publishing/publishing-a-subgraph.mdx +++ b/website/pages/zh/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: 向去中心化的网络发布子图 --- -一旦你的子图被[部署到子图工作室](/deploying/deploying-a-subgraph-to-studio),你已经测试了它,并准备把它投入生产,你就可以把它发布到去中心化的网络。 +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. 将一个子图发布到去中心化的网络上,使其可以开始让[策展人](/network/curating)进行策展,并开始让[索引人](/network/indexing)进行索引。 - + 您可以在[这里](/developing/supported-networks)找到支持的网络列表。 ## 发布子图 -子图可以通过点击 **"发布 "** 按钮直接从子图工作室仪表板上发布到去中心化网络。一旦一个子图被发布,它将可以在[Graph 浏览器](https://thegraph.com/explorer/)中查看。 +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- 子图可以发布到Goerli、Arbitrum Goerli、Arbitrum One或以太坊主网。 +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - 无论子图发布在哪个网络上,它都可以在任何[支持的网络](/developing/supported-networks)上索引数据。 - 当为一个现有的子图发布一个新版本时,适用的规则与上述相同。 -## 策展子图 +## Adding signal to your subgraph -> 建议您使用10000 GRT策展自己的子图,以确保它能够索引并可尽快用于查询。 +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -子图工作室通过在同一交易中将GRT添加到子图的策展池中,使您成为第一个策展子图的人。发布子图时,确保选中“第一个在子图上发出信号”的按钮。 +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![策展池](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## 更新已发布的子图的元数据 -一旦你的子图被发布到去中心化的网络,你可以在任何时候通过在子图的子图工作室仪表板上进行更新来修改元数据。在保存更改并将你的更新发布到网络后,它们将反映在 Graph 浏览器中。这不会创建一个新的版本,因为你的部署并没有改变。 +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From 8b129226ead5e1138fe7ae620dcf62ac6b6f9e5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:06 -0400 Subject: [PATCH 0518/2326] New translations publishing-a-subgraph.mdx (Urdu (Pakistan)) --- .../ur/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/ur/publishing/publishing-a-subgraph.mdx b/website/pages/ur/publishing/publishing-a-subgraph.mdx index b92fc89f20c4..98acc689c0ac 100644 --- a/website/pages/ur/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ur/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: ڈیسینٹرلائزڈ نیٹ ورک پر سب گراف شائع کرنا --- -ایک بار جب آپ کا سب گراف [سب گراف اسٹوڈیو میں تعینات ہو گیا](/deploying/deploying-a-subgraph-to-studio)، آپ نے اس پر تجربہ کیا ہے, اور اسے پروڈکشن میں ڈالنے کے لیے تیار ہیں، پھر آپ اسے ڈیسینٹرالائزڈ نیٹ ورک پر شائع کر سکتے ہیں. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. ڈیسینٹرالائزڈ نیٹ ورک پر سب گراف شائع کرنا اسے [کیوریٹرز](/network/curating) کے لیے اس پر کیوریٹنگ شروع کرنے کے لیے، اور [انڈیکسرز](/network/indexing) کے لیے دستیاب کرتا ہے۔ اس کی ترتیب شروع کرنے کے لیے. - + آپ سپورٹڈ نیٹ ورکس کی فہرست [یہاں](/developing/supported-networks) تلاش کر سکتے ہیں. ## سب گراف شائع کرنا -سب گراف کو **شائع کریں** بٹن پر کلک کرکے براہ راست سب گراف اسٹوڈیو ڈیش بورڈ سے ڈیسینٹرالائزڈ نیٹ ورک پر شائع کیا جاسکتا ہے۔سب گراف شائع ہونے کے بعد، یہ [گراف ایکسپلورر](https://thegraph.com/explorer/) میں دیکھنے کے لیے دستیاب ہوگا. +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- سب گراف گوئرلی، آربٹرم گوئرلی، آربٹرم ون، یا ایتھریم مینیٹ پر شائع کیے جا سکتے ہیں. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - اس سے قطع نظر کہ سب گراف کس نیٹ ورک پر شائع ہوا تھا، یہ کسی بھی [تعاون یافتہ نیٹ ورکس](/developing/supported-networks) پر ڈیٹا کو انڈیکس کر سکتا ہے. - موجودہ سب گراف کے لیے نیا ورژن شائع کرتے وقت وہی اصول لاگو ہوتے ہیں جو اوپر دیے گئے ہیں. -## آپ کے سب گراف کی کیورٹنگ کرنا +## Adding signal to your subgraph -> یہ تجویز کیا جاتا ہے کہ آپ اپنے سب گراف کو 10,000 GRT کے ساتھ کیوریٹ کریں تاکہ یہ یقینی بنایا جا سکے کہ یہ جلد از جلد کیوری کے لیے دستیاب ہے. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -سب گراف اسٹوڈیو اسی لین دین میں اپنے سب گراف کے کیوریشن پول میں GRT شامل کر کے آپ کو سب سے پہلے اپنے سب گراف کو کیوریٹ کرنے کے قابل بناتا ہے۔ اپنا سب گراف شائع کرتے وقت، اس بٹن کو چیک کرنا یقینی بنائیں جو کہتا ہے، "اس سب گراف پر سب سے پہلے سگنل دینے والے بنیں۔" +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![کیوریشن پول](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## شائع شدہ سب گراف کے لیے میٹا ڈیٹا کو اپ ڈیٹ کرنا -ایک بار جب آپ کا سب گراف ڈیسینٹرلائزڈ نیٹ ورک پر شائع ہو جاتا ہے، تو آپ سب گراف کے سب گراف اسٹوڈیو ڈیش بورڈ میں اپ ڈیٹ کر کے کسی بھی وقت میٹا ڈیٹا میں ترمیم کر سکتے ہیں۔ تبدیلیوں کو محفوظ کرنے اور آپ کے اپ ڈیٹس کو نیٹ ورک پر شائع کرنے کے بعد، وہ گراف ایکسپلورر میں ظاہر ہوں گے۔ یہ نیا ورژن نہیں بنائے گا، کیونکہ آپ کی تعیناتی تبدیل نہیں ہوئی ہے. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From 01319dec0ae38d619d68b8d25f8bb112eadc892e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:07 -0400 Subject: [PATCH 0519/2326] New translations publishing-a-subgraph.mdx (Vietnamese) --- .../vi/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/vi/publishing/publishing-a-subgraph.mdx b/website/pages/vi/publishing/publishing-a-subgraph.mdx index 546991c84816..7e852c0c2b49 100644 --- a/website/pages/vi/publishing/publishing-a-subgraph.mdx +++ b/website/pages/vi/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to the Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. - + You can find the list of the supported networks [Here](/developing/supported-networks). ## Publishing a subgraph -Các Subgraph có thể được xuất bản lên mạng phi tập trung trực tiếp từ bảng điều khiển Subgraph Studio bằng cách nhấp vào nút **Xuất bản** (Publish). Khi một subgraph được xuất bản, nó sẽ khả dụng để xem trong [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgraphs can be published to Goerli, Arbitrum goerli, Arbitrum One, or Ethereum mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Regardless of the network the subgraph was published on, it can index data on any of the [supported networks](/developing/supported-networks). - Khi xuất bản một phiên bản mới cho một subgraph hiện có, các quy tắc tương tự sẽ được áp dụng như trên. -## Curating your subgraph +## Adding signal to your subgraph -> It is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio enables you to be the first to curate your subgraph by adding GRT to your subgraph's curation pool in the same transaction. When publishing your subgraph, make sure to check the button that says, "Be the first to signal on this subgraph." +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Updating metadata for a published subgraph -Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in the Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in The Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From bef1e427b62fbf3f51ad05a00acd83e8e9611304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:08 -0400 Subject: [PATCH 0520/2326] New translations publishing-a-subgraph.mdx (Marathi) --- .../mr/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/mr/publishing/publishing-a-subgraph.mdx b/website/pages/mr/publishing/publishing-a-subgraph.mdx index 8c097cf7c0d4..47b0bb04529e 100644 --- a/website/pages/mr/publishing/publishing-a-subgraph.mdx +++ b/website/pages/mr/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: विकेंद्रीकृत नेटवर्कवर सबग्राफ प्रकाशित करणे --- -एकदा तुमचा सबग्राफ [सबग्राफ स्टुडिओमध्ये उपयोजित केला गेला](/deploying/deploying-a-subgraph-to-studio), तुम्ही त्याची चाचणी केली आणि उत्पादनात ठेवण्यास तयार आहात, तुम्ही नंतर विकेंद्रित नेटवर्कवर प्रकाशित करू शकतात. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. विकेंद्रीकृत नेटवर्कवर सबग्राफ प्रकाशित केल्याने ते [क्युरेटर्स](/network/curating) वर क्युरेटिंग सुरू करण्यासाठी आणि [इंडेक्सर्स](/network/indexing) साठी उपलब्ध होते. त्याची अनुक्रमणिका सुरू करण्यासाठी. - + तुम्ही समर्थित नेटवर्कची सूची [येथे](/developing/supported-networks) शोधू शकता. ## सबग्राफ प्रकाशित करणे -**प्रकाशित करा** बटणावर क्लिक करून सबग्राफ स्टुडिओ डॅशबोर्डवरून विकेंद्रीकृत नेटवर्कवर सबग्राफ प्रकाशित केले जाऊ शकतात. एकदा सबग्राफ प्रकाशित झाल्यानंतर, तो [ग्राफ एक्सप्लोरर](https://thegraph.com/explorer/) मध्ये पाहण्यासाठी उपलब्ध असेल. +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- सबग्राफ Goerli, Arbitrum goerli, Arbitrum One, किंवा Ethereum mainnet वर प्रकाशित केले जाऊ शकतात. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - सबग्राफ ज्या नेटवर्कवर प्रकाशित झाला होता त्याकडे दुर्लक्ष करून, ते कोणत्याही [समर्थित नेटवर्क](/developing/supported-networks) वरील डेटा अनुक्रमित करू शकते. - विद्यमान सबग्राफसाठी नवीन आवृत्ती प्रकाशित करताना वरीलप्रमाणेच नियम लागू होतात. -## तुमचा सबग्राफ क्युरेट करत आहे +## Adding signal to your subgraph -> तुमचा स्वतःचा सबग्राफ 10,000 GRT सह क्युरेट करून तो अनुक्रमित केला आहे आणि शक्य तितक्या लवकर क्वेरीसाठी उपलब्ध आहे याची शिफारस केली जाते. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -सबग्राफ स्टुडिओ तुम्हाला त्याच व्यवहारात तुमच्या सबग्राफच्या क्युरेशन पूलमध्ये GRT जोडून तुमचा सबग्राफ क्युरेट करणारे पहिले बनण्यास सक्षम करते. तुमचा सबग्राफ प्रकाशित करताना, "या सबग्राफवर सिग्नल देणारे पहिले व्हा" असे बटण तपासण्याचे सुनिश्चित करा +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![क्युरेशन पूल](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## प्रकाशित सबग्राफसाठी मेटाडेटा अपडेट करत आहे -एकदा तुमचा सबग्राफ विकेंद्रित नेटवर्कवर प्रकाशित झाला की, तुम्ही सबग्राफच्या सबग्राफ स्टुडिओ डॅशबोर्डमध्ये अपडेट करून मेटाडेटा कधीही बदलू शकता. बदल सेव्ह केल्यानंतर आणि नेटवर्कवर तुमचे अपडेट्स प्रकाशित केल्यानंतर, ते ग्राफ एक्सप्लोररमध्ये परावर्तित होतील. हे नवीन आवृत्ती तयार करणार नाही, कारण तुमची तैनाती बदललेली नाही. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From bf78fadbc3d81162f4e1c077c2087232a8be2310 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:09 -0400 Subject: [PATCH 0521/2326] New translations publishing-a-subgraph.mdx (Hindi) --- .../hi/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/hi/publishing/publishing-a-subgraph.mdx b/website/pages/hi/publishing/publishing-a-subgraph.mdx index bc936ae91146..0858d3dda04b 100644 --- a/website/pages/hi/publishing/publishing-a-subgraph.mdx +++ b/website/pages/hi/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: विकेंद्रीकृत नेटवर्क के लिए एक सबग्राफ प्रकाशित करना --- -एक बार जब आपका सबग्राफ [सबग्राफ स्टूडियो में तैनात](/deploying/deploying-a-subgraph-to-studio) हो जाता है, तो आपने इसका परीक्षण कर लिया है, और इसे उत्पादन में लगाने के लिए तैयार हैं, आप फिर इसे विकेंद्रीकृत नेटवर्क पर प्रकाशित कर सकते हैं। +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. विकेन्द्रीकृत नेटवर्क पर एक सबग्राफ प्रकाशित करने से यह [क्यूरेटर्स](/network/curating) के लिए उपलब्ध हो जाता है ताकि वे उस पर क्यूरेट करना शुरू कर सकें, और [इंडेक्सर्स](/network/indexing) इसे अनुक्रमणित करना शुरू करने के लिए। - + आप समर्थित नेटवर्क की सूची [यहां](/Developing/supported-networks) प्राप्त कर सकते हैं। ## एक सबग्राफ प्रकाशित करना -सबग्राफ को **प्रकाशित करें** बटन पर क्लिक करके सीधे सबग्राफ स्टूडियो डैशबोर्ड से विकेन्द्रीकृत नेटवर्क पर प्रकाशित किया जा सकता है। सबग्राफ प्रकाशित होने के बाद, यह [ग्राफ़ एक्सप्लोरर](https://thegraph.com/explorer/) में देखने के लिए उपलब्ध होगा। +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- सबग्राफ गोएरली, आर्बिट्रम गोएर्ली, आर्बिट्रम वन या एथेरियम मेननेट पर प्रकाशित किए जा सकते हैं। +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - जिस नेटवर्क पर सबग्राफ प्रकाशित किया गया था, उसके बावजूद यह किसी भी वें पर डेटा को अनुक्रमित कर सकता है [supported networks](/developing/supported-networks). - किसी मौजूदा सबग्राफ के लिए एक नया संस्करण प्रकाशित करते समय उपरोक्त के समान नियम लागू होते हैं। -## अपने सबग्राफ को क्यूरेट करना +## Adding signal to your subgraph -> यह अनुशंसा की जाती है कि आप 10,000 जीआरटी के साथ अपने स्वयं के सबग्राफ को क्यूरेट करें ताकि यह सुनिश्चित हो सके कि यह अनुक्रमित है और जितनी जल्दी हो सके पूछताछ के लिए उपलब्ध है। +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -सबग्राफ स्टूडियो आपको एक ही लेन-देन में आपके सबग्राफ के क्यूरेशन पूल में जीआरटी जोड़कर अपने सबग्राफ को क्यूरेट करने में सक्षम बनाता है। अपना सबग्राफ प्रकाशित करते समय, उस बटन को चेक करना सुनिश्चित करें जो कहता है, "इस सबग्राफ पर संकेत देने वाले पहले व्यक्ति बनें।" +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![क्यूरेशन पूल](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## प्रकाशित सबग्राफ के लिए मेटाडेटा अपडेट करना -एक बार जब आपका सबग्राफ विकेंद्रीकृत नेटवर्क पर प्रकाशित हो जाता है, तो आप सबग्राफ के सबग्राफ स्टूडियो डैशबोर्ड में अपडेट करके किसी भी समय मेटाडेटा को संशोधित कर सकते हैं। परिवर्तनों को सहेजने और अपने अपडेट को नेटवर्क पर प्रकाशित करने के बाद, वे द ग्राफ़ एक्सप्लोरर में दिखाई देंगे। यह एक नया संस्करण नहीं बनाएगा, क्योंकि आपका परिनियोजन नहीं बदला है। +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From b3966f32945fe7cddca2dededa89a2041b459356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:10 -0400 Subject: [PATCH 0522/2326] New translations publishing-a-subgraph.mdx (Yoruba) --- .../yo/publishing/publishing-a-subgraph.mdx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/website/pages/yo/publishing/publishing-a-subgraph.mdx b/website/pages/yo/publishing/publishing-a-subgraph.mdx index 63ec80a57e88..a26843378c9e 100644 --- a/website/pages/yo/publishing/publishing-a-subgraph.mdx +++ b/website/pages/yo/publishing/publishing-a-subgraph.mdx @@ -2,32 +2,40 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to the Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. - + You can find the list of the supported networks [Here](/developing/supported-networks). ## Publishing a subgraph -Subgraphs can be published to the decentralized network directly from the Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in the [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). -- Subgraphs can be published to Goerli, Arbitrum goerli, Arbitrum One, or Ethereum mainnet. +- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). - Regardless of the network the subgraph was published on, it can index data on any of the [supported networks](/developing/supported-networks). - When publishing a new version for an existing subgraph the same rules apply as above. -## Curating your subgraph +## Adding signal to your subgraph -> It is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). -Subgraph Studio enables you to be the first to curate your subgraph by adding GRT to your subgraph's curation pool in the same transaction. When publishing your subgraph, make sure to check the button that says, "Be the first to signal on this subgraph." +> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. + +> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph + +Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) +Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. + +![Signal from Explorer](/img/signal-from-explorer.png) + ## Updating metadata for a published subgraph -Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in the Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in The Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. +Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. From 8d5355cdb9c105ff7bdb54aae46721ac53d698e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:11 -0400 Subject: [PATCH 0523/2326] New translations distributed-systems.mdx (French) --- .../pages/fr/querying/distributed-systems.mdx | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/website/pages/fr/querying/distributed-systems.mdx b/website/pages/fr/querying/distributed-systems.mdx index 7c9b26ab4d87..270b55bfd86d 100644 --- a/website/pages/fr/querying/distributed-systems.mdx +++ b/website/pages/fr/querying/distributed-systems.mdx @@ -34,21 +34,21 @@ Le graph fournit l'API `block : { number_gte: $minBlock }`, qui garantit que la Nous pouvons utiliser `number_gte` pour nous assurer que le temps ne recule jamais lorsque nous interrogeons des données dans une boucle. Voici un exemple : ```javascript -/// Updates the protocol.paused variable to the latest -/// known value in a loop by fetching it using The Graph. +/// Met à jour la variable protocol.paused avec la dernière valeur +/// connue dans une boucle en la récupérant en utilisant The Graph. async function updateProtocolPaused() { - // It's ok to start with minBlock at 0. The query will be served - // using the latest block available. Setting minBlock to 0 is the - // same as leaving out that argument. + // Il est correct de commencer avec minBlock à 0. La requête sera servie + // en utilisant le dernier bloc disponible. Définir minBlock à 0 revient + // à omettre cet argument. let minBlock = 0 - + for (;;) { - // Schedule a promise that will be ready once - // the next Ethereum block will likely be available. + // Planifie une promesse qui sera prête une fois que le prochain bloc + // Ethereum sera probablement disponible. const nextBlock = new Promise((f) => { setTimeout(f, 14000) }) - + const query = ` query GetProtocol($minBlock: Int!) { protocol(block: { number_gte: $minBlock } id: "0") { @@ -60,36 +60,36 @@ async function updateProtocolPaused() { } } }` - + const variables = { minBlock } const response = await graphql(query, variables) minBlock = response._meta.block.number - - // TODO: Do something with the response data here instead of logging it. + + // TODO: Faites quelque chose avec les données de réponse ici au lieu de les journaliser. console.log(response.protocol.paused) - - // Sleep to wait for the next block + + // Dort pour attendre le prochain bloc await nextBlock } } ``` -## Fetching a set of related items +## Récupérer un ensemble d'éléments liés Un autre cas d'utilisation est la récupération d'un grand ensemble ou, plus généralement, la récupération d'éléments liés entre plusieurs requêtes. Contrairement au cas des sondages (où la cohérence souhaitée était d'avancer dans le temps), la cohérence souhaitée est pour un seul point dans le temps. Ici, nous utiliserons l'argument `block: { hash: $blockHash }` pour épingler tous nos résultats dans le même bloc. ```javascript -/// Gets a list of domain names from a single block using pagination +/// Obtient une liste de noms de domaine à partir d'un seul bloc en utilisant la pagination async function getDomainNames() { - // Set a cap on the maximum number of items to pull. + // Définit un plafond sur le nombre maximum d'éléments à extraire. let pages = 5 const perPage = 1000 - // The first query will get the first page of results and also get the block - // hash so that the remainder of the queries are consistent with the first. - const listDomainsQuery = ` + // La première requête obtiendra la première page de résultats et obtiendra également le + // hachage du bloc afin que le reste des requêtes soit cohérent avec la première. + const listDomainsQuery = ` query ListDomains($perPage: Int!) { domains(first: $perPage) { name @@ -107,9 +107,9 @@ async function getDomainNames() { let blockHash = data._meta.block.hash let query - // Continue fetching additional pages until either we run into the limit of - // 5 pages total (specified above) or we know we have reached the last page - // because the page has fewer entities than a full page. + // Continue à récupérer des pages supplémentaires jusqu'à ce que nous atteignions la limite de + // 5 pages au total (spécifiée ci-dessus) ou que nous sachions que nous avons atteint la dernière page + // parce que la page a moins d'entités qu'une page complète. while (data.domains.length == perPage && --pages) { let lastID = data.domains[data.domains.length - 1].id query = ` @@ -122,7 +122,7 @@ async function getDomainNames() { data = await graphql(query, { perPage, lastID, blockHash }) - // Accumulate domain names into the result + // Accumule les noms de domaine dans le résultat for (domain of data.domains) { result.push(domain.name) } From ad9f400fb37ae537ab1d37c84d8246350fc334ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:13 -0400 Subject: [PATCH 0524/2326] New translations distributed-systems.mdx (Czech) --- .../pages/cs/querying/distributed-systems.mdx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/cs/querying/distributed-systems.mdx b/website/pages/cs/querying/distributed-systems.mdx index e75d5f214bf5..93d26f429b96 100644 --- a/website/pages/cs/querying/distributed-systems.mdx +++ b/website/pages/cs/querying/distributed-systems.mdx @@ -9,15 +9,15 @@ Připojení selhávají. Požadavky přicházejí mimo pořadí. Různé počít Vezměme si tento příklad toho, co může nastat, pokud se klient dotazuje indexeru na nejnovější data během re-org. 1. Indexer zpracovat blok 8 -2. Request served to the client for block 8 -3. Indexer ingests block 9 -4. Indexer ingests block 10A -5. Request served to the client for block 10A -6. Indexer detects reorg to 10B and rolls back 10A -7. Request served to the client for block 9 -8. Indexer ingests block 10B -9. Indexer ingests block 11 -10. Request served to the client for block 11 +2. Požadavek doručený klientovi pro blok 8 +3. Indexer požívá blok 9 +4. Indexer požívá blok 10A +5. Požadavek doručený klientovi pro blok 10A +6. Indexer zjistí reorg na 10B a vrátí zpět 10A +7. Požadavek doručený klientovi pro blok 9 +8. Indexer požívá blok 10B +9. Indexer požívá blok 11 +10. Požadavek doručený klientovi pro blok 11 Z pohledu indexátora postupují věci logicky vpřed. Čas se posouvá vpřed, i když jsme museli vrátit blok strýce a přehrát na něj blok v rámci konsensu vpřed. Po cestě Indexer obsluhuje požadavky pomocí nejnovějšího stavu, o kterém v danou chvíli ví. @@ -74,7 +74,7 @@ async function updateProtocolPaused() { } ``` -## Fetching a set of related items +## Získání sady souvisejících položek Dalším případem použití je načítání velkého souboru nebo obecněji načítání souvisejících položek ve více požadavcích. Na rozdíl od případu dotazování (kde byla požadovaná konzistence pro posun v čase) je požadovaná konzistence pro jeden bod v čase. From 90fa92979d132b612233524776f271261ca69f2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:19 -0400 Subject: [PATCH 0525/2326] New translations distributed-systems.mdx (Swedish) --- .../pages/sv/querying/distributed-systems.mdx | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/website/pages/sv/querying/distributed-systems.mdx b/website/pages/sv/querying/distributed-systems.mdx index 365340f65a1b..3143d4859eb8 100644 --- a/website/pages/sv/querying/distributed-systems.mdx +++ b/website/pages/sv/querying/distributed-systems.mdx @@ -84,8 +84,8 @@ Här kommer vi att använda argumentet `block: { hash: $blockHash }` för att bi /// Gets a list of domain names from a single block using pagination async function getDomainNames() { // Set a cap on the maximum number of items to pull. - let pages = 5 - const perPage = 1000 + let pages = 5; + const perPage = 1000; // The first query will get the first page of results and also get the block // hash so that the remainder of the queries are consistent with the first. @@ -100,34 +100,34 @@ async function getDomainNames() { hash } } - }` + }`; - let data = await graphql(listDomainsQuery, { perPage }) - let result = data.domains.map((d) => d.name) - let blockHash = data._meta.block.hash + let data = await graphql(listDomainsQuery, { perPage }); + let result = data.domains.map((d) => d.name); + let blockHash = data._meta.block.hash; - let query + let query; // Continue fetching additional pages until either we run into the limit of // 5 pages total (specified above) or we know we have reached the last page // because the page has fewer entities than a full page. while (data.domains.length == perPage && --pages) { - let lastID = data.domains[data.domains.length - 1].id + let lastID = data.domains[data.domains.length - 1].id; query = ` query ListDomains($perPage: Int!, $lastID: ID!, $blockHash: Bytes!) { domains(first: $perPage, where: { id_gt: $lastID }, block: { hash: $blockHash }) { name id } - }` + }`; - data = await graphql(query, { perPage, lastID, blockHash }) + data = await graphql(query, { perPage, lastID, blockHash }); // Accumulate domain names into the result for (domain of data.domains) { - result.push(domain.name) + result.push(domain.name); } } - return result + return result; } ``` From c4ae5652569e4c098ca5181e3354ee51e440c23d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:19 -0400 Subject: [PATCH 0526/2326] New translations distributed-systems.mdx (Turkish) --- .../pages/tr/querying/distributed-systems.mdx | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/website/pages/tr/querying/distributed-systems.mdx b/website/pages/tr/querying/distributed-systems.mdx index 2116698d38ed..85337206bfd3 100644 --- a/website/pages/tr/querying/distributed-systems.mdx +++ b/website/pages/tr/querying/distributed-systems.mdx @@ -1,37 +1,37 @@ --- -title: Dağıtık Sistemler +title: Distributed Systems --- -Graph, dağıtık bir sistem olarak uygulanan bir protokoldür. +The Graph is a protocol implemented as a distributed system. -Bağlantılar başarısız. İstekler sıra dışı geliyor. Saatleri ve durumları senkronize olmayan farklı bilgisayarlar, ilgili istekleri işler. Yeniden başlatılan sunucular. İstekler arasında gerçekleşen yeniden düzenlemeler. Bu sorunlar, tüm dağıtık sistemlerin doğasında vardır, ancak küresel ölçekte çalışan sistemlerde daha da kötüleşir. +Connections fail. Requests arrive out of order. Different computers with out-of-sync clocks and states process related requests. Servers restart. Re-orgs happen between requests. These problems are inherent to all distributed systems but are exacerbated in systems operating at a global scale. -Bir müşteri, bir yeniden düzenleme sırasında en son veriler için bir indeksleyiciyi yoklarsa neler olabileceğine dair bu örneği düşünün. +Consider this example of what may occur if a client polls an Indexer for the latest data during a re-org. -1. İndeksleyici blok 8'i alır -2. İstemciye blok 8 için sunulan istek -3. İndeksleyici blok 9'u alır -4. İndeksleyici blok 10A'yı alır -5. İstemciye blok 10A için sunulan istek -6. Indexer, 10B'ye yeniden düzenlemeyi algılar ve 10A'yı geri alır -7. İstemciye blok 9 için sunulan istek -8. İndeksleyici blok 10B'yi alır -9. İndeksleyici blok 11'i alır -10. İstemciye blok 11 için sunulan istek +1. Indexer ingests block 8 +2. Request served to the client for block 8 +3. Indexer ingests block 9 +4. Indexer ingests block 10A +5. Request served to the client for block 10A +6. Indexer detects reorg to 10B and rolls back 10A +7. Request served to the client for block 9 +8. Indexer ingests block 10B +9. Indexer ingests block 11 +10. Request served to the client for block 11 -İndeksleyici açısından bakıldığında, işler mantıksal olarak ileriye doğru ilerliyor. Zaman ilerliyor, ancak bir amca bloğunu geri almamız ve konsensüs altındaki bloğu bunun üzerine oynamamız gerekti. Yol boyunca indeksleyici, o sırada bildiği en son durumu kullanarak isteklere hizmet eder. +From the point of view of the Indexer, things are progressing forward logically. Time is moving forward, though we did have to roll back an uncle block and play the block under consensus forward on top of it. Along the way, the Indexer serves requests using the latest state it knows about at that time. -Bununla birlikte, müşterinin bakış açısından, işler kaotik görünüyor. Müşteri, yanıtların sırasıyla 8, 10, 9 ve 11. bloklar için olduğunu gözlemler. Buna "blok yalpalama" sorunu diyoruz. Bir müşteri blok yalpalaması yaşadığında, veriler zaman içinde kendisiyle çelişiyor gibi görünebilir. İndeksleyicilerin hepsinin en son blokları aynı anda almadığını ve isteklerinizin birden çok indeksleyiciye yönlendirilebileceğini düşündüğümüzde durum daha da kötüleşir. +From the point of view of the client, however, things appear chaotic. The client observes that the responses were for blocks 8, 10, 9, and 11 in that order. We call this the "block wobble" problem. When a client experiences block wobble, data may appear to contradict itself over time. The situation worsens when we consider that Indexers do not all ingest the latest blocks simultaneously, and your requests may be routed to multiple Indexers. -Kullanıcıya tutarlı veriler sağlamak için birlikte çalışmak istemci ve sunucunun sorumluluğundadır. Her problem için doğru program olmadığı için istenilen tutarlılığa bağlı olarak farklı yaklaşımlar kullanılmalıdır. +It is the responsibility of the client and server to work together to provide consistent data to the user. Different approaches must be used depending on the desired consistency as there is no one right program for every problem. -Dağıtık sistemlerin sonuçları üzerinden akıl yürütmek zordur, ancak düzeltme olmayabilir! Bazı yaygın kullanım durumlarında gezinmenize yardımcı olacak API'ler ve modeller oluşturduk. Aşağıdaki örnekler, bu kalıpları göstermektedir, ancak ana fikirleri karıştırmamak için üretim kodunun gerektirdiği ayrıntıları (hata işleme ve iptal etme gibi) yine de atlamaktadır. +Reasoning through the implications of distributed systems is hard, but the fix may not be! We've established APIs and patterns to help you navigate some common use-cases. The following examples illustrate those patterns but still elide details required by production code (like error handling and cancellation) to not obfuscate the main ideas. -## Güncellenmiş veriler için yoklama +## Polling for updated data -Graph, yanıtın `$minBlock`'a eşit veya daha yüksek tek bir blok için olmasını sağlayan `block: { number_gte: $minBlock }` API'ını sağlar. İstek bir `graph-node` örneğine yapılırsa ve minimum blok henüz senkronize edilmemişse, `graph-node` bir hata döndürür. `graph-node`, minimum bloğunu senkronize ettiyse, yanıtı en son blok için çalıştıracaktır. Talep bir Edge & Node ağ geçicidine yapılırsa, ağ geçidi minimum bloğunu henüz senkronize etmemiş tüm indeksleyicileri filtreleyecek ve indeksleyicinin senkronize ettiği en son blok için talepte bulunacaktır. +The Graph provides the `block: { number_gte: $minBlock }` API, which ensures that the response is for a single block equal or higher to `$minBlock`. If the request is made to a `graph-node` instance and the min block is not yet synced, `graph-node` will return an error. If `graph-node` has synced min block, it will run the response for the latest block. If the request is made to an Edge & Node Gateway, the Gateway will filter out any Indexers that have not yet synced min block and make the request for the latest block the Indexer has synced. -Bir döngüdeki verileri yoklarken zamanın asla geriye gitmemesini sağlamak için `number_gte`'i kullanabiliriz. İşte bir örnek: +We can use `number_gte` to ensure that time never travels backward when polling for data in a loop. Here is an example: ```javascript /// Updates the protocol.paused variable to the latest @@ -74,11 +74,11 @@ async function updateProtocolPaused() { } ``` -## Bir dizi ilgili öğe getiriliyor +## Fetching a set of related items -Başka bir kullanım durumu, büyük bir kümeyi almak veya daha genel olarak birden çok istekte ilgili öğeleri almaktır. Yoklama durumundan farklı olarak (istenen tutarlılığın zamanda ilerlemek olduğu), istenen tutarlılık tek bir zaman noktası içindir. +Another use-case is retrieving a large set or, more generally, retrieving related items across multiple requests. Unlike the polling case (where the desired consistency was to move forward in time), the desired consistency is for a single point in time. -Burada, tüm sonuçlarımızı aynı bloğa sabitlemek için `block: { hash: $blockHash }` argümanını kullanacağız. +Here we will use the `block: { hash: $blockHash }` argument to pin all of our results to the same block. ```javascript /// Gets a list of domain names from a single block using pagination @@ -131,4 +131,4 @@ async function getDomainNames() { } ``` -Yeniden düzenleme durumunda, müşterinin blok hash'ini non-uncle bir bloğa güncellemek için ilk istekten yeniden denemesi gerekeceğini unutmayın. +Note that in case of a re-org, the client will need to retry from the first request to update the block hash to a non-uncle block. From dc471922c1058c630f726d2cd590c86f8f0d075b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:24 -0400 Subject: [PATCH 0527/2326] New translations graphql-api.mdx (Romanian) --- website/pages/ro/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ro/querying/graphql-api.mdx b/website/pages/ro/querying/graphql-api.mdx index 89cda460d58f..3d24376946d6 100644 --- a/website/pages/ro/querying/graphql-api.mdx +++ b/website/pages/ro/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -This guide explains the GraphQL Query API that is used for the Graph Protocol. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Queries @@ -208,7 +208,7 @@ In the following example, we are filtering for challenges with `outcome` `succee ``` > **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Fulltext search queries have one required field, `text`, for supplying search te Fulltext search operators: -| Symbol | Operator | Description | -| --- | --- | --- | -| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | -| `<->` | `Follow by` | Specify the distance between two words. | -| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | +| Symbol | Operator | Description | +| ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | +| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | +| `<->` | `Follow by` | Specify the distance between two words. | +| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | #### Examples From ee8cb835ea699998a7aeeacdb1412487c33f0e68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:25 -0400 Subject: [PATCH 0528/2326] New translations graphql-api.mdx (French) --- website/pages/fr/querying/graphql-api.mdx | 70 +++++++++++------------ 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/website/pages/fr/querying/graphql-api.mdx b/website/pages/fr/querying/graphql-api.mdx index 2fe9bc582f62..d9b6d93760fb 100644 --- a/website/pages/fr/querying/graphql-api.mdx +++ b/website/pages/fr/querying/graphql-api.mdx @@ -1,10 +1,10 @@ --- -title: GraphQL API +title: API GraphQL --- -Ce guide explique l'API de requête GraphQL utilisée pour le protocole Graph. +This guide explains the GraphQL Query API that is used for The Graph Protocol. -## Queries +## Requêtes Dans votre schéma de subgraph, vous définissez des types appelés `Entités`. Pour chaque type `Entity`, un champ `entity` et `entities` sera généré sur le type `Query` de niveau supérieur. Notez que `query` n'a pas besoin d'être inclus en haut de la requête `graphql` lors de l'utilisation de The Graph. @@ -34,7 +34,7 @@ Interrogez toutes les entités `Token` : } ``` -### Sorting +### Tri Lors de l'interrogation d'une collection, le paramètre `orderBy` peut être utilisé pour trier selon un attribut spécifique. De plus, `orderDirection` peut être utilisé pour spécifier le sens du tri, `asc` pour ascendant ou `desc` pour décroissant. @@ -51,7 +51,7 @@ Lors de l'interrogation d'une collection, le paramètre `orderBy` peut être uti #### Exemple de tri d'entités imbriquées -As of Graph Node [`v0.30.0`](https://github.com/graphprotocol/graph-node/releases/tag/v0.30.0) entities can be sorted on the basis of nested entities. +Depuis Graph Node [`v0.30.0`](https://github.com/graphprotocol/graph-node/releases/tag/v0.30.0), les entités peuvent être triées sur la base d'entités imbriquées. Dans l'exemple suivant, nous trions les jetons en fonction de leur nom propre: @@ -127,7 +127,7 @@ Vous pouvez utiliser le paramètre `where` dans vos requêtes pour filtrer diff #### Exemple utilisant `where` -Query challenges with `failed` outcome: +Afficher les défis (Challenges) avec résultat `failed` (échec) : ```graphql { @@ -193,9 +193,9 @@ Cela peut être utile si vous souhaitez récupérer uniquement les entités dont Depuis Graph Node [`v0.30.0`](https://github.com/graphprotocol/graph-node/releases/tag/v0.30.0), vous pouvez regrouper plusieurs paramètres dans le même argument `where` en utilisant les opérateurs `et` ou `ou` pour filtrer les résultats en fonction de plusieurs critères. -##### `AND` Operator +##### Opérateur `AND` -In the following example, we are filtering for challenges with `outcome` `succeeded` and `number` greater than or equal to `100`. +Dans l'exemple suivant, nous filtrons les défis (Challenges) dont le résultat et le numéro `number` supérieur ou égal à `100`. ```graphql { @@ -209,8 +209,8 @@ In the following example, we are filtering for challenges with `outcome` `succee } ``` -> **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +> **Sucre syntaxique :** Vous pouvez simplifier la requête ci-dessus en supprimant l'opérateur `et` en passant une sous-expression séparée par des virgules. +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -223,9 +223,9 @@ In the following example, we are filtering for challenges with `outcome` `succee > } > ``` -##### `OR` Operator +##### Opérateur `OR` -In the following example, we are filtering for challenges with `outcome` `succeeded` or `number` greater than or equal to `100`. +Dans l'exemple suivant, nous filtrons les défis dont le résultat réussi (`outcome` `succeeded`) ou le numéro (`number`) est supérieur ou égal à `100`. ```graphql { @@ -239,11 +239,11 @@ In the following example, we are filtering for challenges with `outcome` `succee } ``` -> **Note**: When constructing queries, it is important to consider the performance impact of using the `or` operator. While `or` can be a useful tool for broadening search results, it can also have significant costs. One of the main issues with `or` is that it can cause queries to slow down. This is because `or` requires the database to scan through multiple indexes, which can be a time-consuming process. To avoid these issues, it is recommended that developers use and operators instead of or whenever possible. This allows for more precise filtering and can lead to faster, more accurate queries. +> **Remarque** : lors de la création de requêtes, il est important de prendre en compte l'impact sur les performances de l'utilisation de l'opérateur `ou`. Bien que `ou` puisse être un outil utile pour élargir les résultats de recherche, il peut également avoir des coûts importants. L'un des principaux problèmes avec `ou` est qu'il peut ralentir les requêtes. En effet, `ou` nécessite que la base de données parcoure plusieurs index, ce qui peut prendre du temps. Pour éviter ces problèmes, il est recommandé aux développeurs d'utiliser les opérateurs et à la place de ou chaque fois que cela est possible. Cela permet un filtrage plus précis et peut conduire à des requêtes plus rapides et plus précises. -#### All Filters +#### Tous les filtres -Full list of parameter suffixes: +Liste complète des suffixes de paramètres : ``` _ @@ -268,21 +268,21 @@ _not_ends_with _not_ends_with_nocase ``` -> Please note that some suffixes are only supported for specific types. For example, `Boolean` only supports `_not`, `_in`, and `_not_in`, but `_` is available only for object and interface types. +> Veuillez noter que certains suffixes ne sont pris en charge que pour des types spécifiques. Par exemple, `Boolean` ne prend en charge que `_not`, `_in` et `_not_in`, mais `_` est disponible uniquement pour les types d’objet et d’interface. -In addition, the following global filters are available as part of `where` argument: +En outre, les filtres globaux suivants sont disponibles dans le cadre de l'argument `where` : ```gr -_change_block(number_gte: Int) +_change_block(numéro_gte : Int) ``` -### Time-travel queries +### Interrogation des états précédents -You can query the state of your entities not just for the latest block, which is the default, but also for an arbitrary block in the past. The block at which a query should happen can be specified either by its block number or its block hash by including a `block` argument in the toplevel fields of queries. +Vous pouvez interroger l'état de vos entités non seulement pour le dernier bloc, qui est la valeur par défaut, mais également pour un bloc arbitraire du passé. Le bloc dans lequel une requête doit se produire peut être spécifié soit par son numéro de bloc, soit par son hachage de bloc en incluant un argument `block` dans les champs de niveau supérieur des requêtes. -The result of such a query will not change over time, i.e., querying at a certain past block will return the same result no matter when it is executed, with the exception that if you query at a block very close to the head of the chain, the result might change if that block turns out to not be on the main chain and the chain gets reorganized. Once a block can be considered final, the result of the query will not change. +Le résultat d'une telle requête ne changera pas au fil du temps, c'est-à-dire qu'une requête portant sur un certain bloc passé renverra le même résultat quel que soit le moment où elle est exécutée, à l'exception d'une requête portant sur un bloc très proche de la tête de la chaîne, dont le résultat pourrait changer s'il s'avérait que ce bloc ne se trouvait pas sur la chaîne principale et que la chaîne était réorganisée. Une fois qu'un bloc peut être considéré comme définitif, le résultat de la requête ne changera pas. -Note that the current implementation is still subject to certain limitations that might violate these gurantees. The implementation can not always tell that a given block hash is not on the main chain at all, or that the result of a query by block hash for a block that can not be considered final yet might be influenced by a block reorganization running concurrently with the query. They do not affect the results of queries by block hash when the block is final and known to be on the main chain. [This issue](https://github.com/graphprotocol/graph-node/issues/1405) explains what these limitations are in detail. +Il convient de noter que l'implémentation actuelle est encore sujette à certaines limitations qui pourraient violer ces garanties. L'implémentation ne peut pas toujours dire qu'un bloc donné n'est pas du tout sur la chaîne principale, ou que le résultat d'une requête par bloc de hachage pour un bloc qui ne peut pas encore être considéré comme final peut être influencé par une réorganisation du bloc qui se déroule en même temps que la requête. Ils n'affectent pas les résultats des requêtes par hachage de bloc lorsque le bloc est final et que l'on sait qu'il se trouve sur la chaîne principale. [Ce numéro](https://github.com/graphprotocol/graph-node/issues/1405) explique ces limitations en détail. #### Exemple @@ -298,7 +298,7 @@ Note that the current implementation is still subject to certain limitations tha } ``` -This query will return `Challenge` entities, and their associated `Application` entities, as they existed directly after processing block number 8,000,000. +Cette requête renverra les entités `Challenge` et les entités `Application` qui leur sont associées, telles qu'elles existaient directement après le traitement du bloc numéro 8 000 000. #### Exemple @@ -314,22 +314,22 @@ This query will return `Challenge` entities, and their associated `Application` } ``` -This query will return `Challenge` entities, and their associated `Application` entities, as they existed directly after processing the block with the given hash. +Cette requête renverra les entités `Challenge` et leurs entités `Application` associées, telles qu'elles existaient directement après le traitement du bloc avec le hachage donné. -### Fulltext Search Queries +### Requêtes de recherche en texte intégral -Fulltext search query fields provide an expressive text search API that can be added to the subgraph schema and customized. Refer to [Defining Fulltext Search Fields](/developing/creating-a-subgraph#defining-fulltext-search-fields) to add fulltext search to your subgraph. +Les champs de requête de recherche en texte intégral fournissent une API de recherche textuelle expressive qui peut être ajoutée au schéma du subgraph et personnalisée. Reportez-vous à [Définition des champs de recherche en texte intégral](/developing/creating-a-subgraph#defining-fulltext-search-fields) pour ajouter la recherche en texte intégral à votre subgraph. -Fulltext search queries have one required field, `text`, for supplying search terms. Several special fulltext operators are available to be used in this `text` search field. +Les champs de requête de recherche en texte `intégral`, fournissent une Api de recherche de texte expressive qui peut être ajoutée au schéma de soubgraph et personnalisée. Reportez-vous à `Définition des champs de recherche en texte intégral` pour ajouter une recherche en texte intégral à votre subgraph. -Fulltext search operators: +Opérateurs de recherche en texte intégral : -| Symbol | Operator | Description | -| --- | --- | --- | -| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | -| `<->` | `Follow by` | Specify the distance between two words. | -| `:*` | `Prefix` | Utilisez le terme de recherche de préfixe pour trouver les mots dont le préfixe correspond (2 caractères requis.) | +| Symbole | Opérateur | Description | +| ---------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `&` | `And` | Pour combiner plusieurs termes de recherche dans un filtre pour les entités incluant tous les termes fournis | +| | | `Or` | Les requêtes comportant plusieurs termes de recherche séparés par l'opérateur ou renverront toutes les entités correspondant à l'un des termes fournis | +| `<>` | `Follow by` | Spécifiez la distance entre deux mots. | +| `:*` | `Prefix` | Utilisez le terme de recherche de préfixe pour trouver les mots dont le préfixe correspond (2 caractères requis.) | #### Exemples @@ -390,7 +390,7 @@ Tous les types GraphQL avec des directives `@entity` dans votre schéma seront t > **Note:** Actuellement, tous les types de votre schéma doivent avoir une directive `@entity`. À l'avenir, nous traiterons les types sans directive `@entity` comme des objets de valeur, mais cela n'est pas encore possible. -### Subgraph Metadata +### Métadonnées du Subgraph Tous les subgraphs ont un objet `_Meta_` auto-généré, qui permet d'accéder aux métadonnées du subgraph. Cet objet peut être interrogé comme suit : From 45d2b8eedec987463f1c34d0bc27712504b35348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:26 -0400 Subject: [PATCH 0529/2326] New translations graphql-api.mdx (Spanish) --- website/pages/es/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/es/querying/graphql-api.mdx b/website/pages/es/querying/graphql-api.mdx index 2eac7116dad8..9440549a626c 100644 --- a/website/pages/es/querying/graphql-api.mdx +++ b/website/pages/es/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: API GraphQL --- -Esta guía explica la API de consulta GraphQL que se utiliza para The Graph Protocol. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Consultas @@ -208,7 +208,7 @@ En el siguiente ejemplo, estamos filtrando desafíos con `coutcome` `succeeded` ``` > **Azúcar sintáctico**: Puedes simplificar la consulta anterior eliminando el operador `and` pasando una subexpresión separada por comas. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Las consultas de búsqueda de texto completo tienen un campo obligatorio, `text` Operadores de búsqueda de texto completo: -| Símbolo | Operador | Descripción | -| --- | --- | --- | -| `&` | `And` | Para combinar varios términos de búsqueda en un filtro para entidades que incluyen todos los términos proporcionados | -| | | `O` | Las consultas con varios términos de búsqueda separados por o el operador devolverá todas las entidades que coincidan con cualquiera de los términos proporcionados | -| `<->` | `Follow by` | Especifica la distancia entre dos palabras. | -| `:*` | `Prefijo` | Utilice el término de búsqueda del prefijo para encontrar palabras cuyo prefijo coincida (se requieren 2 caracteres.) | +| Símbolo | Operador | Descripción | +| ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `&` | `And` | Para combinar varios términos de búsqueda en un filtro para entidades que incluyen todos los términos proporcionados | +| | | `O` | Las consultas con varios términos de búsqueda separados por o el operador devolverá todas las entidades que coincidan con cualquiera de los términos proporcionados | +| `<->` | `Follow by` | Especifica la distancia entre dos palabras. | +| `:*` | `Prefijo` | Utilice el término de búsqueda del prefijo para encontrar palabras cuyo prefijo coincida (se requieren 2 caracteres.) | #### Ejemplos From 7478272723135e7d1ad0e8619828f9b2944f7fe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:27 -0400 Subject: [PATCH 0530/2326] New translations graphql-api.mdx (Arabic) --- website/pages/ar/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ar/querying/graphql-api.mdx b/website/pages/ar/querying/graphql-api.mdx index 5807eba74fab..27062716f306 100644 --- a/website/pages/ar/querying/graphql-api.mdx +++ b/website/pages/ar/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -يشرح هذا الدليل GraphQL Query API المستخدمة في بروتوكول Graph. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## الاستعلامات @@ -208,7 +208,7 @@ In the following example, we are filtering for challenges with `outcome` `succee ``` > **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Fulltext search queries have one required field, `text`, for supplying search te Fulltext search operators: -| رمز | عامل التشغيل | الوصف | -| --- | --- | --- | -| `&` | `And` | لدمج عبارات بحث متعددة في فلتر للكيانات التي تتضمن جميع العبارات المتوفرة | -| | | `أو` | الاستعلامات التي تحتوي على عبارات بحث متعددة مفصولة بواسطة عامل التشغيل or ستعيد جميع الكيانات المتطابقة من أي عبارة متوفرة | -| `<->` | `Follow by` | يحدد المسافة بين كلمتين. | -| `:*` | `Prefix` | يستخدم عبارة البحث prefix للعثور على الكلمات التي تتطابق بادئتها (مطلوب حرفان.) | +| رمز | عامل التشغيل | الوصف | +| ----------- | ------------ | --------------------------------------------------------------------------------------------------------------------------- | +| `&` | `And` | لدمج عبارات بحث متعددة في فلتر للكيانات التي تتضمن جميع العبارات المتوفرة | +| | | `أو` | الاستعلامات التي تحتوي على عبارات بحث متعددة مفصولة بواسطة عامل التشغيل or ستعيد جميع الكيانات المتطابقة من أي عبارة متوفرة | +| `<->` | `Follow by` | يحدد المسافة بين كلمتين. | +| `:*` | `Prefix` | يستخدم عبارة البحث prefix للعثور على الكلمات التي تتطابق بادئتها (مطلوب حرفان.) | #### Examples From 3baf1ea5cc7c5d7677d0b56103ce2e122db488b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:28 -0400 Subject: [PATCH 0531/2326] New translations graphql-api.mdx (Czech) --- website/pages/cs/querying/graphql-api.mdx | 187 ++++++++++++---------- 1 file changed, 101 insertions(+), 86 deletions(-) diff --git a/website/pages/cs/querying/graphql-api.mdx b/website/pages/cs/querying/graphql-api.mdx index 315ee3fe4445..e7a3471347e6 100644 --- a/website/pages/cs/querying/graphql-api.mdx +++ b/website/pages/cs/querying/graphql-api.mdx @@ -2,15 +2,15 @@ title: GraphQL API --- -This guide explains the GraphQL Query API that is used for the Graph Protocol. +This guide explains the GraphQL Query API that is used for The Graph Protocol. -## Queries +## Dotazy -In your subgraph schema you define types called `Entities`. For each `Entity` type, an `entity` and `entities` field will be generated on the top-level `Query` type. Note that `query` does not need to be included at the top of the `graphql` query when using The Graph. +Ve schématu podgrafu definujete typy nazvané `Entity`. Pro každý typ `Entity` bude na nejvyšší úrovni typu `Query` vygenerováno pole `entity` a `entity`. Všimněte si, že `dotaz` nemusí být při použití Grafu zahrnut na vrcholu `graphql` dotazu. -### Examples +### Příklady -Query for a single `Token` entity defined in your schema: +Dotaz na jednu entitu `Token` definovanou ve vašem schématu: ```graphql { @@ -21,9 +21,9 @@ Query for a single `Token` entity defined in your schema: } ``` -> **Note:** When querying for a single entity, the `id` field is required, and it must be a string. +> **Poznámka:** Při dotazování na jednu entitu je pole `id` povinné a musí to být řetězec. -Query all `Token` entities: +Dotaz na všechny entity `Token`: ```graphql { @@ -34,9 +34,9 @@ Query all `Token` entities: } ``` -### Sorting +### Třídění -When querying a collection, the `orderBy` parameter may be used to sort by a specific attribute. Additionally, the `orderDirection` can be used to specify the sort direction, `asc` for ascending or `desc` for descending. +Při dotazování na kolekci lze parametr `orderBy` použít k seřazení podle určitého atributu. Kromě toho lze pomocí parametru `orderDirection` určit směr řazení, `asc` pro vzestupné nebo `desc` pro sestupné. #### Příklad @@ -49,11 +49,11 @@ When querying a collection, the `orderBy` parameter may be used to sort by a spe } ``` -#### Example for nested entity sorting +#### Příklad vnořeného třídění entit -As of Graph Node [`v0.30.0`](https://github.com/graphprotocol/graph-node/releases/tag/v0.30.0) entities can be sorted on the basis of nested entities. +Od verze Uzel grafu [`v0.30.0`](https://github.com/graphprotocol/graph-node/releases/tag/v0.30.0) lze entity třídit na základě vnořených entit. -In the following example, we sort the tokens by the name of their owner: +V následujícím příkladu seřadíme tokeny podle jména jejich vlastníka: ```graphql { @@ -66,19 +66,19 @@ In the following example, we sort the tokens by the name of their owner: } ``` -> Currently, you can sort by one-level deep `String` or `ID` types on `@entity` and `@derivedFrom` fields. Unfortunately, [sorting by interfaces on one level-deep entities](https://github.com/graphprotocol/graph-node/pull/4058), sorting by fields which are arrays and nested entities is not yet supported. +> V současné době můžete řadit podle jednoúrovňových typů `String` nebo `ID` v polích `@entity` a `@derivedFrom`. Bohužel [třídění podle rozhraní na jednoúrovňových hlubokých entitách](https://github.com/graphprotocol/graph-node/pull/4058), třídění podle polí, která jsou poli, a vnořených entit zatím není podporováno. -### Pagination +### Stránkování -When querying a collection, the `first` parameter can be used to paginate from the beginning of the collection. It is worth noting that the default sort order is by ID in ascending alphanumeric order, not by creation time. +Při dotazování na kolekci lze parametr `První` použít pro stránkování od začátku kolekce. Stojí za zmínku, že výchozí řazení je podle ID ve vzestupném alfanumerickém pořadí, nikoli podle času vytvoření. -Further, the `skip` parameter can be used to skip entities and paginate. e.g. `first:100` shows the first 100 entities and `first:100, skip:100` shows the next 100 entities. +Dále lze parametr `skip` použít k přeskočení entit a stránkování, např. `first:100` zobrazí prvních 100 entit a `first:100, skip:100` zobrazí dalších 100 entit. -Queries should avoid using very large `skip` values since they generally perform poorly. For retrieving a large number of items, it is much better to page through entities based on an attribute as shown in the last example. +Dotazy by se měly vyvarovat používání velmi velkých hodnot `přeskočit`, protože mají obecně nízkou výkonnost. Pro získání velkého počtu položek je mnohem lepší procházet entity na základě atributu, jak je uvedeno v posledním příkladu. -#### Example using `first` +#### Příklad s použitím `first` -Query the first 10 tokens: +Dotaz na prvních 10 tokenů: ```graphql { @@ -89,11 +89,11 @@ Query the first 10 tokens: } ``` -To query for groups of entities in the middle of a collection, the `skip` parameter may be used in conjunction with the `first` parameter to skip a specified number of entities starting at the beginning of the collection. +Pro dotazování na skupiny entit uprostřed kolekce lze použít parametr `skip` ve spojení s parametrem `first` pro vynechání určitého počtu entit počínaje začátkem kolekce. -#### Example using `first` and `skip` +#### Příklad s použitím `first` a `skip` -Query 10 `Token` entities, offset by 10 places from the beginning of the collection: +Dotaz na 10 entit `Token`, posunutých o 10 míst od začátku kolekce: ```graphql { @@ -104,9 +104,9 @@ Query 10 `Token` entities, offset by 10 places from the beginning of the collect } ``` -#### Example using `first` and `id_ge` +#### Příklad s použitím `first` a `id_ge` -If a client needs to retrieve a large number of entities, it is much more performant to base queries on an attribute and filter by that attribute. For example, a client would retrieve a large number of tokens using this query: +Pokud klient potřebuje získat velký počet entit, je mnohem výkonnější založit dotazy na atributu a filtrovat podle něj. Klient by například pomocí tohoto dotazu získal velký počet tokenů: ```graphql query manyTokens($lastID: String) { @@ -117,15 +117,15 @@ query manyTokens($lastID: String) { } ``` -The first time, it would send the query with `lastID = ""`, and for subsequent requests would set `lastID` to the `id` attribute of the last entity in the previous request. This approach will perform significantly better than using increasing `skip` values. +Poprvé by odeslal dotaz s `lastID = ""` a při dalších požadavcích by nastavil `lastID` na atribut `id` poslední entity v předchozím požadavku. Tento přístup bude fungovat podstatně lépe než použití rostoucích hodnot `skip`. -### Filtering +### Filtrování -You can use the `where` parameter in your queries to filter for different properties. You can filter on mulltiple values within the `where` parameter. +Pomocí parametru `where` můžete v dotazech filtrovat různé vlastnosti. V rámci parametru `kde` můžete filtrovat podle více hodnot. -#### Example using `where` +#### Příklad s použitím `where` -Query challenges with `failed` outcome: +Výzvy k dotazu s výsledkem `neúspěšný`: ```graphql { @@ -139,9 +139,9 @@ Query challenges with `failed` outcome: } ``` -You can use suffixes like `_gt`, `_lte` for value comparison: +Pro porovnání hodnot můžete použít přípony jako `_gt`, `_lte`: -#### Example for range filtering +#### Příklad filtrování rozsahu ```graphql { @@ -153,11 +153,11 @@ You can use suffixes like `_gt`, `_lte` for value comparison: } ``` -#### Example for block filtering +#### Příklad pro filtrování bloků -You can also filter entities by the `_change_block(number_gte: Int)` - this filters entities which were updated in or after the specified block. +Entity můžete filtrovat také pomocí `_change_block(number_gte: Int)` - filtruje entity, které byly aktualizovány v zadaném bloku nebo po něm. -This can be useful if you are looking to fetch only entities which have changed, for example since the last time you polled. Or alternatively it can be useful to investigate or debug how entities are changing in your subgraph (if combined with a block filter, you can isolate only entities that changed in a specific block). +To může být užitečné, pokud chcete načíst pouze entity, které se změnily například od posledního dotazování. Nebo může být užitečná pro zkoumání nebo ladění změn entit v podgrafu (v kombinaci s blokovým filtrem můžete izolovat pouze entity, které se změnily v určitém bloku). ```graphql { @@ -169,11 +169,11 @@ This can be useful if you are looking to fetch only entities which have changed, } ``` -#### Example for nested entity filtering +#### Příklad vnořeného filtrování entit -Filtering on the basis of nested entities is possible in the fields with the `_` suffix. +Filtrování na základě vnořených entit je možné v polích s příponou `_`. -This can be useful if you are looking to fetch only entities whose child-level entities meet the provided conditions. +To může být užitečné, pokud chcete načíst pouze entity, jejichž entity podřízené úrovně splňují zadané podmínky. ```graphql { @@ -187,13 +187,13 @@ This can be useful if you are looking to fetch only entities whose child-level e } ``` -#### Logical operators +#### Logické operátory -As of Graph Node [`v0.30.0`](https://github.com/graphprotocol/graph-node/releases/tag/v0.30.0) you can group multiple parameters in the same `where` argument using the `and` or the `or` operators to filter results based on more than one criteria. +Od verze Uzel grafu [`v0.30.0`](https://github.com/graphprotocol/graph-node/releases/tag/v0.30.0) můžete seskupit více parametrů v jednom argumentu `where` pomocí operátorů `and` nebo `or` a filtrovat výsledky na základě více kritérií. -##### `AND` Operator +##### Operátor `AND` -In the following example, we are filtering for challenges with `outcome` `succeeded` and `number` greater than or equal to `100`. +V následujícím příkladu filtrujeme výzvy s `outcome` `succeeded` a `number` větším nebo rovným `100`. ```graphql { @@ -207,8 +207,8 @@ In the following example, we are filtering for challenges with `outcome` `succee } ``` -> **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +> **Syntaktický cukr:** Výše uvedený dotaz můžete zjednodušit odstraněním operátoru `a` předáním podvýrazu odděleného čárkami. +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -221,9 +221,9 @@ In the following example, we are filtering for challenges with `outcome` `succee > } > ``` -##### `OR` Operator +##### Operátor `OR` -In the following example, we are filtering for challenges with `outcome` `succeeded` or `number` greater than or equal to `100`. +V následujícím příkladu filtrujeme výzvy s `outcome` `succeeded` nebo `number` větším nebo rovným `100`. ```graphql { @@ -237,11 +237,11 @@ In the following example, we are filtering for challenges with `outcome` `succee } ``` -> **Note**: When constructing queries, it is important to consider the performance impact of using the `or` operator. While `or` can be a useful tool for broadening search results, it can also have significant costs. One of the main issues with `or` is that it can cause queries to slow down. This is because `or` requires the database to scan through multiple indexes, which can be a time-consuming process. To avoid these issues, it is recommended that developers use and operators instead of or whenever possible. This allows for more precise filtering and can lead to faster, more accurate queries. +> **Poznámka**: Při sestavování dotazů je důležité zvážit dopad použití operátoru `nebo` na výkon. Operátor `nebo` sice může být užitečným nástrojem pro rozšíření výsledků vyhledávání, ale může s sebou nést i značné náklady. Jedním z hlavních problémů operátoru `nebo` je, že může způsobit zpomalení dotazů. Je to proto, že `nebo` vyžaduje, aby databáze prohledala více indexů, což může být časově náročný proces. Abyste se těmto problémům vyhnuli, doporučujeme vývojářům používat operátory and místo or, kdykoli je to možné. To umožňuje přesnější filtrování a může vést k rychlejším a přesnějším dotazům. -#### All Filters +#### Všechny filtry -Full list of parameter suffixes: +Úplný seznam přípon parametrů: ``` _ @@ -266,21 +266,21 @@ _not_ends_with _not_ends_with_nocase ``` -> Please note that some suffixes are only supported for specific types. For example, `Boolean` only supports `_not`, `_in`, and `_not_in`, but `_` is available only for object and interface types. +> Upozorňujeme, že některé přípony jsou podporovány pouze pro určité typy. Například `Boolean` podporuje pouze `_not`, `_in` a `_not_in`, ale `_` je k dispozici pouze pro typy objektů a rozhraní. -In addition, the following global filters are available as part of `where` argument: +Kromě toho jsou jako součást argumentu `where` k dispozici následující globální filtry: ```gr _change_block(number_gte: Int) ``` -### Time-travel queries +### Dotazy na cestování čase -You can query the state of your entities not just for the latest block, which is the default, but also for an arbitrary block in the past. The block at which a query should happen can be specified either by its block number or its block hash by including a `block` argument in the toplevel fields of queries. +Můžete se dotazovat na stav entit nejen pro nejnovější blok, což je výchozí nastavení, ale také pro libovolný blok v minulosti. Blok, u kterého má dotaz proběhnout, lze zadat buď číslem bloku, nebo jeho blokovým hashem, a to tak, že do polí toplevel dotazů zahrnete argument `blok`. -The result of such a query will not change over time, i.e., querying at a certain past block will return the same result no matter when it is executed, with the exception that if you query at a block very close to the head of the chain, the result might change if that block turns out to not be on the main chain and the chain gets reorganized. Once a block can be considered final, the result of the query will not change. +Výsledek takového dotazu se v průběhu času nemění, tj. dotaz na určitý minulý blok vrátí stejný výsledek bez ohledu na to, kdy je proveden, s výjimkou toho, že pokud se dotazujete na blok velmi blízko hlavy řetězce, výsledek se může změnit, pokud se ukáže, že tento blok není v hlavním řetězci a řetězec se reorganizuje. Jakmile lze blok považovat za konečný, výsledek dotazu se nezmění. -Note that the current implementation is still subject to certain limitations that might violate these gurantees. The implementation can not always tell that a given block hash is not on the main chain at all, or that the result of a query by block hash for a block that can not be considered final yet might be influenced by a block reorganization running concurrently with the query. They do not affect the results of queries by block hash when the block is final and known to be on the main chain. [This issue](https://github.com/graphprotocol/graph-node/issues/1405) explains what these limitations are in detail. +Všimněte si, že současná implementace stále podléhá určitým omezením, která by mohla tyto záruky porušit. Implementace nemůže vždy zjistit, že daný blokový hash vůbec není v hlavním řetězci, nebo že výsledek dotazu podle blokového hashe na blok, který ještě nelze považovat za finální, může být ovlivněn reorganizací bloku probíhající současně s dotazem. Neovlivňují výsledky dotazů podle blokové hash, pokud je blok finální a je známo, že je v hlavním řetězci. [Toto Problém ](https://github.com/graphprotocol/graph-node/issues/1405) podrobně vysvětluje, jaká jsou tato omezení. #### Příklad @@ -296,7 +296,7 @@ Note that the current implementation is still subject to certain limitations tha } ``` -This query will return `Challenge` entities, and their associated `Application` entities, as they existed directly after processing block number 8,000,000. +Tento dotaz vrátí entity `Challenge` a k nim přiřazené entity `Application` tak, jak existovaly bezprostředně po zpracování bloku číslo 8,000,000. #### Příklad @@ -312,26 +312,26 @@ This query will return `Challenge` entities, and their associated `Application` } ``` -This query will return `Challenge` entities, and their associated `Application` entities, as they existed directly after processing the block with the given hash. +Tento dotaz vrátí entity `Challenge` a s nimi spojené entity `Application` tak, jak existovaly bezprostředně po zpracování bloku s daným hashem. -### Fulltext Search Queries +### Fulltextové Vyhledávání dotazy -Fulltext search query fields provide an expressive text search API that can be added to the subgraph schema and customized. Refer to [Defining Fulltext Search Fields](/developing/creating-a-subgraph#defining-fulltext-search-fields) to add fulltext search to your subgraph. +Pole pro fulltextové vyhledávání poskytují expresivní rozhraní API pro textové vyhledávání, které lze přidat do schématu podgrafů a přizpůsobit je. Viz [Definice polí pro fulltextové vyhledávání](/developing/creating-a-subgraph#defining-fulltext-search-fields) pro přidání fulltextového vyhledávání do podgrafu. -Fulltext search queries have one required field, `text`, for supplying search terms. Several special fulltext operators are available to be used in this `text` search field. +Fulltextové vyhledávací dotazy mají jedno povinné pole `text` pro zadání hledaných výrazů. V tomto vyhledávacím poli `text` je k dispozici několik speciálních fulltextových operátorů. -Fulltext search operators: +Operátory fulltextového vyhledávání: -| Symbol | Operator | Popis | -| --- | --- | --- | -| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | -| `<->` | `Follow by` | Specify the distance between two words. | -| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | +| Symbol | Operátor | Popis | +| ----------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `&` | `a` | Pro kombinaci více vyhledávacích výrazů do filtru pro entity, které obsahují všechny zadané výrazy | +| | | `Nebo` | Dotazy s více hledanými výrazy oddělenými operátorem nebo vrátí všechny entity, které odpovídají některému z uvedených výrazů | +| `<->` | `Follow by` | Zadejte vzdálenost mezi dvěma slovy. | +| `:*` | `Prefix` | Pomocí předponového výrazu vyhledejte slova, jejichž předpona se shoduje (vyžadovány 2 znaky) | -#### Examples +#### Příklady -Using the `or` operator, this query will filter to blog entities with variations of either "anarchism" or "crumpet" in their fulltext fields. +Pomocí operátoru `nebo` tento dotaz vyfiltruje entity blogu s variantami slov "anarchism" nebo "crumpet" v jejich fulltextových polích. ```graphql { @@ -344,7 +344,7 @@ Using the `or` operator, this query will filter to blog entities with variations } ``` -The `follow by` operator specifies a words a specific distance apart in the fulltext documents. The following query will return all blogs with variations of "decentralize" followed by "philosophy" +Operátor `follow by` určuje slova ve fulltextových dokumentech v určité vzdálenosti od sebe. Následující dotaz vrátí všechny blogy s variantami slova "decentralize" následované slovem "philosophy" ```graphql { @@ -357,7 +357,7 @@ The `follow by` operator specifies a words a specific distance apart in the full } ``` -Combine fulltext operators to make more complex filters. With a pretext search operator combined with a follow by this example query will match all blog entities with words that start with "lou" followed by "music". +Kombinací fulltextových operátorů můžete vytvářet složitější filtry. S operátorem pretextového vyhledávání v kombinaci s operátorem follow by bude tento příklad dotazu odpovídat všem entitá blog se slovy začínajícími na "lou" a následovanými slovem "music". ```graphql { @@ -370,27 +370,41 @@ Combine fulltext operators to make more complex filters. With a pretext search o } ``` -### Validation +### Validace + +Uzel grafu implementuje ověření [založené na specifikacích](https://spec.graphql.org/October2021/#sec-Validation) dotazů GraphQL, které obdrží, pomocí [graphql-tools-rs](https://github.com/dotansimha/graphql-tools-rs#validation-rules), které je založeno na + +referenční implementaci graphql-js. Dotazy, které nesplňují ověřovací pravidlo, tak činí se standardní chybou – další informace naleznete na stránce [GraphQL](https://spec.graphql.org/October2021/#sec-Validation).

    + -Graph Node implements [specification-based](https://spec.graphql.org/October2021/#sec-Validation) validation of the GraphQL queries it receives using [graphql-tools-rs](https://github.com/dotansimha/graphql-tools-rs#validation-rules), which is based on the [graphql-js reference implementation](https://github.com/graphql/graphql-js/tree/main/src/validation). Queries which fail a validation rule do so with a standard error - visit the [GraphQL spec](https://spec.graphql.org/October2021/#sec-Validation) to learn more. ## Schema -The schema of your data source--that is, the entity types, values, and relationships that are available to query--are defined through the [GraphQL Interface Definition Langauge (IDL)](https://facebook.github.io/graphql/draft/#sec-Type-System). +Schéma datového zdroje - tj. typy entit, hodnoty a vztahy, které jsou k dispozici pro dotazování - jsou definovány pomocí [GraphQL Interface Definition Langauge (IDL)](https://facebook.github.io/graphql/draft/#sec-Type-System). + +Schéma GraphQL obecně definují kořenové typy pro `dotazy`, `odběry` a `mutace`. Graf podporuje pouze `dotazy`. Kořenový typ `Dotaz` pro váš podgraf je automaticky vygenerován ze schématu GraphQL, které je součástí manifestu podgrafu. + + + +> **Poznámka:** Naše API nevystavuje mutace, protože se očekává, že vývojáři budou vydávat transakce přímo proti podkladovému blockchainu ze svých aplikací. -GraphQL schemas generally define root types for `queries`, `subscriptions` and `mutations`. The Graph only supports `queries`. The root `Query` type for your subgraph is automatically generated from the GraphQL schema that's included in your subgraph manifest. -> **Note:** Our API does not expose mutations because developers are expected to issue transactions directly against the underlying blockchain from their applications. ### Entities -All GraphQL types with `@entity` directives in your schema will be treated as entities and must have an `ID` field. +Všechny typy GraphQL s direktivami `@entity` ve vašem schématu budou považovány za entity a musí mít pole `ID`. -> **Note:** Currently, all types in your schema must have an `@entity` directive. In the future, we will treat types without an `@entity` directive as value objects, but this is not yet supported. -### Subgraph Metadata -All subgraphs have an auto-generated `_Meta_` object, which provides access to subgraph metadata. This can be queried as follows: +> **Poznámka:** V současné době musí mít všechny typy ve vašem schématu direktivu `@entity`. V budoucnu budeme typy bez direktivy `@entity` považovat za hodnotové objekty, ale to zatím není podporováno. + + + +### Metadata podgrafů + +Všechny podgrafy mají automaticky generovaný objekt `_Meta_`, který poskytuje přístup k metadatům podgrafu. Na tento objekt se lze dotazovat následujícím způsobem: + + ```graphQL { @@ -406,14 +420,15 @@ All subgraphs have an auto-generated `_Meta_` object, which provides access to s } ``` -If a block is provided, the metadata is as of that block, if not the latest indexed block is used. If provided, the block must be after the subgraph's start block, and less than or equal to the most recently indexed block. -`deployment` is a unique ID, corresponding to the IPFS CID of the `subgraph.yaml` file. +Pokud je uveden blok, metadata se vztahují k tomuto bloku, pokud ne, použije se poslední indexovaný blok. Pokud je blok uveden, musí se nacházet za počátečním blokem podgrafu a musí být menší nebo roven poslednímu Indevovaný bloku. + +` deployment` je jedinečné ID, které odpovídá IPFS CID souboru `subgraph.yaml`. -`block` provides information about the latest block (taking into account any block constraints passed to `_meta`): +`block` poskytuje informace o posledním bloku (s přihlédnutím k případným omezením bloku předaným do `_meta`): -- hash: the hash of the block -- number: the block number -- timestamp: the timestamp of the block, if available (this is currently only available for subgraphs indexing EVM networks) +- hash: hash bloku +- číslo: číslo bloku +- timestamp: časové razítko bloku, pokud je k dispozici (v současné době je k dispozici pouze pro podgrafy indexující sítě EVM) -`hasIndexingErrors` is a boolean identifying whether the subgraph encountered indexing errors at some past block +`hasIndexingErrors` je boolean určující, zda se v podgrafu vyskytly chyby indexování v některém z minulých bloků From bdd57f43f154a19470cb73a77a46c521ffdbab64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:29 -0400 Subject: [PATCH 0532/2326] New translations graphql-api.mdx (German) --- website/pages/de/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/de/querying/graphql-api.mdx b/website/pages/de/querying/graphql-api.mdx index fc1b29586442..16162caefc24 100644 --- a/website/pages/de/querying/graphql-api.mdx +++ b/website/pages/de/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -This guide explains the GraphQL Query API that is used for the Graph Protocol. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Queries @@ -208,7 +208,7 @@ In the following example, we are filtering for challenges with `outcome` `succee ``` > **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Fulltext search queries have one required field, `text`, for supplying search te Fulltext search operators: -| Symbol | Operator | Beschreibung | -| --- | --- | --- | -| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | -| `<->` | `Follow by` | Specify the distance between two words. | -| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | +| Symbol | Operator | Beschreibung | +| ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | +| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | +| `<->` | `Follow by` | Specify the distance between two words. | +| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | #### Beispiele From 5944187e000ffaf8b0349b97e64ae2d2742322d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:30 -0400 Subject: [PATCH 0533/2326] New translations graphql-api.mdx (Italian) --- website/pages/it/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/it/querying/graphql-api.mdx b/website/pages/it/querying/graphql-api.mdx index d3dd3c57a549..1105fc548382 100644 --- a/website/pages/it/querying/graphql-api.mdx +++ b/website/pages/it/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: API GraphQL --- -Questa guida spiega l'API GraphQL Query utilizzata per il protocollo the Graph. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Query @@ -208,7 +208,7 @@ Nell'esempio seguente, si filtrano le sfide con `outcome` `succeeded` e `number` ``` > **Syntactic sugar:** Si può semplificare la query precedente eliminando l'operatore `and` passando una sottoespressione separata da virgole. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Le query di ricerca fulltext hanno un campo obbligatorio, `text`, per fornire i Operatori di ricerca fulltext: -| Simbolo | Operatore | Descrizione | -| --- | --- | --- | -| `&` | `And` | Per combinare più termini di ricerca in un filtro per le entità che includono tutti i termini forniti | -| | | `Or` | Le query con più termini di ricerca separati dall'operatore Or restituiranno tutte le entità con una corrispondenza tra i termini forniti | -| `<->` | `Follow by` | Specifica la distanza tra due parole. | -| `:*` | `Prefisso` | Utilizzare il termine di ricerca del prefisso per trovare le parole il cui prefisso corrisponde (sono richiesti 2 caratteri.) | +| Simbolo | Operatore | Descrizione | +| ----------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `&` | `And` | Per combinare più termini di ricerca in un filtro per le entità che includono tutti i termini forniti | +| | | `Or` | Le query con più termini di ricerca separati dall'operatore Or restituiranno tutte le entità con una corrispondenza tra i termini forniti | +| `<->` | `Follow by` | Specifica la distanza tra due parole. | +| `:*` | `Prefisso` | Utilizzare il termine di ricerca del prefisso per trovare le parole il cui prefisso corrisponde (sono richiesti 2 caratteri.) | #### Esempi From ddc2c9df93c5120db3e18f7ca7e8122dc0993641 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:31 -0400 Subject: [PATCH 0534/2326] New translations graphql-api.mdx (Japanese) --- website/pages/ja/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ja/querying/graphql-api.mdx b/website/pages/ja/querying/graphql-api.mdx index bb65c50d2929..a69b3c98a5ad 100644 --- a/website/pages/ja/querying/graphql-api.mdx +++ b/website/pages/ja/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -Graph Protocol で使用される GraphQL Query API について説明します。 +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## クエリ @@ -208,7 +208,7 @@ Graph Node [`v0.30.0`](https://github.com/graphprotocol/graph-node/releases/tag/ ``` > **シンタックス シュガー:** コンマで区切られた部分式を渡すことで `and` 演算子を削除することで、上記のクエリを簡素化できます。 -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ _change_block(number_gte: Int) 全文検索演算子: -| シンボル | オペレーター | 説明書き | -| --- | --- | --- | -| `&` | `と` | 複数の検索語を組み合わせて、指定したすべての検索語を含むエンティティをフィルタリングします。 | -| | | `Or` | 複数の検索語をオペレーターで区切って検索すると、指定した語のいずれかにマッチするすべてのエンティティが返されます。 | -| `<->` | `Follow by` | 2 つの単語の間の距離を指定します。 | -| `:*` | `プレフィックス` | プレフィックス検索語を使って、プレフィックスが一致する単語を検索します(2 文字必要) | +| シンボル | オペレーター | 説明書き | +| ----------- | ----------- | --------------------------------------------------------- | +| `&` | `と` | 複数の検索語を組み合わせて、指定したすべての検索語を含むエンティティをフィルタリングします。 | +| | | `Or` | 複数の検索語をオペレーターで区切って検索すると、指定した語のいずれかにマッチするすべてのエンティティが返されます。 | +| `<->` | `Follow by` | 2 つの単語の間の距離を指定します。 | +| `:*` | `プレフィックス` | プレフィックス検索語を使って、プレフィックスが一致する単語を検索します(2 文字必要) | #### 例 From 5477fb917dc5986c49cd0f5fa86e40c77ea5f282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:32 -0400 Subject: [PATCH 0535/2326] New translations graphql-api.mdx (Korean) --- website/pages/ko/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ko/querying/graphql-api.mdx b/website/pages/ko/querying/graphql-api.mdx index 89cda460d58f..3d24376946d6 100644 --- a/website/pages/ko/querying/graphql-api.mdx +++ b/website/pages/ko/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -This guide explains the GraphQL Query API that is used for the Graph Protocol. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Queries @@ -208,7 +208,7 @@ In the following example, we are filtering for challenges with `outcome` `succee ``` > **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Fulltext search queries have one required field, `text`, for supplying search te Fulltext search operators: -| Symbol | Operator | Description | -| --- | --- | --- | -| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | -| `<->` | `Follow by` | Specify the distance between two words. | -| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | +| Symbol | Operator | Description | +| ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | +| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | +| `<->` | `Follow by` | Specify the distance between two words. | +| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | #### Examples From 89376fe8c7692737d1fb62fedee361a6cb6354be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:33 -0400 Subject: [PATCH 0536/2326] New translations graphql-api.mdx (Dutch) --- website/pages/nl/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/nl/querying/graphql-api.mdx b/website/pages/nl/querying/graphql-api.mdx index 89cda460d58f..3d24376946d6 100644 --- a/website/pages/nl/querying/graphql-api.mdx +++ b/website/pages/nl/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -This guide explains the GraphQL Query API that is used for the Graph Protocol. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Queries @@ -208,7 +208,7 @@ In the following example, we are filtering for challenges with `outcome` `succee ``` > **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Fulltext search queries have one required field, `text`, for supplying search te Fulltext search operators: -| Symbol | Operator | Description | -| --- | --- | --- | -| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | -| `<->` | `Follow by` | Specify the distance between two words. | -| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | +| Symbol | Operator | Description | +| ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | +| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | +| `<->` | `Follow by` | Specify the distance between two words. | +| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | #### Examples From cad5405294e29181d816cd180a09e2c6e66ed6c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:34 -0400 Subject: [PATCH 0537/2326] New translations graphql-api.mdx (Polish) --- website/pages/pl/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/pl/querying/graphql-api.mdx b/website/pages/pl/querying/graphql-api.mdx index 89cda460d58f..3d24376946d6 100644 --- a/website/pages/pl/querying/graphql-api.mdx +++ b/website/pages/pl/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -This guide explains the GraphQL Query API that is used for the Graph Protocol. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Queries @@ -208,7 +208,7 @@ In the following example, we are filtering for challenges with `outcome` `succee ``` > **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Fulltext search queries have one required field, `text`, for supplying search te Fulltext search operators: -| Symbol | Operator | Description | -| --- | --- | --- | -| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | -| `<->` | `Follow by` | Specify the distance between two words. | -| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | +| Symbol | Operator | Description | +| ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | +| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | +| `<->` | `Follow by` | Specify the distance between two words. | +| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | #### Examples From 83d74600cd1c80c78080275472ca307dc3b4590d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:35 -0400 Subject: [PATCH 0538/2326] New translations graphql-api.mdx (Portuguese) --- website/pages/pt/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/pt/querying/graphql-api.mdx b/website/pages/pt/querying/graphql-api.mdx index 733da228a890..b3bbfb0d8131 100644 --- a/website/pages/pt/querying/graphql-api.mdx +++ b/website/pages/pt/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: API GraphQL --- -Este guia explica a API de Consultas GraphQL usada para o Graph Protocol. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Queries (Consultas em query) @@ -208,7 +208,7 @@ No seguinte exemplo, filtramos por desafios com `outcome`, `succeeded` e `number ``` > **Açúcar sintático**: pode simplificar a consulta acima ao retirar o operador `and`, com o passe de uma subexpressão separada por vírgulas. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Buscas fulltext têm um campo obrigatório, `text`, para ofertar termos de busca Operadores de busca fulltext: -| Símbolo | Operador | Descrição | -| --- | --- | --- | -| `&` | `And` | Para combinar múltiplos termos de busca num filtro para entidades que incluem todos os termos fornecidos | -| | | `Or` | Consultas com vários termos de busca separados pelo operador `or` retornarão todas as entidades com uma correspondência de qualquer termo providenciado | -| `<->` | `Follow by` | Especifica a distância entre duas palavras. | -| `:*` | `Prefix` | Use o prefixo para encontrar palavras que correspondem a tal prefixo (2 caracteres necessários.) | +| Símbolo | Operador | Descrição | +| ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `&` | `And` | Para combinar múltiplos termos de busca num filtro para entidades que incluem todos os termos fornecidos | +| | | `Or` | Consultas com vários termos de busca separados pelo operador `or` retornarão todas as entidades com uma correspondência de qualquer termo providenciado | +| `<->` | `Follow by` | Especifica a distância entre duas palavras. | +| `:*` | `Prefix` | Use o prefixo para encontrar palavras que correspondem a tal prefixo (2 caracteres necessários.) | #### Exemplos From ecfdd339b7d5204835cd39365d66fe25fe060357 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:36 -0400 Subject: [PATCH 0539/2326] New translations graphql-api.mdx (Russian) --- website/pages/ru/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ru/querying/graphql-api.mdx b/website/pages/ru/querying/graphql-api.mdx index 2637a70c52e8..cbc95b3b32e2 100644 --- a/website/pages/ru/querying/graphql-api.mdx +++ b/website/pages/ru/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: API GraphQL --- -В этом руководстве объясняется API запросов GraphQL, который используется для протокола The Graph. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Запросы @@ -208,7 +208,7 @@ query manyTokens($lastID: String) { ``` > **Syntactic sugar:**. Вы можете упростить приведенный выше запрос, удалив оператор `and`, передав подвыражение, разделенное запятыми. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ _change_block(number_gte: Int) Полнотекстовые поисковые операторы: -| Символ | Оператор | Описание | -| --- | --- | --- | -| `&` | `And` | Для объединения нескольких условий поиска в фильтр для объектов, которые включают все указанные условия | -| | | `Or` | Запросы с несколькими условиями поиска, разделенные оператором or, вернут все объекты, которые соответствуют любому из предоставленных условий | -| `<->` | `Follow by` | Укажите расстояние между двумя словами. | -| `:*` | `Prefix` | Используйте поисковый запрос по префиксу, чтобы найти слова с соответствующим префиксом (необходимо 2 символа) | +| Символ | Оператор | Описание | +| ----------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| `&` | `And` | Для объединения нескольких условий поиска в фильтр для объектов, которые включают все указанные условия | +| | | `Or` | Запросы с несколькими условиями поиска, разделенные оператором or, вернут все объекты, которые соответствуют любому из предоставленных условий | +| `<->` | `Follow by` | Укажите расстояние между двумя словами. | +| `:*` | `Prefix` | Используйте поисковый запрос по префиксу, чтобы найти слова с соответствующим префиксом (необходимо 2 символа) | #### Примеры From ae38c19bb94bae4b103f7d676f7909354a01b0a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:37 -0400 Subject: [PATCH 0540/2326] New translations graphql-api.mdx (Swedish) --- website/pages/sv/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/sv/querying/graphql-api.mdx b/website/pages/sv/querying/graphql-api.mdx index 3823820de6eb..3663f9954a6b 100644 --- a/website/pages/sv/querying/graphql-api.mdx +++ b/website/pages/sv/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -Denna guide förklarar GraphQL Query API som används för Graph-protokollet. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Förfrågningar @@ -208,7 +208,7 @@ I följande exempel filtrerar vi efter utmaningar med `utfall` `lyckades` och `n ``` > **Syntactic sugar:** Du kan förenkla ovanstående fråga genom att ta bort `and`-operatorn och istället skicka ett underuttryck separerat med kommatecken. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Fulltextsökförfrågningar har ett obligatoriskt fält, `text`, för att tillha Fulltextsökoperatorer: -| Symbol | Operatör | Beskrivning | -| --- | --- | --- | -| `&` | `Och` | För att kombinera flera söktermer till ett filter för entiteter som inkluderar alla de angivna termerna | -| | | `Eller` | Förfrågningar med flera söktermer separerade av ellipsen kommer att returnera alla entiteter med en matchning från någon av de angivna termerna | -| `<->` | `Följs av` | Ange avståndet mellan två ord. | -| `:*` | `Prefix` | Använd prefixsöktermen för att hitta ord vars prefix matchar (2 tecken krävs.) | +| Symbol | Operatör | Beskrivning | +| ----------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `&` | `Och` | För att kombinera flera söktermer till ett filter för entiteter som inkluderar alla de angivna termerna | +| | | `Eller` | Förfrågningar med flera söktermer separerade av ellipsen kommer att returnera alla entiteter med en matchning från någon av de angivna termerna | +| `<->` | `Följs av` | Ange avståndet mellan två ord. | +| `:*` | `Prefix` | Använd prefixsöktermen för att hitta ord vars prefix matchar (2 tecken krävs.) | #### Exempel From 00fa983842ebc20c35bceb40820ec9e22949ae9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:38 -0400 Subject: [PATCH 0541/2326] New translations graphql-api.mdx (Turkish) --- website/pages/tr/querying/graphql-api.mdx | 34 +++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/website/pages/tr/querying/graphql-api.mdx b/website/pages/tr/querying/graphql-api.mdx index 4e817f0e579d..ba0dbb941ac7 100644 --- a/website/pages/tr/querying/graphql-api.mdx +++ b/website/pages/tr/querying/graphql-api.mdx @@ -2,15 +2,15 @@ title: GraphQL API --- -Bu kılavuz, Graph Protokolü için kullanılan GraphQL sorgu API'ını açıklar. +This guide explains the GraphQL Query API that is used for The Graph Protocol. -## Sorgular +## Queries -Subgraph şemanızda `Entities` adlı türleri tanımlarsınız. Her `Entity` türü için, üst düzey `Query` türünde bir `entity` ve `entities` alanı oluşturulur. Graph kullanılırken `query` öğesinin `graphql` sorgusunun en üstüne eklenmesi gerekmediğini unutmayın. +In your subgraph schema you define types called `Entities`. For each `Entity` type, an `entity` and `entities` field will be generated on the top-level `Query` type. Note that `query` does not need to be included at the top of the `graphql` query when using The Graph. ### Örnekler -Şemanızda tanımlanan tek bir `token` varlığını sorgulayın: +Query for a single `Token` entity defined in your schema: ```graphql { @@ -191,7 +191,7 @@ Bu, yalnızca alt düzey varlıkları sağlanan koşulları karşılayan varlık Graph Düğümü'nün [`v0.30.0`](https://github.com/graphprotocol/graph-node/releases/tag/v0.30.0) sürümüne göre, birden fazla parametreyi aynı `where` argümanında gruplayabilirsiniz. Bu, sonuçları birden fazla kritere göre filtrelemek için `and` veya `or` operatörlerini kullanmanıza olanak tanır. -##### `AND` Operatörü +##### `AND` Operator Aşağıdaki örnekte, `outcome` değeri `succeeded` olan ve `number` değeri `100`'den büyük veya buna eşit olan zorlukları filtreliyoruz. @@ -208,7 +208,7 @@ Aşağıdaki örnekte, `outcome` değeri `succeeded` olan ve `number` değeri `1 ``` > **Syntactic sugar:** Yukarıdaki sorguyu, virgülle ayrılmış bir alt ifade geçirerek, `and` operatörünü kaldırarak basitleştirebilirsiniz. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -221,7 +221,7 @@ Aşağıdaki örnekte, `outcome` değeri `succeeded` olan ve `number` değeri `1 > } > ``` -##### `OR` Operatörü +##### `OR` Operator Aşağıdaki örnekte, `outcome` değeri `succeeded` olan veya `number` değeri `100` yada daha büyük olan zorlukları filtreliyoruz. @@ -322,12 +322,12 @@ Tam metin arama sorgularının kullanması gereken bir zorunlu alanı vardır, b Tam metin arama operatörleri: -| Sembol | Operatör | Tanımlama | -| --- | --- | --- | -| `&` | `And` | Birden fazla arama terimini, sağlanan tüm terimleri içeren varlıklar için bir filtrede birleştirmek için kullanılır | -| | | `Or` | Or, işleciyle ayrılmış birden çok arama terimi içeren sorgular, sağlanan terimlerden herhangi biriyle eşleşen tüm varlıkları döndürür | -| `<->` | `Follow by` | İki kelime arasındaki mesafeyi belirtir. | -| `:*` | `Prefix` | Ön eki eşleşen kelimeleri bulmak için önek arama terimini kullanın (2 karakter gereklidir.) | +| Symbol | Operator | Tanım | +| ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | +| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | +| `<->` | `Follow by` | Specify the distance between two words. | +| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | #### Örnekler @@ -374,7 +374,7 @@ Daha karmaşık filtreler oluşturmak için tam metin operatörlerini birleştir Graph Düğümü, [graphql-js referans uygulamasını](https://github.com/graphql/graphql-js/tree/main/src/validation) temel alan [graphql-tools-rs](https://github.com/dotansimha/graphql-tools-rs#validation-rules)'yi kullanarak aldığı GraphQL sorgularının [spesifikasyon tabanlı](https://spec.graphql.org/October2021/#sec-Validation) doğrulamasını gerçekleştirir. Bir doğrulama kuralını geçemeyen sorgular standart bir hata ile sonuçlanır. Daha fazla bilgi için [GraphQL spec](https://spec.graphql.org/October2021/#sec-Validation)'i ziyaret edin. -## Şema +## Schema Veri kaynağınızın şeması, sorgulamak için kullanılabilen varlık tipleri, değerler ve ilişkiler [GraphQL Arayüz Tanımlama Dili (IDL)](https://facebook.github.io/graphql/draft/#sec-Type-System) aracılığıyla tanımlanır. @@ -412,8 +412,8 @@ Eğer bir blok belirtilirse, üst veri o blokla ilgilidir; belirtilmezse en son `block` en son blok hakkında bilgi sağlar (`_meta`'ya aktarılan blok kısıtlamalarını dikkate alarak): -- hash: bloğun hash'i -- number: blok numarası -- timestamp: varsa, bloğa ait timestamp (bu şu anda yalnızca EVM ağlarını indeksleyen subgraph'ler için kullanılabilir) +- hash: the hash of the block +- number: the block number +- timestamp: the timestamp of the block, if available (this is currently only available for subgraphs indexing EVM networks) `hasIndexingErrors` ifadesi, subgraph'ın önceki bazı bloklarda indeksleme hatalarıyla karşılaşıp karşılaşmadığını belirleyen bir boolean değeridir From c6882e23e26cee44455c922d05a4fba4a70ab665 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:39 -0400 Subject: [PATCH 0542/2326] New translations graphql-api.mdx (Ukrainian) --- website/pages/uk/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/uk/querying/graphql-api.mdx b/website/pages/uk/querying/graphql-api.mdx index 89cda460d58f..3d24376946d6 100644 --- a/website/pages/uk/querying/graphql-api.mdx +++ b/website/pages/uk/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -This guide explains the GraphQL Query API that is used for the Graph Protocol. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Queries @@ -208,7 +208,7 @@ In the following example, we are filtering for challenges with `outcome` `succee ``` > **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Fulltext search queries have one required field, `text`, for supplying search te Fulltext search operators: -| Symbol | Operator | Description | -| --- | --- | --- | -| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | -| `<->` | `Follow by` | Specify the distance between two words. | -| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | +| Symbol | Operator | Description | +| ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | +| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | +| `<->` | `Follow by` | Specify the distance between two words. | +| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | #### Examples From 9f54a61f0f6e4d9f089cbf988c57795467fbc79a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:41 -0400 Subject: [PATCH 0543/2326] New translations graphql-api.mdx (Chinese Simplified) --- website/pages/zh/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/zh/querying/graphql-api.mdx b/website/pages/zh/querying/graphql-api.mdx index 9ab99b1eb0c2..bfca09a8aab3 100644 --- a/website/pages/zh/querying/graphql-api.mdx +++ b/website/pages/zh/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -本指南介绍了用于 Graph 协议的 GraphQL 查询 API。 +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## 查询 @@ -208,7 +208,7 @@ query manyTokens($lastID: String) { tokens(first: 1000, where: { id_gt: $last ``` > **语法糖:**您可以通过传递一个用逗号分隔的子表达式来删除`and`运算符,从而简化上述查询。 -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ _change_block(number_gte: Int) 全文搜索运算符: -| 符号 | 运算符 | 描述 | -| ------ | ----------- | ---------------------------------------------------------------------- | -| `&` | `And` | 用于将多个搜索词组合到包含所有提供词条的实体的过滤器中 | -| | | `Or` | 由 or 运算符分隔的多个搜索词的查询,将返回与任何提供的词匹配的所有实体 | -| `<->` | `Follow by` | 指定两个单词之间的距离。 | -| `:*` | `Prefix` | 使用前缀搜索词查找前缀匹配的单词(需要 2 个字符) | +| 符号 | 运算符 | 描述 | +| ----------- | ----------- | ------------------------------------- | +| `&` | `And` | 用于将多个搜索词组合到包含所有提供词条的实体的过滤器中 | +| | | `Or` | 由 or 运算符分隔的多个搜索词的查询,将返回与任何提供的词匹配的所有实体 | +| `<->` | `Follow by` | 指定两个单词之间的距离。 | +| `:*` | `Prefix` | 使用前缀搜索词查找前缀匹配的单词(需要 2 个字符) | #### 例子 From 9a5045cc62bd3915652127d03dfff685316c5674 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:41 -0400 Subject: [PATCH 0544/2326] New translations graphql-api.mdx (Urdu (Pakistan)) --- website/pages/ur/querying/graphql-api.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/pages/ur/querying/graphql-api.mdx b/website/pages/ur/querying/graphql-api.mdx index 47147daa2b13..c7e0797ab7e8 100644 --- a/website/pages/ur/querying/graphql-api.mdx +++ b/website/pages/ur/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -یہ گائیڈ GraphQL کیوری API کی وضاحت کرتا ہے جو گراف پروٹوکول کے لیے استعمال ہوتا ہے. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## کیوریز @@ -208,7 +208,7 @@ query manyTokens($lastID: String) { ``` > **Syntactic شوگر:** آپ `and` آپریٹر کو ہٹا کر کوما سے الگ کردہ سب اظہار کو پاس کر کے مذکورہ کیوری کو آسان بنا سکتے ہیں. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ _change_block(number_gte: Int) فل ٹیکسٹ سرچ آپریٹرز: -| علامت | آپریٹر | تفصیل | -| --- | --- | --- | -| `&` | `And` | ایک سے زیادہ تلاش کی اصطلاحات کو ایک فلٹر میں یکجا کرنے کے لیے ان ہستیوں کے لیے جس میں فراہم کردہ تمام اصطلاحات شامل ہوں | -| | | `Or` | Or آپریٹر کے ذریعہ الگ کردہ متعدد تلاش کی اصطلاحات کے ساتھ کیوریز فراہم کردہ شرائط میں سے کسی سے بھی مماثلت کے ساتھ تمام ہستیوں کو واپس کریں گے | -| `<>` | `Follow by` | دو الفاظ کے درمیان فاصلہ بتائیں. | -| `:*` | `Prefix` | ایسے الفاظ تلاش کرنے کے لیے پریفکس ​​تلاش کی اصطلاح استعمال کریں جن کا سابقہ ​​مماثل ہو (۲ حروف درکار ہیں.) | +| علامت | آپریٹر | تفصیل | +| ---------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | +| `&` | `And` | ایک سے زیادہ تلاش کی اصطلاحات کو ایک فلٹر میں یکجا کرنے کے لیے ان ہستیوں کے لیے جس میں فراہم کردہ تمام اصطلاحات شامل ہوں | +| | | `Or` | Or آپریٹر کے ذریعہ الگ کردہ متعدد تلاش کی اصطلاحات کے ساتھ کیوریز فراہم کردہ شرائط میں سے کسی سے بھی مماثلت کے ساتھ تمام ہستیوں کو واپس کریں گے | +| `<>` | `Follow by` | دو الفاظ کے درمیان فاصلہ بتائیں. | +| `:*` | `Prefix` | ایسے الفاظ تلاش کرنے کے لیے پریفکس ​​تلاش کی اصطلاح استعمال کریں جن کا سابقہ ​​مماثل ہو (۲ حروف درکار ہیں.) | #### مثالیں @@ -408,7 +408,7 @@ GraphQL اسکیمے عام طور پر `queries`، `subscriptions` اور `muta اگر کوئی بلاک فراہم کیا جاتا ہے تو، میٹا ڈیٹا اس بلاک کا ہوتا ہے، اگر تازہ ترین انڈیکسڈ بلاک استعمال نہیں کیا جاتا ہے۔ اگر فراہم کیا گیا ہو، تو بلاک سب گراف کے اسٹارٹ بلاک کے بعد ہونا چاہیے، اور حال ہی میں انڈیکس کیے گئے بلاک سے کم یا اس کے برابر ہونا چاہیے. -`deployment` ایک منفرد ID ہے، جو `subgraph.yaml` فائل کے IPFS CID سے مطابقت رکھتی ہے. +` deployment ` ایک منفرد ID ہے، جو `subgraph.yaml` فائل کے IPFS CID سے مطابقت رکھتی ہے. `block` تازہ ترین بلاک کے بارے میں معلومات فراہم کرتا ہے (`_meta` کو بھیجی گئی کسی بھی بلاک کی رکاوٹوں کو مدنظر رکھتے ہوئے): From 06b89d3e478af27f6d3a8661de5006422549e2ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:42 -0400 Subject: [PATCH 0545/2326] New translations graphql-api.mdx (Vietnamese) --- website/pages/vi/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/vi/querying/graphql-api.mdx b/website/pages/vi/querying/graphql-api.mdx index d15b7659d204..2ed24b23689d 100644 --- a/website/pages/vi/querying/graphql-api.mdx +++ b/website/pages/vi/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -Hướng dẫn này giải thích API truy vấn GraphQL được sử dụng cho Giao thức The Graph. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Các truy vấn @@ -208,7 +208,7 @@ In the following example, we are filtering for challenges with `outcome` `succee ``` > **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Fulltext search queries have one required field, `text`, for supplying search te Fulltext search operators: -| Biểu tượng | Toán tử | Miêu tả | -| --- | --- | --- | -| `&` | `And` | Để kết hợp nhiều cụm từ tìm kiếm thành một bộ lọc cho các thực thể bao gồm tất cả các cụm từ được cung cấp | -| | | `Or` | Các truy vấn có nhiều cụm từ tìm kiếm được phân tách bằng toán tử hoặc sẽ trả về tất cả các thực thể có kết quả khớp với bất kỳ cụm từ nào được cung cấp | -| `<->` | `Follow by` | Chỉ định khoảng cách giữa hai từ. | -| `:*` | `Prefix` | Sử dụng cụm từ tìm kiếm tiền tố để tìm các từ có tiền tố khớp với nhau (yêu cầu 2 ký tự.) | +| Biểu tượng | Toán tử | Miêu tả | +| ----------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `&` | `And` | Để kết hợp nhiều cụm từ tìm kiếm thành một bộ lọc cho các thực thể bao gồm tất cả các cụm từ được cung cấp | +| | | `Or` | Các truy vấn có nhiều cụm từ tìm kiếm được phân tách bằng toán tử hoặc sẽ trả về tất cả các thực thể có kết quả khớp với bất kỳ cụm từ nào được cung cấp | +| `<->` | `Follow by` | Chỉ định khoảng cách giữa hai từ. | +| `:*` | `Prefix` | Sử dụng cụm từ tìm kiếm tiền tố để tìm các từ có tiền tố khớp với nhau (yêu cầu 2 ký tự.) | #### Examples From 229cba83a9729461062a816179c837ed426068bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:44 -0400 Subject: [PATCH 0546/2326] New translations graphql-api.mdx (Marathi) --- website/pages/mr/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/mr/querying/graphql-api.mdx b/website/pages/mr/querying/graphql-api.mdx index b66f2673be24..23296a5494d7 100644 --- a/website/pages/mr/querying/graphql-api.mdx +++ b/website/pages/mr/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -This guide explains the GraphQL Query API that is used for the Graph Protocol. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Queries @@ -208,7 +208,7 @@ In the following example, we are filtering for challenges with `outcome` `succee ``` > **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Fulltext search queries have one required field, `text`, for supplying search te Fulltext search operators: -| Symbol | Operator | वर्णन | -| --- | --- | --- | -| `&` | `आणि` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `किंवा` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | -| `<->` | `द्वारे अनुसरण करा` | Specify the distance between two words. | -| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | +| Symbol | Operator | वर्णन | +| ----------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| `&` | `आणि` | For combining multiple search terms into a filter for entities that include all of the provided terms | +| | | `किंवा` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | +| `<->` | `द्वारे अनुसरण करा` | Specify the distance between two words. | +| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | #### Examples From 891d08af88b9c73c42be98e63b79f5e8ca6a2a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:44 -0400 Subject: [PATCH 0547/2326] New translations graphql-api.mdx (Hindi) --- website/pages/hi/querying/graphql-api.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/pages/hi/querying/graphql-api.mdx b/website/pages/hi/querying/graphql-api.mdx index 353a62ef15a7..db196c793425 100644 --- a/website/pages/hi/querying/graphql-api.mdx +++ b/website/pages/hi/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: ग्राफक्यूएल एपीआई --- -यह मार्गदर्शिका ग्राफ़िकल क्वेरी एपीआई की व्याख्या करती है जिसका उपयोग ग्राफ़ प्रोटोकॉल के लिए किया जाता है। +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Queries @@ -93,7 +93,7 @@ When querying a collection, the `first` parameter can be used to paginate from t #### उदाहरण का उपयोग करना `पहले` और `छोड़ें` -क्वेरी 10 `टोकन` इकाइयां, संग्रह की शुरुआत से 10 स्थानों से ऑफसेट: +क्वेरी 10 ` टोकन ` इकाइयां, संग्रह की शुरुआत से 10 स्थानों से ऑफसेट: ```graphql { @@ -208,7 +208,7 @@ This can be useful if you are looking to fetch only entities which have changed, ``` > **सिंटैक्टिक शुगर:** आप `और` ऑपरेटर को कॉमा द्वारा अलग किए गए सब-एक्सप्रेशन को पास करके उपरोक्त क्वेरी को सरल बना सकते हैं। -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Fulltext search query fields provide an expressive text search API that can be a पूर्ण पाठ खोज ऑपरेटर: -| प्रतीक | ऑपरेटर | विवरण | -| --- | --- | --- | -| `&` | `And` | सभी प्रदान किए गए शब्दों को शामिल करने वाली संस्थाओं के लिए एक से अधिक खोज शब्दों को फ़िल्टर में संयोजित करने के लिए | -| | | `Or` | या ऑपरेटर द्वारा अलग किए गए एकाधिक खोज शब्दों वाली क्वेरी सभी संस्थाओं को प्रदान की गई शर्तों में से किसी से मेल के साथ वापस कर देगी | -| `<->` | `Follow by` | दो शब्दों के बीच की दूरी निर्दिष्ट करें। | -| `:*` | `Prefix` | उन शब्दों को खोजने के लिए उपसर्ग खोज शब्द का उपयोग करें जिनके उपसर्ग मेल खाते हैं (2 वर्ण आवश्यक हैं।) | +| प्रतीक | ऑपरेटर | विवरण | +| ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| `&` | `And` | सभी प्रदान किए गए शब्दों को शामिल करने वाली संस्थाओं के लिए एक से अधिक खोज शब्दों को फ़िल्टर में संयोजित करने के लिए | +| | | `Or` | या ऑपरेटर द्वारा अलग किए गए एकाधिक खोज शब्दों वाली क्वेरी सभी संस्थाओं को प्रदान की गई शर्तों में से किसी से मेल के साथ वापस कर देगी | +| `<->` | `Follow by` | दो शब्दों के बीच की दूरी निर्दिष्ट करें। | +| `:*` | `Prefix` | उन शब्दों को खोजने के लिए उपसर्ग खोज शब्द का उपयोग करें जिनके उपसर्ग मेल खाते हैं (2 वर्ण आवश्यक हैं।) | #### उदाहरण From a4816a57bd066a5bbdfbf31b649dda5a64c9fa29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:45 -0400 Subject: [PATCH 0548/2326] New translations graphql-api.mdx (Yoruba) --- website/pages/yo/querying/graphql-api.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/yo/querying/graphql-api.mdx b/website/pages/yo/querying/graphql-api.mdx index 89cda460d58f..3d24376946d6 100644 --- a/website/pages/yo/querying/graphql-api.mdx +++ b/website/pages/yo/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: GraphQL API --- -This guide explains the GraphQL Query API that is used for the Graph Protocol. +This guide explains the GraphQL Query API that is used for The Graph Protocol. ## Queries @@ -208,7 +208,7 @@ In the following example, we are filtering for challenges with `outcome` `succee ``` > **Syntactic sugar:** You can simplify the above query by removing the `and` operator by passing a sub-expression separated by commas. -> +> > ```graphql > { > challenges(where: { number_gte: 100, outcome: "succeeded" }) { @@ -322,12 +322,12 @@ Fulltext search queries have one required field, `text`, for supplying search te Fulltext search operators: -| Symbol | Operator | Description | -| --- | --- | --- | -| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | -| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | -| `<->` | `Follow by` | Specify the distance between two words. | -| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | +| Symbol | Operator | Description | +| ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| `&` | `And` | For combining multiple search terms into a filter for entities that include all of the provided terms | +| | | `Or` | Queries with multiple search terms separated by the or operator will return all entities with a match from any of the provided terms | +| `<->` | `Follow by` | Specify the distance between two words. | +| `:*` | `Prefix` | Use the prefix search term to find words whose prefix match (2 characters required.) | #### Examples From 50aef2f3b20becdd70e9559fb4f522ed1a2f60ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:46 -0400 Subject: [PATCH 0549/2326] New translations querying-best-practices.mdx (Romanian) --- .../pages/ro/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ro/querying/querying-best-practices.mdx b/website/pages/ro/querying/querying-best-practices.mdx index 98c0ffb72c61..18a51701045d 100644 --- a/website/pages/ro/querying/querying-best-practices.mdx +++ b/website/pages/ro/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ While the list of syntactic do's and don'ts is long, here are the essential rule - Each `queryName` must only be used once per operation. - Each `field` must be used only once in a selection (we cannot query `id` twice under `token`) -- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [The Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Any variable assigned to an argument must match its type. - In a given list of variables, each of them must be unique. - All defined variables must be used. Failing to follow the above rules will end with an error from the Graph API. -For a complete list of rules with code examples, please look at our GraphQL Validations guide. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Sending a query to a GraphQL API @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL web-based explorers -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ In order to keep up with the mentioned above best practices and syntactic rules, **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: is a field used on a proper type? - `@graphql-eslint/no-unused variables`: should a given variable stay unused? From 1d42333f10c036ea608449389578e1a12df15d87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:47 -0400 Subject: [PATCH 0550/2326] New translations querying-best-practices.mdx (French) --- .../fr/querying/querying-best-practices.mdx | 108 +++++++++--------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/website/pages/fr/querying/querying-best-practices.mdx b/website/pages/fr/querying/querying-best-practices.mdx index a633b98c52e8..65eee02509fa 100644 --- a/website/pages/fr/querying/querying-best-practices.mdx +++ b/website/pages/fr/querying/querying-best-practices.mdx @@ -1,5 +1,5 @@ --- -title: Querying Best Practices +title: Bonnes pratiques d'interrogation --- Le Graph fournit un moyen décentralisé d’interroger les données des blockchains. @@ -56,14 +56,14 @@ Bien que la liste des choses à faire et à ne pas faire syntaxiquement soit lon - Chaque `queryName` ne doit être utilisé qu'une seule fois par opération. - Chaque `champ` ne doit être utilisé qu'une seule fois dans une sélection (on ne peut pas interroger `id` deux fois sous `token`) -- Certains `champs` ou requêtes (comme les `jetons`) renvoient des types complexes qui nécessitent une sélection de sous-champs. Ne pas fournir de sélection lorsque cela est attendu (ou en fournir une lorsque cela n'est pas prévu - par exemple, sur `id`) générera une erreur. Pour connaître un type de champ, veuillez vous référer au [The Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Toute variable affectée à un argument doit correspondre à son type. - Dans une liste de variables donnée, chacune d’elles doit être unique. - Toutes les variables définies doivent être utilisées. Toutes les variables définies doivent être utilisées. -Pour une liste complète des règles avec des exemples de code, veuillez consulter notre guide de validations GraphQL. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Envoi d'une requête à une API GraphQL @@ -102,7 +102,7 @@ async function main() { main() ``` -More GraphQL client alternatives are covered in ["Querying from an Application"](/querying/querying-from-an-application). +D'autres alternatives client GraphQL sont couvertes dans ["Requête à partir d'une application"](/querying/querying-from-an-application). Maintenant que nous avons couvert les règles de base de la syntaxe des requêtes GraphQL, examinons maintenant les meilleures pratiques d'écriture de requêtes GraphQL. @@ -159,9 +159,9 @@ const result = await execute(query, { Cela apporte de **de nombreux avantages** : -- **Requêtes faciles à lire et à gérer** -- The GraphQL **server handles variables sanitization** -- **Variables can be cached** at server-level +- Requêtes **faciles à lire et à maintenir** +- Le serveur GraphQL **gère la désinfection des variables** +- Les **variables peuvent être mises en cache** au niveau du serveur - **Les requêtes peuvent être analysées statiquement par des outils** (plus d'informations à ce sujet dans les sections suivantes) **Remarque : Comment inclure des champs de manière conditionnelle dans les requêtes statiques** @@ -258,7 +258,7 @@ const [tokens, counters] = Promise.all( Bien que cette implémentation soit totalement valide, elle nécessitera deux allers-retours avec l'API GraphQL. -Fortunately, it is also valid to send multiple queries in the same GraphQL request as follows: +Heureusement, il est également possible d'envoyer plusieurs requêtes dans la même requête GraphQL comme suit : ```graphql import { execute } from "your-favorite-graphql-client" @@ -279,13 +279,13 @@ query GetTokensandCounters { const { result: { tokens, counters } } = execute(query) ``` -This approach will **improve the overall performance** by reducing the time spent on the network (saves you a round trip to the API) and will provide a **more concise implementation**. +Cette approche **améliorera les performances globales** en réduisant le temps passé sur le réseau (vous évite un aller-retour vers l'API) et fournira un **implémentation plus concise**. -### Leverage GraphQL Fragments +### Tirer parti des fragments GraphQL -A helpful feature to write GraphQL queries is GraphQL Fragment. +Une fonctionnalité utile pour écrire des requêtes GraphQL est GraphQL Fragment. -Looking at the following query, you will notice that some fields are repeated across multiple Selection-Sets (`{ ... }`): +En regardant la requête suivante, vous remarquerez que certains champs sont répétés sur plusieurs ensembles de sélection (`{ ... }`) : ```graphql query { @@ -305,12 +305,12 @@ query { } ``` -Such repeated fields (`id`, `active`, `status`) bring many issues: +De tels champs répétés (`id`, `active`, `status`) posent de nombreux problèmes : -- harder to read for more extensive queries -- when using tools that generate TypeScript types based on queries (_more on that in the last section_), `newDelegate` and `oldDelegate` will result in two distinct inline interfaces. +- plus difficile à lire pour des requêtes plus approfondies +- lors de l'utilisation d'outils qui génèrent des types TypeScript basés sur des requêtes (_plus d'informations à ce sujet dans la dernière section_), `newDelegate` et `oldDelegate` entraînera deux interfaces en ligne distinctes. -A refactored version of the query would be the following: +Une version refactorisée de la requête serait la suivante : ```graphql query { @@ -325,8 +325,8 @@ query { } } -# we define a fragment (subtype) on Transcoder -# to factorize repeated fields in the query +# nous définissons un fragment (sous-type) sur Transcoder +# pour factoriser les champs répétés dans la requête fragment DelegateItem on Transcoder { id active @@ -334,15 +334,15 @@ fragment DelegateItem on Transcoder { } ``` -Using GraphQL `fragment` will improve readability (especially at scale) but also will result in better TypeScript types generation. +L'utilisation de GraphQL `fragment` améliorera la lisibilité (en particulier à grande échelle) mais entraînera également une meilleure génération de types TypeScript. -When using the types generation tool, the above query will generate a proper `DelegateItemFragment` type (_see last "Tools" section_). +Lors de l'utilisation de l'outil de génération de types, la requête ci-dessus générera un type `DelegateItemFragment` approprié (_voir la dernière section "Outils"_). -### GraphQL Fragment do's and don'ts +### Bonnes pratiques et erreurs à éviter avec les fragments GraphQL -**Fragment base must be a type** +**La base du fragment doit être un type** -A Fragment cannot be based on a non-applicable type, in short, **on type not having fields**: +Un Fragment ne peut pas être basé sur un type non applicable, en bref, **sur un type n'ayant pas de champs** : ```graphql fragment MyFragment on BigInt { @@ -350,11 +350,11 @@ fragment MyFragment on BigInt { } ``` -`BigInt` is a **scalar** (native "plain" type) that cannot be used as a fragment's base. +`BigInt` est un **scalaire** (type natif "plain") qui ne peut pas être utilisé comme base d'un fragment. -**How to spread a Fragment** +**Comment diffuser un fragment** -Fragments are defined on specific types and should be used accordingly in queries. +Les fragments sont définis sur des types spécifiques et doivent être utilisés en conséquence dans les requêtes. L'exemple: @@ -363,7 +363,7 @@ query { bondEvents { id newDelegate { - ...VoteItem # Error! `VoteItem` cannot be spread on `Transcoder` type + ...VoteItem # Erreur ! `VoteItem` ne peut pas être étendu sur le type `Transcoder` } oldDelegate { ...VoteItem @@ -377,29 +377,29 @@ fragment VoteItem on Vote { } ``` -`newDelegate` and `oldDelegate` are of type `Transcoder`. +`newDelegate` et `oldDelegate` sont de type `Transcoder`. -It is not possible to spread a fragment of type `Vote` here. +Il n'est pas possible de diffuser ici un fragment de type `Vote`. -**Define Fragment as an atomic business unit of data** +**Définir Fragment comme une unité commerciale atomique de données** -GraphQL Fragment must be defined based on their usage. +Le fragment GraphQL doit être défini en fonction de son utilisation. -For most use-case, defining one fragment per type (in the case of repeated fields usage or type generation) is sufficient. +Pour la plupart des cas d'utilisation, définir un fragment par type (en cas d'utilisation répétée de champs ou de génération de type) est suffisant. -Here is a rule of thumb for using Fragment: +Voici une règle générale pour utiliser Fragment : -- when fields of the same type are repeated in a query, group them in a Fragment -- when similar but not the same fields are repeated, create multiple fragments, ex: +- lorsque des champs du même type sont répétés dans une requête, regroupez-les dans un Fragment +- lorsque des champs similaires mais différents sont répétés, créez plusieurs fragments, ex  : ```graphql -# base fragment (mostly used in listing) +# fragment de base (utilisé principalement pour les listes) fragment Voter on Vote { id voter } -# extended fragment (when querying a detailed view of a vote) +# fragment étendu (lors de l'interrogation d'une vue détaillée d'un vote) fragment VoteWithPoll on Vote { id voter @@ -413,38 +413,38 @@ fragment VoteWithPoll on Vote { --- -## The essential tools +## Les outils indispensables -### GraphQL web-based explorers +### Explorateurs Web GraphQL -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). -### GraphQL Linting +### Linting GraphQL -In order to keep up with the mentioned above best practices and syntactic rules, it is highly recommended to use the following workflow and IDE tools. +Afin de suivre les meilleures pratiques et les règles syntaxiques mentionnées ci-dessus, il est fortement recommandé d'utiliser le flux de travail et les outils IDE suivants. **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: -- `@graphql-eslint/fields-on-correct-type`: is a field used on a proper type? -- `@graphql-eslint/no-unused variables`: should a given variable stay unused? -- and more! +- `@graphql-eslint/fields-on-correct-type`: un champ est-il utilisé sur un type approprié ? +- `@graphql-eslint/no-unused variables`: une variable donnée doit-elle rester inutilisée ? +- et plus ! -This will allow you to **catch errors without even testing queries** on the playground or running them in production! +Cela vous permettra de **détecter les erreurs sans même tester les requêtes** sur le playground ni les exécuter en production! -### IDE plugins +### Plugins IDE **VSCode et GraphQL** L'[extension GraphQL VSCode](https://marketplace.visualstudio.com/items?itemName=GraphQL.vscode-graphql) est un excellent ajout à votre flux de travail de développement pour obtenir : -- syntax highlighting -- autocomplete suggestions +- coloration syntaxique +- suggestions d'autocomplétion - validation par rapport au schéma - snippets - aller à la définition des fragments et des types d'entrée @@ -455,8 +455,8 @@ Si vous utilisez `graphql-eslint`, l'[extension ESLint VSCode](https://marketpla Le [plug-in JS GraphQL](https://plugins.jetbrains.com/plugin/8097-graphql/) améliorera considérablement votre expérience lorsque vous travaillez avec GraphQL en fournissant : -- syntax highlighting -- autocomplete suggestions +- coloration syntaxique +- suggestions d'autocomplétion - validation par rapport au schéma - snippets From bce726077d7402858c0cbcc27622d02fb6509d2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:49 -0400 Subject: [PATCH 0551/2326] New translations querying-best-practices.mdx (Spanish) --- .../pages/es/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/es/querying/querying-best-practices.mdx b/website/pages/es/querying/querying-best-practices.mdx index a3c54abdbb0a..028295e3de70 100644 --- a/website/pages/es/querying/querying-best-practices.mdx +++ b/website/pages/es/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ Aunque la lista de lo que se debe y no se debe hacer sintácticamente es larga, - Cada `queryName` sólo debe utilizarse una vez por operación. - Cada `field` debe utilizarse una sola vez en una selección (no podemos consultar el `id` dos veces bajo `token`) -- Algunos `field` o consultas (como los `tokens`) devuelven tipos complejos que requieren una selección de sub-field. No proporcionar una selección cuando se espera (o proporcionarla cuando no se espera - por ejemplo, en `id`) generará un error. Para conocer un tipo de campo, consulta [The Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Cualquier variable asignada a un argumento debe coincidir con su tipo. - En una lista dada de variables, cada una de ellas debe ser única. - Deben utilizarse todas las variables definidas. Si no se siguen las reglas anteriores, se producirá un error de la API Graph. -Para obtener una lista completa de reglas con ejemplos de código, consulta nuestra guía de Validaciones GraphQL. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Envío de una consulta a una API GraphQL @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### Exploradores web GraphQL -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ In order to keep up with the mentioned above best practices and syntactic rules, **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type:` ¿se utiliza un campo en un tipo correcto? - `@graphql-eslint/no-unused variables`: ¿debe una variable determinada permanecer sin usar? From 642918329b83c0660ef002af8e2e0d95dfa0fede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:49 -0400 Subject: [PATCH 0552/2326] New translations querying-best-practices.mdx (Arabic) --- .../ar/querying/querying-best-practices.mdx | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/ar/querying/querying-best-practices.mdx b/website/pages/ar/querying/querying-best-practices.mdx index 24f0e802e02a..acf1e9be9f78 100644 --- a/website/pages/ar/querying/querying-best-practices.mdx +++ b/website/pages/ar/querying/querying-best-practices.mdx @@ -16,7 +16,7 @@ title: أفضل الممارسات للاستعلام على عكس REST API ، فإن GraphQL API مبنية على مخطط يحدد الاستعلامات التي يمكن تنفيذها. -على سبيل المثال ، طلب الاستعلام للحصول على توكن باستخدام استعلام `token` سيبدو كما يلي: +على سبيل المثال ، طلب الاستعلام للحصول على توكن باستخدام استعلام ` token ` سيبدو كما يلي: ```graphql query GetToken($id: ID!) { @@ -40,7 +40,7 @@ query GetToken($id: ID!) { تستخدم استعلامات GraphQL لغة GraphQL ، التي تم تحديدها في [المواصفات](https://spec.graphql.org/). -يتكون استعلام `GetToken` أعلاه من أجزاء متعددة للغة (تم استبدالها أدناه بـ placeholders `[...]`): +يتكون استعلام ` GetToken ` أعلاه من أجزاء متعددة للغة (تم استبدالها أدناه بـ placeholders ` [...] `): ```graphql query [operationName]([variableName]: [variableType]) { @@ -54,16 +54,16 @@ query [operationName]([variableName]: [variableType]) { على الرغم من أن قائمة القواعد التي يجب اتباعها طويلة، إلا أن هناك قواعد أساسية يجب أخذها في الاعتبار عند كتابة استعلامات GraphQL: -- يجب استخدام كل `queryName` مرة واحدة فقط لكل عملية. -- يجب استخدام كل `field` مرة واحدة فقط في التحديد (لا يمكننا الاستعلام عن `id` مرتين ضمن `token`) -- بعض `field` أو الاستعلامات (مثل `tokens`) ترجع أنواعًا معقدة تتطلب تحديدًا للحقول الفرعية. عدم تقديم تحديد عندما يكون متوقعًا (أو تقديم تحديد عندما لا يكون متوقعًا - على سبيل المثال ، الـ `id`) سيؤدي إلى ظهور خطأ. لمعرفة نوع الحقل ، يرجى الرجوع إلى [ The Graph Explorer ](/network/explorer). +- يجب استخدام كل ` queryName ` مرة واحدة فقط لكل عملية. +- يجب استخدام كل ` field ` مرة واحدة فقط في التحديد (لا يمكننا الاستعلام عن ` id ` مرتين ضمن ` token `) +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - يجب أن يكون أي متغير تم تعيينه لوسيط متطابقًا مع نوعه. - في قائمة المتغيرات المعطاة ، يجب أن يكون كل واحد منها فريدًا. - يجب استخدام جميع المتغيرات المحددة. إذا لم تتبع القواعد المذكورة أعلاه ، فستحدث خطأ من Graph API. -للحصول على قائمة كاملة بالقواعد مع أمثلة التعليمات البرمجية ، يرجى إلقاء نظرة على دليل التحقق من GraphQL. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### إرسال استعلام إلى GraphQL API @@ -308,7 +308,7 @@ query { Such repeated fields (`id`, `active`, `status`) bring many issues: - harder to read for more extensive queries -- عند استخدام الأدوات التي تنشئ أنواع TypeScript بناءً على الاستعلامات (_المزيد عن ذلك في القسم الأخير_)، و `newDelate` و `oldDelegate` سينتج عنهما واجهتين مضمنتان متمايزتين. +- عند استخدام الأدوات التي تنشئ أنواع TypeScript بناءً على الاستعلامات (_المزيد عن ذلك في القسم الأخير_)، و ` newDelate ` و ` oldDelegate ` سينتج عنهما واجهتين مضمنتان متمايزتين. A refactored version of the query would be the following: @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL web-based explorers -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,12 +427,12 @@ In order to keep up with the mentioned above best practices and syntactic rules, **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: -- `@ graphql-eslint / field-on-right-type`: هل يتم استخدام الحقل على النوع المناسب؟ -- `@ graphql-eslint / no-unused variables`: هل يجب أن يبقى المتغير المعطى غير مستخدم؟ +- ` @ graphql-eslint / field-on-right-type `: هل يتم استخدام الحقل على النوع المناسب؟ +- ` @ graphql-eslint / no-unused variables `: هل يجب أن يبقى المتغير المعطى غير مستخدم؟ - و اكثر! This will allow you to **catch errors without even testing queries** on the playground or running them in production! From 7d86727b337e03f370491071e55e982ea95f4d21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:50 -0400 Subject: [PATCH 0553/2326] New translations querying-best-practices.mdx (Czech) --- .../cs/querying/querying-best-practices.mdx | 78 +++++++++---------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/website/pages/cs/querying/querying-best-practices.mdx b/website/pages/cs/querying/querying-best-practices.mdx index d656ab17bffb..18bd5615a61c 100644 --- a/website/pages/cs/querying/querying-best-practices.mdx +++ b/website/pages/cs/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ I když je seznam syntaktických doporučení a doporučení dlouhý, zde jsou z - Každý `název dotazu` smí být při jedné operaci použit pouze jednou. - Každé `pole` musí být ve výběru použito pouze jednou (pod `token` se nemůžeme dvakrát dotazovat na `id`) -- Některá `pole` nebo dotazy (jako `tokeny`) vracejí složené typy, které vyžadují výběr podpole. Nezadání výběru, když se očekává (nebo zadání výběru, když se neočekává - například u `id`), vyvolá chybu. Chcete-li znát typ pole, podívejte se na [Prohlížeč grafů](/network/explorer). v. +- Některá `pole` nebo dotazy (jako `tokeny`) vracejí složené typy, které vyžadují výběr podpole. Nezadání výběru, když se očekává (nebo zadání výběru, když se neočekává - například u `id`), vyvolá chybu. Chcete-li znát typ pole, podívejte se na [Graph Explorer](/network/explorer). - Každá proměnná přiřazená argumentu musí odpovídat jeho typu. - V daném seznamu proměnných musí být každá z nich jedinečná. - Musí být použity všechny definované proměnné. Nedodržení výše uvedených pravidel skončí chybou Graf API. -Kompletní seznam pravidel s příklady kódu naleznete v naší příručce Ověřování GraphQL. +Kompletní seznam pravidel s příklady kódu naleznete v naší příručce [GraphQL Validations](/release-notes/graphql-validations-migration-guide/). ### Odeslání dotazu na GraphQL API @@ -340,9 +340,9 @@ Při použití nástroje pro generování typů vygeneruje výše uvedený dotaz ### Co dělat a nedělat s fragmenty GraphQL -**Fragment base must be a type** +**Základem fragmentu musí být typ** -A Fragment cannot be based on a non-applicable type, in short, **on type not having fields**: +Fragment nemůže být založen na nepoužitelném typu, zkrátka **na typu, který nemá pole**: ```graphql fragment MyFragment on BigInt { @@ -350,11 +350,11 @@ fragment MyFragment on BigInt { } ``` -`BigInt` is a **scalar** (native "plain" type) that cannot be used as a fragment's base. +`BigInt` je **skalární** (nativní "jednoduchý" typ), který nelze použít jako základ fragmentu. -**How to spread a Fragment** +**Jak šířit fragment** -Fragments are defined on specific types and should be used accordingly in queries. +Fragmenty jsou definovány na konkrétních typech a podle toho by se měly používat v dotazech. Příklad: @@ -379,18 +379,18 @@ fragment VoteItem on Vote { `newDelegate` and `oldDelegate` are of type `Transcoder`. -It is not possible to spread a fragment of type `Vote` here. +Fragment typu `Vote` zde není možné šířit. -**Define Fragment as an atomic business unit of data** +**Definice fragmentu jako atomické obchodní jednotky dat** -GraphQL Fragment must be defined based on their usage. +Fragment GraphQL musí být definován na základě jejich použití. -For most use-case, defining one fragment per type (in the case of repeated fields usage or type generation) is sufficient. +Pro většinu případů použití stačí definovat jeden fragment pro každý typ (v případě opakovaného použití polí nebo generování typů). -Here is a rule of thumb for using Fragment: +Zde je praktický postup pro použití Fragmentu: -- when fields of the same type are repeated in a query, group them in a Fragment -- when similar but not the same fields are repeated, create multiple fragments, ex: +- pokud se v dotazu opakují pole stejného typu, seskupte je do fragmentu +- pokud se opakují podobná, ale ne stejná pole, vytvořte více fragmentů, např: ```graphql # base fragment (mostly used in listing) @@ -413,51 +413,51 @@ fragment VoteWithPoll on Vote { --- -## The essential tools +## Základní nástroje -### GraphQL web-based explorers +### Weboví průzkumníci GraphQL -Iterování dotazů jejich spouštěním ve vaší aplikaci může být těžkopádné. Z tohoto důvodu neváhejte použít [The Graph Explorer](https://thegraph.com/explorer) k otestování svých dotazů před jejich přidáním do aplikace. Průzkumník Graf vám poskytne předkonfigurované hřiště GraphQL pro testování vašich dotazů. +Iterace dotazů jejich spouštěním v aplikaci může být obtížná. Z tohoto důvodu neváhejte použít [Graph Explorer](https://thegraph.com/explorer) k testování dotazů před jejich přidáním do aplikace. Průzkumník grafů vám poskytne předkonfigurované hřiště GraphQL pro testování vašich dotazů. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +Pokud hledáte flexibilnější způsob ladění/testování dotazů, jsou k dispozici další podobné web nástroje, například [Altair](https://altairgraphql.dev/) a [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting -In order to keep up with the mentioned above best practices and syntactic rules, it is highly recommended to use the following workflow and IDE tools. +Abyste mohli dodržovat výše uvedené osvědčené postupy a syntaktická pravidla, doporučujeme používat následující workflow a nástroje IDE. **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) vám pomůže udržet si přehled o nejlepších postupech GraphQL bez většího úsilí. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Nastavení konfigurace "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) prosadí základní pravidla, jako jsou: -- `@graphql-eslint/fields-on-correct-type`: is a field used on a proper type? -- `@graphql-eslint/no-unused variables`: should a given variable stay unused? -- and more! +- `@graphql-eslint/fields-on-correct-type`: je pole použito na správném typu? +- `@graphql-eslint/no-unused variables`: má daná proměnná zůstat nepoužitá? +- a další! -This will allow you to **catch errors without even testing queries** on the playground or running them in production! +To vám umožní **odhalit chyby i bez testování dotazů** na hřišti nebo jejich spuštění ve výrobě! -### IDE plugins +### IDE zásuvné -**VSCode and GraphQL** +**VSCode a GraphQL** -The [GraphQL VSCode extension](https://marketplace.visualstudio.com/items?itemName=GraphQL.vscode-graphql) is an excellent addition to your development workflow to get: +Rozšíření [GraphQL VSCode](https://marketplace.visualstudio.com/items?itemName=GraphQL.vscode-graphql) je vynikajícím doplňkem vašeho vývojového pracovního postup: -- syntax highlighting -- autocomplete suggestions -- validation against schema +- zvýraznění syntaxe +- návrhy automatického dokončování +- validace proti schéma - snippets -- go to definition for fragments and input types +- přejít na definici fragmentů a vstupních typů -If you are using `graphql-eslint`, the [ESLint VSCode extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) is a must-have to visualize errors and warnings inlined in your code correctly. +Pokud používáte `graphql-eslint`, je rozšíření [ESLint VSCode](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) nutností pro správnou vizualizaci chyb a varování v kódu. -**WebStorm/Intellij and GraphQL** +**WebStorm/Intellij a GraphQL** -The [JS GraphQL plugin](https://plugins.jetbrains.com/plugin/8097-graphql/) will significantly improve your experience while working with GraphQL by providing: +Zásuvný modul [JS GraphQL](https://plugins.jetbrains.com/plugin/8097-graphql/) výrazně zlepší vaše zkušenosti při práci s GraphQL tím, že poskytuje: -- syntax highlighting -- autocomplete suggestions -- validation against schema +- zvýraznění syntaxe +- návrhy automatického dokončování +- validace proti schématu - snippets -More information on this [WebStorm article](https://blog.jetbrains.com/webstorm/2019/04/featured-plugin-js-graphql/) that showcases all the plugin's main features. +Další informace najdete v tomto [článku o WebStormu](https://blog.jetbrains.com/webstorm/2019/04/featured-plugin-js-graphql/), který představuje všechny hlavní funkce zásuvného. From 034236517734f4a609ec2e0a130653a5a8e1c194 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:51 -0400 Subject: [PATCH 0554/2326] New translations querying-best-practices.mdx (German) --- .../pages/de/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/de/querying/querying-best-practices.mdx b/website/pages/de/querying/querying-best-practices.mdx index 98c0ffb72c61..18a51701045d 100644 --- a/website/pages/de/querying/querying-best-practices.mdx +++ b/website/pages/de/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ While the list of syntactic do's and don'ts is long, here are the essential rule - Each `queryName` must only be used once per operation. - Each `field` must be used only once in a selection (we cannot query `id` twice under `token`) -- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [The Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Any variable assigned to an argument must match its type. - In a given list of variables, each of them must be unique. - All defined variables must be used. Failing to follow the above rules will end with an error from the Graph API. -For a complete list of rules with code examples, please look at our GraphQL Validations guide. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Sending a query to a GraphQL API @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL web-based explorers -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ In order to keep up with the mentioned above best practices and syntactic rules, **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: is a field used on a proper type? - `@graphql-eslint/no-unused variables`: should a given variable stay unused? From 865b17f19150ee44f389a7924b369f7be825d8a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:52 -0400 Subject: [PATCH 0555/2326] New translations querying-best-practices.mdx (Italian) --- .../pages/it/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/it/querying/querying-best-practices.mdx b/website/pages/it/querying/querying-best-practices.mdx index 0e906915124d..c6e1f1a9f5cd 100644 --- a/website/pages/it/querying/querying-best-practices.mdx +++ b/website/pages/it/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ Sebbene l'elenco delle cose da fare e da non fare a livello sintattico sia lungo - Ogni `queryName` deve essere usato una sola volta per ogni operazione. - Ogni `field` deve essere utilizzato una sola volta in una selezione (non si può effettuare query di `id` due volte sotto `token`) -- Alcuni `field` o query (come i `token`) restituiscono tipi complessi che richiedono una selezione di sub-field. Se non si fornisce una selezione quando ci si aspetta (o se la si fornisce quando non ci si aspetta, ad esempio su `id`), si genererà un errore. Per conoscere un tipo di campo, consultare [Il Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Qualsiasi variabile assegnata a un argomento deve corrispondere al suo tipo. - In un determinato elenco di variabili, ciascuna di esse deve essere unica. - Tutte le variabili definite devono essere utilizzate. Se non si rispettano le regole di cui sopra, si ottiene un errore dall'API Graph. -Per un elenco completo delle regole con esempi di codice, consultare la guida GraphQL Validations guide. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Invio di una query a un API GraphQL @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### Esploratori web GraphQL -Iterare le query eseguendole nell'applicazione può essere ingombrante. Per questo motivo, non esitate a usare [Graph Explorer](https://thegraph.com/explorer) per testare le query prima di aggiungerle all'applicazione. Graph Explorer fornisce un'area di GraphQL playground preconfigurata per testare le query. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -Se si cerca un modo più flessibile per eseguire il debug/test delle query, sono disponibili altri strumenti simili basati sul web, come [Altair](https://altair.sirmuel.design/) e [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### Linting di GraphQL @@ -427,9 +427,9 @@ Per tenere il passo con le best practice e le regole sintattiche di cui sopra, s **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) vi aiuterà a rimanere al passo con le best practice GraphQL senza alcuno sforzo. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[L'impostazione della configurazione "operazioni consigliate"](https://github.com/dotansimha/graphql-eslint#available-configs) farà rispettare regole essenziali come: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: un campo è utilizzato su un tipo corretto? - `@graphql-eslint/no-unused variables`: una determinata variabile deve rimanere inutilizzata? From 2fa7814cf850fb85ff383a5694d323de00b6c507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:54 -0400 Subject: [PATCH 0556/2326] New translations querying-best-practices.mdx (Japanese) --- .../pages/ja/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ja/querying/querying-best-practices.mdx b/website/pages/ja/querying/querying-best-practices.mdx index 5cbb9bba5ebd..5d0dcb8291ab 100644 --- a/website/pages/ja/querying/querying-best-practices.mdx +++ b/website/pages/ja/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ query [operationName]([variableName]: [variableType]) { - 各`queryName`は、1回の操作で1回だけ使用しなければなりません。 - 各`フィールド`は、選択の中で一度だけ使用しなければなりません(`トークン`の下に`id`を二度照会することはできません)。 -- いくつかの `field` やクエリ (`tokens` など) は、サブフィールドの選択を必要とする複雑な型を返します。期待されたときに選択を提供しない(あるいは期待されていないときに提供する-たとえば`id`の場合)ことは、エラーを発生させます。フィールドタイプを知るには、[The Graph Explorer](/network/explorer)を参照してください。 +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - 引数に代入される変数は、その型と一致しなければなりません。 - 与えられた変数のリストにおいて、各変数は一意でなければなりません。 - 定義された変数はすべて使用する必要があります。 上記のルールに従わない場合、Graph APIからエラーが発生します。 -ルールの完全なリストとコード例については、GraphQL Validationsガイドをご覧ください。 +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### GraphQL APIへのクエリの送信 @@ -415,9 +415,9 @@ fragment VoteWithPoll on Vote { ### GraphQL ウェブベースのエクスプローラ -クエリをアプリケーション内で実行して繰り返しテストするのは手間がかかる場合があります。そのため、クエリをアプリケーションに追加する前に、[The Graph Explorer](https://thegraph.com/explorer)を使用してクエリをテストすることを躊躇しないでください。The Graph Explorerは、クエリをテストするための事前に設定されたGraphQLプレイグラウンドを提供します。 +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -クエリをデバッグやテストするより柔軟な方法を探している場合、[Altair](https://altair.sirmuel.design/)や[GraphiQL](https://graphiql-online.com/graphiql)などの類似のWebベースのツールも利用できます。 +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -425,9 +425,9 @@ fragment VoteWithPoll on Vote { **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) を使用すると、手間をかけずに GraphQL のベスト プラクティスを常に把握できるようになります。 +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[「operations-recommended」](https://github.com/dotansimha/graphql-eslint#available-configs) 構成をセットアップすると、次のような重要なルールが適用されます。 +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: フィールドは適切なタイプで使用されているか? - `@graphql-eslint/no-unused variables`: 与えられた変数は未使用のままであるべきか? From 6190a47f04f317e6fa03806d3c66304d508d6592 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:55 -0400 Subject: [PATCH 0557/2326] New translations querying-best-practices.mdx (Korean) --- .../pages/ko/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ko/querying/querying-best-practices.mdx b/website/pages/ko/querying/querying-best-practices.mdx index 98c0ffb72c61..18a51701045d 100644 --- a/website/pages/ko/querying/querying-best-practices.mdx +++ b/website/pages/ko/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ While the list of syntactic do's and don'ts is long, here are the essential rule - Each `queryName` must only be used once per operation. - Each `field` must be used only once in a selection (we cannot query `id` twice under `token`) -- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [The Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Any variable assigned to an argument must match its type. - In a given list of variables, each of them must be unique. - All defined variables must be used. Failing to follow the above rules will end with an error from the Graph API. -For a complete list of rules with code examples, please look at our GraphQL Validations guide. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Sending a query to a GraphQL API @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL web-based explorers -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ In order to keep up with the mentioned above best practices and syntactic rules, **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: is a field used on a proper type? - `@graphql-eslint/no-unused variables`: should a given variable stay unused? From 9014ac4e6ad39a9964fd771570bbdff494e02ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:56 -0400 Subject: [PATCH 0558/2326] New translations querying-best-practices.mdx (Dutch) --- .../pages/nl/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/nl/querying/querying-best-practices.mdx b/website/pages/nl/querying/querying-best-practices.mdx index 98c0ffb72c61..18a51701045d 100644 --- a/website/pages/nl/querying/querying-best-practices.mdx +++ b/website/pages/nl/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ While the list of syntactic do's and don'ts is long, here are the essential rule - Each `queryName` must only be used once per operation. - Each `field` must be used only once in a selection (we cannot query `id` twice under `token`) -- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [The Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Any variable assigned to an argument must match its type. - In a given list of variables, each of them must be unique. - All defined variables must be used. Failing to follow the above rules will end with an error from the Graph API. -For a complete list of rules with code examples, please look at our GraphQL Validations guide. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Sending a query to a GraphQL API @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL web-based explorers -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ In order to keep up with the mentioned above best practices and syntactic rules, **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: is a field used on a proper type? - `@graphql-eslint/no-unused variables`: should a given variable stay unused? From c899385536d3a1dd7e30f57da415c818b29df62c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:57 -0400 Subject: [PATCH 0559/2326] New translations querying-best-practices.mdx (Polish) --- .../pages/pl/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/pl/querying/querying-best-practices.mdx b/website/pages/pl/querying/querying-best-practices.mdx index 98c0ffb72c61..18a51701045d 100644 --- a/website/pages/pl/querying/querying-best-practices.mdx +++ b/website/pages/pl/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ While the list of syntactic do's and don'ts is long, here are the essential rule - Each `queryName` must only be used once per operation. - Each `field` must be used only once in a selection (we cannot query `id` twice under `token`) -- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [The Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Any variable assigned to an argument must match its type. - In a given list of variables, each of them must be unique. - All defined variables must be used. Failing to follow the above rules will end with an error from the Graph API. -For a complete list of rules with code examples, please look at our GraphQL Validations guide. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Sending a query to a GraphQL API @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL web-based explorers -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ In order to keep up with the mentioned above best practices and syntactic rules, **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: is a field used on a proper type? - `@graphql-eslint/no-unused variables`: should a given variable stay unused? From b4e136fd57b533091dd9d45244661910161ccb68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:58 -0400 Subject: [PATCH 0560/2326] New translations querying-best-practices.mdx (Portuguese) --- .../pages/pt/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/pt/querying/querying-best-practices.mdx b/website/pages/pt/querying/querying-best-practices.mdx index 9bc85c9439d6..d47ba20704fa 100644 --- a/website/pages/pt/querying/querying-best-practices.mdx +++ b/website/pages/pt/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ Enquanto a lista de sintaxes proibidas e permitidas é longa, veja a seguir as r - Cada `queryName` deve ser usado apenas uma vez por operação. - Cada `field` deve ser usado apenas uma vez numa seleção (não podemos consultar a `id` duas vezes sob o `token`) -- Alguns `field`s ou queries (como `tokens`) retornam tipos complexos que exigem uma seleção de subcampo. Não fornecer uma seleção quando esperado (ou quando não esperado, por exemplo, na `id`) levantará um erro. Para conhecer um tipo de campo, refira ao [Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Qualquer variável apontada a um argumento deve corresponder ao seu tipo. - Em uma lista dada de variáveis, cada uma delas deve ser única. - Todas as variáveis definidas devem ser usadas. Não seguir as regras acima causará um erro da API do Graph. -Para uma lista completa de regras com exemplos de código, veja o nosso guia de Validações GraphQL. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Como enviar um query a uma API GraphQL @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### Exploradores do GraphQL baseados em web -Iterar sobre queries ao executá-los no seu aplicativo pode ser muito cansativo. Por isto, use o [Graph Explorer](https://thegraph.com/explorer) à vontade para testar os seus queries antes de adicioná-los ao seu aplicativo. O Graph Explorer proverá um playground GraphQL pré-configurado para testar os seus queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -Se procura uma maneira mais flexível de debugar/testar as suas consultas, há outras ferramentas baseadas em web, como [Altair](https://altair.sirmuel.design/) e [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ Para acompanhar as melhores práticas e regras sintáticas ditas acima, vale mui **GraphQL ESLint** -O [GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) ajudará-lhe a ficar no topo das melhores práticas no GraphQL sem nenhum esforço. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Preparar a configuração "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) aplicará regras essenciais como: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: um campo está num tipo apropriado? - `@graphql-eslint/no-unused variables`: uma variável usada deve ficar sem uso? From 93d5befb9202b759c81ba7c11d659c40a4aaac42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:35:59 -0400 Subject: [PATCH 0561/2326] New translations querying-best-practices.mdx (Russian) --- .../pages/ru/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/ru/querying/querying-best-practices.mdx b/website/pages/ru/querying/querying-best-practices.mdx index ce1bbcead58d..c7958723c064 100644 --- a/website/pages/ru/querying/querying-best-practices.mdx +++ b/website/pages/ru/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ While the list of syntactic do's and don'ts is long, here are the essential rule - Each `queryName` must only be used once per operation. - Each `field` must be used only once in a selection (we cannot query `id` twice under `token`) -- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [The Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Any variable assigned to an argument must match its type. - In a given list of variables, each of them must be unique. - All defined variables must be used. Failing to follow the above rules will end with an error from the Graph API. -For a complete list of rules with code examples, please look at our GraphQL Validations guide. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Sending a query to a GraphQL API @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL web-based explorers -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ In order to keep up with the mentioned above best practices and syntactic rules, **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: is a field used on a proper type? - `@graphql-eslint/no-unused variables`: should a given variable stay unused? From 404b48cc1ce535cc0d8f4f7b7543035f778b28a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:00 -0400 Subject: [PATCH 0562/2326] New translations querying-best-practices.mdx (Swedish) --- .../sv/querying/querying-best-practices.mdx | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/website/pages/sv/querying/querying-best-practices.mdx b/website/pages/sv/querying/querying-best-practices.mdx index 5d5201189515..ec72fd69f251 100644 --- a/website/pages/sv/querying/querying-best-practices.mdx +++ b/website/pages/sv/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ Listan över syntaktiska do's and don'ts är lång, men här är de viktigaste r - Varje `queryName` får endast användas en gång per operation. - Varje `field` får bara användas en gång i ett urval (vi kan inte fråga `id` två gånger under `token`) -- Vissa `field`s eller queries (som `tokens`) returnerar komplexa typer som kräver ett urval av sub-field. Att inte tillhandahålla ett urval när det förväntas (eller tillhandahålla ett när det inte förväntas - till exempel på `id`) kommer att leda till ett fel. För att veta vad en fälttyp är, se [The Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Varje variabel som tilldelas ett argument måste matcha dess typ. - I en given lista med variabler måste var och en av dem vara unik. - Alla definierade variabler måste användas. Om du inte följer ovanstående regler kommer du att få ett felmeddelande från Graph API. -För en fullständig lista över regler med kodexempel, se vår guide om GraphQL-valideringar. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Att skicka en fråga till ett GraphQL API @@ -81,7 +81,7 @@ Men, som det anges i ["Frågehantering från en applikation"](/querying/querying Så här ställer du en fråga till The Graph med `graph-client`: ```tsx -import { execute } from '../.graphclient' +import { execute } from "../.graphclient"; const query = ` query GetToken($id: ID!) { @@ -90,13 +90,13 @@ query GetToken($id: ID!) { owner } } -` +`; const variables = { id: '1' } async function main() { - const result = await execute(query, variables) + const result = await execute(query, variables); // `result` är fullständigt typad! - console.log(result) + console.log(result); } main() @@ -115,15 +115,15 @@ Nu när vi har gått igenom de grundläggande reglerna för syntax för GraphQL- En vanlig (dålig) praxis är att dynamiskt bygga upp frågesträngar enligt följande: ```tsx -const id = params.id -const fields = ['id', 'owner'] +const id = params.id; +const fields = ["id", "owner"]; const query = ` query GetToken { token(id: ${id}) { - ${fields.join('\n')} + ${fields.join("\n")} } } -` +`; // Execute query... ``` @@ -138,9 +138,9 @@ Medan det tidigare avsnittet genererar en giltig GraphQL-fråga har den **många Av dessa skäl rekommenderas det alltid att skriva frågor som statiska strängar: ```tsx -import { execute } from 'your-favorite-graphql-client' +import { execute } from "your-favorite-graphql-client"; -const id = params.id +const id = params.id; const query = ` query GetToken($id: ID!) { token(id: $id) { @@ -148,7 +148,7 @@ query GetToken($id: ID!) { owner } } -` +`; const result = await execute(query, { variables: { @@ -171,9 +171,9 @@ Ibland vill vi inkludera fältet `owner` endast under vissa villkor. För detta kan vi utnyttja direktivet `@include(if:...)` på följande sätt: ```tsx -import { execute } from 'your-favorite-graphql-client' +import { execute } from "your-favorite-graphql-client"; -const id = params.id +const id = params.id; const query = ` query GetToken($id: ID!, $includeOwner: Boolean) { token(id: $id) { @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### Webbaserade GraphQL-upptäckare -Att iterera över frågor genom att köra dem i din applikation kan vara besvärligt. Av denna anledning bör du inte tveka att använda [The Graph Explorer](https://thegraph.com/explorer) för att testa dina frågor innan du lägger till dem i din applikation. The Graph Explorer kommer att ge dig en förkonfigurerad GraphQL-lekplats för att testa dina frågor. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -Om du letar efter ett mer flexibelt sätt att felsöka/testa dina frågor finns andra liknande webbaserade verktyg tillgängliga, såsom [Altair](https://altair.sirmuel.design/) och [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ För att hålla dig uppdaterad med de tidigare nämnda bästa praxis och syntakt **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) hjälper dig att följa GraphQL bästa praxis utan ansträngning. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Installera "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs)-konfigurationen kommer att tvinga fram väsentliga regler som: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: används ett fält på en korrekt typ? - `@graphql-eslint/no-unused variables`: bör en given variabel förbli oanvänd? From 208f3bd422b30f5ad9b6b66730a752ceda38eacb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:01 -0400 Subject: [PATCH 0563/2326] New translations querying-best-practices.mdx (Turkish) --- .../tr/querying/querying-best-practices.mdx | 122 +++++++++--------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/website/pages/tr/querying/querying-best-practices.mdx b/website/pages/tr/querying/querying-best-practices.mdx index d0a3f50ed7de..bb0b94ebaa86 100644 --- a/website/pages/tr/querying/querying-best-practices.mdx +++ b/website/pages/tr/querying/querying-best-practices.mdx @@ -1,22 +1,22 @@ --- -title: En İyi Uygulamaları Sorgulama +title: Querying Best Practices --- -Graph, blok zincirlerinden veri sorgulamak için merkeziyetsiz bir yol sağlar. +The Graph provides a decentralized way to query data from blockchains. -Graph ağının verileri, GraphQL diliyle verilerin sorgulanmasını kolaylaştıran bir GraphQL API aracılığıyla sunulur. +The Graph network's data is exposed through a GraphQL API, making it easier to query data with the GraphQL language. -Bu sayfa, temel GraphQL dil kuralları ve GraphQL sorguları en iyi uygulamaları konusunda size rehberlik edecektir. +This page will guide you through the essential GraphQL language rules and GraphQL queries best practices. --- -## GraphQL API Sorgulama +## Querying a GraphQL API -### Bir GraphQL sorgusunun anatomisi +### The anatomy of a GraphQL query -REST API'den farklı olarak GraphQL API, hangi sorguların gerçekleştirilebileceğini tanımlayan bir şema üzerine kuruludur. +Unlike REST API, a GraphQL API is built upon a Schema that defines which queries can be performed. -Örneğin, `token` sorgusunu kullanarak token almak için bir sorgu aşağıdaki gibi görünecektir: +For example, a query to get a token using the `token` query will look as follows: ```graphql query GetToken($id: ID!) { @@ -27,7 +27,7 @@ query GetToken($id: ID!) { } ``` -bu, aşağıdaki öngörülebilir JSON yanıtını döndürür (_uygun `$id` değişken değerini geçerken_): +which will return the following predictable JSON response (_when passing the proper `$id` variable value_): ```json { @@ -38,9 +38,9 @@ bu, aşağıdaki öngörülebilir JSON yanıtını döndürür (_uygun `$id` de } ``` -GraphQL sorguları, [bir şartname](https://spec.graphql.org/) üzerinde tanımlanan GraphQL dilini kullanır. +GraphQL queries use the GraphQL language, which is defined upon [a specification](https://spec.graphql.org/). -Yukarıdaki `GetToken` sorgusu birden çok dil bölümünden oluşur (aşağıda `[...]` yer tutucularla değiştirilmiştir): +The above `GetToken` query is composed of multiple language parts (replaced below with `[...]` placeholders): ```graphql query [operationName]([variableName]: [variableType]) { @@ -52,20 +52,20 @@ query [operationName]([variableName]: [variableType]) { } ``` -Sözdizimsel olarak yapılacaklar ve yapılmayacaklar listesi uzun olsa da, iş GraphQL sorguları yazmaya geldiğinde akılda tutulması gereken temel kurallar şunlardır: +While the list of syntactic do's and don'ts is long, here are the essential rules to keep in mind when it comes to writing GraphQL queries: -- Her `queryName`, işlem başına yalnızca bir kez kullanılmalıdır. -- Her `field` bir seçimde yalnızca bir kez kullanılmalıdır (`token` altında `id` öğesini iki kez sorgulayamayız) -- Bazı `field`'lar veya sorgular (`tokens` gibi), bir alt alan seçimi gerektiren karmaşık türler döndürür. Beklendiği zaman bir seçimin sağlanmaması (veya beklenmediğinde - örneğin, `id` üzerinde) bir seçimin sağlanmaması bir hataya yol açacaktır. Bir alan türünü bilmek için lütfen [Graph Explorer](/network/explorer)'a bakın. -- Bir bağımsız değişkene atanan herhangi bir değişken, türüyle eşleşmelidir. -- Belirli bir değişken listesinde, her birinin benzersiz olması gerekir. -- Tanımlanan tüm değişkenler kullanılmalıdır. +- Each `queryName` must only be used once per operation. +- Each `field` must be used only once in a selection (we cannot query `id` twice under `token`) +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). +- Any variable assigned to an argument must match its type. +- In a given list of variables, each of them must be unique. +- All defined variables must be used. -Yukarıdaki kurallara uyulmaması, Graph API'sinden bir hata ile sonuçlanacaktır. +Failing to follow the above rules will end with an error from the Graph API. -Kod örnekleriyle birlikte kuralların tam listesi için lütfen GraphQL validasyonları kılavuzumuza bakın. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). -### Bir GraphQL API'ına Sorgu Gönderme +### Sending a query to a GraphQL API GraphQL, HTTP aracılığıyla aktarım yapan bir dil ve kurallar bütünüdür. @@ -73,10 +73,10 @@ Bu, bir GraphQL API'sini standart `fetch` kullanarak (yerel olarak yada `@whatwg Ancak, ["Bir Uygulamadan Sorgulama"](/querying/querying-from-an-application) bölümünde belirtildiği gibi, aşağıdaki gibi benzersiz özellikleri destekleyen `graph-client`'ımızı kullanmanızı öneririz: -- Zincirler Arası Subgraph İşleme: Tek bir sorguda birden çok subgraph'ten sorgulama -- [Otomatik Blok Takibi](https://github.com/graphprotocol/graph-client/blob/main/packages/block-tracking/README.md) -- [Otomatik Sayfalandırma](https://github.com/graphprotocol/graph-client/blob/main/packages/auto-pagination/README.md) -- Tam olarak yazılan sonuç +- Cross-chain Subgraph Handling: Querying from multiple subgraphs in a single query +- [Automatic Block Tracking](https://github.com/graphprotocol/graph-client/blob/main/packages/block-tracking/README.md) +- [Automatic Pagination](https://github.com/graphprotocol/graph-client/blob/main/packages/auto-pagination/README.md) +- Fully typed result Graph'ı `graph-client` ile nasıl sorgulayacağınız aşağıda açıklanmıştır: @@ -108,9 +108,9 @@ GraphQL sorguları sözdiziminin temel kurallarını ele aldığımıza göre, --- -## GraphQL Sorguları Yazma +## Writing GraphQL queries -### Her zaman statik sorgular yazın +### Always write static queries Yaygın (hatalı) bir yöntem, sorgu dizelerini aşağıdaki gibi dinamik olarak oluşturmaktır: @@ -130,10 +130,10 @@ query GetToken { Yukarıdaki kod parçacığı geçerli bir GraphQL sorgusu oluştursa da, **birçok dezavantajı vardır**: -- sorguyu bir bütün olarak **anlamayı** zorlaştırır -- geliştiriciler **dize enterpolasyonunu güvenli bir şekilde temizlemekten sorumludur** -- değişkenlerin değerlerini istek parametrelerinin bir parçası olarak göndermemek **sunucu tarafında olası önbelleğe almayı önler** -- **araçların sorguyu statik olarak analiz etmesini engeller** (ör. Linter veya tür oluşturma araçları) +- it makes it **harder to understand** the query as a whole +- developers are **responsible for safely sanitizing the string interpolation** +- not sending the values of the variables as part of the request parameters **prevent possible caching on server-side** +- it **prevents tools from statically analyzing the query** (ex: Linter, or type generations tools) Bu nedenle, sorguların her zaman statik dizeler olarak yazılması önerilir: @@ -159,10 +159,10 @@ const result = await execute(query, { Bunu yapmak **birçok avantajı** beraberinde getirir: -- **Okunması ve bakımı kolay** sorgular -- GraphQL **sunucu, değişken temizleme işlemlerini gerçekleştirir** -- **Değişkenler sunucu düzeyinde önbelleğe alınabilir** -- **Sorgular, araçlar tarafından statik olarak analiz edilebilir** (bununla ilgili daha fazla bilgiyi sonraki bölümlerde bulabilirsiniz) +- **Easy to read and maintain** queries +- The GraphQL **server handles variables sanitization** +- **Variables can be cached** at server-level +- **Queries can be statically analyzed by tools** (more on this in the following sections) **Not: Alanları statik sorgulara koşullu olarak dahil etme** @@ -193,7 +193,7 @@ const result = await execute(query, { Not: Zıt direktif `@skip(if: ...)` şeklindedir. -### Performans ipuçları +### Performance tips **"Ne istiyorsanız isteyin"** @@ -281,7 +281,7 @@ const { result: { tokens, counters } } = execute(query) Bu yaklaşım, ağ üzerinde harcanan zamanı azaltarak **genel performansı artıracak** (API'ye gidiş gelişten tasarruf etmenizi sağlar) ve daha **kısa bir uygulama** sağlayacaktır. -### GraphQL Parçalarından Yararlanın +### Leverage GraphQL Fragments GraphQL sorguları yazmak için yararlı bir özellik GraphQL Fragment'tir. @@ -307,8 +307,8 @@ query { Bu tür tekrarlanan alanlar (`id`, `active`, `status`) birçok sorunu beraberinde getirir: -- daha kapsamlı sorgular için okunması daha zordur -- sorgulara dayalı olarak TypeScript türleri oluşturan araçları kullanırken (_son bölümde bundan daha fazlası mevcut_), `newDelegate` ve `oldDelegate`, iki farklı satır içi arabirimle sonuçlanacaktır. +- harder to read for more extensive queries +- when using tools that generate TypeScript types based on queries (_more on that in the last section_), `newDelegate` and `oldDelegate` will result in two distinct inline interfaces. Sorgunun yeniden yapılandırılmış bir versiyonu aşağıdaki gibi olacaktır: @@ -338,7 +338,7 @@ GraphQL `fragment` kullanımı okunabilirliği artıracak (özellikle ölçeklen Tip oluşturma aracı kullanıldığında, yukarıdaki sorgu uygun bir `DelegateItemFragment` tipi oluşturacaktır (_son "Tools" bölümüne göz atın_). -### GraphQL Fragment'te yapılması ve yapılmaması gerekenler +### GraphQL Fragment do's and don'ts **Fragment tabanı bir tip olmalıdır** @@ -389,8 +389,8 @@ GraphQL Fragment kullanımlarına göre tanımlanmalıdır. İşte Fragment kullanımı için temel bir kural: -- aynı türdeki alanlar bir sorguda tekrarlandığında, bunları bir Fragment içinde gruplayın -- benzer ancak aynı olmayan alanlar tekrarlandığında, birden çok parça oluşturun, örneğin: +- when fields of the same type are repeated in a query, group them in a Fragment +- when similar but not the same fields are repeated, create multiple fragments, ex: ```graphql # base fragment (mostly used in listing) @@ -413,13 +413,13 @@ fragment VoteWithPoll on Vote { --- -## Temel Araçlar +## The essential tools -### GraphQL web tabanlı explorer'lar +### GraphQL web-based explorers -Sorguları uygulamanızda çalıştırarak tekrarlamak zahmetli olabilir. Bu nedenle, sorgularınızı uygulamanıza eklemeden önce test etmek için [Graph Gezgini](https://thegraph.com/explorer)'ni kullanmaktan çekinmeyin. Graph Gezgini, sorgularınızı test etmeniz için size önceden yapılandırılmış bir GraphQL test alanı(playground) sağlayacaktır. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -Sorgularınızda hata ayıklamak/test etmek için daha esnek bir yol arıyorsanız, [Altair](https://altair.sirmuel.design/) ve [GraphiQL](https://graphiql-online.com/graphiql) gibi diğer benzer web tabanlı araçlar da kullanılabilir. +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,27 +427,27 @@ Yukarıda belirtilen en iyi uygulamalara ve sözdizimsel kurallara ayak uydurmak **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint), zahmetsiz bir şekilde GraphQL'in en iyi uygulamalarını takip etmenize yardımcı olur. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -["Operations-recommended" yapılandırmasını kurmak](https://github.com/dotansimha/graphql-eslint#available-configs), aşağıdaki gibi temel kuralları uygulayacaktır: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: -- `@graphql-eslint/fields-on-correct-type`: alan uygun bir türde mi kullanılıyor? -- `@graphql-eslint/no-unused variables`: belirli bir değişken kullanılmadan kalmalı mı? -- ve daha fazlası! +- `@graphql-eslint/fields-on-correct-type`: is a field used on a proper type? +- `@graphql-eslint/no-unused variables`: should a given variable stay unused? +- and more! Bu, sorguları öğrenme ortamında **test etmeden** veya üretimde çalıştırmadan bile hataları yakalamanızı sağlayacaktır! -### IDE Eklentileri +### IDE plugins **VSCode ve GraphQL** GraphQL [VSCode uzantısı](https://marketplace.visualstudio.com/items?itemName=GraphQL.vscode-graphql), geliştirme iş akışınız için mükemmel bir eklentidir: -- sözdizimi vurgulama -- otomatik tamamlama önerileri -- şemaya karşı validasyon -- parçacıklar -- fragmanlar ve giriş türleri için tanıma gidin +- syntax highlighting +- autocomplete suggestions +- validation against schema +- snippets +- go to definition for fragments and input types Eğer `graphql-eslint` kullanıyorsanız, [ESLint VSCode uzantısı](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) kodunuzdaki hataları ve uyarıları doğru bir şekilde görselleştirmek için olmazsa olmazdır. @@ -455,9 +455,9 @@ Eğer `graphql-eslint` kullanıyorsanız, [ESLint VSCode uzantısı](https://mar [JS GraphQL eklentisi](https://plugins.jetbrains.com/plugin/8097-graphql/), GraphQL ile çalışırken deneyiminizi önemli ölçüde arttırcaktır: -- sözdizimi vurgulama -- otomatik tamamlama önerileri -- şemaya karşı validasyon -- parçacıklar +- syntax highlighting +- autocomplete suggestions +- validation against schema +- snippets Eklentinin tüm ana özelliklerini gösteren bu [WebStorm makalesinde](https://blog.jetbrains.com/webstorm/2019/04/featured-plugin-js-graphql/) daha fazla bilgi bulabilirsiniz. From 04f4766b46285c55deab98dbddab55486b9288b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:02 -0400 Subject: [PATCH 0564/2326] New translations querying-best-practices.mdx (Ukrainian) --- .../pages/uk/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/uk/querying/querying-best-practices.mdx b/website/pages/uk/querying/querying-best-practices.mdx index 4edc8bebf95a..3c9c4b54d264 100644 --- a/website/pages/uk/querying/querying-best-practices.mdx +++ b/website/pages/uk/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ query [operationName]([variableName]: [variableType]) { - Кожне `queryName` може бути використане лише один раз за одну операцію. - Кожне `field` може бути використане лише один раз за вибірку (ми не можемо запитувати `id` двічі `token`) -- Якийсь `field`s або запити (наприклад `tokens`) повертають складні типи, які вимагають вибору субполя. Не надання вибору, коли це очікується (або надання його, коли цього не очікували, наприклад в `id`) буде видавати помилку. Щоб дізнатися тип поля, будь ласка, зверніться до [The Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Будь-яка змінна, що присвоюється параметру, повинна відповідати його типу. - У заданому списку змінних кожна з них має бути унікальною. - Всі задані змінні повинні бути використаними. Недотримання вищевказаних правил призведе до отримання помилки від Graph API. -Повний список правил з прикладами коду можна знайти в нашому гайді по валідації GraphQL. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Відправлення запиту до GraphQL API @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL web-based explorers -Виконання запитів у вашому додатку може бути трудомістким. Саме тому, не соромтеся використовувати [The Graph Explorer](https://thegraph.com/explorer), щоб протестувати свої запити, перш ніж додавати їх до додатка. The Graph Explorer надасть вам попередньо сконфігурований тестовий простір GraphQL для тестування ваших запитів. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -Якщо ви шукаєте більш гнучкий спосіб для усунення помилок/тестування ваших запитів, можна використати інші подібні веб-інструменти, такі як [Altair](https://altair.sirmuel.design/) і [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ fragment VoteWithPoll on Vote { **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) допоможе вам залишатися в курсі найкращих практик GraphQL без зайвих зусиль. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Налаштування "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) забезпечить виконання важливих правил, таких як: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: чи використовується поле належного типу? - `@graphql-eslint/no-unused variables`: чи повинна дана змінна залишатися невикористаною? From c4b169018fc90c30bc137a9b9c83d8ca7e39fe64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:03 -0400 Subject: [PATCH 0565/2326] New translations querying-best-practices.mdx (Chinese Simplified) --- .../pages/zh/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/zh/querying/querying-best-practices.mdx b/website/pages/zh/querying/querying-best-practices.mdx index fdbc732e5742..1230cdebb70f 100644 --- a/website/pages/zh/querying/querying-best-practices.mdx +++ b/website/pages/zh/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ query [operationName]([variableName]: [variableType]) { - 每个操作只能使用一次 `queryName`。 - 每个`field`在选择中只能使用一次(我们不能在`token`下查询 `id` 两次) -- 某些`field`或查询(如`token`) 返回需要选择子字段的复杂类型。如果在预期的时候没有提供选择(或者在不预期的时候提供选择——例如,在`id` 上) ,将会产生一个错误。要了解字段类型,请参考[Graph浏览器](/network/explorer)。 +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - 分配给参数的任何变量都必须匹配其类型。 - 在给定的变量列表中,每个变量必须是唯一的。 - 必须使用所有已定义的变量。 不遵循上述规则将以 GraphAPI 返回的错误结束。 -有关带有代码示例的规则的完整列表,请参阅我们的 GraphQL 验证指南。 +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### 向 GraphQL API 发送查询 @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL基于web的浏览器 -通过在应用程序中运行查询来迭代查询可能会很麻烦。因此,在将查询添加到应用程序之前,不要犹豫使用[Graph浏览器](https://thegraph.com/explorer)来测试查询。Graph浏览器将为您提供一个预配置的GraphQL控制面板来测试您的查询。 +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -如果您正在寻找一种更灵活的方式来调试/测试查询,可以使用其他类似的基于web的工具,如[Altair](https://altair.sirmuel.design/)和[GraphiQL](https://graphiql-online.com/graphiql)。 +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ fragment VoteWithPoll on Vote { **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint)将帮助您轻松掌握GraphQL最佳实践。 +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[设置“操作建议”](https://github.com/dotansimha/graphql-eslint#available-configs)配置将强制执行基本规则,例如: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: 字段是否用于正确的类型? - `@graphql-eslint/no-unused variables`: 给定的变量是否应该保持未使用状态? From ced411180c7d7e251c839174d12d31ad17a2cbec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:04 -0400 Subject: [PATCH 0566/2326] New translations querying-best-practices.mdx (Urdu (Pakistan)) --- .../ur/querying/querying-best-practices.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ur/querying/querying-best-practices.mdx b/website/pages/ur/querying/querying-best-practices.mdx index 144a23d1f309..c77e78af2491 100644 --- a/website/pages/ur/querying/querying-best-practices.mdx +++ b/website/pages/ur/querying/querying-best-practices.mdx @@ -55,15 +55,15 @@ query [operationName]([variableName]: [variableType]) { اگرچہ نحوی کرنے اور نہ کرنے کی فہرست طویل ہے، لیکن GraphQL کی کیوریز لکھنے کی بات کرتے وقت ذہن میں رکھنے کے لیے ضروری اصول یہ ہیں: - ہر ایک `queryName` کو فی آپریشن صرف ایک بار استعمال کیا جانا چاہیے. -- ہر ایک `field` کو انتخاب میں صرف ایک بار استعمال کیا جانا چاہیے (ہم `token` کے تحت دو بار `id` سے کیوری نہیں کرسکتے ہیں) -- کچھ `field` یا کیوریز (جیسے `tokens`) پیچیدہ قسمیں واپس کرتے ہیں جن کے لیے سب فیلڈ کے انتخاب کی ضرورت ہوتی ہے۔ توقع کے وقت انتخاب فراہم نہ کرنا (یا توقع نہ ہونے پر انتخاب فراہم کرنا - مثال کے طور پر، `id` پر) ایک خرابی پیدا کرے گا۔ فیلڈ کی قسم جاننے کے لیے، براہ کرم [گراف ایکسپلورر](/network/explorer) سے رجوع کریں. +- ہر ایک ` field ` کو انتخاب میں صرف ایک بار استعمال کیا جانا چاہیے (ہم `token` کے تحت دو بار `id` سے کیوری نہیں کرسکتے ہیں) +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - کسی دلیل کو تفویض کردہ کوئی بھی متغیر اس کی قسم سے مماثل ہونا چاہیے. - متغیرات کی دی گئی فہرست میں، ان میں سے ہر ایک منفرد ہونا چاہیے. - تمام متعین متغیرات کو استعمال کیا جانا چاہیے. مندرجہ بالا قواعد کی پیروی کرنے میں ناکامی گراف API کی غلطی کے ساتھ ختم ہو جائے گی. -کوڈ کی مثالوں کے ساتھ قواعد کی مکمل فہرست کے لیے، براہ کرم ہمارے GraphQL کی توثیق گائیڈ دیکھیں. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### GraphQL API کو ایک کیوری بھیجنا @@ -166,7 +166,7 @@ const result = await execute(query, { **نوٹ: جامد کیوریز میں فیلڈز کو مشروط طور پر کیسے شامل کیا جائے** -ہم صرف ایک خاص شرط پر `owner` فیلڈ کو شامل کرنا چاہتے ہیں. +ہم صرف ایک خاص شرط پر ` owner ` فیلڈ کو شامل کرنا چاہتے ہیں. اس کے لیے، ہم ذیل میں `@include(if:...)` ہدایت کا فائدہ اٹھا سکتے ہیں: @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL ویب پر مبنی ایکسپلوررز -کیوریز کو اپنی درخواست میں چلا کر ان پر تکرار کرنا بوجھل ہو سکتا ہے۔ اس وجہ سے، اپنی درخواست میں شامل کرنے سے پہلے اپنے کیوریز کو جانچنے کے لیے [گراف ایکسپلورر](https://thegraph.com/explorer) کا استعمال کرنے میں ہچکچاہٹ محسوس نہ کریں۔ گراف ایکسپلورر آپ کے کیوریز کو جانچنے کے لیے آپ کو پہلے سے ترتیب شدہ GraphQL پلے گراؤنڈ فراہم کرے گا. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -اگر آپ اپنے سوالات کو ڈیبگ/ٹیسٹ کرنے کے لیے مزید لچکدار طریقہ تلاش کر رہے ہیں، تو اسی طرح کے دیگر ویب پر مبنی ٹولز دستیاب ہیں جیسے کہ [Altair](https://altair.sirmuel.design/) اور [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL لنٹنگ @@ -427,9 +427,9 @@ fragment VoteWithPoll on Vote { **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) صفر کی کوشش کے ساتھ GraphQL کے بہترین طریقوں میں سرفہرست رہنے میں آپ کی مدد کرے گا. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -["operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) کو ترتیب دینا ضروری اصولوں کو نافذ کرے گا جیسے: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: کیا فیلڈ ایک مناسب ٹائپ پر استعمال ہوتی ہے؟ - `@graphql-eslint/no-unused variables`: کیا دیئے گئے متغیر کو غیر استعمال شدہ رہنا چاہئے؟ From 0a37a1da78907f1ca69a6a908752821394f80492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:05 -0400 Subject: [PATCH 0567/2326] New translations querying-best-practices.mdx (Vietnamese) --- .../pages/vi/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/vi/querying/querying-best-practices.mdx b/website/pages/vi/querying/querying-best-practices.mdx index 98c0ffb72c61..18a51701045d 100644 --- a/website/pages/vi/querying/querying-best-practices.mdx +++ b/website/pages/vi/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ While the list of syntactic do's and don'ts is long, here are the essential rule - Each `queryName` must only be used once per operation. - Each `field` must be used only once in a selection (we cannot query `id` twice under `token`) -- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [The Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Any variable assigned to an argument must match its type. - In a given list of variables, each of them must be unique. - All defined variables must be used. Failing to follow the above rules will end with an error from the Graph API. -For a complete list of rules with code examples, please look at our GraphQL Validations guide. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Sending a query to a GraphQL API @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL web-based explorers -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ In order to keep up with the mentioned above best practices and syntactic rules, **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: is a field used on a proper type? - `@graphql-eslint/no-unused variables`: should a given variable stay unused? From 0ce8322cdabb3fda341e769a2e05b4ace126a164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:06 -0400 Subject: [PATCH 0568/2326] New translations querying-best-practices.mdx (Marathi) --- .../pages/mr/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/mr/querying/querying-best-practices.mdx b/website/pages/mr/querying/querying-best-practices.mdx index 5932a55da27e..c04983b250d6 100644 --- a/website/pages/mr/querying/querying-best-practices.mdx +++ b/website/pages/mr/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ query [operationName]([variableName]: [variableType]) { - Each `queryName` must only be used once per operation. - Each `field` must be used only once in a selection (we cannot query `id` twice under `token`) -- काही `फील्ड` किंवा क्वेरी (जसे की `टोकन्स`) जटिल प्रकार देतात ज्यांना उप-फील्डची निवड आवश्यक असते. अपेक्षित असताना निवड प्रदान न केल्याने (किंवा अपेक्षित नसताना एक प्रदान करणे - उदाहरणार्थ, `id` वर) त्रुटी वाढवेल. फील्ड प्रकार जाणून घेण्यासाठी, कृपया [द ग्राफ एक्सप्लोरर](/network/explorer) पहा. +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Any variable assigned to an argument must match its type. - In a given list of variables, each of them must be unique. - All defined variables must be used. Failing to follow the above rules will end with an error from the Graph API. -For a complete list of rules with code examples, please look at our GraphQL Validations guide. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Sending a query to a GraphQL API @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL web-based explorers -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ In order to keep up with the mentioned above best practices and syntactic rules, **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: is a field used on a proper type? - `@graphql-eslint/no-unused variables`: should a given variable stay unused? From 9c99260c6c944d78e4ec4a1740941bfffc8235ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:07 -0400 Subject: [PATCH 0569/2326] New translations querying-best-practices.mdx (Hindi) --- .../pages/hi/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/hi/querying/querying-best-practices.mdx b/website/pages/hi/querying/querying-best-practices.mdx index 92adba22325e..b18a8f5e3740 100644 --- a/website/pages/hi/querying/querying-best-practices.mdx +++ b/website/pages/hi/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ query [operationName]([variableName]: [variableType]) { - प्रत्येक `क्वेरीनाम` का उपयोग प्रति ऑपरेशन केवल एक बार किया जाना चाहिए। - प्रत्येक `फ़ील्ड` का चयन में केवल एक बार उपयोग किया जाना चाहिए (हम `आईडी` को `टोकन` के अंतर्गत दो बार क्वेरी नहीं कर सकते हैं) -- कुछ `फ़ील्ड`एस या क्वेरीज़ (जैसे `टोकन`) जटिल प्रकार लौटाते हैं जिन्हें उप-फ़ील्ड के चयन की आवश्यकता होती है। अपेक्षित होने पर चयन प्रदान नहीं करना (या अपेक्षा न होने पर चयन प्रदान करना - उदाहरण के लिए, `id` पर) एक त्रुटि उत्पन्न करेगा। किसी फ़ील्ड प्रकार को जानने के लिए, कृपया [द ग्राफ़ एक्सप्लोरर](/network/explorer) देखें। +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - किसी तर्क को असाइन किया गया कोई भी चर उसके प्रकार से मेल खाना चाहिए। - चरों की दी गई सूची में, उनमें से प्रत्येक अद्वितीय होना चाहिए। - सभी परिभाषित चर का उपयोग किया जाना चाहिए। उपरोक्त नियमों का पालन करने में विफल रहने पर ग्राफ़ एपीआई की त्रुटि समाप्त हो जाएगी। -कोड उदाहरणों के साथ नियमों की पूरी सूची के लिए, कृपया हमारे ग्राफक्यूएल सत्यापन गाइड को देखें। +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### एक ग्राफ़क्यूएल एपीआई के लिए एक प्रश्न भेजना @@ -415,9 +415,9 @@ fragment VoteWithPoll on Vote { ### ग्राफक्यूएल वेब-आधारित खोजकर्ता -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### ग्राफक्यूएल लाइनिंग @@ -425,9 +425,9 @@ In order to keep up with the mentioned above best practices and syntactic rules, **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: क्या फ़ील्ड उचित प्रकार पर उपयोग की जाती है? - `@graphql-eslint/no-unused वेरिएबल्स`: क्या एक दिया गया वेरिएबल अप्रयुक्त रहना चाहिए? From 16c2b2c509a899ea89b5096f875cfb6fe1b2b078 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:08 -0400 Subject: [PATCH 0570/2326] New translations querying-best-practices.mdx (Yoruba) --- .../pages/yo/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/yo/querying/querying-best-practices.mdx b/website/pages/yo/querying/querying-best-practices.mdx index 98c0ffb72c61..18a51701045d 100644 --- a/website/pages/yo/querying/querying-best-practices.mdx +++ b/website/pages/yo/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ While the list of syntactic do's and don'ts is long, here are the essential rule - Each `queryName` must only be used once per operation. - Each `field` must be used only once in a selection (we cannot query `id` twice under `token`) -- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [The Graph Explorer](/network/explorer). +- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). - Any variable assigned to an argument must match its type. - In a given list of variables, each of them must be unique. - All defined variables must be used. Failing to follow the above rules will end with an error from the Graph API. -For a complete list of rules with code examples, please look at our GraphQL Validations guide. +For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). ### Sending a query to a GraphQL API @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### GraphQL web-based explorers -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [The Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. The Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altair.sirmuel.design/) and [GraphiQL](https://graphiql-online.com/graphiql). +If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ In order to keep up with the mentioned above best practices and syntactic rules, **GraphQL ESLint** -[GraphQL ESLint](https://github.com/dotansimha/graphql-eslint) will help you stay on top of GraphQL best practices with zero effort. +[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. -[Setup the "operations-recommended"](https://github.com/dotansimha/graphql-eslint#available-configs) config will enforce essential rules such as: +[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: - `@graphql-eslint/fields-on-correct-type`: is a field used on a proper type? - `@graphql-eslint/no-unused variables`: should a given variable stay unused? From dffc7e0b05220b77e73f463ac046e4541b894232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:09 -0400 Subject: [PATCH 0571/2326] New translations querying-from-an-application.mdx (Romanian) --- website/pages/ro/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ro/querying/querying-from-an-application.mdx b/website/pages/ro/querying/querying-from-an-application.mdx index 30b6c2264d64..84c489360087 100644 --- a/website/pages/ro/querying/querying-from-an-application.mdx +++ b/website/pages/ro/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Querying from an Application --- -Once a subgraph is deployed to the Subgraph Studio or to The Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (testing endpoint)** From 5e7f303b86fa1a64fd0f9f7853829b92d8784aa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:10 -0400 Subject: [PATCH 0572/2326] New translations querying-from-an-application.mdx (French) --- website/pages/fr/querying/querying-from-an-application.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/fr/querying/querying-from-an-application.mdx b/website/pages/fr/querying/querying-from-an-application.mdx index 6dc4de761da3..d469aa5124fe 100644 --- a/website/pages/fr/querying/querying-from-an-application.mdx +++ b/website/pages/fr/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Interrogation à partir d'une application --- -Une fois qu'un subgraph est déployé dans Subgraph Studio ou dans The Graph Explorer, vous recevrez le point de terminaison de votre API GraphQL qui devrait ressembler à ceci : +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (point de terminaison de test)** @@ -37,7 +37,7 @@ The Graph fournit son propre client GraphQL, `graph-client` qui prend en charge Voyons comment récupérer les données d'un subgraph avec `graphql-client`. -Pour commencer, assurez-vous d'installer le CLI de The Graph client dans votre projet: +Pour commencer, assurez-vous d'installer le CLI du graph client dans votre projet: ```sh yarn add -D @graphprotocol/client-cli @@ -138,7 +138,7 @@ function App() { Cependant, si vous choisissez d'utiliser un autre client, gardez à l'esprit que **vous ne pourrez pas utiliser la gestion des subgraphs inter-chaînes ou la pagination automatique, qui sont des fonctionnalités essentielles pour les requêtes. Le graph**. -### Apollo client +### Le client Apollo Le [Client Apollo](https://www.apollographql.com/docs/) est le client GraphQL omniprésent dans l'écosystème front-end. From 2f116a2c664204b0cdf370b454aa31f9c213c0a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:11 -0400 Subject: [PATCH 0573/2326] New translations querying-from-an-application.mdx (Spanish) --- website/pages/es/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/es/querying/querying-from-an-application.mdx b/website/pages/es/querying/querying-from-an-application.mdx index c8f2a005965e..7a23241a3451 100644 --- a/website/pages/es/querying/querying-from-an-application.mdx +++ b/website/pages/es/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Consultar desde una Aplicación --- -Una vez que se realiza el deploy de un subgrafo en Subgraph Studio o en The Graph Explorer, te darán el endpoint para su API GraphQL que debería ser algo así: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (endpoint de prueba)** From 095093454447f5c8769d88549a2e5735a35e3fa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:12 -0400 Subject: [PATCH 0574/2326] New translations querying-from-an-application.mdx (Arabic) --- website/pages/ar/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ar/querying/querying-from-an-application.mdx b/website/pages/ar/querying/querying-from-an-application.mdx index e49aed0e787b..e415babb3be5 100644 --- a/website/pages/ar/querying/querying-from-an-application.mdx +++ b/website/pages/ar/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: الاستعلام من التطبيق --- -Once a subgraph is deployed to the Subgraph Studio or to The Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (اختبار endpoint)** From f34cddf59d38965bcd93786b0edf3b5269c2fa50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:13 -0400 Subject: [PATCH 0575/2326] New translations querying-from-an-application.mdx (Czech) --- .../querying/querying-from-an-application.mdx | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/cs/querying/querying-from-an-application.mdx b/website/pages/cs/querying/querying-from-an-application.mdx index 9e15c2409837..89f7bbab0067 100644 --- a/website/pages/cs/querying/querying-from-an-application.mdx +++ b/website/pages/cs/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Dotazování z aplikace --- -Po nasazení podgrafu do podgraf Studio nebo do Průzkumníka grafů se zobrazí koncový bod GraphQL API, který by měl vypadat následovně: +Po nasazení podgrafu do aplikace Podgraf Studio nebo Graf Explorer se zobrazí koncový bod GraphQL API, který by měl vypadat takto: **Podgraf Studio (testovací koncový bod)** @@ -160,7 +160,7 @@ Nejprve nainstalujte `@apollo/client` a `graphql`: npm install @apollo/client graphql ``` -Then you can query the API with the following code: +Pak se můžete dotazovat API pomocí následujícího kódu: ```javascript import { ApolloClient, InMemoryCache, gql } from '@apollo/client' @@ -193,7 +193,7 @@ client }) ``` -To use variables, you can pass in a `variables` argument to the query: +Chcete-li použít proměnné, můžete dotazu předat argument `variables`: ```javascript const tokensQuery = ` @@ -226,22 +226,22 @@ client ### URQL -Another option is [URQL](https://formidable.com/open-source/urql/) which is available within Node.js, React/Preact, Vue, and Svelte environments, with more advanced features: +Další možností je [URQL](https://formidable.com/open-source/urql/), která je k dispozici v prostředích Node.js, React/Preact, Vue a Svelte a má pokročilejší funkce: -- Flexible cache system -- Extensible design (easing adding new capabilities on top of it) -- Lightweight bundle (~5x lighter than Apollo Client) -- Support for file uploads and offline mode +- Flexibilní systém mezipaměti +- Rozšiřitelný design (usnadňuje přidávání nových funkcí) +- Lehký svazek (~5x lehčí než Apollo Client) +- Podpora nahrávání souborů a režimu offline -Let's look at how to fetch data from a subgraph with URQL in a web project. +Podívejme se, jak načíst data z podgrafu pomocí jazyka URQL ve web projektu. -First, install `urql` and `graphql`: +Nejprve nainstalujte `urql` a `graphql`: ```sh npm install urql graphql ``` -Then you can query the API with the following code: +Pak se můžete dotazovat API pomocí následujícího kódu: ```javascript import { createClient } from 'urql' From 56ef6309b7bad9ea995d04bf2f8c1c399b38d375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:13 -0400 Subject: [PATCH 0576/2326] New translations querying-from-an-application.mdx (German) --- website/pages/de/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/querying/querying-from-an-application.mdx b/website/pages/de/querying/querying-from-an-application.mdx index 30b6c2264d64..84c489360087 100644 --- a/website/pages/de/querying/querying-from-an-application.mdx +++ b/website/pages/de/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Querying from an Application --- -Once a subgraph is deployed to the Subgraph Studio or to The Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (testing endpoint)** From 9d30cb14a4a3407e19d9738c38d67361575ea91a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:15 -0400 Subject: [PATCH 0577/2326] New translations querying-from-an-application.mdx (Italian) --- website/pages/it/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/it/querying/querying-from-an-application.mdx b/website/pages/it/querying/querying-from-an-application.mdx index fc10e7ce544a..46116b99cfc8 100644 --- a/website/pages/it/querying/querying-from-an-application.mdx +++ b/website/pages/it/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Eseguire una query da un'applicazione --- -Una volta che un subgraph è stato distribuito in Subgraph Studio o in The Graph Explorer, verrà fornito l'endpoint per l'API GraphQL, che dovrebbe avere un aspetto simile a questo: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (endpoint di test)** From ff867d0ddc3df3960b18a67a941c27f03b94be65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:15 -0400 Subject: [PATCH 0578/2326] New translations querying-from-an-application.mdx (Japanese) --- website/pages/ja/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ja/querying/querying-from-an-application.mdx b/website/pages/ja/querying/querying-from-an-application.mdx index 500df957a1b6..d0a76e24847e 100644 --- a/website/pages/ja/querying/querying-from-an-application.mdx +++ b/website/pages/ja/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: アプリケーションからのクエリ --- -サブグラフが Subgraph Studio または Graph Explorer にデプロイされると、GraphQL API のエンドポイントが与えられ、以下のような形になります。 +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (テスト用エンドポイント)** From c9ff3810909e17a0a3eeb6fceaad82e372b70e8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:16 -0400 Subject: [PATCH 0579/2326] New translations querying-from-an-application.mdx (Korean) --- website/pages/ko/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ko/querying/querying-from-an-application.mdx b/website/pages/ko/querying/querying-from-an-application.mdx index 30b6c2264d64..84c489360087 100644 --- a/website/pages/ko/querying/querying-from-an-application.mdx +++ b/website/pages/ko/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Querying from an Application --- -Once a subgraph is deployed to the Subgraph Studio or to The Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (testing endpoint)** From 3f0fdc7bc925f71160e98c02263fa28d62a4a8fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:17 -0400 Subject: [PATCH 0580/2326] New translations querying-from-an-application.mdx (Dutch) --- website/pages/nl/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/nl/querying/querying-from-an-application.mdx b/website/pages/nl/querying/querying-from-an-application.mdx index 9b1f6be741c7..b58a928084c3 100644 --- a/website/pages/nl/querying/querying-from-an-application.mdx +++ b/website/pages/nl/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Querying from an Application --- -Once a subgraph is deployed to the Subgraph Studio or to The Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (testing endpoint)** From 3bce43b73ceb29e738b1330df7f81149f10b9074 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:18 -0400 Subject: [PATCH 0581/2326] New translations querying-from-an-application.mdx (Polish) --- website/pages/pl/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pl/querying/querying-from-an-application.mdx b/website/pages/pl/querying/querying-from-an-application.mdx index 30b6c2264d64..84c489360087 100644 --- a/website/pages/pl/querying/querying-from-an-application.mdx +++ b/website/pages/pl/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Querying from an Application --- -Once a subgraph is deployed to the Subgraph Studio or to The Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (testing endpoint)** From b8707d2a4c3004be605aaef4b73d705b35342d5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:19 -0400 Subject: [PATCH 0582/2326] New translations querying-from-an-application.mdx (Portuguese) --- website/pages/pt/querying/querying-from-an-application.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/querying/querying-from-an-application.mdx b/website/pages/pt/querying/querying-from-an-application.mdx index de13777f23d5..07fc6c669686 100644 --- a/website/pages/pt/querying/querying-from-an-application.mdx +++ b/website/pages/pt/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Como Fazer Queries de um Aplicativo --- -Quando um subgraph for lançado ao Subgraph Studio ou ao Graph Explorer, receberá o endpoint para a sua API GraphQL, que deve parecer com isto: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (endpoint de teste)** @@ -102,7 +102,7 @@ Finalmente, atualize o seu arquivo `.ts` para usar os documentos digitados em Gr import React, { useEffect } from 'react' // ... // nós importamos tipos e documentos em graphql do código gerado -;`..graphclient/` +(`..graphclient/`) import { ExampleQueryDocument, ExampleQueryQuery, execute } from '../.graphclient' function App() { From e0d4d5804c42de47987893b668761525de374efe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:20 -0400 Subject: [PATCH 0583/2326] New translations querying-from-an-application.mdx (Russian) --- website/pages/ru/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ru/querying/querying-from-an-application.mdx b/website/pages/ru/querying/querying-from-an-application.mdx index 30b6c2264d64..84c489360087 100644 --- a/website/pages/ru/querying/querying-from-an-application.mdx +++ b/website/pages/ru/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Querying from an Application --- -Once a subgraph is deployed to the Subgraph Studio or to The Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (testing endpoint)** From 3f4a587eb3985ffdd7b0b0019a3ff0d5f71e3661 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:21 -0400 Subject: [PATCH 0584/2326] New translations querying-from-an-application.mdx (Swedish) --- .../querying/querying-from-an-application.mdx | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/sv/querying/querying-from-an-application.mdx b/website/pages/sv/querying/querying-from-an-application.mdx index b25e2b3868c0..5e702ea21d7f 100644 --- a/website/pages/sv/querying/querying-from-an-application.mdx +++ b/website/pages/sv/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Att göra förfrågningar från en Applikation --- -När en undergraf har distribuerats till Subgraph Studio eller till The Graph Explorer, kommer du att få slutpunkten för din GraphQL API som bör se ut något liknande detta: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (testslutpunkt)** @@ -163,9 +163,9 @@ npm install @apollo/client graphql Sedan kan du göra en förfrågan till API:et med följande kod: ```javascript -import { ApolloClient, InMemoryCache, gql } from '@apollo/client' +import { ApolloClient, InMemoryCache, gql } from "@apollo/client"; -const APIURL = 'https://api.studio.thegraph.com/query///' +const APIURL = "https://api.studio.thegraph.com/query///"; const tokensQuery = ` query { @@ -176,20 +176,20 @@ const tokensQuery = ` metadataURI } } -` +`; const client = new ApolloClient({ uri: APIURL, cache: new InMemoryCache(), -}) +}); client .query({ query: gql(tokensQuery), }) - .then((data) => console.log('Subgraph data: ', data)) + .then((data) => console.log("Subgraph data: ", data)) .catch((err) => { - console.log('Error fetching data: ', err) + console.log("Error fetching data: ", err); }) ``` @@ -207,20 +207,20 @@ const tokensQuery = ` metadataURI } } -` +`; client .query({ query: gql(tokensQuery), variables: { first: 10, - orderBy: 'createdAtTimestamp', - orderDirection: 'desc', + orderBy: "createdAtTimestamp", + orderDirection: "desc", }, }) - .then((data) => console.log('Subgraph data: ', data)) + .then((data) => console.log("Subgraph data: ", data)) .catch((err) => { - console.log('Error fetching data: ', err) + console.log("Error fetching data: ", err); }) ``` @@ -244,9 +244,9 @@ npm install urql graphql Sedan kan du göra en förfrågan till API:et med följande kod: ```javascript -import { createClient } from 'urql' +import { createClient } from "urql"; -const APIURL = 'https://api.thegraph.com/subgraphs/name/username/subgraphname' +const APIURL = "https://api.thegraph.com/subgraphs/name/username/subgraphname"; const tokensQuery = ` query { @@ -257,11 +257,11 @@ const tokensQuery = ` metadataURI } } -` +`; const client = createClient({ url: APIURL, -}) +}); const data = await client.query(tokensQuery).toPromise() ``` From a8ebbe678dff837a6f5e56d7101d96b4e2f7913b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:22 -0400 Subject: [PATCH 0585/2326] New translations querying-from-an-application.mdx (Turkish) --- .../querying/querying-from-an-application.mdx | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/website/pages/tr/querying/querying-from-an-application.mdx b/website/pages/tr/querying/querying-from-an-application.mdx index 8e4d012f63b0..5b0c2bb4de44 100644 --- a/website/pages/tr/querying/querying-from-an-application.mdx +++ b/website/pages/tr/querying/querying-from-an-application.mdx @@ -1,10 +1,10 @@ --- -title: Bir Uygulamadan Sorgulama +title: Querying from an Application --- -Subgraph Stüdyo'ya veya Graph Gezgini'ne bir subgraph deploy edildiğinde, size GraphQL API'ınız için şuna benzer bir uç nokta verilecektir: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: -**Subgraph Stüdyo (test bitiş noktası)** +**Subgraph Studio (testing endpoint)** ```sh Queries (HTTP) @@ -18,20 +18,20 @@ Queries (HTTP) https://gateway.thegraph.com/api//subgraphs/id/ ``` -GraphQL uç noktasını kullanarak, subgraph'i sorgulamak ve uygulamanızı subgraph tarafından indekslenen verilerle doldurmak için çeşitli GraphQL istemci kitaplıklarını kullanabilirsiniz. +Using the GraphQL endpoint, you can use various GraphQL Client libraries to query the subgraph and populate your app with the data indexed by the subgraph. -İşte ekosistemdeki daha popüler birkaç GraphQL istemcisi ve bunların nasıl kullanılacağı: +Here are a couple of the more popular GraphQL clients in the ecosystem and how to use them: -## GraphQL istemcileri +## GraphQL clients -### Graph istemcisi +### Graph client -Graph, aşağıdakiler gibi benzersiz özellikleri destekleyen kendi GraphQL istemcisi `graph-client`'i sağlamaktadır: +The Graph is providing it own GraphQL client, `graph-client` that supports unique features such as: -- Zincirler Arası Subgraph İşleme: Tek bir sorguda birden çok subgraph'ten sorgulama -- [Otomatik Blok Takibi](https://github.com/graphprotocol/graph-client/blob/main/packages/block-tracking/README.md) -- [Otomatik Sayfalandırma](https://github.com/graphprotocol/graph-client/blob/main/packages/auto-pagination/README.md) -- Tam olarak yazılan sonuç +- Cross-chain Subgraph Handling: Querying from multiple subgraphs in a single query +- [Automatic Block Tracking](https://github.com/graphprotocol/graph-client/blob/main/packages/block-tracking/README.md) +- [Automatic Pagination](https://github.com/graphprotocol/graph-client/blob/main/packages/auto-pagination/README.md) +- Fully typed result Ayrıca Apollo ve URQL gibi popüler GraphQL istemcileriyle entegre edilmiş ve React, Angular, Node.js, React Native gibi tüm ortamlarla uyumlu olan `graph-client`'ı kullanmak, Graph ile etkileşimde bulunmanız için en iyi deneyimi sunacaktır. @@ -140,17 +140,17 @@ export default App Ancak, başka bir istemci kullanmayı tercih ederseniz, **Graph'ı sorgulamak için temel özellikler olan Zincirler Arası Subgraph İşleme veya Otomatik Sayfalandırma özelliklerini kullanamayacağınızı** unutmayın. -### Apollo istemcisi +### Apollo client [Apollo istemcisi](https://www.apollographql.com/docs/), önyüz ekosisteminde her yerde bulunan GraphQL istemcisidir. React, Angular, Vue, Ember, iOS ve Android için kullanılabilir olan Apollo İstemcisi, en ağır istemci olmasına rağmen, GraphQL üzerine gelişmiş arayüzler geliştirmek için birçok özellik sunar: -- gelişmiş hata işleme -- sayfalandırma -- veri ön getirme -- iyimser kullanıcı arayüzü -- yerel mevki yönetimi +- advanced error handling +- pagination +- data prefetching +- optimistic UI +- local state management Bir web projesinde Apollo istemcisi ile bir subgraph'tan nasıl veri çekileceğine bakalım. @@ -160,7 +160,7 @@ Bir web projesinde Apollo istemcisi ile bir subgraph'tan nasıl veri çekileceğ npm install @apollo/client graphql ``` -Ardından API'ı aşağıdaki kodla sorgulayabilirsiniz: +Then you can query the API with the following code: ```javascript import { ApolloClient, InMemoryCache, gql } from '@apollo/client' @@ -228,10 +228,10 @@ client Diğer bir seçenek ise Node.js, React/Preact, Vue ve Svelte ortamlarında kullanılabilen ve daha gelişmiş özelliklere sahip [URQL](https://formidable.com/open-source/urql/)'dir: -- Esnek önbellek sistemi -- Genişletilebilir tasarım (üzerine yeni yetenekler eklemeyi kolaylaştırır) -- Hafif paket (Apollo İstemcisinden ~5 kat daha hafif) -- Dosya yükleme ve çevrimdışı mod desteği +- Flexible cache system +- Extensible design (easing adding new capabilities on top of it) +- Lightweight bundle (~5x lighter than Apollo Client) +- Support for file uploads and offline mode Bir web projesinde URQL ile bir subgraph'tan nasıl veri çekileceğne bakalım. @@ -241,7 +241,7 @@ Bir web projesinde URQL ile bir subgraph'tan nasıl veri çekileceğne bakalım. npm install urql graphql ``` -Ardından API'ı aşağıdaki kodla sorgulayabilirsiniz: +Then you can query the API with the following code: ```javascript import { createClient } from 'urql' From 7939fa7994881496c2433f853a68d8ae2f8bf943 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:23 -0400 Subject: [PATCH 0586/2326] New translations querying-from-an-application.mdx (Ukrainian) --- website/pages/uk/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/uk/querying/querying-from-an-application.mdx b/website/pages/uk/querying/querying-from-an-application.mdx index 90e71e286935..790a9aeb183d 100644 --- a/website/pages/uk/querying/querying-from-an-application.mdx +++ b/website/pages/uk/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Отримання запиту з додатка --- -Після розгортання підграфа у Subgraph Studio або The Graph Explorer, ви отримаєте кінцеву точку для вашого GraphQL API, яка має виглядати приблизно так: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (тестування кінцевої точки)** From dbb946f4ebb0fb0f7f12ca7b87deae69a61bb384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:24 -0400 Subject: [PATCH 0587/2326] New translations querying-from-an-application.mdx (Chinese Simplified) --- website/pages/zh/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/zh/querying/querying-from-an-application.mdx b/website/pages/zh/querying/querying-from-an-application.mdx index a1dc6a802995..1ae178eb6137 100644 --- a/website/pages/zh/querying/querying-from-an-application.mdx +++ b/website/pages/zh/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: 从应用程序中进行查询 --- -一旦子图被部署到子图工作室或 Graph浏览器,你将得到 GraphQL API 的端点,它应该看起来像这样: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **子图工作室(测试端点)** From edf4e6dbb7d75374263ce55d907c4453de7e1980 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:25 -0400 Subject: [PATCH 0588/2326] New translations querying-from-an-application.mdx (Urdu (Pakistan)) --- website/pages/ur/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ur/querying/querying-from-an-application.mdx b/website/pages/ur/querying/querying-from-an-application.mdx index 6c71ca139ac0..833f78775679 100644 --- a/website/pages/ur/querying/querying-from-an-application.mdx +++ b/website/pages/ur/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: ایپلیکیشن سے کیوری --- -ایک بار سب گراف کو سب گراف اسٹوڈیو یا گراف ایکسپلورر میں تعینات کیا جاتا ہے، آپ کو اپنے GraphQL API کے لیے اینڈ پوائنٹ دیا جائے گا جو کچھ اس طرح نظر آنا چاہیے: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **سب گراف اسٹوڈیو (ٹیسٹنگ اینڈ پوائنٹ)** From 9e545d7f4e09ea9247213e65e6d036ea4687bde6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:26 -0400 Subject: [PATCH 0589/2326] New translations querying-from-an-application.mdx (Vietnamese) --- website/pages/vi/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/vi/querying/querying-from-an-application.mdx b/website/pages/vi/querying/querying-from-an-application.mdx index a9be2793e8b8..b4d1c351093b 100644 --- a/website/pages/vi/querying/querying-from-an-application.mdx +++ b/website/pages/vi/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Truy vấn từ một ứng dụng --- -Once a subgraph is deployed to the Subgraph Studio or to The Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (điểm cuối thử nghiệm)** From 6f043fbf419c0d8a7e33a4ef4fcd6a51499d5896 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:27 -0400 Subject: [PATCH 0590/2326] New translations querying-from-an-application.mdx (Marathi) --- website/pages/mr/querying/querying-from-an-application.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/mr/querying/querying-from-an-application.mdx b/website/pages/mr/querying/querying-from-an-application.mdx index 406fdbce5b38..2a9300bc31c2 100644 --- a/website/pages/mr/querying/querying-from-an-application.mdx +++ b/website/pages/mr/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Querying from an Application --- -एकदा सबग्राफ स्टुडिओ किंवा ग्राफ एक्सप्लोररमध्ये सबग्राफ उपयोजित केल्यावर, तुम्हाला तुमच्या ग्राफक्यूएल API साठी एंडपॉइंट दिला जाईल जो असे काहीतरी दिसला पाहिजे: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (testing endpoint)** @@ -11,7 +11,7 @@ Queries (HTTP) https://api.studio.thegraph.com/query/// ``` -**आलेख एक्सप्लोरर** +**Graph Explorer** ```sh Queries (HTTP) From f02c813b4046b1844898a490ba1663b57836ce8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:27 -0400 Subject: [PATCH 0591/2326] New translations querying-from-an-application.mdx (Hindi) --- website/pages/hi/querying/querying-from-an-application.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/hi/querying/querying-from-an-application.mdx b/website/pages/hi/querying/querying-from-an-application.mdx index f31dc55bce68..ca17bd01c802 100644 --- a/website/pages/hi/querying/querying-from-an-application.mdx +++ b/website/pages/hi/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: एक एप्लिकेशन से क्वेरी करना --- -एक बार एक सबग्राफ को सबग्राफ स्टूडियो या द ग्राफ एक्सप्लोरर में तैनात कर दिया जाता है, तो आपको अपने ग्राफक्यूएल एपीआई के लिए समापन बिंदु दिया जाएगा जो कुछ इस तरह दिखना चाहिए: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **सबग्राफ स्टूडियो (परीक्षण समापन बिंदु)** @@ -11,7 +11,7 @@ Queries (HTTP) https://api.studio.thegraph.com/query/// ``` -**ग्राफ एक्सप्लोरर** +**Graph Explorer** ```sh Queries (HTTP) From 1524a5b9f303453951496a6c9da5f07641b36708 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:28 -0400 Subject: [PATCH 0592/2326] New translations querying-from-an-application.mdx (Yoruba) --- website/pages/yo/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/yo/querying/querying-from-an-application.mdx b/website/pages/yo/querying/querying-from-an-application.mdx index 30b6c2264d64..84c489360087 100644 --- a/website/pages/yo/querying/querying-from-an-application.mdx +++ b/website/pages/yo/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Querying from an Application --- -Once a subgraph is deployed to the Subgraph Studio or to The Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: +Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: **Subgraph Studio (testing endpoint)** From 09412a4ab7c3ce278985336a4a8b17f67cc36109 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:29 -0400 Subject: [PATCH 0593/2326] New translations querying-the-graph.mdx (Romanian) --- .../pages/ro/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/ro/querying/querying-the-graph.mdx b/website/pages/ro/querying/querying-the-graph.mdx index af9dcaaf2477..69ec08adcd02 100644 --- a/website/pages/ro/querying/querying-the-graph.mdx +++ b/website/pages/ro/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Querying The Graph --- -With the subgraph deployed, visit the [Graph Explorer](https://thegraph.com/explorer) to open up a [GraphiQL](https://github.com/graphql/graphiql) interface where you can explore the deployed GraphQL API for the subgraph by issuing queries and viewing the schema. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -An example is provided below, but please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Example - -This query lists all the counters our mapping has created. Since we only create one, the result will only contain our one `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Using The Graph Explorer - -Each subgraph published to the decentralized Graph Explorer has a unique query URL that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. This will open a side pane that will give you the unique query URL of the subgraph as well as some instructions about how to query it. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) -As you can notice, this query URL must use a unique API key. You can create and manage your API keys in the [Subgraph Studio](https://thegraph.com/studio) in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Querying subgraphs using your API keys will generate query fees that will be paid in GRT. You can learn more about billing [here](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -You can also use the GraphQL playground in the "Playground" tab to query a subgraph within The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From d0590b9e8a9902597d0affc189bce70e64268519 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:30 -0400 Subject: [PATCH 0594/2326] New translations querying-the-graph.mdx (French) --- .../pages/fr/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/fr/querying/querying-the-graph.mdx b/website/pages/fr/querying/querying-the-graph.mdx index 61c24831e1fd..c286fd3463c6 100644 --- a/website/pages/fr/querying/querying-the-graph.mdx +++ b/website/pages/fr/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Interroger The Graph --- -Une fois le subgraph déployé, visitez l'[Graph Explorer](https://thegraph.com/explorer) pour ouvrir un GraphiQL où vous pouvez explorer l'API GraphQL déployée pour le subgraph en émettant des requêtes et en affichant le schéma. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -Un exemple est fourni ci-dessous, mais veuillez consulter l'[API de requête](/querying/graphql-api) pour une référence complète sur la façon d'interroger les entités du subgraph. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Exemple - -Cette requête répertorie tous les compteurs créés par notre mappage. Puisque nous n'en créons qu'un, le résultat ne contiendra qu'un seul `compteur par défaut` : - -```graphql -{ - counters { - id - value - } -} -``` - -## Utilisation de The Graph Explorer - -Chaque subgraph publié sur l'explorateur de graphiques décentralisé possède une URL de requête unique que vous pouvez trouver en accédant à la page de détails du subgraph et en cliquant sur le bouton « Requête » dans le coin supérieur droit. Cela ouvrira un volet latéral qui vous donnera l'URL de requête unique du subgraph ainsi que quelques instructions sur la façon de l'interroger. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Vous pouvez également utiliser le terrain de jeu GraphQL dans l'onglet « Terrain de jeu » pour interroger un subgraph dans The Graph Explorer](/img/query-subgraph-pane.png) -Comme vous pouvez le constater, cette URL de requête doit utiliser une clé API unique. Vous pouvez créer et gérer vos clés API dans [Subgraph Studio](https://thegraph.com/studio) dans la section "Clés API". Apprenez-en davantage sur l'utilisation de Subgraph Studio [ici](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -L'interrogation de subgraphs à l'aide de vos clés API générera des frais de requête qui seront payés en GRT. Vous pouvez en savoir plus sur la facturation [ici](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -Vous pouvez également utiliser le terrain de jeu GraphQL dans l'onglet « Terrain de jeu » pour interroger un subgraph dans The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From c48c3655eb9936b19eaa0e3d45f2a8c3a4337a40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:31 -0400 Subject: [PATCH 0595/2326] New translations querying-the-graph.mdx (Spanish) --- .../pages/es/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/es/querying/querying-the-graph.mdx b/website/pages/es/querying/querying-the-graph.mdx index d7a5a9244205..b843ca02ec37 100644 --- a/website/pages/es/querying/querying-the-graph.mdx +++ b/website/pages/es/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Consultando The Graph --- -Con el subgrafo deployado, visita el [Graph Explorer](https://thegraph.com/explorer) para abrir una [interfaz GraphQL](https://github.com/graphql/graphiql) en la que podrás explorar la API GraphQL deployada para el subgrafo emitiendo consultas y viendo el esquema. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -A continuación se proporciona un ejemplo, pero consulta la [API de consulta](/querying/graphql-api) para obtener una referencia completa sobre cómo consultar las entidades del subgrafo. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Ejemplo - -Estas listas de consultas muestran todos los contadores que nuestro mapeo ha creado. Como sólo creamos uno, el resultado sólo contendrá nuestro único `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Usando el Explorador de The Graph - -Cada subgrafo publicado en The Graph Explorer descentralizado tiene una URL de consulta única que puedes encontrar navegando a la página de detalles del subgrafo y haciendo clic en el botón "Query (Consulta)" en la esquina superior derecha. Esto abrirá un panel lateral que te dará la URL de consulta única del subgrafo, así como algunas instrucciones sobre cómo consultarlo. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Panel de Consulta de Subgrafos](/img/query-subgraph-pane.png) -Como puedes notar, esta URL de consulta debe usar una clave de API única. Puedes crear y administrar tus claves de API en [Subgraph Studio](https://thegraph.com/studio) en la sección "Claves de API". Obtén más información sobre cómo usar Subgraph Studio [aquí](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Consultar subgrafos utilizando tus claves API generará tarifas de consulta que se pagarán en GRT. Puedes obtener más información sobre la facturación [aquí](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -También puedes utilizar el playground GraphQL en la pestaña "Playground" para consultar un subgrafo dentro de The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 7e67de7afdbfba7f0246960d0ae2ed37d51e01d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:32 -0400 Subject: [PATCH 0596/2326] New translations querying-the-graph.mdx (Arabic) --- .../pages/ar/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/ar/querying/querying-the-graph.mdx b/website/pages/ar/querying/querying-the-graph.mdx index 60159d5aeff4..1c14eec5e494 100644 --- a/website/pages/ar/querying/querying-the-graph.mdx +++ b/website/pages/ar/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Querying The Graph --- -بالـ subgraph المنشور ، قم بزيارة [ Graph Explorer ](https://thegraph.com/explorer) لفتح واجهة [ GraphiQL ](https://github.com/graphql/graphiql) حيث يمكنك استكشاف GraphQL API المنشورة لـ subgraph عن طريق إصدار الاستعلامات وعرض المخطط. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -An example is provided below, but please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## مثال - -يسرد هذا الاستعلام جميع العدادات التي أنشأها الـ mapping الخاص بنا. نظرا لأننا أنشأنا واحدا فقط ، فستحتوي النتيجة فقط على `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Using The Graph Explorer - -يحتوي كل subgraph منشور على Graph Explorer اللامركزي على عنوان URL فريد للاستعلام والذي يمكنك العثور عليه بالانتقال إلى صفحة تفاصيل الـ subgraph والنقر على "Query" في الزاوية اليمنى العليا. سيؤدي هذا إلى فتح نافذة جانبية والتي تمنحك عنوان URL فريد للاستعلام لـ subgraph بالإضافة إلى بعض الإرشادات حول كيفية الاستعلام عنه. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![نافذة الاستعلام عن Subgraph](/img/query-subgraph-pane.png) -As you can notice, this query URL must use a unique API key. You can create and manage your API keys in the [Subgraph Studio](https://thegraph.com/studio) in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Querying subgraphs using your API keys will generate query fees that will be paid in GRT. You can learn more about billing [here](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -يمكنك أيضا استخدام GraphQL playground في علامة التبويب "Playground" للاستعلام عن subgraph داخل The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 04b9bb525146800cb2a1bded6b4dae9cddc6d484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:33 -0400 Subject: [PATCH 0597/2326] New translations querying-the-graph.mdx (Czech) --- .../pages/cs/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/cs/querying/querying-the-graph.mdx b/website/pages/cs/querying/querying-the-graph.mdx index 1f725b18b1d7..945e4341f865 100644 --- a/website/pages/cs/querying/querying-the-graph.mdx +++ b/website/pages/cs/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Dotazování na graf --- -Po nasazení podgrafu navštivte [Graph Explorer](https://thegraph.com/explorer) a otevřete rozhraní [GraphiQL](https://github.com/graphql/graphiql), kde můžete prozkoumat nasazené rozhraní GraphQL API pro podgraf zadáváním dotazů a zobrazením schéma. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -Níže je uveden příklad, ale kompletní informace o tom, jak se dotazovat na entity podgrafu, najdete v [Query API](/querying/graphql-api). +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Příklad - -Tento dotaz obsahuje seznam všech čítačů, které naše mapování vytvořilo. Protože jsme vytvořili pouze jeden, výsledek bude obsahovat pouze náš jeden `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Používání Průzkumníka grafů - -Každý podgraf publikovaný v decentralizovaném Průzkumníku grafů má jedinečnou adresu URL dotazu, kterou najdete po přechodu na stránku s podrobnostmi o podgrafu a kliknutím na tlačítko "Dotaz" v pravém horním rohu. Tím se otevře postranní panel, který vám poskytne jedinečnou adresu URL dotazu podgrafu a také několik pokynů, jak se na něj dotazovat. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Podokno podgrafů dotazů](/img/query-subgraph-pane.png) -Jak si můžete všimnout, tato adresa URL dotazu musí používat jedinečný klíč API. Klíče API můžete vytvářet a spravovat v [podgraf Studio](https://thegraph.com/studio) v části "Klíče API". Více informací o tom, jak používat aplikaci Subgraph Studio, se dozvíte [zde](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Dotazování na podgrafy pomocí vašich klíčů API bude generovat poplatky za dotazování, které se platí v GRT. Více informací o účtování se dozvíte [zde](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -K dotazování podgrafu v rámci Průzkumníka grafu můžete také použít hřiště GraphQL na kartě "Hřiště". +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 34da5e8443b51b7276072ca32935412332957b84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:34 -0400 Subject: [PATCH 0598/2326] New translations querying-the-graph.mdx (German) --- .../pages/de/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/de/querying/querying-the-graph.mdx b/website/pages/de/querying/querying-the-graph.mdx index af9dcaaf2477..69ec08adcd02 100644 --- a/website/pages/de/querying/querying-the-graph.mdx +++ b/website/pages/de/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Querying The Graph --- -With the subgraph deployed, visit the [Graph Explorer](https://thegraph.com/explorer) to open up a [GraphiQL](https://github.com/graphql/graphiql) interface where you can explore the deployed GraphQL API for the subgraph by issuing queries and viewing the schema. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -An example is provided below, but please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Example - -This query lists all the counters our mapping has created. Since we only create one, the result will only contain our one `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Using The Graph Explorer - -Each subgraph published to the decentralized Graph Explorer has a unique query URL that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. This will open a side pane that will give you the unique query URL of the subgraph as well as some instructions about how to query it. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) -As you can notice, this query URL must use a unique API key. You can create and manage your API keys in the [Subgraph Studio](https://thegraph.com/studio) in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Querying subgraphs using your API keys will generate query fees that will be paid in GRT. You can learn more about billing [here](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -You can also use the GraphQL playground in the "Playground" tab to query a subgraph within The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From bbdcea53d6d166ae5b512d438ab3a5e5aa71749d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:35 -0400 Subject: [PATCH 0599/2326] New translations querying-the-graph.mdx (Italian) --- .../pages/it/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/it/querying/querying-the-graph.mdx b/website/pages/it/querying/querying-the-graph.mdx index b1e719738a6c..60ef0d020244 100644 --- a/website/pages/it/querying/querying-the-graph.mdx +++ b/website/pages/it/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Effettuare query di The Graph --- -Con il subgraph distribuito, visitare il [Graph Explorer](https://thegraph.com/explorer) per aprire un'interfaccia [GraphiQL](https://github.com/graphql/graphiql) in cui è possibile esplorare l'API GraphQL distribuita per il subgraph, emettendo query e visualizzando lo schema. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -Di seguito viene fornito un esempio, ma si rimanda alla pagina [Query API](/querying/graphql-api) per un riferimento completo su come effettuare query delle entità del subgraph. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Esempio - -Questa query elenca tutti i contatori creati dalla nostra mapping. Poiché ne creiamo solo uno, il risultato conterrà solo il nostro `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Utilizzo di The Graph Explorer - -Ogni subgraph pubblicato sul Graph Explorer decentralizzato ha un URL di query unico che si può trovare navigando nella pagina dei dettagli del subgraph e facendo clic sul pulsante "Query" nell'angolo in alto a destra. Si aprirà un riquadro laterale che fornirà l'URL di query unico del subgraph e alcune istruzioni su come effettuare query. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Riquadro del Subgraph della Query](/img/query-subgraph-pane.png) -Come si può notare, questo URL di query deve utilizzare una chiave API unica. È possibile creare e gestire le chiavi API nel [Subgraph Studio](https://thegraph.com/studio), nella sezione "Chiavi API". Per saperne di più su come utilizzare Subgraph Studio, cliccate [qui](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Effettuare query dei subgraph utilizzando le chiavi API genera tariffe di query che saranno pagate in GRT. Per saperne di più sulla fatturazione, cliccare [qui](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -È inoltre possibile utilizzare il GraphQL playground nella scheda "Playground" per effettuare query di un subgraph all'interno di Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 1052d3ac23ee0125fba08da810fcd484440c3bf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:36 -0400 Subject: [PATCH 0600/2326] New translations querying-the-graph.mdx (Japanese) --- .../pages/ja/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/ja/querying/querying-the-graph.mdx b/website/pages/ja/querying/querying-the-graph.mdx index 47bb4143483d..26c9d6f28262 100644 --- a/website/pages/ja/querying/querying-the-graph.mdx +++ b/website/pages/ja/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: The Graphのクエリ --- -サブグラフがデプロイされた状態で、[Graph Explorer](https://thegraph.com/explorer)にアクセスすると、[GraphiQL](https://github.com/graphql/graphiql)インターフェースが表示され、サブグラフにデプロイされた GraphQL API を探索して、クエリを発行したり、スキーマを表示したりすることができます。 +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -以下に例を示しますが、サブグラフのエンティティへのクエリの方法については、[Query API](/querying/graphql-api)を参照してください。 +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## 例 - -このクエリは、マッピングによって作成されたすべてのカウンターを一覧表示します。 1 つしか作成しないため、結果には 1 つの `default-counter` のみが含まれます。 - -```graphql -{ - counters { - id - value - } -} -``` - -## グラフ エクスプローラーの使用 - -分散型グラフエクスプローラに公開されているサブグラフには、それぞれ固有のクエリ URL が設定されており、サブグラフの詳細ページに移動し、右上の「クエリ」ボタンをクリックすることで確認できます。 これは、サブグラフの詳細ページに移動し、右上の「クエリ」ボタンをクリックすると、サブグラフの固有のクエリ URL と、そのクエリの方法を示すサイドペインが表示されます。 +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![クエリ サブグラフ ペイン](/img/query-subgraph-pane.png) -お気づきのように、このクエリ URL には固有の API キーを使用する必要があります。 API キーの作成と管理は、[Subgraph Studio](https://thegraph.com/studio)の「API Keys」セクションで行うことができます。 Subgraph Studio の使用方法については、[こちら](/deploying/subgraph-studio)をご覧ください。 +Learn more about querying from an application [here](/querying/querying-from-an-application). -API キーを使用してサブグラフをクエリすると、GRT で支払われるクエリ料金が発生します。請求の詳細については、[こちら](/billing)をご覧ください。 +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -また、「プレイグラウンド」タブの GraphQL プレイグラウンドを使用して、The Graph Explorer 内のサブグラフに問い合わせを行うことができます。 +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From d02e9580bdc6a08ee5e61c3b31cb2741091c55cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:37 -0400 Subject: [PATCH 0601/2326] New translations querying-the-graph.mdx (Korean) --- .../pages/ko/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/ko/querying/querying-the-graph.mdx b/website/pages/ko/querying/querying-the-graph.mdx index af9dcaaf2477..69ec08adcd02 100644 --- a/website/pages/ko/querying/querying-the-graph.mdx +++ b/website/pages/ko/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Querying The Graph --- -With the subgraph deployed, visit the [Graph Explorer](https://thegraph.com/explorer) to open up a [GraphiQL](https://github.com/graphql/graphiql) interface where you can explore the deployed GraphQL API for the subgraph by issuing queries and viewing the schema. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -An example is provided below, but please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Example - -This query lists all the counters our mapping has created. Since we only create one, the result will only contain our one `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Using The Graph Explorer - -Each subgraph published to the decentralized Graph Explorer has a unique query URL that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. This will open a side pane that will give you the unique query URL of the subgraph as well as some instructions about how to query it. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) -As you can notice, this query URL must use a unique API key. You can create and manage your API keys in the [Subgraph Studio](https://thegraph.com/studio) in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Querying subgraphs using your API keys will generate query fees that will be paid in GRT. You can learn more about billing [here](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -You can also use the GraphQL playground in the "Playground" tab to query a subgraph within The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From f167b7fce4246c4151f022e40e3c1a82284ec3ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:37 -0400 Subject: [PATCH 0602/2326] New translations querying-the-graph.mdx (Dutch) --- .../pages/nl/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/nl/querying/querying-the-graph.mdx b/website/pages/nl/querying/querying-the-graph.mdx index af9dcaaf2477..69ec08adcd02 100644 --- a/website/pages/nl/querying/querying-the-graph.mdx +++ b/website/pages/nl/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Querying The Graph --- -With the subgraph deployed, visit the [Graph Explorer](https://thegraph.com/explorer) to open up a [GraphiQL](https://github.com/graphql/graphiql) interface where you can explore the deployed GraphQL API for the subgraph by issuing queries and viewing the schema. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -An example is provided below, but please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Example - -This query lists all the counters our mapping has created. Since we only create one, the result will only contain our one `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Using The Graph Explorer - -Each subgraph published to the decentralized Graph Explorer has a unique query URL that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. This will open a side pane that will give you the unique query URL of the subgraph as well as some instructions about how to query it. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) -As you can notice, this query URL must use a unique API key. You can create and manage your API keys in the [Subgraph Studio](https://thegraph.com/studio) in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Querying subgraphs using your API keys will generate query fees that will be paid in GRT. You can learn more about billing [here](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -You can also use the GraphQL playground in the "Playground" tab to query a subgraph within The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 72df7e055a1fb5025aa4f792f97c160953e46644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:38 -0400 Subject: [PATCH 0603/2326] New translations querying-the-graph.mdx (Polish) --- .../pages/pl/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/pl/querying/querying-the-graph.mdx b/website/pages/pl/querying/querying-the-graph.mdx index af9dcaaf2477..69ec08adcd02 100644 --- a/website/pages/pl/querying/querying-the-graph.mdx +++ b/website/pages/pl/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Querying The Graph --- -With the subgraph deployed, visit the [Graph Explorer](https://thegraph.com/explorer) to open up a [GraphiQL](https://github.com/graphql/graphiql) interface where you can explore the deployed GraphQL API for the subgraph by issuing queries and viewing the schema. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -An example is provided below, but please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Example - -This query lists all the counters our mapping has created. Since we only create one, the result will only contain our one `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Using The Graph Explorer - -Each subgraph published to the decentralized Graph Explorer has a unique query URL that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. This will open a side pane that will give you the unique query URL of the subgraph as well as some instructions about how to query it. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) -As you can notice, this query URL must use a unique API key. You can create and manage your API keys in the [Subgraph Studio](https://thegraph.com/studio) in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Querying subgraphs using your API keys will generate query fees that will be paid in GRT. You can learn more about billing [here](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -You can also use the GraphQL playground in the "Playground" tab to query a subgraph within The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 978d939bf8c67145ff51711acb123ead45d48200 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:39 -0400 Subject: [PATCH 0604/2326] New translations querying-the-graph.mdx (Portuguese) --- .../pages/pt/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/pt/querying/querying-the-graph.mdx b/website/pages/pt/querying/querying-the-graph.mdx index dc11d11e6641..979e477a38c6 100644 --- a/website/pages/pt/querying/querying-the-graph.mdx +++ b/website/pages/pt/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Queries no The Graph --- -Com o subgraph lançado, visite o [Graph Explorer](https://thegraph.com/explorer) para abrir uma interface [GraphiQL](https://github.com/graphql/graphiql), onde pode explorar a API GraphQL lançada para o subgraph com a emissão de consultas e verificação do schema. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -Há um exemplo abaixo, mas vale muito ver a [API de Query](/querying/graphql-api) para uma referência completa sobre como consultar as entidades do subgraph. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Exemplo - -Este query lista todos os counters que o nosso mapeamento criou. Como só criamos um, o resultado só conterá o nosso único `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Como Usar o Graph Explorer - -Cada subgraph publicado no Graph Explorer descentralizado tem um URL único que fica no botão "Query", no canto superior direito da página dos detalhes do subgraph. Isto abrirá um painel lateral que lhe dará o URL singular de query do subgraph, além de algumas instruções sobre como consultá-lo. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Consultar o Painel do Subgraph](/img/query-subgraph-pane.png) -Como deve ter percebido, este URL de query deve usar uma chave de API singular. Dá para criar e gerir as suas chaves de API no [Subgraph Studio](https://thegraph.com/studio), na seção "API Keys". Leia mais sobre como usar o Subgraph Studio [aqui](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Queries em subgraphs com as suas chaves de API gerará taxas de consulta a ser pagas em GRT. VAprenda mais sobre as cobranças [aqui](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -Também pode usar o playground GraphQL na aba "Playground", para consultar um subgraph dentro do Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 4c803ee521003a08211b19b7423d3385f3dc646c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:40 -0400 Subject: [PATCH 0605/2326] New translations querying-the-graph.mdx (Russian) --- .../pages/ru/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/ru/querying/querying-the-graph.mdx b/website/pages/ru/querying/querying-the-graph.mdx index f3f6fe18c1e3..d90ba1202c4e 100644 --- a/website/pages/ru/querying/querying-the-graph.mdx +++ b/website/pages/ru/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Запрос The Graph --- -После развертывания субграфа, посетите [Graph Explorer](https://thegraph.com/explorer), чтобы открыть интерфейс [GraphiQL](https://github.com/graphql/graphiql), в котором Вы сможете изучить развернутый API GraphQL для субграфа, отправляя запросы и просматривая схему. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -Пример приведен ниже, но полную информацию о том, как выполнять запросы к объектам субграфа, можно найти в [Query API](/querying/graphql-api). +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Пример - -В этом запросе перечислены все счетчики, созданные нашим сопоставлением. Поскольку мы создаем только один, результат будет содержать только один наш `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Использование The Graph Explorer - -Каждый субграф, опубликованный в децентрализованном Graph Explorer, имеет уникальный URL-адрес запроса, который Вы можете найти, перейдя на страницу сведений о субграфе и нажав на кнопку "Запрос" в верхнем правом углу. Откроется боковая панель, которая предоставит Вам уникальный URL-адрес запроса субграфа, а также некоторые инструкции о том, как его запросить. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Панель запроса субграфа](/img/query-subgraph-pane.png) -Как Вы можете заметить, этот URL-адрес запроса должен использовать уникальный API-ключ. Вы можете создавать и управлять своими API-ключами в [Subgraph Studio](https://thegraph.com/studio) в разделе "API-ключи". Узнайте больше о том, как использовать Subgraph Studio [здесь](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -При запросе субграфов с использованием Ваших API-ключей будет взиматься комиссия за запрос, которая будет выплачиваться в GRT. Подробнее о выставлении счетов можно узнать [здесь](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -Вы также можете использовать игровую площадку GraphQL на вкладке «Площадка» для запроса субграфа в The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 9ebd14081895bb4d7fc62132704e8b97ef9114a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:41 -0400 Subject: [PATCH 0606/2326] New translations querying-the-graph.mdx (Swedish) --- .../pages/sv/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/sv/querying/querying-the-graph.mdx b/website/pages/sv/querying/querying-the-graph.mdx index 1ce0df3011e4..a5369977be0c 100644 --- a/website/pages/sv/querying/querying-the-graph.mdx +++ b/website/pages/sv/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Fråga The Graph --- -När subgrafiken har distribuerats besök [Graf Explorer](https://thegraph.com/explorer) för att öppna en [GraphiQL](https://github.com/graphql/graphiql)-gränssnitt där du kan utforska den distribuerade GraphQL API:n för subgrafiken genom att skicka frågor och visa schemat. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -Ett exempel ges nedan, men se [Fråge-API](/querying/graphql-api) för en komplett referens om hur du frågar subgrafens enheter. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Exempel - -Denna fråga listar alla räknare som vår mappning har skapat. Eftersom vi endast skapar en, kommer resultatet endast att innehålla vår enda `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Använda The Graf Explorer - -Varje subgraf som publiceras till den decentraliserade Graph Explorer har en unik fråge-URL som du kan hitta genom att navigera till subgrafens detaljsida och klicka på knappen "Fråga" längst upp till höger. Detta kommer att öppna en sidopanel som ger dig den unika fråge-URL:en för subgrafiken samt några instruktioner om hur du frågar den. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Panel för att fråga subgraf](/img/query-subgraph-pane.png) -Som du kan märka måste denna fråge-URL använda en unik API-nyckel. Du kan skapa och hantera dina API-nycklar i [Subgraf Studio](https://thegraph.com/studio) under avsnittet "API-nycklar". Läs mer om hur du använder Subgraf Studio [här](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Att fråga subgrafer med dina API-nycklar kommer att generera frågeavgifter som betalas i GRT. Du kan lära dig mer om fakturering [här](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -Du kan även använda GraphQL-lekplatsen i fliken "Lekplats" för att fråga en subgraf inom The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 3d614c365d88b61e9580820e8cfad8bd3757e6d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:42 -0400 Subject: [PATCH 0607/2326] New translations querying-the-graph.mdx (Turkish) --- .../pages/tr/querying/querying-the-graph.mdx | 31 +++++-------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/website/pages/tr/querying/querying-the-graph.mdx b/website/pages/tr/querying/querying-the-graph.mdx index d6f413ae396f..69ec08adcd02 100644 --- a/website/pages/tr/querying/querying-the-graph.mdx +++ b/website/pages/tr/querying/querying-the-graph.mdx @@ -1,32 +1,17 @@ --- -title: Graph'te Sorgulama +title: Querying The Graph --- -Subgraph deploy edildiğinde, sorgular yayınlayarak ve şemayı görüntüleyerek subgraph için deploy edilen GraphQL API'ını keşfedebileceğiniz bir [GraphiQL](https://github.com/graphql/graphiql) arabirimi açmak için [Graph Gezgini](https://thegraph.com/explorer)'ni ziyaret edin. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -Aşağıda bir örnek verilmiştir, ancak subgraph'in varlıklarının nasıl sorgulanacağına ilişkin eksiksiz bir referans için lütfen [Query API](/querying/graphql-api)'a bakın. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Örnek +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. -Bu sorgu, eşlememizin oluşturduğu tüm sayaçları listeler. Yalnızca bir tane oluşturduğumuz için, sonuç yalnızca bir `default-counter`'ımızı içerecektir: +![Query Subgraph Pane](/img/query-subgraph-pane.png) -```graphql -{ - counters { - id - value - } -} -``` +Learn more about querying from an application [here](/querying/querying-from-an-application). -## Graph Gezgini'ni Kullanma +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -Merkeziyetsiz Graph Gezgini'nde yayınlanan her subgraph'in, subgraph ayrıntıları sayfasına gidip sağ üst köşedeki "Sorgu" düğmesine tıklayarak bulabileceğiniz benzersiz bir sorgu URL'si vardır. Bu, size subgraph'in benzersiz sorgu URL'sinin yanı sıra onu nasıl sorgulayacağınızla ilgili bazı talimatlar verecek bir yan bölme açacaktır. - -![Sorgu Subgraph'i Bölmesi](/img/query-subgraph-pane.png) - -Fark edebileceğiniz gibi, bu sorgu URL'si benzersiz bir API anahtarı kullanmalıdır. API anahtarlarınızı "API Anahtarları" bölümündeki [Subgraph Stüdyo](https://thegraph.com/studio)'da oluşturabilir ve yönetebilirsiniz. Subgraph Stüdyo'nun nasıl kullanılacağı hakkında daha fazla bilgiyi [buradan](/deploying/subgraph-studio) edinebilirsiniz. - -API anahtarlarınızı kullanarak subgraph'leri sorgulamak, GRT şeklinde ödenecek sorgu ücretleri oluşturur. Faturalandırma hakkında daha fazla bilgiyi [buradan](/billing) edinebilirsiniz. - -Graph Gezgini içindeki bir subgraph'i sorgulamak için "Playground" sekmesindeki GraphQL oyun alanını da kullanabilirsiniz. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 5d03ee082232c3632810b38e760f23dd5abf46f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:43 -0400 Subject: [PATCH 0608/2326] New translations querying-the-graph.mdx (Ukrainian) --- .../pages/uk/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/uk/querying/querying-the-graph.mdx b/website/pages/uk/querying/querying-the-graph.mdx index af9dcaaf2477..69ec08adcd02 100644 --- a/website/pages/uk/querying/querying-the-graph.mdx +++ b/website/pages/uk/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Querying The Graph --- -With the subgraph deployed, visit the [Graph Explorer](https://thegraph.com/explorer) to open up a [GraphiQL](https://github.com/graphql/graphiql) interface where you can explore the deployed GraphQL API for the subgraph by issuing queries and viewing the schema. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -An example is provided below, but please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Example - -This query lists all the counters our mapping has created. Since we only create one, the result will only contain our one `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Using The Graph Explorer - -Each subgraph published to the decentralized Graph Explorer has a unique query URL that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. This will open a side pane that will give you the unique query URL of the subgraph as well as some instructions about how to query it. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) -As you can notice, this query URL must use a unique API key. You can create and manage your API keys in the [Subgraph Studio](https://thegraph.com/studio) in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Querying subgraphs using your API keys will generate query fees that will be paid in GRT. You can learn more about billing [here](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -You can also use the GraphQL playground in the "Playground" tab to query a subgraph within The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 8cc2f38273c9469d6abc0ff2ab7e9a5da9f82c5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:44 -0400 Subject: [PATCH 0609/2326] New translations querying-the-graph.mdx (Chinese Simplified) --- .../pages/zh/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/zh/querying/querying-the-graph.mdx b/website/pages/zh/querying/querying-the-graph.mdx index b8d68d974278..4cf1c7f4705d 100644 --- a/website/pages/zh/querying/querying-the-graph.mdx +++ b/website/pages/zh/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: 查询Graph --- -随着子图的部署,访问[Graph 浏览器](https://thegraph.com/explorer)来打开[GraphiQL](https://github.com/graphql/graphiql) 界面,在那里你可以通过发出查询和查看模式来探索子图的 GraphQL API。 +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -下面提供了一个示例,但请参阅 [查询 API](/querying/graphql-api) 以获取有关如何查询子图实体的完整参考。 +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## 示例 - -此查询列出了我们的映射创建的所有计数器。 由于我们只创建一个,结果将只包含我们的一个 `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## 使用 Graph 浏览器 - -每个发布到去中心化 Graph 浏览器的子图都有一个独特的查询 URL,你可以通过导航到子图的详细信息页面并点击右上角的 "查询 "按钮找到。这将打开一个侧窗格,给你提供该子图的唯一查询 URL,以及一些关于如何查询的说明。 +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![查询子图镶嵌](/img/query-subgraph-pane.png) -正如你所注意到的,这个查询 URL 必须使用一个独特的 API 密钥。你可以在 [Subgraph Studio](https://thegraph.com/studio)的 "API 密钥 "部分创建和管理你的 API 密钥。在[这里](/deploying/subgraph-studio)了解更多如何使用 子图工作室的信息。 +Learn more about querying from an application [here](/querying/querying-from-an-application). -使用你的 API 密钥查询子图将产生查询费用,这些费用将以 GRT 方式支付。你可以在[这里](/billing)了解更多关于计费的信息。 +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -你也可以使用 "操作面板 "选项卡中的 GraphQL操作面板来查询Graph浏览器中的一个子图。 +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 3451f7342b9eafd6191af7b0f28392e98497806c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:45 -0400 Subject: [PATCH 0610/2326] New translations querying-the-graph.mdx (Urdu (Pakistan)) --- .../pages/ur/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/ur/querying/querying-the-graph.mdx b/website/pages/ur/querying/querying-the-graph.mdx index 4c238e5f8cca..bbef8db52b81 100644 --- a/website/pages/ur/querying/querying-the-graph.mdx +++ b/website/pages/ur/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: گراف سے کیوری کرنا --- -سب گراف کے تعینات ہونے کے ساتھ، [GraphiQL](https://github.com/graphql/graphiql) کھولنے کے لیے [ گراف ایکسپلورر](https://thegraph.com/explorer) ملاحظہ کریں انٹرفیس جہاں آپ کیوریز جاری کرکے اور اسکیما کو دیکھ کر سب گراف کے لیے تعینات GraphQL API کو تلاش کرسکتے ہیں. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -ذیل میں ایک مثال فراہم کی گئی ہے، لیکن براہ کرم سب گراف کی ہستیوں سے کیوری کرنے کے مکمل حوالہ کے لیے [کیوری API](/querying/graphql-api) دیکھیں. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## مثال - -یہ کیوری ان تمام کاؤنٹرز کی فہرست دیتا ہے جو ہماری میپنگ نے بنائے ہیں۔ چونکہ ہم صرف ایک بناتے ہیں، نتیجہ میں صرف ہمارا ایک `default-counter` ہوگا: - -```graphql -{ - counters { - id - value - } -} -``` - -## گراف ایکسپلورر کا استعمال کرنا - -ڈیسینٹرالائزڈ گراف ایکسپلورر پر شائع ہونے والے ہر سب گراف کا ایک منفرد کیوری URL ہوتا ہے جسے آپ سب گراف کی تفصیلات کے صفحہ پر جا کر اور اوپر دائیں کونے میں "کیوری" بٹن پر کلک کر کے تلاش کر سکتے ہیں۔ اس سے ایک سائیڈ پین کھل جائے گا جو آپ کو سب گراف کا منفرد کیوری URL اور اس سے کیوری کرنے کے طریقے کے بارے میں کچھ ہدایات دے گا. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![سب گراف پین سے کیوری کریں](/img/query-subgraph-pane.png) -جیسا کہ آپ دیکھ سکتے ہیں، اس کیوری کے URL کو ایک منفرد API کلید کا استعمال کرنا چاہیے۔ آپ "API کیز" سیکشن میں [سب گراف اسٹوڈیو](https://thegraph.com/studio) میں اپنی API کیز بنا اور ان کا نظم کر سکتے ہیں۔ سب گراف اسٹوڈیو استعمال کرنے کے طریقے کے بارے میں مزید جانیں [یہاں](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -آپ کی API کلیدوں کا استعمال کرتے ہوئے سب گراف سے کیوری کرنے سے کیوری کی فیسیں پیدا ہوں گی جو GRT میں ادا کی جائیں گی۔ آپ بلنگ کے بارے میں مزید جان سکتے ہیں [یہاں](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -آپ گراف ایکسپلورر کے اندر سب گراف کے بارے میں کیوری کرنے کے لیے "پلے گراؤنڈ" ٹیب میں گراف کیو ایل پلے گراؤنڈ بھی استعمال کر سکتے ہیں. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 184cc47741dadff6d86c17d45570e224e70ff847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:46 -0400 Subject: [PATCH 0611/2326] New translations querying-the-graph.mdx (Vietnamese) --- .../pages/vi/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/vi/querying/querying-the-graph.mdx b/website/pages/vi/querying/querying-the-graph.mdx index 58472767a645..69ec08adcd02 100644 --- a/website/pages/vi/querying/querying-the-graph.mdx +++ b/website/pages/vi/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Querying The Graph --- -Với subgraph được triển khai, hãy truy cập [Graph Explorer](https://thegraph.com/explorer) để mở ra một [GraphiQL](https://github.com/graphql/graphiql) giao diện nơi bạn có thể khám phá API GraphQL được triển khai cho subgraph bằng cách đưa ra các truy vấn và xem lược đồ. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -An example is provided below, but please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Ví dụ - -Truy vấn này liệt kê tất cả các bộ đếm mà ánh xạ của chúng tôi đã tạo. Vì chúng tôi chỉ tạo một, kết quả sẽ chỉ chứa một `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Using The Graph Explorer - -Mỗi subgraph được xuất bản đến Trình khám phá Graph phi tập trung có một URL truy vấn duy nhất mà bạn có thể tìm thấy bằng cách điều hướng đến trang chi tiết subgraph và nhấp vào nút "Truy vấn" ở góc trên cùng bên phải. Thao tác này sẽ mở ra một ngăn bên cung cấp cho bạn URL truy vấn duy nhất của subgraph cũng như một số hướng dẫn về cách truy vấn nó. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) -As you can notice, this query URL must use a unique API key. You can create and manage your API keys in the [Subgraph Studio](https://thegraph.com/studio) in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Querying subgraphs using your API keys will generate query fees that will be paid in GRT. You can learn more about billing [here](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -Bạn cũng có thể sử dụng sân chơi GraphQL trong tab "Sân chơi" (Playground) để truy vấn một subgraph trong The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 657fa617d63ebc0447200ab6b56a18d6ad72cd16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:47 -0400 Subject: [PATCH 0612/2326] New translations querying-the-graph.mdx (Marathi) --- .../pages/mr/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/mr/querying/querying-the-graph.mdx b/website/pages/mr/querying/querying-the-graph.mdx index 741141886dc8..69ec08adcd02 100644 --- a/website/pages/mr/querying/querying-the-graph.mdx +++ b/website/pages/mr/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Querying The Graph --- -सबग्राफ उपयोजित केल्यावर, [GraphQL](https://github.com/graphql/graphiql) इंटरफेस उघडण्यासाठी [Graph Explorer](https://thegraph.com/explorer) ला भेट द्या जिथे तुम्ही क्वेरी जारी करून आणि स्कीमा पाहून सबग्राफसाठी उपयोजित GraphQL API एक्सप्लोर करू शकता. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -खाली एक उदाहरण दिले आहे, परंतु कृपया सबग्राफच्या घटकांची चौकशी कशी करायची याच्या संपूर्ण संदर्भासाठी [Query API](/querying/graphql-api) पहा. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## उदाहरण - -This query lists all the counters our mapping has created. Since we only create one, the result will only contain our one `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Using The Graph Explorer - -विकेंद्रीकृत ग्राफ एक्सप्लोररवर प्रकाशित केलेल्या प्रत्येक सबग्राफमध्ये एक अद्वितीय क्वेरी URL असते जी तुम्ही सबग्राफ तपशील पृष्ठावर नेव्हिगेट करून आणि वरच्या उजव्या कोपर्यात असलेल्या "क्वेरी" बटणावर क्लिक करून शोधू शकता. हे एक बाजूचे उपखंड उघडेल जे तुम्हाला सबग्राफची अनन्य क्वेरी URL तसेच ती कशी क्वेरी करावी याबद्दल काही सूचना देईल. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) -तुमच्या लक्षात आल्याप्रमाणे, या क्वेरी URL ने एक अद्वितीय API की वापरणे आवश्यक आहे. तुम्ही "API की" विभागातील [सबग्राफ स्टुडिओ](https://thegraph.com/studio) मध्ये तुमच्या API की तयार आणि व्यवस्थापित करू शकता. सबग्राफ स्टुडिओ कसा वापरायचा याबद्दल अधिक जाणून घ्या [येथे](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -तुमच्‍या API की वापरून सबग्राफ क्‍वेरी केल्‍याने क्‍वेरी फी जनरेट होईल जी GRT मध्‍ये दिली जाईल. तुम्ही बिलिंगबद्दल [येथे](/billing) अधिक जाणून घेऊ शकता. +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -तुम्ही ग्राफ एक्सप्लोररमध्ये सबग्राफसाठी क्वेरी करण्यासाठी "प्लेग्राउंड" टॅबमधील GraphQL प्लेग्राउंड देखील वापरू शकता. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From be05203a9f943076b74adec83f19c099fffcd782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:48 -0400 Subject: [PATCH 0613/2326] New translations querying-the-graph.mdx (Hindi) --- .../pages/hi/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/hi/querying/querying-the-graph.mdx b/website/pages/hi/querying/querying-the-graph.mdx index edb9882b174b..dba510fadd5a 100644 --- a/website/pages/hi/querying/querying-the-graph.mdx +++ b/website/pages/hi/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: ग्राफ़ को क्वेरी करना --- -उपग्राफ के साथ, खोलने के लिए [ग्राफ़ एक्सप्लोरर](https://thegraph.com/explorer) पर जाएं [GraphiQL](https://github.com/graphql/graphiql) इंटरफ़ेस जहां आप प्रश्न जारी करके और स्कीमा देखकर सबग्राफ के लिए तैनात ग्राफक्यूएल एपीआई का पता लगा सकते हैं। +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -एक उदाहरण नीचे दिया गया है, लेकिन कृपया [क्वेरी एपीआई](/querying/graphql-api) देखें, ताकि सबग्राफ की संस्थाओं से क्वेरी कैसे की जाए, इस पर एक पूर्ण संदर्भ प्राप्त हो सके। +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## उदाहरण - -यह क्वेरी हमारे मैपिंग द्वारा बनाए गए सभी काउंटरों को सूचीबद्ध करती है। चूंकि हम केवल एक बनाते हैं, परिणाम में केवल हमारा `डिफ़ॉल्ट-काउंटर` होगा: - -```graphql -{ - counters { - id - value - } -} -``` - -## ग्राफ़ एक्सप्लोरर का उपयोग करना - -विकेन्द्रीकृत ग्राफ़ एक्सप्लोरर में प्रकाशित प्रत्येक सबग्राफ में एक अद्वितीय क्वेरी URL होता है जिसे आप सबग्राफ विवरण पृष्ठ पर नेविगेट करके और ऊपरी दाएं कोने पर "क्वेरी" बटन पर क्लिक करके पा सकते हैं। यह एक पार्श्व फलक खोलेगा जो आपको सबग्राफ का अद्वितीय क्वेरी URL देगा साथ ही इसे क्वेरी करने के तरीके के बारे में कुछ निर्देश भी देगा। +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![क्वेरी सबग्राफ फलक](/img/query-subgraph-pane.png) -जैसा कि आप देख सकते हैं, इस क्वेरी URL को एक अद्वितीय API कुंजी का उपयोग करना चाहिए। आप "API कुंजियाँ" अनुभाग में [सबग्राफ स्टूडियो](https://thegraph.com/studio) में अपनी API कुंजियाँ बना और प्रबंधित कर सकते हैं। सबग्राफ स्टूडियो का उपयोग करने के तरीके के बारे में अधिक जानें [यहां](/deploying/subgraph-studio)। +Learn more about querying from an application [here](/querying/querying-from-an-application). -आपकी API कुंजियों का उपयोग करके उप-अनुच्छेदों को क्वेरी करने से क्वेरी शुल्क उत्पन्न होगा जिसका भुगतान GRT में किया जाएगा। आप [यहां](/billing) बिलिंग के बारे में अधिक जान सकते हैं। +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -आप ग्राफ़ एक्सप्लोरर के भीतर एक सबग्राफ को क्वेरी करने के लिए "प्लेग्राउंड" टैब में ग्राफकलाइन खेल के मैदान का उपयोग कर सकते हैं। +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From 87b36417afe1113178a7072343a0d948e4eef1a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:49 -0400 Subject: [PATCH 0614/2326] New translations querying-the-graph.mdx (Yoruba) --- .../pages/yo/querying/querying-the-graph.mdx | 27 +++++-------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/website/pages/yo/querying/querying-the-graph.mdx b/website/pages/yo/querying/querying-the-graph.mdx index af9dcaaf2477..69ec08adcd02 100644 --- a/website/pages/yo/querying/querying-the-graph.mdx +++ b/website/pages/yo/querying/querying-the-graph.mdx @@ -2,31 +2,16 @@ title: Querying The Graph --- -With the subgraph deployed, visit the [Graph Explorer](https://thegraph.com/explorer) to open up a [GraphiQL](https://github.com/graphql/graphiql) interface where you can explore the deployed GraphQL API for the subgraph by issuing queries and viewing the schema. +When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. -An example is provided below, but please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. +> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) -## Example - -This query lists all the counters our mapping has created. Since we only create one, the result will only contain our one `default-counter`: - -```graphql -{ - counters { - id - value - } -} -``` - -## Using The Graph Explorer - -Each subgraph published to the decentralized Graph Explorer has a unique query URL that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. This will open a side pane that will give you the unique query URL of the subgraph as well as some instructions about how to query it. +Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) -As you can notice, this query URL must use a unique API key. You can create and manage your API keys in the [Subgraph Studio](https://thegraph.com/studio) in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). +Learn more about querying from an application [here](/querying/querying-from-an-application). -Querying subgraphs using your API keys will generate query fees that will be paid in GRT. You can learn more about billing [here](/billing). +As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). -You can also use the GraphQL playground in the "Playground" tab to query a subgraph within The Graph Explorer. +Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). From e6e735bd8564959b8b93cb72ff0d6317896a6733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:50 -0400 Subject: [PATCH 0615/2326] New translations assemblyscript-migration-guide.mdx (Romanian) --- .../ro/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/ro/release-notes/assemblyscript-migration-guide.mdx b/website/pages/ro/release-notes/assemblyscript-migration-guide.mdx index 85f6903a6c69..17224699570d 100644 --- a/website/pages/ro/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/ro/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - You'll need to rename your duplicate variables if you had variable shadowing. - ### Null Comparisons - By doing the upgrade on your subgraph, sometimes you might get errors like these: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - To solve you can simply change the `if` statement to something like this: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - To fix this issue, you can create a variable for that property access so that the compiler can do the nullability check magic: ```typescript From d97807e0823d2d2b9ecb68eb653b433672ad8024 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:51 -0400 Subject: [PATCH 0616/2326] New translations assemblyscript-migration-guide.mdx (French) --- .../assemblyscript-migration-guide.mdx | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/website/pages/fr/release-notes/assemblyscript-migration-guide.mdx b/website/pages/fr/release-notes/assemblyscript-migration-guide.mdx index f5f9aa6d440c..619ba98b326a 100644 --- a/website/pages/fr/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/fr/release-notes/assemblyscript-migration-guide.mdx @@ -1,5 +1,5 @@ --- -title: AssemblyScript Migration Guide +title: Guide de migration de l'AssemblyScript --- Jusqu'à présent, les subgraphs utilisaient l'une des [premières versions d'AssemblyScript](https://github.com/AssemblyScript/assemblyscript/tree/v0.6) (v0.6). Enfin, nous avons ajouté la prise en charge du [le plus récent disponible](https://github.com/AssemblyScript/assemblyscript/tree/v0.19.10) (v0.19.10) ! 🎉 @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - Vous devrez renommer vos variables en double si vous conservez une observation de variables. - ### Comparaisons nulles - En effectuant la mise à niveau sur votre subgraph, vous pouvez parfois obtenir des erreurs comme celles-ci : ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - Pour résoudre, vous pouvez simplement remplacer l'instruction `if` par quelque chose comme ceci : ```typescript @@ -213,7 +209,7 @@ Dans ces cas-là, vous pouvez utiliser la fonction `changetype` : class Bytes extends Uint8Array {} let uint8Array = new Uint8Array(2) -changetype(uint8Array) // fonctionne :) +changetype(uint8Array ) // fonctionne :) ``` ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - Pour résoudre ce problème, vous pouvez créer une variable pour l'accès à cette propriété afin que le compilateur puisse effectuer la vérification magique de la nullité : ```typescript @@ -341,7 +336,7 @@ if (!wrapper.n) { wrapper.n = wrapper.n + x // maintenant `n` est garanti comme étant un BigInt ``` -### Value initialization +### Initialisation de valeur Si vous avez un code comme celui-ci : @@ -406,7 +401,7 @@ type Total @entity { let total = Total.load('latest') if (total === null) { - total = new Total('latest') // initialise déjà les propriétés non-nullables + total = new Total('latest') // initialise déjà les propriétés non-nullables } total.amount = total.amount + BigInt.fromI32(1) @@ -488,12 +483,12 @@ Vous ne pouvez désormais plus définir de champs dans vos types qui sont des li ```graphql type Something @entity { - id: Bytes! + id: Bytes! } type MyEntity @entity { - id: Bytes! - invalidField: [Something]! # n'est plus valide + id: Bytes! + invalidField: [Something]! # n'est plus valide } ``` From bf0a397cba80f0d5773a695b64ba3e9bacc3895f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:52 -0400 Subject: [PATCH 0617/2326] New translations assemblyscript-migration-guide.mdx (Spanish) --- .../es/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/es/release-notes/assemblyscript-migration-guide.mdx b/website/pages/es/release-notes/assemblyscript-migration-guide.mdx index bfc973f982dd..c3770a5c9ef7 100644 --- a/website/pages/es/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/es/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - Tendrás que cambiar el nombre de las variables duplicadas si tienes una variable shadowing. - ### Comparaciones Nulas - Al hacer la actualización en un subgrafo, a veces pueden aparecer errores como estos: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - Para solucionarlo puedes simplemente cambiar la declaración `if` por algo así: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - Para solucionar este problema, puedes crear una variable para ese acceso a la propiedad de manera que el compilador pueda hacer la magia de la comprobación de nulidad: ```typescript From f186121ad875ca2d83e012340df21691ea5105fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:53 -0400 Subject: [PATCH 0618/2326] New translations assemblyscript-migration-guide.mdx (Arabic) --- .../ar/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/ar/release-notes/assemblyscript-migration-guide.mdx b/website/pages/ar/release-notes/assemblyscript-migration-guide.mdx index 84e00f13b4e1..9674f1777573 100644 --- a/website/pages/ar/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/ar/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ let a = a + b ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - ستحتاج إلى إعادة تسمية المتغيرات المكررة إذا كان لديك variable shadowing. - ### مقارانات Null - من خلال إجراء الترقية على ال Subgraph الخاص بك ، قد تحصل أحيانًا على أخطاء مثل هذه: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - لحل المشكلة يمكنك ببساطة تغيير عبارة `if` إلى شيء مثل هذا: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - لإصلاح هذه المشكلة ، يمكنك إنشاء متغير للوصول إلى الخاصية حتى يتمكن المترجم من القيام بعملية التحقق من الـ nullability: ```typescript From a0930fbfaa2b5bbb9e2c71d6f7ebbcb56c0ed75e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:54 -0400 Subject: [PATCH 0619/2326] New translations assemblyscript-migration-guide.mdx (Czech) --- .../assemblyscript-migration-guide.mdx | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/website/pages/cs/release-notes/assemblyscript-migration-guide.mdx b/website/pages/cs/release-notes/assemblyscript-migration-guide.mdx index 8997891e0538..e59516868de6 100644 --- a/website/pages/cs/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/cs/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - Pokud jste použili stínování proměnných, musíte duplicitní proměnné přejmenovat. - ### Nulová srovnání - Při aktualizaci podgrafu může někdy dojít k těmto chybám: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - Pro vyřešení můžete jednoduše změnit příkaz `if` na něco takového: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - Chcete-li tento problém vyřešit, můžete vytvořit proměnnou pro přístup k této vlastnosti, aby překladač mohl provést kouzlo kontroly nulovatelnosti: ```typescript @@ -511,14 +506,14 @@ type MyEntity @entity { } ``` -This changed because of nullability differences between AssemblyScript versions, and it's related to the `src/generated/schema.ts` file (default path, you might have changed this). +To se změnilo kvůli rozdílům v nullability mezi verzemi AssemblyScript a souvisí to se souborem `src/generated/schema.ts` (výchozí cesta, možná jste ji změnili). ### Jiný -- Aligned `Map#set` and `Set#add` with the spec, returning `this` ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) -- Arrays no longer inherit from ArrayBufferView, but are now distinct ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) -- Classes initialized from object literals can no longer define a constructor ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) -- The result of a `**` binary operation is now the common denominator integer if both operands are integers. Previously, the result was a float as if calling `Math/f.pow` ([v0.11.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.11.0)) -- Coerce `NaN` to `false` when casting to `bool` ([v0.14.9](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.9)) -- When shifting a small integer value of type `i8`/`u8` or `i16`/`u16`, only the 3 respectively 4 least significant bits of the RHS value affect the result, analogous to the result of an `i32.shl` only being affected by the 5 least significant bits of the RHS value. Example: `someI8 << 8` previously produced the value `0`, but now produces `someI8` due to masking the RHS as `8 & 7 = 0` (3 bits) ([v0.17.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.0)) -- Bug fix of relational string comparisons when sizes differ ([v0.17.8](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.8)) +- Zarovnání `Map#set` a `Set#add` se specifikací, vrácení `this` ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) +- Pole již nedědí od ArrayBufferView, ale jsou nyní samostatná ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) +- Třídy inicializované z objektových literálů již nemohou definovat konstruktor ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) +- Výsledkem binární operace `**` je nyní celé číslo se společným jmenovatelem, pokud jsou oba operandy celá čísla. Dříve byl výsledkem float, jako kdybyste volali `Math/f.pow` ([v0.11.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.11.0)) +- Vynucení `NaN` na `false` při převodu na `bool` ([v0.14.9](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.9)) +- Při posunu malé celočíselné hodnoty typu `i8`/`u8` nebo `i16`/`u16` ovlivňují výsledek pouze 3, resp. 4 nejméně významné bity hodnoty RHS, obdobně jako výsledek `i32.shl` ovlivňuje pouze 5 nejméně významných bitů hodnoty RHS. Příklad: `someI8 << 8` dříve dávalo hodnotu `0`, ale nyní dává `someI8` kvůli maskování RHS jako `8 & 7 = 0` (3 bity) ([v0.17.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.0)) +- Oprava chyb při porovnávání relačních řetězců při rozdílných velikostech ([v0.17.8](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.8)) From bb10e67fd1585be6f133e04d7e246b51e2d6fd50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:55 -0400 Subject: [PATCH 0620/2326] New translations assemblyscript-migration-guide.mdx (German) --- .../de/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/de/release-notes/assemblyscript-migration-guide.mdx b/website/pages/de/release-notes/assemblyscript-migration-guide.mdx index fb1ad8beb382..058c48b32e6f 100644 --- a/website/pages/de/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/de/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - You'll need to rename your duplicate variables if you had variable shadowing. - ### Null Comparisons - By doing the upgrade on your subgraph, sometimes you might get errors like these: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - To solve you can simply change the `if` statement to something like this: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - To fix this issue, you can create a variable for that property access so that the compiler can do the nullability check magic: ```typescript From bd6c842ac543b5c903e9633fd2bf306b3896f805 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:56 -0400 Subject: [PATCH 0621/2326] New translations assemblyscript-migration-guide.mdx (Italian) --- .../assemblyscript-migration-guide.mdx | 233 +++++++++--------- 1 file changed, 114 insertions(+), 119 deletions(-) diff --git a/website/pages/it/release-notes/assemblyscript-migration-guide.mdx b/website/pages/it/release-notes/assemblyscript-migration-guide.mdx index 85f6903a6c69..64cbf23decf7 100644 --- a/website/pages/it/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/it/release-notes/assemblyscript-migration-guide.mdx @@ -1,50 +1,50 @@ --- -title: AssemblyScript Migration Guide +title: Guida alla migrazione di AssemblyScript --- -Up until now, subgraphs have been using one of the [first versions of AssemblyScript](https://github.com/AssemblyScript/assemblyscript/tree/v0.6) (v0.6). Finally we've added support for the [newest one available](https://github.com/AssemblyScript/assemblyscript/tree/v0.19.10) (v0.19.10)! 🎉 +Finora i subgraph utilizzavano una delle [prime versioni di AssemblyScript](https://github.com/AssemblyScript/assemblyscript/tree/v0.6) (v0.6). Finalmente abbiamo aggiunto il supporto per la [più recente disponibile](https://github.com/AssemblyScript/assemblyscript/tree/v0.19.10) (v0.19.10)! 🎉 -That will enable subgraph developers to use newer features of the AS language and standard library. +Ciò consentirà agli sviluppatori di subgraph di utilizzare le nuove caratteristiche del linguaggio AS e della libreria standard. -This guide is applicable for anyone using `graph-cli`/`graph-ts` below version `0.22.0`. If you're already at a higher than (or equal) version to that, you've already been using version `0.19.10` of AssemblyScript 🙂 +Questa guida si applica a chiunque utilizzi `graph-cli`/ `graph-ts` al di sotto della versione `0.22.0`. Se siete già a una versione superiore (o uguale) a questa, avete già utilizzato la versione `0.19.10` di AssemblyScript 🙂 -> Note: As of `0.24.0`, `graph-node` can support both versions, depending on the `apiVersion` specified in the subgraph manifest. +> Nota: A partire da `0.24.0`, `graph-node` può supportare entrambe le versioni, a seconda della `apiVersion` specificata nel manifest del subgraph. -## Features +## Caratteristiche -### New functionality +### Nuova funzionalità -- `TypedArray`s can now be built from `ArrayBuffer`s by using the [new `wrap` static method](https://www.assemblyscript.org/stdlib/typedarray.html#static-members) ([v0.8.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.8.1)) -- New standard library functions: `String#toUpperCase`, `String#toLowerCase`, `String#localeCompare`and `TypedArray#set` ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) -- Added support for x instanceof GenericClass ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) -- Added `StaticArray`, a more efficient array variant ([v0.9.3](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.3)) -- Added `Array#flat` ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) -- Implemented `radix` argument on `Number#toString` ([v0.10.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.1)) -- Added support for separators in floating point literals ([v0.13.7](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.13.7)) -- Added support for first class functions ([v0.14.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.0)) -- Add builtins: `i32/i64/f32/f64.add/sub/mul` ([v0.14.13](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.13)) -- Implement `Array/TypedArray/String#at` ([v0.18.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.2)) -- Added support for template literal strings ([v0.18.17](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.17)) -- Add `encodeURI(Component)` and `decodeURI(Component)` ([v0.18.27](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.27)) -- Add `toString`, `toDateString` and `toTimeString` to `Date` ([v0.18.29](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.29)) -- Add `toUTCString` for `Date` ([v0.18.30](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.30)) -- Add `nonnull/NonNullable` builtin type ([v0.19.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.19.2)) +- `TypedArray` possono ora essere costruiti da `ArrayBuffer` utilizzando il [nuovo metodo statico `wrap`](https://www.assemblyscript.org/stdlib/typedarray.html#static-members) ([v0.8.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.8.1)) +- Nuove funzioni di libreria standard: `String#toUpperCase`, `String#toLowerCase`, `String#localeCompare` e `TypedArray#set` ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) +- Aggiunto il supporto per x instanceof GenericClass ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) +- Aggiunto `StaticArray`, una variante di array più efficiente ([v0.9.3](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.3)) +- Aggiunto `Array#flat` ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) +- Implementato l'argomento `radix` su `Number#toString` ([v0.10.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.1)) +- Aggiunto il supporto per i separatori nei letterali in virgola mobile ([v0.13.7](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.13.7)) +- Aggiunto il supporto per le funzioni di prima classe ([v0.14.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.0)) +- Aggiunti i builtin: `i32/i64/f32/f64.add/sub/mul` ([v0.14.13](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.13)) +- Implementati `Array/TypedArray/String#at` ([v0.18.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.2)) +- Aggiunto il supporto per le stringhe letterali dei template ([v0.18.17](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.17)) +- Aggiunto `encodeURI(Component)` e `decodeURI(Component)` ([v0.18.27](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.27)) +- Aggiunto `toString`, `toDateString` e `toTimeString` a `Date` ([v0.18.29](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.29)) +- Aggiunto `toUTCString` per `Date` ([v0.18.30](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.30)) +- Aggiunto il tipo builtin `nonnull/NonNullable` ([v0.19.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.19.2)) -### Optimizations +### Ottimizzazioni -- `Math` functions such as `exp`, `exp2`, `log`, `log2` and `pow` have been replaced by faster variants ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) -- Slightly optimize `Math.mod` ([v0.17.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.1)) -- Cache more field accesses in std Map and Set ([v0.17.8](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.8)) -- Optimize for powers of two in `ipow32/64` ([v0.18.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.2)) +- Le funzioni `matematiche` come `exp`, `exp2`, `log`, `log2` e `pow` sono state sostituite da varianti più rapide ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) +- Ottimizzato leggermente `Math.mod` ([v0.17.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.1)) +- Cache di più accessi ai campi in std Map e Set ([v0.17.8](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.8)) +- Ottimizzato per le potenze di due in `ipow32/64` ([v0.18.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.2)) -### Other +### Altro -- The type of an array literal can now be inferred from its contents ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) -- Updated stdlib to Unicode 13.0.0 ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) +- Il tipo di un letterale di array può ora essere dedotto dal suo contenuto ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) +- Aggiornato stdlib a Unicode 13.0.0 ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) -## How to upgrade? +## Come aggiornare? -1. Change your mappings `apiVersion` in `subgraph.yaml` to `0.0.6`: +1. Modificare le mappature `apiVersion` in `subgraph.yaml` a `0.0.6`: ```yaml ... @@ -56,30 +56,30 @@ dataSources: ... ``` -2. Update the `graph-cli` you're using to the `latest` version by running: +2. Aggiornare il `graph-cli` in uso alla versione `ultima` eseguendo: ```bash -# if you have it globally installed +# se è installato globalmente npm install --global @graphprotocol/graph-cli@latest -# or in your subgraph if you have it as a dev dependency +# o nel proprio subgraph, se è una dipendenza di dev npm install --save-dev @graphprotocol/graph-cli@latest ``` -3. Do the same for `graph-ts`, but instead of installing globally, save it in your main dependencies: +3. Fare lo stesso per `graph-ts`, ma invece di installarlo globalmente, salvarlo nelle dipendenze principali: ```bash npm install --save @graphprotocol/graph-ts@latest ``` -4. Follow the rest of the guide to fix the language breaking changes. -5. Run `codegen` and `deploy` again. +4. Seguire il resto della guida per correggere le modifiche alla lingua. +5. Eseguire di nuovo `codegen` e `deploy`. -## Breaking changes +## Cambiamenti di rottura -### Nullability +### Nullabilità -On the older version of AssemblyScript, you could create code like this: +Nella versione precedente di AssemblyScript, era possibile creare codice come questo: ```typescript function load(): Value | null { ... } @@ -88,7 +88,7 @@ let maybeValue = load(); maybeValue.aMethod(); ``` -However on the newer version, because the value is nullable, it requires you to check, like this: +Tuttavia, nella versione più recente, poiché il valore è nullable, è necessario effettuare un controllo, come questo: ```typescript let maybeValue = load() @@ -98,7 +98,7 @@ if (maybeValue) { } ``` -Or force it like this: +Oppure forzarla in questo modo: ```typescript let maybeValue = load()! // breaks in runtime if value is null @@ -106,11 +106,11 @@ let maybeValue = load()! // breaks in runtime if value is null maybeValue.aMethod() ``` -If you are unsure which to choose, we recommend always using the safe version. If the value doesn't exist you might want to just do an early if statement with a return in you subgraph handler. +Se non si è sicuri di quale scegliere, si consiglia di utilizzare sempre la versione sicura. Se il valore non esiste, si potrebbe fare una dichiarazione if anticipata con un ritorno nel gestore del subgraph. -### Variable Shadowing +### Shadowing della variabile -Before you could do [variable shadowing](https://en.wikipedia.org/wiki/Variable_shadowing) and code like this would work: +Prima si poteva fare lo [ shadowing della variabile](https://en.wikipedia.org/wiki/Variable_shadowing) e il codice come questo funzionava: ```typescript let a = 10 @@ -118,7 +118,7 @@ let b = 20 let a = a + b ``` -However now this isn't possible anymore, and the compiler returns this error: +Tuttavia ora questo non è più possibile e il compilatore restituisce questo errore: ```typescript ERROR TS2451: Cannot redeclare block-scoped variable 'a' @@ -127,12 +127,9 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - -You'll need to rename your duplicate variables if you had variable shadowing. - -### Null Comparisons - -By doing the upgrade on your subgraph, sometimes you might get errors like these: +È necessario rinominare le variabili duplicate se si dispone di un'ombreggiatura delle variabili. +### Confronti nulli +Eseguendo l'aggiornamento sul subgraph, a volte si possono ottenere errori come questi: ```typescript ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' is not assignable to type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt'. @@ -140,8 +137,7 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - -To solve you can simply change the `if` statement to something like this: +Per risolvere il problema è sufficiente modificare l'istruzione `if` in qualcosa di simile: ```typescript if (!decimals) { @@ -151,23 +147,23 @@ To solve you can simply change the `if` statement to something like this: if (decimals === null) { ``` -The same applies if you're doing != instead of ==. +Lo stesso vale se si fa != invece di ==. ### Casting -The common way to do casting before was to just use the `as` keyword, like this: +Il modo più comune per effettuare il casting era quello di utilizzare la parola chiave `as`, come in questo caso: ```typescript let byteArray = new ByteArray(10) let uint8Array = byteArray as Uint8Array // equivalent to: byteArray ``` -However this only works in two scenarios: +Tuttavia, questo funziona solo in due scenari: -- Primitive casting (between types such as `u8`, `i32`, `bool`; eg: `let b: isize = 10; b as usize`); -- Upcasting on class inheritance (subclass → superclass) +- Casting primitivo (tra tipi come `u8`, `i32`, `bool`; ad esempio: `let b: isize = 10; b as usize`); +- Upcasting sull'ereditarietà delle classi (subclasse → superclasse) -Examples: +Esempi: ```typescript // primitive casting @@ -184,51 +180,51 @@ let bytes = new Bytes(2) // bytes // same as: bytes as Uint8Array ``` -There are two scenarios where you may want to cast, but using `as`/`var` **isn't safe**: +Ci sono due scenari in cui potreste voler effettuare casting, ma l'uso `as`/`var` **non è sicuro**: -- Downcasting on class inheritance (superclass → subclass) -- Between two types that share a superclass +- Downcasting sull'ereditarietà delle classi (superclasse → subclasse) +- Tra due tipi che condividono una superclasse ```typescript -// downcasting on class inheritance +// downcasting sull'ereditarietà delle classi class Bytes extends Uint8Array {} let uint8Array = new Uint8Array(2) -// uint8Array // breaks in runtime :( +// uint8Array // si interrompe in fase di esecuzione :( ``` ```typescript -// between two types that share a superclass +// tra due tipi che condividono una superclasse class Bytes extends Uint8Array {} class ByteArray extends Uint8Array {} let bytes = new Bytes(2) -// bytes // breaks in runtime :( +// bytes // si interrompe in fase di esecuzione :( ``` -For those cases, you can use the `changetype` function: +In questi casi, si può usare la funzione `changetype`: ```typescript -// downcasting on class inheritance +// downcasting sull'ereditarietà delle classi class Bytes extends Uint8Array {} let uint8Array = new Uint8Array(2) -changetype(uint8Array) // works :) +changetype(uint8Array) // funziona :) ``` ```typescript -// between two types that share a superclass +// tra due tipi che condividono una superclasse class Bytes extends Uint8Array {} class ByteArray extends Uint8Array {} let bytes = new Bytes(2) -changetype(bytes) // works :) +changetype(bytes) // funziona :) ``` -If you just want to remove nullability, you can keep using the `as` operator (or `variable`), but make sure you know that value can't be null, otherwise it will break. +Se si vuole solo rimuovere la nullità, si può continuare a usare l'operatore `as` (oppure `variabile`), ma assicurarsi di sapere che il valore non può essere nullo, altrimenti si interromperà. ```typescript -// remove nullability +// rimuovere la nullità let previousBalance = AccountBalance.load(balanceId) // AccountBalance | null if (previousBalance != null) { @@ -238,18 +234,18 @@ if (previousBalance != null) { let newBalance = new AccountBalance(balanceId) ``` -For the nullability case we recommend taking a look at the [nullability check feature](https://www.assemblyscript.org/basics.html#nullability-checks), it will make your code cleaner 🙂 +Per il caso della nullità si consiglia di dare un'occhiata alla [funzione verifica della nullità](https://www.assemblyscript.org/basics.html#nullability-checks), che renderà il codice più pulito 🙂 -Also we've added a few more static methods in some types to ease casting, they are: +Inoltre abbiamo aggiunto alcuni metodi statici in alcuni tipi per facilitare il casting, che sono: - Bytes.fromByteArray - Bytes.fromUint8Array - BigInt.fromByteArray - ByteArray.fromBigInt -### Nullability check with property access +### Verifica della nullità con accesso alle proprietà -To use the [nullability check feature](https://www.assemblyscript.org/basics.html#nullability-checks) you can use either `if` statements or the ternary operator (`?` and `:`) like this: +Per utilizzare la [di funzione controllo della nullità](https://www.assemblyscript.org/basics.html#nullability-checks) si possono usare le istruzioni `if` oppure l'operatore ternario (`?` e `:`) come questo: ```typescript let something: string | null = 'data' @@ -267,7 +263,7 @@ if (something) { } ``` -However that only works when you're doing the `if` / ternary on a variable, not on a property access, like this: +Tuttavia, questo funziona solo quando si esegue il `if` / ternario su una variabile, non sull'accesso a una proprietà, come in questo caso: ```typescript class Container { @@ -277,10 +273,10 @@ class Container { let container = new Container() container.data = 'data' -let somethingOrElse: string = container.data ? container.data : 'else' // doesn't compile +let somethingOrElse: string = container.data ? container.data : 'else' // non viene compilato ``` -Which outputs this error: +Che produce questo errore: ```typescript ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/string/String'. @@ -288,8 +284,7 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - -To fix this issue, you can create a variable for that property access so that the compiler can do the nullability check magic: +Per risolvere questo problema, si può creare una variabile per l'accesso alla proprietà, in modo che il compilatore possa fare la magia del controllo di annullabilità: ```typescript class Container { @@ -301,12 +296,12 @@ container.data = 'data' let data = container.data -let somethingOrElse: string = data ? data : 'else' // compiles just fine :) +let somethingOrElse: string = data ? data : 'else' // viene compilato benissimo :) ``` -### Operator overloading with property access +### Sovraccarico dell'operatore con accesso alle proprietà -If you try to sum (for example) a nullable type (from a property access) with a non nullable one, the AssemblyScript compiler instead of giving a compile time error warning that one of the values is nullable, it just compiles silently, giving chance for the code to break at runtime. +Se si tenta di sommare (ad esempio) un tipo nullable (da un accesso a una proprietà) con uno non nullable, il compilatore di AssemblyScript, invece di dare un avviso di errore in fase di compilazione sul fatto che uno dei valori è nullable, si limita a compilare in silenzio, dando la possibilità che il codice si interrompa in fase di esecuzione. ```typescript class BigInt extends Uint8Array { @@ -327,10 +322,10 @@ x + y // give compile time error about nullability let wrapper = new Wrapper(y) -wrapper.n = wrapper.n + x // doesn't give compile time errors as it should +wrapper.n = wrapper.n + x // non dà errori in fase di compilazione come dovrebbe ``` -We've opened a issue on the AssemblyScript compiler for this, but for now if you do these kind of operations in your subgraph mappings, you should change them to do a null check before it. +Abbiamo aperto un problema sul compilatore AssemblyScript per questo, ma per il momento se fate questo tipo di operazioni nelle vostre mappature di subgraph, dovreste modificarle in modo da fare un controllo di null prima di esse. ```typescript let wrapper = new Wrapper(y) @@ -339,12 +334,12 @@ if (!wrapper.n) { wrapper.n = BigInt.fromI32(0) } -wrapper.n = wrapper.n + x // now `n` is guaranteed to be a BigInt +wrapper.n = wrapper.n + x // ora `n` è garantito essere un BigInt ``` -### Value initialization +### Inizializzazione del valore -If you have any code like this: +Se si dispone di codice come questo: ```typescript var value: Type // null @@ -352,7 +347,7 @@ value.x = 10 value.y = 'content' ``` -It will compile but break at runtime, that happens because the value hasn't been initialized, so make sure your subgraph has initialized their values, like this: +Verrà compilato ma si interromperà in fase di esecuzione, perché il valore non è stato inizializzato, quindi assicuratevi che il vostro subgraph abbia inizializzato i suoi valori, in questo modo: ```typescript var value = new Type() // initialized @@ -360,7 +355,7 @@ value.x = 10 value.y = 'content' ``` -Also if you have nullable properties in a GraphQL entity, like this: +Inoltre, se si hanno proprietà nullable in un'entità GraphQL, come questa: ```graphql type Total @entity { @@ -369,7 +364,7 @@ type Total @entity { } ``` -And you have code similar to this: +E avete un codice simile a questo: ```typescript let total = Total.load('latest') @@ -381,7 +376,7 @@ if (total === null) { total.amount = total.amount + BigInt.fromI32(1) ``` -You'll need to make sure to initialize the `total.amount` value, because if you try to access like in the last line for the sum, it will crash. So you either initialize it first: +È necessario assicurarsi di inizializzare il valore `total.amount`, perché se si tenta di accedervi come nell'ultima riga per la somma, il programma si blocca. Quindi bisogna inizializzarlo prima: ```typescript let total = Total.load('latest') @@ -394,7 +389,7 @@ if (total === null) { total.tokens = total.tokens + BigInt.fromI32(1) ``` -Or you can just change your GraphQL schema to not use a nullable type for this property, then we'll initialize it as zero on the `codegen` step 😉 +Oppure si può semplicemente modificare lo schema GraphQL per non utilizzare un tipo nullable per questa proprietà, quindi la inizializzeremo come zero nel passaggio `codegen` 😉 ```graphql type Total @entity { @@ -407,15 +402,15 @@ type Total @entity { let total = Total.load('latest') if (total === null) { - total = new Total('latest') // already initializes non-nullable properties + total = new Total('latest') // inizializza già le proprietà non nulle } total.amount = total.amount + BigInt.fromI32(1) ``` -### Class property initialization +### Inizializzazione delle proprietà della classe -If you export any classes with properties that are other classes (declared by you or by the standard library) like this: +Se si esportano classi con proprietà che sono altre classi (dichiarate dall'utente o dalla libreria standard) come questa: ```typescript class Thing {} @@ -425,7 +420,7 @@ export class Something { } ``` -The compiler will error because you either need to add an initializer for the properties that are classes, or add the `!` operator: +Il compilatore darà un errore perché è necessario aggiungere un initializer per le proprietà che sono classi, oppure aggiungere l'operatore `!`: ```typescript export class Something { @@ -449,9 +444,9 @@ export class Something { } ``` -### Array initialization +### Inizializzazione del Array -The `Array` class still accepts a number to initialize the length of the list, however you should take care because operations like `.push` will actually increase the size instead of adding to the beginning, for example: +La classe `Array` accetta ancora un numero per inizializzare la lunghezza dell'elenco, ma bisogna fare attenzione perché operazioni come `.push` aumentano effettivamente la dimensione invece di aggiungere all'inizio, ad esempio: ```typescript let arr = new Array(5) // ["", "", "", "", ""] @@ -459,13 +454,13 @@ let arr = new Array(5) // ["", "", "", "", ""] arr.push('something') // ["", "", "", "", "", "something"] // size 6 :( ``` -Depending on the types you're using, eg nullable ones, and how you're accessing them, you might encounter a runtime error like this one: +A seconda dei tipi utilizzati, ad esempio quelli nullable, e del modo in cui vi si accede, si potrebbe verificare un errore di runtime come questo: ``` ERRO Handler skipped due to execution failure, error: Mapping aborted at ~lib/array.ts, line 110, column 40, with message: Element type must be nullable if array is holey wasm backtrace: 0: 0x19c4 - !~lib/@graphprotocol/graph-ts/index/format 1: 0x1e75 - !~lib/@graphprotocol/graph-ts/common/collections/Entity#constructor 2: 0x30b9 - !node_modules/@graphprotocol/graph-ts/global/global/id_of_type ``` -To actually push at the beginning you should either, initialize the `Array` with size zero, like this: +Per spingere effettivamente all'inizio, si dovrebbe inizializzare l'`Array` con dimensione zero, in questo modo: ```typescript let arr = new Array(0) // [] @@ -473,7 +468,7 @@ let arr = new Array(0) // [] arr.push('something') // ["something"] ``` -Or you should mutate it via index: +Oppure si dovrebbe mutare tramite indice: ```typescript let arr = new Array(5) // ["", "", "", "", ""] @@ -481,11 +476,11 @@ let arr = new Array(5) // ["", "", "", "", ""] arr[0] = 'something' // ["something", "", "", "", ""] ``` -### GraphQL schema +### Schema GraphQL -This is not a direct AssemblyScript change, but you may have to update your `schema.graphql` file. +Non si tratta di una modifica diretta di AssemblyScript, ma potrebbe essere necessario aggiornare il file `schema.graphql`. -Now you no longer can define fields in your types that are Non-Nullable Lists. If you have a schema like this: +Ora non è più possibile definire campi nei tipi che sono elenchi non nulli. Se si ha uno schema come questo: ```graphql type Something @entity { @@ -498,7 +493,7 @@ type MyEntity @entity { } ``` -You'll have to add an `!` to the member of the List type, like this: +Si dovrà aggiungere un `!` al membro del tipo List, in questo modo: ```graphql type Something @entity { @@ -511,14 +506,14 @@ type MyEntity @entity { } ``` -This changed because of nullability differences between AssemblyScript versions, and it's related to the `src/generated/schema.ts` file (default path, you might have changed this). +Questo è cambiato a causa delle differenze di nullabilità tra le versioni di AssemblyScript ed è legato al file `src/generated/schema.ts` (percorso predefinito, potrebbe essere stato modificato). -### Other +### Altro -- Aligned `Map#set` and `Set#add` with the spec, returning `this` ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) -- Arrays no longer inherit from ArrayBufferView, but are now distinct ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) -- Classes initialized from object literals can no longer define a constructor ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) -- The result of a `**` binary operation is now the common denominator integer if both operands are integers. Previously, the result was a float as if calling `Math/f.pow` ([v0.11.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.11.0)) -- Coerce `NaN` to `false` when casting to `bool` ([v0.14.9](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.9)) -- When shifting a small integer value of type `i8`/`u8` or `i16`/`u16`, only the 3 respectively 4 least significant bits of the RHS value affect the result, analogous to the result of an `i32.shl` only being affected by the 5 least significant bits of the RHS value. Example: `someI8 << 8` previously produced the value `0`, but now produces `someI8` due to masking the RHS as `8 & 7 = 0` (3 bits) ([v0.17.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.0)) -- Bug fix of relational string comparisons when sizes differ ([v0.17.8](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.8)) +- Allinea `Map#set` e `Set#add` con le specifiche, restituendo `questo` ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) +- Gli Array non ereditano più da ArrayBufferView, ma sono ora distinti ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) +- Le classi inizializzate a partire da letterali di oggetti non possono più definire un costruttore ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) +- Il risultato di un'operazione binaria `**` è ora l'intero a denominatore comune se entrambi gli operandi sono interi. In precedenza, il risultato era un float, come se si chiamasse `Math/f.pow` ([v0.11.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.11.0)) +- Coerenzia `NaN` a `false` quando viene lanciato a `bool` ([v0.14.9](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.9)) +- Quando si sposta un piccolo valore intero di tipo `i8`/`u8` oppure `i16`/`u16`, solo i 3 o 4 bit meno significativi del valore RHS influiscono sul risultato, analogamente al risultato di un `i32.shl` che viene influenzato solo dai 5 bit meno significativi del valore RHS. Esempio: `someI8 << 8` prima produceva il valore `0`, ma ora produce `someI8` a causa del mascheramento del RHS come `8 & 7 = 0` (3 bits) ([v0.17.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.0)) +- Correzione del bug dei confronti tra stringhe relazionali quando le dimensioni sono diverse ([v0.17.8](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.8)) From e1338f2db8f00ba164baa4be0ed6510d98dbb043 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:57 -0400 Subject: [PATCH 0622/2326] New translations assemblyscript-migration-guide.mdx (Japanese) --- .../ja/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/ja/release-notes/assemblyscript-migration-guide.mdx b/website/pages/ja/release-notes/assemblyscript-migration-guide.mdx index 766fbb6c80a3..82a7d23de3f8 100644 --- a/website/pages/ja/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/ja/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - 変数シャドウイングを行っていた場合は、重複する変数の名前を変更する必要があります。 - ### Null 比較 - サブグラフのアップグレードを行うと、時々以下のようなエラーが発生することがあります。 ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - 解決するには、 `if` 文を以下のように変更するだけです。 ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - この問題を解決するには、そのプロパティアクセスのための変数を作成して、コンパイラが nullability check のマジックを行うようにします。 ```typescript From 1dc83fe858db0f2fc4b731977e653d3baeb93338 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:58 -0400 Subject: [PATCH 0623/2326] New translations assemblyscript-migration-guide.mdx (Korean) --- .../ko/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/ko/release-notes/assemblyscript-migration-guide.mdx b/website/pages/ko/release-notes/assemblyscript-migration-guide.mdx index 85f6903a6c69..17224699570d 100644 --- a/website/pages/ko/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/ko/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - You'll need to rename your duplicate variables if you had variable shadowing. - ### Null Comparisons - By doing the upgrade on your subgraph, sometimes you might get errors like these: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - To solve you can simply change the `if` statement to something like this: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - To fix this issue, you can create a variable for that property access so that the compiler can do the nullability check magic: ```typescript From 9310cf9c5c376ed48069337558f3243ebe1af946 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:36:59 -0400 Subject: [PATCH 0624/2326] New translations assemblyscript-migration-guide.mdx (Dutch) --- .../nl/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/nl/release-notes/assemblyscript-migration-guide.mdx b/website/pages/nl/release-notes/assemblyscript-migration-guide.mdx index 85f6903a6c69..17224699570d 100644 --- a/website/pages/nl/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/nl/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - You'll need to rename your duplicate variables if you had variable shadowing. - ### Null Comparisons - By doing the upgrade on your subgraph, sometimes you might get errors like these: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - To solve you can simply change the `if` statement to something like this: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - To fix this issue, you can create a variable for that property access so that the compiler can do the nullability check magic: ```typescript From 00c09c84f0d9e3aaa434cf3b5f787d941c75d38a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:00 -0400 Subject: [PATCH 0625/2326] New translations assemblyscript-migration-guide.mdx (Polish) --- .../pl/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/pl/release-notes/assemblyscript-migration-guide.mdx b/website/pages/pl/release-notes/assemblyscript-migration-guide.mdx index 85f6903a6c69..17224699570d 100644 --- a/website/pages/pl/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/pl/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - You'll need to rename your duplicate variables if you had variable shadowing. - ### Null Comparisons - By doing the upgrade on your subgraph, sometimes you might get errors like these: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - To solve you can simply change the `if` statement to something like this: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - To fix this issue, you can create a variable for that property access so that the compiler can do the nullability check magic: ```typescript From 431d0d26f554bea335fcbc85aa88901833bf4d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:01 -0400 Subject: [PATCH 0626/2326] New translations assemblyscript-migration-guide.mdx (Portuguese) --- .../pt/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/pt/release-notes/assemblyscript-migration-guide.mdx b/website/pages/pt/release-notes/assemblyscript-migration-guide.mdx index ce410b9ed255..df425838fea1 100644 --- a/website/pages/pt/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/pt/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - Renomeie as suas variáveis duplicadas, se tinha o sombreamento variável. - ### Comparações de Nulos - Ao fazer a atualização no seu subgraph, às vezes aparecem erros como este: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - Para resolver isto, basta mudar a declaração `if` para algo assim: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - Para consertar este problema, vale criar uma variável para aquele acesso à propriedade, para que o compilador faça a magia da checagem de anulabilidade: ```typescript From 687c5769eb7fe4479c45d0e0a1dc67eecdb3a355 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:02 -0400 Subject: [PATCH 0627/2326] New translations assemblyscript-migration-guide.mdx (Russian) --- .../assemblyscript-migration-guide.mdx | 159 +++++++++++++++++- 1 file changed, 154 insertions(+), 5 deletions(-) diff --git a/website/pages/ru/release-notes/assemblyscript-migration-guide.mdx b/website/pages/ru/release-notes/assemblyscript-migration-guide.mdx index fc783e57bfc5..4839cf7e4b60 100644 --- a/website/pages/ru/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/ru/release-notes/assemblyscript-migration-guide.mdx @@ -19,16 +19,21 @@ title: Руководство по миграции AssemblyScript - Добавлена поддержка x instanceof GenericClass ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) - Добавлен `StaticArray`, более эффективный вариант массива ([v0.9.3](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.3)) - Добавлен `Array#flat` ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) -- Реализован аргумент `radix` для `Number#toString` ([v0.10.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.1)) -- Добавлена поддержка разделителей в литералах с плавающей точкой ([v0.13.7](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.13.7)) +- Реализован аргумент `radix` для `Number#toString` ( +v0.10.1)
  • + + - Добавлена поддержка разделителей в литералах с плавающей точкой ([v0.13.7](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.13.7)) - Добавлена поддержка функций первого класса ([v0.14.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.0)) - Добавление встроенных модулей: `i32/i64/f32/f64.add/sub/mul` ([v0.14.13](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.13)) - Внедрение `Array/TypedArray/String#at` ([v0.18.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.2)) - Добавлена поддержка литеральных строк шаблона ([v0.18.17](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.17)) - Добавление `encodeURI(Component)` и `decodeURI(Component)` ([v0.18.27](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.27)) -- Добавление `toString`, `toDateString` и `toTimeString` к `Date` ([v0.18.29](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.29)) -- Добавление `toUTCString` для `Date` ([v0.18.30](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.30)) -- Добавление встроенного типа `nonnull/NonNullable` ([v0.19.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.19.2)) +- Добавление `toString`, `toDateString` и `toTimeString` к `Date` ([v0.18.29](https://github.com/ AssemblyScript/assemblyscript/releases/tag/v0.18.29)) +- Добавление `toUTCString` для `Date` (v0.18.30) + + - Добавление встроенного типа `nonnull/NonNullable` ([v0.19.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.19.2)) + + ### Оптимизации @@ -37,15 +42,21 @@ title: Руководство по миграции AssemblyScript - Кэширование большего количества обращений к полям в std Map и Set ([v0.17.8](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.8)) - Оптимизация по двум степеням в `ipow32/64` ([v0.18.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.2)) + + ### Прочее - Тип литерала массива теперь можно определить по его содержимому ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) - Стандартная библиотека обновлена до версии Unicode 13.0.0 ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) + + ## Как выполнить обновление? 1. Измените мэппинги `apiVersion` в `subgraph.yaml` на `0.0.6`: + + ```yaml ... dataSources: @@ -56,8 +67,11 @@ dataSources: ... ``` + 2. Обновите используемый Вами `graph-cli` до `latest` версии, выполнив: + + ```bash # если он у Вас установлен глобально npm install --global @graphprotocol/graph-cli@latest @@ -66,21 +80,31 @@ npm install --global @graphprotocol/graph-cli@latest npm install --save-dev @graphprotocol/graph-cli@latest ``` + 3. Сделайте то же самое для `graph-ts`, но вместо глобальной установки сохраните его в своих основных зависимостях: + + ```bash npm install --save @graphprotocol/graph-ts@latest ``` + 4. Следуйте остальной части руководства, чтобы исправить языковые изменения. 5. Снова запустите `codegen` и `deploy`. + + ## Критические изменения + + ### Обнуляемость В более старой версии AssemblyScript можно было создать такой код: + + ```typescript function load(): Value | null { ... } @@ -88,8 +112,11 @@ let maybeValue = load(); maybeValue.aMethod(); ``` + Однако в новой версии, поскольку значение обнуляемо, требуется проверка, например, такая: + + ```typescript let maybeValue = load() @@ -98,28 +125,39 @@ if (maybeValue) { } ``` + Или принудительно вот такая: + + ```typescript let maybeValue = load()! // прерывается во время выполнения, если значение равно null maybeValue.aMethod() ``` + Если Вы не уверены, что выбрать, мы рекомендуем всегда использовать безопасную версию. Если значение не существует, Вы можете просто выполнить раннее выражение if с возвратом в обработчике субграфа. + + ### Затенение переменных Раньше можно было сделать [затенение переменных](https://en.wikipedia.org/wiki/Variable_shadowing) и код, подобный этому, работал: + + ```typescript let a = 10 let b = 20 let a = a + b ``` + Однако теперь это больше невозможно, и компилятор возвращает эту ошибку: + + ```typescript ERROR TS2451: Cannot redeclare block-scoped variable 'a' @@ -128,12 +166,16 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' in assembly/index.ts(4,3) ``` + Вам нужно будет переименовать дублированные переменные, если Вы используете затенение переменных. + ### Нулевые сравнения Выполняя обновление своего субграфа, иногда Вы можете получить такие ошибки: + + ```typescript ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' is not assignable to type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt'. if (decimals == null) { @@ -141,8 +183,11 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i in src/mappings/file.ts(41,21) ``` + Чтобы решить эту проблему, Вы можете просто изменить оператор `if` на что-то вроде этого: + + ```typescript if (!decimals) { @@ -151,17 +196,23 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i if (decimals === null) { ``` + Подобное относится к случаям, когда вместо == используется !=. + + ### Кастинг Раньше для кастинга обычно использовалось ключевое слово `as`, например: + + ```typescript let byteArray = new ByteArray(10) let uint8Array = byteArray as Uint8Array // equivalent to: byteArray ``` + Однако это работает только в двух случаях: - Примитивный кастинг (между такими типами, как `u8`, `i32`, `bool`; например: `let b: isize = 10; b as usize`); @@ -169,6 +220,8 @@ let uint8Array = byteArray as Uint8Array // equivalent to: byteArray Примеры: + + ```typescript // примитивный кастинг let a: usize = 10 @@ -176,6 +229,9 @@ let b: isize = 5 let c: usize = a + (b as usize) ``` + + + ```typescript // укрупнение по наследованию классов class Bytes extends Uint8Array {} @@ -184,11 +240,14 @@ let bytes = new Bytes(2) // bytes // то же, что: bytes as Uint8Array ``` + Есть два сценария, в которых Вы можете захотеть выполнить преобразование, но использовать `as`/`var` **небезопасно**: - Понижение уровня наследования классов (superclass → subclass) - Между двумя типами, имеющими общий супер класс + + ```typescript // понижение уровня наследования классов class Bytes extends Uint8Array {} @@ -197,6 +256,9 @@ let uint8Array = new Uint8Array(2) // uint8Array // перерывы в работе :( ``` + + + ```typescript // между двумя типами, имеющими общий суперкласс class Bytes extends Uint8Array {} @@ -206,8 +268,11 @@ let bytes = new Bytes(2) // bytes // перерывы в работе :( ``` + В таких случаях можно использовать функцию `changetype`: + + ```typescript // понижение уровня наследования классов class Bytes extends Uint8Array {} @@ -216,6 +281,9 @@ let uint8Array = new Uint8Array(2) changetype(uint8Array) // работает :) ``` + + + ```typescript // между двумя типами, имеющими общий суперкласс class Bytes extends Uint8Array {} @@ -225,8 +293,11 @@ let bytes = new Bytes(2) changetype(bytes) // работает :) ``` + Если Вы просто хотите удалить значение NULL, Вы можете продолжать использовать оператор `as` (или `variable`), но помните, что значение не может быть нулевым, иначе оно сломается. + + ```typescript // удалить значение NULL let previousBalance = AccountBalance.load(balanceId) // AccountBalance | null @@ -238,6 +309,7 @@ if (previousBalance != null) { let newBalance = new AccountBalance(balanceId) ``` + В случае обнуления мы рекомендуем Вам обратить внимание на [функцию проверки обнуления](https://www.assemblyscript.org/basics.html#nullability-checks), это сделает ваш код чище 🙂 Также мы добавили еще несколько статических методов в некоторые типы, чтобы облегчить кастинг: @@ -247,10 +319,14 @@ let newBalance = new AccountBalance(balanceId) - BigInt.fromByteArray - ByteArray.fromBigInt + + ### Проверка нулевого значения с доступом к свойству Чтобы применить [функцию проверки на нулевое значение](https://www.assemblyscript.org/basics.html#nullability-checks), Вы можете использовать операторы `if` или тернарный оператор (`?` и `:`) следующим образом: + + ```typescript let something: string | null = 'data' @@ -267,8 +343,11 @@ if (something) { } ``` + Однако это работает только тогда, когда Вы выполняете `if` / тернарную операцию для переменной, а не для доступа к свойству, например: + + ```typescript class Container { data: string | null @@ -280,8 +359,11 @@ container.data = 'data' let somethingOrElse: string = container.data ? container.data : 'else' // не компилируется ``` + В результате чего выдается ошибка: + + ```typescript ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/string/String'. @@ -289,8 +371,11 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` + Чтобы решить эту проблему, Вы можете создать переменную для доступа к этому свойству, чтобы компилятор мог выполнять проверку допустимости значений NULL: + + ```typescript class Container { data: string | null @@ -304,10 +389,15 @@ let data = container.data let somethingOrElse: string = data ? data : 'else' // компилируется просто отлично :) ``` + + + ### Перегрузка оператора при доступе к свойствам Если Вы попытаетесь суммировать (например) тип, допускающий значение Null (из доступа к свойству), с типом, не допускающим значение Null, компилятор AssemblyScript вместо того, чтобы выдать предупреждение об ошибке компиляции, предупреждающую, что одно из значений допускает значение Null, просто компилируется молча, давая возможность сломать код во время выполнения. + + ```typescript class BigInt extends Uint8Array { @operator('+') @@ -330,8 +420,11 @@ let wrapper = new Wrapper(y) wrapper.n = wrapper.n + x // не выдает ошибок времени компиляции, как это должно быть ``` + Мы открыли вопрос по этому поводу для компилятора AssemblyScript, но пока, если Вы выполняете подобные операции в своих мэппингах субграфов, Вам следует изменить их так, чтобы перед этим выполнялась проверка на нулевое значение. + + ```typescript let wrapper = new Wrapper(y) @@ -342,26 +435,37 @@ if (!wrapper.n) { wrapper.n = wrapper.n + x // теперь `n` гарантированно будет BigInt ``` + + + ### Инициализация значения Если у Вас есть такой код: + + ```typescript var value: Type // null value.x = 10 value.y = 'content' ``` + Он будет скомпилирован, но сломается во время выполнения. Это происходит из-за того, что значение не было инициализировано, поэтому убедитесь, что Ваш субграф инициализировал свои значения, например так: + + ```typescript var value = new Type() // initialized value.x = 10 value.y = 'content' ``` + Также, если у Вас есть свойства, допускающие значение NULL, в объекте GraphQL, например: + + ```graphql type Total @entity { id: Bytes! @@ -369,8 +473,11 @@ type Total @entity { } ``` + И у Вас есть код, аналогичный этому: + + ```typescript let total = Total.load('latest') @@ -381,8 +488,11 @@ if (total === null) { total.amount = total.amount + BigInt.fromI32(1) ``` + Вам необходимо убедиться, что значение `total.amount` инициализировано, потому что, если Вы попытаетесь получить доступ к сумме, как в последней строке, произойдет сбой. Таким образом, Вы либо инициализируете его первым: + + ```typescript let total = Total.load('latest') @@ -394,8 +504,11 @@ if (total === null) { total.tokens = total.tokens + BigInt.fromI32(1) ``` + Или Вы можете просто изменить свою схему GraphQL, чтобы не использовать тип, допускающий значение NULL для этого свойства. Тогда мы инициализируем его нулем на этапе `codegen` 😉 + + ```graphql type Total @entity { id: Bytes! @@ -403,6 +516,9 @@ type Total @entity { } ``` + + + ```typescript let total = Total.load('latest') @@ -413,10 +529,15 @@ if (total === null) { total.amount = total.amount + BigInt.fromI32(1) ``` + + + ### Инициализация свойств класса Если Вы экспортируете какие-либо классы со свойствами, которые являются другими классами (декларированными Вами или стандартной библиотекой), то это выглядит следующим образом: + + ```typescript class Thing {} @@ -425,8 +546,11 @@ export class Something { } ``` + Компилятор выдаст ошибку, потому что Вам нужно либо добавить инициализатор для свойств, являющихся классами, либо добавить оператор `!`: + + ```typescript export class Something { constructor(public value: Thing) {} @@ -449,44 +573,63 @@ export class Something { } ``` + + + ### Инициализация массива Класс `Array` по-прежнему принимает число для инициализации длины списка, однако Вам следует соблюдать осторожность, поскольку такие операции, как `.push`, фактически увеличивают размер, а не добавляют его в начало, например: + + ```typescript let arr = new Array(5) // ["", "", "", "", ""] arr.push('something') // ["", "", "", "", "", "something"] // size 6 :( ``` + В зависимости от используемых типов, например, допускающих значение NULL, и способа доступа к ним, можно столкнуться с ошибкой времени выполнения, подобной этой: + + ``` ERRO Handler skipped due to execution failure, error: Mapping aborted at ~lib/array.ts, line 110, column 40, with message: Element type must be nullable if array is holey wasm backtrace: 0: 0x19c4 - !~lib/@graphprotocol/graph-ts/index/format 1: 0x1e75 - !~lib/@graphprotocol/graph-ts/common/collections/Entity#constructor 2: 0x30b9 - !node_modules/@graphprotocol/graph-ts/global/global/id_of_type ``` + Для того чтобы фактически начать, Вы должны либо инициализировать `Array` нулевым размером, следующим образом: + + ```typescript let arr = new Array(0) // [] arr.push('something') // ["something"] ``` + Или Вы должны изменить его через индекс: + + ```typescript let arr = new Array(5) // ["", "", "", "", ""] arr[0] = 'something' // ["something", "", "", "", ""] ``` + + + ### Схема GraphQL Это не прямое изменение AssemblyScript, но Вам, возможно, придется обновить файл `schema.graphql`. Теперь Вы больше не можете определять поля в своих типах, которые являются списками, не допускающими значение NULL. Если у Вас такая схема: + + ```graphql type Something @entity { id: Bytes! @@ -498,8 +641,11 @@ type MyEntity @entity { } ``` + Вам нужно добавить `!` к элементу типа List, например, так: + + ```graphql type Something @entity { id: Bytes! @@ -511,8 +657,11 @@ type MyEntity @entity { } ``` + Изменение произошло из-за различий в допустимости значений NULL между версиями AssemblyScript и связано с файлом `src/generated/schema.ts` (путь по умолчанию, возможно, Вы его изменили). + + ### Прочее - `Map#set` и `Set#add` согласованы со спецификацией, произведён возврат к `this` ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) From 7e69d5650e6cb54abc82026ea3f4be588673200f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:03 -0400 Subject: [PATCH 0628/2326] New translations assemblyscript-migration-guide.mdx (Swedish) --- .../assemblyscript-migration-guide.mdx | 127 +++++++++--------- 1 file changed, 61 insertions(+), 66 deletions(-) diff --git a/website/pages/sv/release-notes/assemblyscript-migration-guide.mdx b/website/pages/sv/release-notes/assemblyscript-migration-guide.mdx index 97c6bb95635a..afa4a7df4747 100644 --- a/website/pages/sv/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/sv/release-notes/assemblyscript-migration-guide.mdx @@ -91,17 +91,17 @@ maybeValue.aMethod(); Men i den nyare versionen, eftersom värdet är nullable, måste du kontrollera, så här: ```typescript -let maybeValue = load() +let maybeValue = load(); if (maybeValue) { - maybeValue.aMethod() // `maybeValue` is not null anymore + maybeValue.aMethod(); // `maybeValue` is not null anymore } ``` Eller gör så här: ```typescript -let maybeValue = load()! // bryts i runtime om värdet är null +let maybeValue = load()!; // bryts i runtime om värdet är null maybeValue.aMethod() ``` @@ -113,8 +113,8 @@ Om du är osäker på vilken du ska välja, rekommenderar vi alltid att använda Tidigare kunde du använda [variabelskuggning](https://en.wikipedia.org/wiki/Variable_shadowing) och kod som detta skulle fungera: ```typescript -let a = 10 -let b = 20 +let a = 10; +let b = 20; let a = a + b ``` @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - Du måste döpa om dina duplicerade variabler om du hade variabelskuggning. - ### Jämförelser med nollvärden - När du gör uppgraderingen av din subgraf kan du ibland få fel som dessa: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - För att lösa problemet kan du helt enkelt ändra `if`-satsen till något i den här stilen: ```typescript @@ -158,8 +154,8 @@ Samma gäller om du använder != istället för ==. Det vanliga sättet att göra kasting tidigare var att bara använda nyckelordet `as`, som så här: ```typescript -let byteArray = new ByteArray(10) -let uint8Array = byteArray as Uint8Array // motsvarande: byteArray +let byteArray = new ByteArray(10); +let uint8Array = byteArray as Uint8Array; // motsvarande: byteArray ``` Detta fungerar dock endast i två scenarier: @@ -171,8 +167,8 @@ Exempel: ```typescript // primitive casting -let a: usize = 10 -let b: isize = 5 +let a: usize = 10; +let b: isize = 5; let c: usize = a + (b as usize) ``` @@ -180,7 +176,7 @@ let c: usize = a + (b as usize) // upcasting on class inheritance class Bytes extends Uint8Array {} -let bytes = new Bytes(2) +let bytes = new Bytes(2); // bytes // same as: bytes as Uint8Array ``` @@ -193,7 +189,7 @@ Det finns två scenarier där du kan vilja casta, men att använda `as`/`var` // downcasting om klassarv class Bytes extends Uint8Array {} -let uint8Array = new Uint8Array(2) +let uint8Array = new Uint8Array(2); // uint8Array // breaks in runtime :( ``` @@ -202,7 +198,7 @@ let uint8Array = new Uint8Array(2) class Bytes extends Uint8Array {} class ByteArray extends Uint8Array {} -let bytes = new Bytes(2) +let bytes = new Bytes(2); // bytes // breaks in runtime :( ``` @@ -212,8 +208,8 @@ I dessa fall kan du använda funktionen `changetype`: // downcasting om klassarv class Bytes extends Uint8Array {} -let uint8Array = new Uint8Array(2) -changetype(uint8Array) // works :) +let uint8Array = new Uint8Array(2); +changetype(uint8Array); // works :) ``` ```typescript @@ -221,18 +217,18 @@ changetype(uint8Array) // works :) class Bytes extends Uint8Array {} class ByteArray extends Uint8Array {} -let bytes = new Bytes(2) -changetype(bytes) // works :) +let bytes = new Bytes(2); +changetype(bytes); // works :) ``` Om du bara vill ta bort nullability kan du fortsätta använda `as`-operatorn (eller `variable`), men se till att du vet att värdet inte kan vara null, annars kommer det att bryta. ```typescript // ta bort ogiltighet -let previousBalance = AccountBalance.load(balanceId) // AccountBalance | null +let previousBalance = AccountBalance.load(balanceId); // AccountBalance | null if (previousBalance != null) { - return previousBalance as AccountBalance // safe remove null + return previousBalance as AccountBalance; // safe remove null } let newBalance = new AccountBalance(balanceId) @@ -252,18 +248,18 @@ Vi har också lagt till några fler statiska metoder i vissa typer för att unde För att använda [nullability check feature](https://www.assemblyscript.org/basics.html#nullability-checks) kan du använda antingen `if`-satser eller den ternära operatorn (`?` och `:`) så här: ```typescript -let something: string | null = 'data' +let something: string | null = "data"; -let somethingOrElse = something ? something : 'else' +let somethingOrElse = something ? something : "else"; // or -let somethingOrElse +let somethingOrElse; if (something) { - somethingOrElse = something + somethingOrElse = something; } else { - somethingOrElse = 'else' + somethingOrElse = "else"; } ``` @@ -274,10 +270,10 @@ class Container { data: string | null } -let container = new Container() -container.data = 'data' +let container = new Container(); +container.data = "data"; -let somethingOrElse: string = container.data ? container.data : 'else' // Kompilerar inte +let somethingOrElse: string = container.data ? container.data : "else"; // Kompilerar inte ``` Vilket ger detta fel: @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - För att åtgärda problemet kan du skapa en variabel för den egenskapen så att kompilatorn kan utföra den magiska nollbarhetskontrollen: ```typescript @@ -296,12 +291,12 @@ class Container { data: string | null } -let container = new Container() -container.data = 'data' +let container = new Container(); +container.data = "data"; -let data = container.data +let data = container.data; -let somethingOrElse: string = data ? data : 'else' // kompilerar helt okej :) +let somethingOrElse: string = data ? data : "else"; // kompilerar helt okej :) ``` ### Operatörsöverladdning med egenskapsaccess @@ -310,7 +305,7 @@ Om du försöker summera (till exempel) en nullable typ (från en property acces ```typescript class BigInt extends Uint8Array { - @operator('+') + @operator("+") plus(other: BigInt): BigInt { // ... } @@ -320,26 +315,26 @@ class Wrapper { public constructor(public n: BigInt | null) {} } -let x = BigInt.fromI32(2) -let y: BigInt | null = null +let x = BigInt.fromI32(2); +let y: BigInt | null = null; -x + y // ge kompileringsfel om ogiltighet +x + y; // ge kompileringsfel om ogiltighet -let wrapper = new Wrapper(y) +let wrapper = new Wrapper(y); -wrapper.n = wrapper.n + x // ger inte kompileringsfel som det borde +wrapper.n = wrapper.n + x; // ger inte kompileringsfel som det borde ``` Vi har öppnat en fråga om AssemblyScript-kompilatorn för detta, men om du gör den här typen av operationer i dina subgraf-mappningar bör du ändra dem så att de gör en null-kontroll innan den. ```typescript -let wrapper = new Wrapper(y) +let wrapper = new Wrapper(y); if (!wrapper.n) { - wrapper.n = BigInt.fromI32(0) + wrapper.n = BigInt.fromI32(0); } -wrapper.n = wrapper.n + x // nu är `n` garanterat ett BigInt +wrapper.n = wrapper.n + x; // nu är `n` garanterat ett BigInt ``` ### Initialisering av värde @@ -347,17 +342,17 @@ wrapper.n = wrapper.n + x // nu är `n` garanterat ett BigInt Om du har någon kod som denna: ```typescript -var value: Type // null -value.x = 10 -value.y = 'content' +var value: Type; // null +value.x = 10; +value.y = "content" ``` Det kommer att kompilera men brytas vid körning, det händer eftersom värdet inte har initialiserats, så se till att din subgraf har initialiserat sina värden, så här: ```typescript -var value = new Type() // initialized -value.x = 10 -value.y = 'content' +var value = new Type(); // initialized +value.x = 10; +value.y = "content" ``` Även om du har nullable properties i en GraphQL-entitet, som denna: @@ -372,10 +367,10 @@ type Total @entity { Och du har en kod som liknar den här: ```typescript -let total = Total.load('latest') +let total = Total.load("latest"); if (total === null) { - total = new Total('latest') + total = new Total("latest") } total.amount = total.amount + BigInt.fromI32(1) @@ -384,11 +379,11 @@ total.amount = total.amount + BigInt.fromI32(1) Du måste se till att initialisera värdet `total.amount`, för om du försöker komma åt som i den sista raden för summan, kommer det att krascha. Så antingen initialiserar du det först: ```typescript -let total = Total.load('latest') +let total = Total.load("latest") if (total === null) { - total = new Total('latest') - total.amount = BigInt.fromI32(0) + total = new Total("latest") + total.amount = BigInt.fromI32(0); } total.tokens = total.tokens + BigInt.fromI32(1) @@ -404,10 +399,10 @@ type Total @entity { ``` ```typescript -let total = Total.load('latest') +let total = Total.load("latest"); if (total === null) { - total = new Total('latest') // initierar redan icke-nullställbara egenskaper + total = new Total("latest"); // initierar redan icke-nullställbara egenskaper } total.amount = total.amount + BigInt.fromI32(1) @@ -435,17 +430,17 @@ export class Something { // or export class Something { - value: Thing + value: Thing; constructor(value: Thing) { - this.value = value + this.value = value; } } // or export class Something { - value!: Thing + value!: Thing; } ``` @@ -454,9 +449,9 @@ export class Something { Klassen `Array` accepterar fortfarande ett tal för att initiera längden på listan, men du bör vara försiktig eftersom operationer som `.push` faktiskt ökar storleken istället för att lägga till i början, till exempel: ```typescript -let arr = new Array(5) // ["", "", "", "", ""] +let arr = new Array(5); // ["", "", "", "", ""] -arr.push('something') // ["", "", "", "", "", "something"] // size 6 :( +arr.push("something"); // ["", "", "", "", "", "something"] // size 6 :( ``` Beroende på vilka typer du använder, t.ex. nullable-typer, och hur du kommer åt dem, kan du stöta på ett runtime-fel som det här: @@ -468,17 +463,17 @@ ERRO Handler skipped due to execution failure, error: Mapping aborted at ~lib/ar För att faktiskt trycka i början bör du antingen initiera `Array` med storlek noll, så här: ```typescript -let arr = new Array(0) // [] +let arr = new Array(0); // [] -arr.push('something') // ["something"] +arr.push("something"); // ["something"] ``` Eller så bör du mutera den via index: ```typescript -let arr = new Array(5) // ["", "", "", "", ""] +let arr = new Array(5); // ["", "", "", "", ""] -arr[0] = 'something' // ["something", "", "", "", ""] +arr[0] = "something"; // ["something", "", "", "", ""] ``` ### GraphQL-schema From c8d0826719761f3b4cefe615bc3204d9bff3c6e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:04 -0400 Subject: [PATCH 0629/2326] New translations assemblyscript-migration-guide.mdx (Turkish) --- .../assemblyscript-migration-guide.mdx | 203 +++++++++--------- 1 file changed, 99 insertions(+), 104 deletions(-) diff --git a/website/pages/tr/release-notes/assemblyscript-migration-guide.mdx b/website/pages/tr/release-notes/assemblyscript-migration-guide.mdx index 338c85951884..fd305a2ca624 100644 --- a/website/pages/tr/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/tr/release-notes/assemblyscript-migration-guide.mdx @@ -1,50 +1,50 @@ --- -title: AssemblyScript Geçiş Kılavuzu +title: AssemblyScript Migration Guide --- -Şimdiye kadar, alt grafikler [AssemblyScript'in ilk versiyonu](https://github.com/AssemblyScript/assemblyscript/tree/v0.6)'ndan (v0.6) birini kullanıyordu. Sonunda [mevcut olan en yeni sürüm](https://github.com/AssemblyScript/assemblyscript/tree/v0.19.10) (v0.19.10) için destek ekledik! 🎉 +Up until now, subgraphs have been using one of the [first versions of AssemblyScript](https://github.com/AssemblyScript/assemblyscript/tree/v0.6) (v0.6). Finally we've added support for the [newest one available](https://github.com/AssemblyScript/assemblyscript/tree/v0.19.10) (v0.19.10)! 🎉 -Bu, subgraph geliştiricilerin AS dilinin ve standart kitaplığın daha yeni özelliklerini kullanmasını sağlayacaktır. +That will enable subgraph developers to use newer features of the AS language and standard library. -Bu kılavuz, `0.22.0` sürümünün altındaki `graph-cli`/`graph-ts` kullanan herkes için geçerlidir. Halihazırda bundan daha yüksek (veya eşit) bir sürümdeyseniz, zaten AssemblyScript'in `0.19.10` sürümünü kullanıyorsunuz demektir 🙂 +This guide is applicable for anyone using `graph-cli`/`graph-ts` below version `0.22.0`. If you're already at a higher than (or equal) version to that, you've already been using version `0.19.10` of AssemblyScript 🙂 -> Not: `0.24.0` itibarıyla `graph-node`, subgraph bildiriminde belirtilen `apiVersion`'a bağlı olarak her iki sürümü de destekleyebilir. +> Note: As of `0.24.0`, `graph-node` can support both versions, depending on the `apiVersion` specified in the subgraph manifest. -## Özellikler +## Features -### Yeni işlevsellik +### New functionality -- `TypedArray`'ler artık [new `wrap` static method](https://www.assemblyscript.org/stdlib/typedarray.html#static-members) kullanılarak `ArrayBuffer`'lerden oluşturulabilir ([v0.8.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.8.1)) -- Yeni standart kitaplık işlevleri: `String#toUpperCase`, `String#toLowerCase`, `String#localeCompare`and `TypedArray#set` ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) -- X instanceof GenericClass desteği eklendi ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) -- Daha verimli bir dizi varyantı olan `StaticArray` eklendi ([v0.9.3](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.3)) -- `Array#flat` eklendi ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) -- `Number#toString` üzerinde `radix` bağımsız değişkeni uygulandı ([v0.10.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.1)) -- Floating point değişmezlerinde ayırıcılar için destek eklendi ([v0.13.7](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.13.7)) -- Birinci sınıf işlevler için destek eklendi ([v0.14.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.0)) -- Yerleşik öğeler ekleyin: `i32/i64/f32/f64.add/sub/mul` ([v0.14.13](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.13)) -- `Array/TypedArray/String#at` öğesini uygulayın. ([v0.18.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.2)) -- Şablon hazır bilgi dizeleri için destek eklendi ([v0.18.17](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.17)) -- `encodeURI(Component)` ve `decodeURI(Component)` ekleyin. ([v0.18.27](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.27)) -- `toString`, `toDateString` ve `toTimeString`'i `Date`'e ekleyin. ([v0.18.29](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.29)) -- `Date` için `toUTCString` ekleyin. ([v0.18.30](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.30)) -- `nonnull/NonNullable` yerleşik türü ekleyin. ([v0.19.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.19.2)) +- `TypedArray`s can now be built from `ArrayBuffer`s by using the [new `wrap` static method](https://www.assemblyscript.org/stdlib/typedarray.html#static-members) ([v0.8.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.8.1)) +- New standard library functions: `String#toUpperCase`, `String#toLowerCase`, `String#localeCompare`and `TypedArray#set` ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) +- Added support for x instanceof GenericClass ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) +- Added `StaticArray`, a more efficient array variant ([v0.9.3](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.3)) +- Added `Array#flat` ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) +- Implemented `radix` argument on `Number#toString` ([v0.10.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.1)) +- Added support for separators in floating point literals ([v0.13.7](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.13.7)) +- Added support for first class functions ([v0.14.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.0)) +- Add builtins: `i32/i64/f32/f64.add/sub/mul` ([v0.14.13](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.13)) +- Implement `Array/TypedArray/String#at` ([v0.18.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.2)) +- Added support for template literal strings ([v0.18.17](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.17)) +- Add `encodeURI(Component)` and `decodeURI(Component)` ([v0.18.27](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.27)) +- Add `toString`, `toDateString` and `toTimeString` to `Date` ([v0.18.29](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.29)) +- Add `toUTCString` for `Date` ([v0.18.30](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.30)) +- Add `nonnull/NonNullable` builtin type ([v0.19.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.19.2)) -### Optimizasyonlar +### Optimizations -- `exp`, `exp2`, `log`, `log2` ve `pow` gibi `Math` fonksiyonlarının yerini daha hızlı değişkenler almıştır. ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) -- `Math.mod`'u biraz optimize edildi. ([v0.17.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.1)) -- Std Map ve Set'te daha fazla alan erişimi önbelleğe alındı. ([v0.17.8](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.8)) -- `ipow32/64`'te ikinin kuvvetleri için optimize edildi. ([v0.18.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.2)) +- `Math` functions such as `exp`, `exp2`, `log`, `log2` and `pow` have been replaced by faster variants ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) +- Slightly optimize `Math.mod` ([v0.17.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.1)) +- Cache more field accesses in std Map and Set ([v0.17.8](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.8)) +- Optimize for powers of two in `ipow32/64` ([v0.18.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.18.2)) -### Diğerleri +### Other -- Bir dizi hazır bilgisinin türü artık içeriğinden çıkarılabilir. ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) -- stdlib Unicode 13.0.0 olarak güncellendi. ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) +- The type of an array literal can now be inferred from its contents ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) +- Updated stdlib to Unicode 13.0.0 ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) -## Nasıl Yükseltilir? +## How to upgrade? -1. `subgraph.yaml` içindeki `apiVersion` eşlemelerinizi `0.0.6` olarak değiştirin: +1. Change your mappings `apiVersion` in `subgraph.yaml` to `0.0.6`: ```yaml ... @@ -56,30 +56,30 @@ dataSources: ... ``` -2. Şunları çalıştırarak, kullandığınız `graph-cli`'yi `en son` sürüme güncelleyin: +2. Update the `graph-cli` you're using to the `latest` version by running: ```bash -# global olarak yüklediyseniz +# if you have it globally installed npm install --global @graphprotocol/graph-cli@latest -# veya subgraph'inizde geliştirici bağımlılığı olarak varsa: +# or in your subgraph if you have it as a dev dependency npm install --save-dev @graphprotocol/graph-cli@latest ``` -3. `graph-ts` için de aynısını yapın, ancak genel olarak yüklemek yerine ana bağımlılıklarınıza kaydedin: +3. Do the same for `graph-ts`, but instead of installing globally, save it in your main dependencies: ```bash npm install --save @graphprotocol/graph-ts@latest ``` -4. Dili bozan değişiklikleri düzeltmek için kılavuzun geri kalanını takip edin. -5. `codegen`'i çalıştırın ve yeniden `deploy edin`. +4. Follow the rest of the guide to fix the language breaking changes. +5. Run `codegen` and `deploy` again. -## Son Dakika Değişiklikleri +## Breaking changes ### Nullability -AssemblyScript'in eski sürümünde şuna benzer bir kod oluşturabilirsiniz: +On the older version of AssemblyScript, you could create code like this: ```typescript function load(): Value | null { ... } @@ -88,7 +88,7 @@ let maybeValue = load(); maybeValue.aMethod(); ``` -Ancak daha yeni sürümde, değer null olabileceğinden, şu şekilde kontrol etmenizi gerektirir: +However on the newer version, because the value is nullable, it requires you to check, like this: ```typescript let maybeValue = load() @@ -98,7 +98,7 @@ if (maybeValue) { } ``` -Veya şu şekilde zorlayın: +Or force it like this: ```typescript let maybeValue = load()! // breaks in runtime if value is null @@ -106,11 +106,11 @@ let maybeValue = load()! // breaks in runtime if value is null maybeValue.aMethod() ``` -Hangisini seçeceğinizden emin değilseniz, her zaman güvenli sürümü kullanmanızı öneririz. Değer mevcut değilse, subgraph işleyicinizde bir geri dönüş içeren erken bir if ifadesi yapmak isteyebilirsiniz. +If you are unsure which to choose, we recommend always using the safe version. If the value doesn't exist you might want to just do an early if statement with a return in you subgraph handler. -### Değişken Gölgeleme +### Variable Shadowing -[Değişken gölgeleme](https://en.wikipedia.org/wiki/Variable_shadowing) yapmadan önce ve bunun gibi bir kod işe yarayacaktı: +Before you could do [variable shadowing](https://en.wikipedia.org/wiki/Variable_shadowing) and code like this would work: ```typescript let a = 10 @@ -118,7 +118,7 @@ let b = 20 let a = a + b ``` -Ancak artık bu mümkün değil ve derleyici şu hatayı veriyor: +However now this isn't possible anymore, and the compiler returns this error: ```typescript ERROR TS2451: Cannot redeclare block-scoped variable 'a' @@ -127,12 +127,9 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - -Değişken gölgelemeniz varsa, yinelenen değişkenlerinizi yeniden adlandırmanız gerekir. - -### Null Karşılaştırmaları - -Subgraph'inizde yükseltme yaparak, bazen aşağıdaki gibi hatalar alabilirsiniz: +You'll need to rename your duplicate variables if you had variable shadowing. +### Null Comparisons +By doing the upgrade on your subgraph, sometimes you might get errors like these: ```typescript ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' is not assignable to type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt'. @@ -140,8 +137,7 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - -Çözmek için `if` ifadesini aşağıdaki gibi değiştirebilirsiniz: +To solve you can simply change the `if` statement to something like this: ```typescript if (!decimals) { @@ -151,21 +147,21 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i if (decimals === null) { ``` -Aynısı, == yerine != yapıyorsanız da geçerlidir. +The same applies if you're doing != instead of ==. -### Döküm +### Casting -Daha önce yayın yapmanın genel yolu, `as` anahtar kelimesini şu şekilde kullanmaktı: +The common way to do casting before was to just use the `as` keyword, like this: ```typescript let byteArray = new ByteArray(10) let uint8Array = byteArray as Uint8Array // equivalent to: byteArray ``` -Ancak bu yalnızca iki senaryoda çalışır: +However this only works in two scenarios: -- Temel döküm (`u8`, `i32`, `bool` gibi tipler arasında; örneğin: `let b: isize = 10; b as usize`); -- Sınıf kalıtımı üzerinde yükseltme (alt sınıf → üst sınıf) +- Primitive casting (between types such as `u8`, `i32`, `bool`; eg: `let b: isize = 10; b as usize`); +- Upcasting on class inheritance (subclass → superclass) Örnekler: @@ -184,10 +180,10 @@ let bytes = new Bytes(2) // bytes // same as: bytes as Uint8Array ``` -Yayın yapmak isteyebileceğiniz iki senaryo vardır, ancak `as`/`var` kullanmak **güvenli değildir**: +There are two scenarios where you may want to cast, but using `as`/`var` **isn't safe**: -- Sınıf kalıtımına ilişkin olumsuz değerlendirme (üst sınıf → alt sınıf) -- Bir üst sınıfı paylaşan iki tür arasında +- Downcasting on class inheritance (superclass → subclass) +- Between two types that share a superclass ```typescript // downcasting on class inheritance @@ -206,7 +202,7 @@ let bytes = new Bytes(2) // bytes // breaks in runtime :( ``` -Bu gibi durumlar için `changetype` işlevini kullanabilirsiniz: +For those cases, you can use the `changetype` function: ```typescript // downcasting on class inheritance @@ -225,7 +221,7 @@ let bytes = new Bytes(2) changetype(bytes) // works :) ``` -Yalnızca geçersiz kılınabilirliği kaldırmak istiyorsanız (ya da `değişken`), `as` operatörünü kullanmaya devam edebilirsiniz, ancak bu değerin boş olamayacağını bildiğinizden emin olun, aksi takdirde bozulur. +If you just want to remove nullability, you can keep using the `as` operator (or `variable`), but make sure you know that value can't be null, otherwise it will break. ```typescript // remove nullability @@ -238,18 +234,18 @@ if (previousBalance != null) { let newBalance = new AccountBalance(balanceId) ``` -Nullability durumu için [Nullability kontrol özelliğine](https://www.assemblyscript.org/basics.html#nullability-checks) bir göz atmanızı öneririz, kodunuzu daha temiz hale getirecektir 🙂 +For the nullability case we recommend taking a look at the [nullability check feature](https://www.assemblyscript.org/basics.html#nullability-checks), it will make your code cleaner 🙂 -Ayrıca, dökümü kolaylaştırmak için bazı türlerde birkaç statik yöntem daha ekledik, bunlar: +Also we've added a few more static methods in some types to ease casting, they are: - Bytes.fromByteArray - Bytes.fromUint8Array - BigInt.fromByteArray - ByteArray.fromBigInt -### Özellik Erişimi ile Geçersiz Kılınabilirlik (Nullability) Kontrolü +### Nullability check with property access -[Geçersiz kılınabilirlik kontrol özelliğini](https://www.assemblyscript.org/basics.html#nullability-checks) kullanmak için `if` deyimlerini veya (`?` ve `:`) üçlü operatörünü şu şekilde kullanabilirsiniz: +To use the [nullability check feature](https://www.assemblyscript.org/basics.html#nullability-checks) you can use either `if` statements or the ternary operator (`?` and `:`) like this: ```typescript let something: string | null = 'data' @@ -267,7 +263,7 @@ if (something) { } ``` -Bununla birlikte, bu yalnızca, bir mülk erişiminde değil, bir değişken üzerinde `if` / üçlü yaptığınızda çalışır, şu şekilde: +However that only works when you're doing the `if` / ternary on a variable, not on a property access, like this: ```typescript class Container { @@ -280,7 +276,7 @@ container.data = 'data' let somethingOrElse: string = container.data ? container.data : 'else' // doesn't compile ``` -Bu hata hangi çıktıyı verir: +Which outputs this error: ```typescript ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/string/String'. @@ -288,8 +284,7 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - -Bu sorunu çözmek için, bu özellik erişimi için bir değişken oluşturabilirsiniz, böylece derleyici geçersizlik denetimi sihrini yapabilir: +To fix this issue, you can create a variable for that property access so that the compiler can do the nullability check magic: ```typescript class Container { @@ -304,9 +299,9 @@ let data = container.data let somethingOrElse: string = data ? data : 'else' // compiles just fine :) ``` -### Özellik Erişimi ile Operatör Aşırı Yüklemesi +### Operator overloading with property access -Null yapılabilen bir türü (bir özellik erişiminden) null olmayan bir türle toplamaya çalışırsanız (örnek olarak), AssemblyScript derleyicisi, değerlerden birinin null olabileceğine dair bir derleme zamanı hatası uyarısı vermek yerine, sadece sessizce derler ve kodun çalışma zamanında kırılması için bir şans verir. +If you try to sum (for example) a nullable type (from a property access) with a non nullable one, the AssemblyScript compiler instead of giving a compile time error warning that one of the values is nullable, it just compiles silently, giving chance for the code to break at runtime. ```typescript class BigInt extends Uint8Array { @@ -330,7 +325,7 @@ let wrapper = new Wrapper(y) wrapper.n = wrapper.n + x // doesn't give compile time errors as it should ``` -Bunun için AssemblyScript derleyicisinde bir sorun açtık, ancak şimdilik subgraph eşlemelerinizde bu tür işlemler yapıyorsanız, ondan önce boş bir kontrol yapmak için değiştirmelisiniz. +We've opened a issue on the AssemblyScript compiler for this, but for now if you do these kind of operations in your subgraph mappings, you should change them to do a null check before it. ```typescript let wrapper = new Wrapper(y) @@ -342,9 +337,9 @@ if (!wrapper.n) { wrapper.n = wrapper.n + x // now `n` is guaranteed to be a BigInt ``` -### Değer Başlatma +### Value initialization -Bunun gibi herhangi bir kodunuz varsa: +If you have any code like this: ```typescript var value: Type // null @@ -352,7 +347,7 @@ value.x = 10 value.y = 'content' ``` -Derlenir ancak çalışma zamanında bozulur, bunun nedeni değerin başlatılmamasıdır, bu nedenle subgraph'inizin değerlerini şu şekilde başlattığından emin olun: +It will compile but break at runtime, that happens because the value hasn't been initialized, so make sure your subgraph has initialized their values, like this: ```typescript var value = new Type() // initialized @@ -360,7 +355,7 @@ value.x = 10 value.y = 'content' ``` -Ayrıca, bir GraphQL varlığında şu şekilde null yapılabilir özellikleriniz varsa: +Also if you have nullable properties in a GraphQL entity, like this: ```graphql type Total @entity { @@ -369,7 +364,7 @@ type Total @entity { } ``` -Ve buna benzer bir kodunuz varsa: +And you have code similar to this: ```typescript let total = Total.load('latest') @@ -381,7 +376,7 @@ if (total === null) { total.amount = total.amount + BigInt.fromI32(1) ``` -`total.amount` değerini başlattığınızdan emin olmanız gerekir, çünkü toplam için son satırdaki gibi erişmeye çalışırsanız çökecektir. Yani ya önce onu başlatırsınız: +You'll need to make sure to initialize the `total.amount` value, because if you try to access like in the last line for the sum, it will crash. So you either initialize it first: ```typescript let total = Total.load('latest') @@ -394,7 +389,7 @@ if (total === null) { total.tokens = total.tokens + BigInt.fromI32(1) ``` -Veya GraphQL şemanızı bu özellik için null yapılabilir bir tür kullanmayacak şekilde değiştirebilirsiniz, ardından `codegen` adımında onu sıfır olarak başlatacağız 😉 +Or you can just change your GraphQL schema to not use a nullable type for this property, then we'll initialize it as zero on the `codegen` step 😉 ```graphql type Total @entity { @@ -413,9 +408,9 @@ if (total === null) { total.amount = total.amount + BigInt.fromI32(1) ``` -### Sınıf Özelliği Başlatma +### Class property initialization -Diğer sınıflar olan (sizin tarafınızdan veya standart kitaplık tarafından bildirilen) özelliklere sahip herhangi bir sınıfı şu şekilde dışa aktarırsanız: +If you export any classes with properties that are other classes (declared by you or by the standard library) like this: ```typescript class Thing {} @@ -425,7 +420,7 @@ export class Something { } ``` -Derleyici hata verecektir, çünkü ya sınıf olan özellikler için bir başlatıcı eklemeniz ya da `!` operatörünü eklemeniz gerekir: +The compiler will error because you either need to add an initializer for the properties that are classes, or add the `!` operator: ```typescript export class Something { @@ -449,9 +444,9 @@ export class Something { } ``` -### Dizi Başlatma +### Array initialization -`Dizi` sınıfı, listenin uzunluğunu başlatmak için yine de bir sayı kabul eder, ancak dikkatli olmalısınız çünkü `.push` gibi işlemler aslında başa eklemek yerine boyutu artıracaktır, örneğin: +The `Array` class still accepts a number to initialize the length of the list, however you should take care because operations like `.push` will actually increase the size instead of adding to the beginning, for example: ```typescript let arr = new Array(5) // ["", "", "", "", ""] @@ -459,13 +454,13 @@ let arr = new Array(5) // ["", "", "", "", ""] arr.push('something') // ["", "", "", "", "", "something"] // size 6 :( ``` -Kullanmakta olduğunuz türlere, örneğin null yapılabilir türlere ve bunlara nasıl eriştiğinize bağlı olarak, bunun gibi bir çalışma zamanı hatasıyla karşılaşabilirsiniz: +Depending on the types you're using, eg nullable ones, and how you're accessing them, you might encounter a runtime error like this one: ``` ERRO Handler skipped due to execution failure, error: Mapping aborted at ~lib/array.ts, line 110, column 40, with message: Element type must be nullable if array is holey wasm backtrace: 0: 0x19c4 - !~lib/@graphprotocol/graph-ts/index/format 1: 0x1e75 - !~lib/@graphprotocol/graph-ts/common/collections/Entity#constructor 2: 0x30b9 - !node_modules/@graphprotocol/graph-ts/global/global/id_of_type ``` -Aslında başlangıçta itmek için, `diziyi`'i sıfır boyutunda başlatmalısınız, bunun gibi: +To actually push at the beginning you should either, initialize the `Array` with size zero, like this: ```typescript let arr = new Array(0) // [] @@ -473,7 +468,7 @@ let arr = new Array(0) // [] arr.push('something') // ["something"] ``` -Veya onu indeks yoluyla değiştirmelisiniz: +Or you should mutate it via index: ```typescript let arr = new Array(5) // ["", "", "", "", ""] @@ -481,11 +476,11 @@ let arr = new Array(5) // ["", "", "", "", ""] arr[0] = 'something' // ["something", "", "", "", ""] ``` -### GraphQL Şeması +### GraphQL schema -Bu doğrudan bir AssemblyScript değişikliği değildir, ancak `schema.graphql` dosyanızı güncellemeniz gerekebilir. +This is not a direct AssemblyScript change, but you may have to update your `schema.graphql` file. -Artık türlerinizde Non-Nullable Lists olan alanları tanımlayamazsınız. Bunun gibi bir şemanız varsa: +Now you no longer can define fields in your types that are Non-Nullable Lists. If you have a schema like this: ```graphql type Something @entity { @@ -498,7 +493,7 @@ type MyEntity @entity { } ``` -Liste türünün üyesine şu şekilde bir `!` eklemeniz gerekecek: +You'll have to add an `!` to the member of the List type, like this: ```graphql type Something @entity { @@ -511,14 +506,14 @@ type MyEntity @entity { } ``` -Bu, AssemblyScript sürümleri arasındaki geçersiz kılınabilirlik farklılıkları nedeniyle değişti ve bu `src/generated/schema.ts` dosyasıyla ilgilidir (varsayılan yol, bunu değiştirmiş olabilirsiniz). +This changed because of nullability differences between AssemblyScript versions, and it's related to the `src/generated/schema.ts` file (default path, you might have changed this). -### Diğerleri +### Other -- `Map#set` ve `Set#add` spesifikasyonla hizalandı ve `bu` döndürüldü. ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) -- Diziler artık ArrayBufferView'dan miras almaz, ancak artık farklıdır. ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) -- Nesne hazır bilgilerinden başlatılan sınıflar artık bir oluşturucu tanımlayamaz. ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) -- Her iki işlenen de tamsayıysa, `**` ikili işleminin sonucu artık ortak payda tamsayısıdır. Daha önce, sonuç `Math/f.pow` çağırıyormuş gibi bir kayan noktaydı. ([v0.11.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.11.0)) -- `bool`'a yayın yaparken `NaN`'yi `false`'a zorlayın. ([v0.14.9](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.9)) -- `i8`/`u8` or `i16`/`u16` tipi küçük bir tamsayı değerini kaydırırken, RHS değerinin yalnızca sırasıyla 3 en önemsiz 4 biti sonucu etkiler; bu, bir `i32.shl`'nin RHS değerinin yalnızca en önemsiz 5 bitinden etkilenmesine benzer. Örnek: `someI8 << 8` daha önce `0` değerini üretti, ancak şimdi RHS'yi `8 & 7 = 0` (3 bits) olarak maskelediği için `someI8` üretiyor. ([v0.17.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.0)) -- Boyutlar farklı olduğunda ilişkisel dizi karşılaştırmalarının hata düzeltmesi. ([v0.17.8](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.8)) +- Aligned `Map#set` and `Set#add` with the spec, returning `this` ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) +- Arrays no longer inherit from ArrayBufferView, but are now distinct ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) +- Classes initialized from object literals can no longer define a constructor ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) +- The result of a `**` binary operation is now the common denominator integer if both operands are integers. Previously, the result was a float as if calling `Math/f.pow` ([v0.11.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.11.0)) +- Coerce `NaN` to `false` when casting to `bool` ([v0.14.9](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.14.9)) +- When shifting a small integer value of type `i8`/`u8` or `i16`/`u16`, only the 3 respectively 4 least significant bits of the RHS value affect the result, analogous to the result of an `i32.shl` only being affected by the 5 least significant bits of the RHS value. Example: `someI8 << 8` previously produced the value `0`, but now produces `someI8` due to masking the RHS as `8 & 7 = 0` (3 bits) ([v0.17.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.0)) +- Bug fix of relational string comparisons when sizes differ ([v0.17.8](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.17.8)) From ea77a9eeb9b3cb225c273f3c6d88dd0ebc7b660f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:05 -0400 Subject: [PATCH 0630/2326] New translations assemblyscript-migration-guide.mdx (Ukrainian) --- .../uk/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/uk/release-notes/assemblyscript-migration-guide.mdx b/website/pages/uk/release-notes/assemblyscript-migration-guide.mdx index 85f6903a6c69..17224699570d 100644 --- a/website/pages/uk/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/uk/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - You'll need to rename your duplicate variables if you had variable shadowing. - ### Null Comparisons - By doing the upgrade on your subgraph, sometimes you might get errors like these: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - To solve you can simply change the `if` statement to something like this: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - To fix this issue, you can create a variable for that property access so that the compiler can do the nullability check magic: ```typescript From 11e9d9639525f5d9c020de6674ef7e70778f4c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:06 -0400 Subject: [PATCH 0631/2326] New translations assemblyscript-migration-guide.mdx (Chinese Simplified) --- .../zh/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/zh/release-notes/assemblyscript-migration-guide.mdx b/website/pages/zh/release-notes/assemblyscript-migration-guide.mdx index 622bdeef307e..3ff2d318c88f 100644 --- a/website/pages/zh/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/zh/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - 如果您有变量遮蔽的情况,则需要重命名重名变量。 - ### 空值比较 - 对子图进行升级后,有时您可能会遇到如下错误: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - 要解决此问题,您只需将 `if` 语句更改为如下所示代码: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - 要解决此问题,您可以为该属性访问创建一个变量,以便编译器可以执行可空性检查: ```typescript From 8326ff38b190f6dc066d2f2a0e9e7160248892f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:07 -0400 Subject: [PATCH 0632/2326] New translations assemblyscript-migration-guide.mdx (Urdu (Pakistan)) --- .../ur/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/ur/release-notes/assemblyscript-migration-guide.mdx b/website/pages/ur/release-notes/assemblyscript-migration-guide.mdx index 31439d43c505..9c8d0512a4eb 100644 --- a/website/pages/ur/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/ur/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - اگر آپ کے پاس متغیر شیڈونگ ہے تو آپ کو اپنے ڈپلیکیٹ متغیرات کا نام تبدیل کرنے کی ضرورت ہوگی. - ### کالعدم موازنہ - اپنے سب گراف پر اپ گریڈ کرنے سے، بعض اوقات آپ کو اس طرح کی غلطیاں مل سکتی ہیں: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - حل کرنے کے لیے آپ صرف `if` اسٹیٹمنٹ کو اس طرح تبدیل کر سکتے ہیں: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - اس مسئلے کو حل کرنے کے لیے، آپ اس پراپرٹی تک رسائی کے لیے ایک متغیر بنا سکتے ہیں تاکہ مرتب کرنے والا منسوخی چیک میجک کر سکے: ```typescript From c48ed1ac49119ddce1589da26fd1d40ec2e85eab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:08 -0400 Subject: [PATCH 0633/2326] New translations assemblyscript-migration-guide.mdx (Vietnamese) --- .../vi/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/vi/release-notes/assemblyscript-migration-guide.mdx b/website/pages/vi/release-notes/assemblyscript-migration-guide.mdx index 69c36218d8af..8536b657e78a 100644 --- a/website/pages/vi/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/vi/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - Bạn sẽ cần đổi tên các biến trùng lặp của mình nếu bạn có che biến. - ### So sánh Null - Bằng cách thực hiện nâng cấp trên subgraph của bạn, đôi khi bạn có thể gặp các lỗi như sau: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - Để giải quyết, bạn có thể chỉ cần thay đổi câu lệnh `if` thành một cái gì đó như sau: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - Để khắc phục sự cố này, bạn có thể tạo một biến cho quyền truy cập thuộc tính đó để trình biên dịch có thể thực hiện phép thuật kiểm tra tính nullability: ```typescript From cd7346f81ed3ab91840f306f38cc8894bace9309 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:09 -0400 Subject: [PATCH 0634/2326] New translations assemblyscript-migration-guide.mdx (Marathi) --- .../mr/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/mr/release-notes/assemblyscript-migration-guide.mdx b/website/pages/mr/release-notes/assemblyscript-migration-guide.mdx index a170ebec8cda..2d735415bebb 100644 --- a/website/pages/mr/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/mr/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ However now this isn't possible anymore, and the compiler returns this error: ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - You'll need to rename your duplicate variables if you had variable shadowing. - ### Null Comparisons - By doing the upgrade on your subgraph, sometimes you might get errors like these: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - To solve you can simply change the `if` statement to something like this: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - To fix this issue, you can create a variable for that property access so that the compiler can do the nullability check magic: ```typescript From ea12f3c7c69ba33dcb264632503d9af0242a7471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:10 -0400 Subject: [PATCH 0635/2326] New translations assemblyscript-migration-guide.mdx (Hindi) --- .../hi/release-notes/assemblyscript-migration-guide.mdx | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/website/pages/hi/release-notes/assemblyscript-migration-guide.mdx b/website/pages/hi/release-notes/assemblyscript-migration-guide.mdx index 2182133b8d48..031b1d2dd195 100644 --- a/website/pages/hi/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/hi/release-notes/assemblyscript-migration-guide.mdx @@ -15,7 +15,7 @@ title: असेंबलीस्क्रिप्ट माइग्रेश ### नई कार्यक्षमता - `TypedArray` को अब `ArrayBuffer` से [नई `रैप` स्टैटिक विधि](https://www.assemblyscript.org/stdlib/typedarray.html#static-members) का उपयोग करके बनाया जा सकता है ([v0. 8.1](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.8.1)) -- नई मानक लाइब्रेरी फ़ंक्शंस: `String#toUpperCase`, `String#toLowerCase`, `String#localeCompare` और `TypedArray#set` ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) +- नई standard library functions: `String#toUpperCase`, `String#toLowerCase`, `String#localeCompare` और `TypedArray#set` ([v0.9.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.0)) - Added support for x instanceof GenericClass ([v0.9.2](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.2)) - Added `StaticArray`, a more efficient array variant ([v0.9.3](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.9.3)) - Added `Array#flat` ([v0.10.0](https://github.com/AssemblyScript/assemblyscript/releases/tag/v0.10.0)) @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - यदि आपके पास वेरिएबल शैडोइंग है, तो आपको अपने डुप्लिकेट वेरिएबल्स का नाम बदलने की आवश्यकता होगी। - ### Null Comparisons - अपने सबग्राफ पर अपग्रेड करने से, कभी-कभी आपको इस तरह की त्रुटियाँ मिल सकती हैं: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - हल करने के लिए आप केवल `if` कथन को कुछ इस तरह से बदल सकते हैं: ```typescript @@ -287,7 +283,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ``` - इस समस्या को ठीक करने के लिए, आप उस प्रॉपर्टी एक्सेस के लिए एक वेरिएबल बना सकते हैं ताकि कंपाइलर अशक्तता जांच जादू कर सके: ```typescript From 02342770954bf86f7a06c3ca3450d200081fd8b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:11 -0400 Subject: [PATCH 0636/2326] New translations assemblyscript-migration-guide.mdx (Yoruba) --- .../yo/release-notes/assemblyscript-migration-guide.mdx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/website/pages/yo/release-notes/assemblyscript-migration-guide.mdx b/website/pages/yo/release-notes/assemblyscript-migration-guide.mdx index 85f6903a6c69..17224699570d 100644 --- a/website/pages/yo/release-notes/assemblyscript-migration-guide.mdx +++ b/website/pages/yo/release-notes/assemblyscript-migration-guide.mdx @@ -127,11 +127,8 @@ ERROR TS2451: Cannot redeclare block-scoped variable 'a' ~~~~~~~~~~~~~ in assembly/index.ts(4,3) ``` - You'll need to rename your duplicate variables if you had variable shadowing. - ### Null Comparisons - By doing the upgrade on your subgraph, sometimes you might get errors like these: ```typescript @@ -140,7 +137,6 @@ ERROR TS2322: Type '~lib/@graphprotocol/graph-ts/common/numbers/BigInt | null' i ~~~~ in src/mappings/file.ts(41,21) ``` - To solve you can simply change the `if` statement to something like this: ```typescript @@ -288,7 +284,6 @@ ERROR TS2322: Type '~lib/string/String | null' is not assignable to type '~lib/s let somethingOrElse: string = container.data ? container.data : "else"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``` - To fix this issue, you can create a variable for that property access so that the compiler can do the nullability check magic: ```typescript From 334c19a659adb12802016166b80a75ee99a440ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:12 -0400 Subject: [PATCH 0637/2326] New translations benefits.mdx (Romanian) --- website/pages/ro/network/benefits.mdx | 104 +++++++++++++------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/website/pages/ro/network/benefits.mdx b/website/pages/ro/network/benefits.mdx index 864672b16515..a657aa9d7145 100644 --- a/website/pages/ro/network/benefits.mdx +++ b/website/pages/ro/network/benefits.mdx @@ -11,7 +11,7 @@ Here is an analysis: ## Why You Should Use The Graph Network -- 60-98% lower monthly cost +- Significantly lower monthly costs - $0 infrastructure setup costs - Superior uptime - Access to hundreds of independent Indexers around the world @@ -21,68 +21,64 @@ Here is an analysis: ### Lower & more Flexible Cost Structure -No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $0.0002. Queries are priced in USD and paid in GRT. - -Query costs may vary; the quoted cost is the average at time of publication (December 2022). - -## Low Volume User (less than 30,000 queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $0+ | ~$15 per month | -| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000 (autoscaling) | -| Cost per query | $0 | $0.0005 | -| Infrastructure | Centralized | Decentralized | -| Geographic redundancy | $750+ per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $750+ | ~$15 | - -## Medium Volume User (3,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $500 per month | $750 per month | -| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 3,000,000+ | -| Cost per query | $0 | $0.00025 | -| Infrastructure | Centralized | Decentralized | -| Engineering expense | $200 per hour | Included | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $1,650+ | $750 | - -## High Volume User (30,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $1100 per month, per node | $0 | -| Query costs | $4000 | $4,500 per month | -| Number of nodes needed | 10 | Not applicable | -| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000,000+ | -| Cost per query | $0 | $0.00015 | -| Infrastructure | Centralized | Decentralized | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Cost Comparison | Self Hosted | Rețeaua The Graph | +|:----------------------------:|:---------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $0+ | $0 per month | +| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | 100,000 (Free Plan) | +| Cost per query | $0 | $0 | +| Infrastructure | Centralized | Decentralized | +| Geographic redundancy | $750+ per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Cost Comparison | Self Hosted | Rețeaua The Graph | +|:----------------------------:|:------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $500 per month | $120 per month | +| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~3,000,000 | +| Cost per query | $0 | $0.00004 | +| Infrastructure | Centralized | Decentralized | +| Engineering expense | $200 per hour | Included | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| Cost Comparison | Self Hosted | Rețeaua The Graph | +|:----------------------------:|:-------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $1100 per month, per node | $0 | +| Query costs | $4000 | $1,200 per month | +| Number of nodes needed | 10 | Not applicable | +| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~30,000,000 | +| Cost per query | $0 | $0.00004 | +| Infrastructure | Centralized | Decentralized | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $11,000+ | $1,200 | \*including costs for backup: $50-$100 per month Engineering time based on $200 per hour assumption -using the max query budget function in the budget billing tab, while maintaining high quality of service +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Curating signal on a subgraph is an optional one-time, net-zero cost (e.g., $1k in signal can be curated on a subgraph, and later withdrawn—with potential to earn returns in the process). -Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. - -Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. - ## No Setup Costs & Greater Operational Efficiency Zero setup fees. Get started immediately with no setup or overhead costs. No hardware requirements. No outages due to centralized infrastructure, and more time to concentrate on your core product . No need for backup servers, troubleshooting, or expensive engineering resources. From ca534e25fb9283159a270e1fb942e1783bb4bfb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:13 -0400 Subject: [PATCH 0638/2326] New translations benefits.mdx (French) --- website/pages/fr/network/benefits.mdx | 105 ++++++++++++-------------- 1 file changed, 50 insertions(+), 55 deletions(-) diff --git a/website/pages/fr/network/benefits.mdx b/website/pages/fr/network/benefits.mdx index a6e3fd0c75b9..247fe2ac7295 100644 --- a/website/pages/fr/network/benefits.mdx +++ b/website/pages/fr/network/benefits.mdx @@ -11,7 +11,7 @@ Voici une analyse : ## Pourquoi devriez-vous utiliser le réseau Graph -- Coût mensuel inférieur de 60 à 98 % +- Significantly lower monthly costs - 0 $ de frais de configuration de l'infrastructure - Disponibilité supérieure - Accès à des centaines d’indexeurs indépendants à travers le monde @@ -21,69 +21,64 @@ Voici une analyse : ### Une structure & de coûts faible et plus flexible -Aucun contrat. Pas de frais mensuels. Ne payez que pour les requêtes que vous utilisez, avec un coût moyen par requête de 0,0002 $. Les requêtes sont facturées en USD et payées en GRT. - -Les coûts des requêtes peuvent varier ; le coût indiqué est la moyenne au moment de la publication (décembre 2022). - -## Utilisateur à faible volume (moins de 30 000 requêtes par mois) - -| Cost Comparison | Auto-hébergé | Réseau de The Graph | -| :-: | :-: | :-: | -| Coût mensuel du serveur\* | 350 $ au mois | 0 $ | -| Frais de requête | + 0 $ | ~15 $ au mois | -| Temps d'ingénierie | 400 $ au mois | Aucun, intégré au réseau avec des indexeurs distribués à l'échelle mondiale | -| Requêtes au mois | Limité aux capacités infra | 30 000 (automatique mise à l'échelle) | -| Tarif par requête | 0 $ | 0,0005 $ | -| Les infrastructures | Centralisée | Décentralisée | -| La redondance géographique | 750$+ par nœud complémentaire | Compris | -| Temps de disponibilité | Variable | + 99.9% | -| Total des coûts mensuels | + 750 $ | ~15 $ | - -## Utilisateur moyen (3 000 000+ demandes par mois) - -| Comparaison de coût | Auto-hébergé | Réseau de The Graph | -| :-: | :-: | :-: | -| Coût mensuel du serveur\* | 350 $ au mois | 0 $ | -| Frais de requête | 500 $ au mois | 750 $ au mois | -| Temps d'ingénierie | 800 $ au mois | Aucun, intégré au réseau avec des indexeurs distribués à l'échelle mondiale | -| Requêtes au mois | Limité aux capacités infra | + 3 000 000 | -| Tarif par requête | 0 $ | 0,00025 $ | -| L'infrastructure | Centralisée | Décentralisée | -| Frais d'ingénierie | 200 $ au mois | Compris | -| La redondance géographique | 1 200 $ coût total par nœud supplémentaire | Compris | -| Temps de disponibilité | Variable | + 99.9% | -| Total des coûts mensuels | $1,650+ | $750 | - -## L'utilisateur de volume conséquent (30 000 000+ requêtes au mois) - -| Cost Comparison | Auto-hébergé | Réseau de The Graph | -| :-: | :-: | :-: | -| Coût mensuel du serveur\* | $1100 per month, per node | 0 $ | -| Frais de requête | $4000 | $4,500 per month | -| Nombre de nœuds obligatoires | 10 | Sans objet | -| Temps d'ingénierie | $6,000 or more per month | Aucun, intégré au réseau avec des indexeurs distribués à l'échelle mondiale | -| Requêtes au mois | Limité aux capacités infra | + 30 000 000 | -| Tarif par requête | 0 $ | 0,00015 $ | -| L'infrastructure | Centralisée | Décentralisée | -| La redondance géographique | 1 200 $ de coûts totaux par nœud supplémentaire | Compris | -| Temps de disponibilité | Variable | + 99.9% | -| Total des coûts mensuels | + 11 000 $ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Cost Comparison | Auto-hébergé | The Graph Network | +|:------------------------------:|:-----------------------------------------:|:---------------------------------------------------------------------------:| +| Coût mensuel du serveur\* | 350 $ au mois | 0 $ | +| Frais de requête | + 0 $ | $0 per month | +| Temps d'ingénierie | 400 $ au mois | Aucun, intégré au réseau avec des indexeurs distribués à l'échelle mondiale | +| Requêtes au mois | Limité aux capacités infra | 100,000 (Free Plan) | +| Tarif par requête | 0 $ | $0 | +| Les infrastructures | Centralisée | Décentralisée | +| La redondance géographique | 750$+ par nœud complémentaire | Compris | +| Temps de disponibilité | Variable | + 99.9% | +| Total des coûts mensuels | + 750 $ | 0 $ | + +## Medium Volume User (~3M queries per month) + +| Comparaison de coût | Auto-hébergé | The Graph Network | +|:------------------------------:|:-------------------------------------------:|:---------------------------------------------------------------------------:| +| Coût mensuel du serveur\* | 350 $ au mois | 0 $ | +| Frais de requête | 500 $ au mois | $120 per month | +| Temps d'ingénierie | 800 $ au mois | Aucun, intégré au réseau avec des indexeurs distribués à l'échelle mondiale | +| Requêtes au mois | Limité aux capacités infra | ~3,000,000 | +| Tarif par requête | 0 $ | $0.00004 | +| L'infrastructure | Centralisée | Décentralisée | +| Frais d'ingénierie | 200 $ au mois | Compris | +| La redondance géographique | 1 200 $ coût total par nœud supplémentaire | Compris | +| Temps de disponibilité | Variable | + 99.9% | +| Total des coûts mensuels | + 1650 $ | $120 | + +## High Volume User (~30M queries per month) + +| Comparaison des coûts | Auto-hébergé | The Graph Network | +|:------------------------------:|:-----------------------------------------------:|:---------------------------------------------------------------------------:| +| Coût mensuel du serveur\* | 1100 $ au mois, par nœud | 0 $ | +| Frais de requête | 4000 $ | $1,200 per month | +| Nombre de nœuds obligatoires | 10 | Sans objet | +| Temps d'ingénierie | 6000 $ ou plus au mois | Aucun, intégré au réseau avec des indexeurs distribués à l'échelle mondiale | +| Requêtes au mois | Limité aux capacités infra | ~30,000,000 | +| Tarif par requête | 0 $ | $0.00004 | +| L'infrastructure | Centralisée | Décentralisée | +| La redondance géographique | 1 200 $ de coûts totaux par nœud supplémentaire | Compris | +| Temps de disponibilité | Variable | + 99.9% | +| Total des coûts mensuels | + 11 000 $ | $1,200 | \*y compris les coûts de sauvegarde : $50-$ à 100 dollars au mois Temps d'ingénierie basé sur une hypothèse de 200 $ de l'heure - en utilisant la fonction "max query budget" dans l'onglet "budget billing", tout en maintenant une qualité de -service élevée +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Les coûts estimés ne concernent que les subgraphs du Mainnet Ethereum - les coûts sont encore plus élevés en cas d'auto-hébergement d'un `graph-node` sur d'autres réseaux. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Émettre un signal sur un subgraph est un cout net, nul optionnel et unique (par exemple, 1 000 $ de signal peuvent être conservés sur un subgraph, puis retirés - avec la possibilité de gagner des revenus au cours du processus). -Certains utilisateurs peuvent avoir besoin de mettre à jour leur subgraph vers une nouvelle version. En raison des frais de gaz Ethereum, une mise à jour coûte ~50 $ au moment de la rédaction. - -Notez que les frais de gaz sur [Arbitrum](/arbitrum/arbitrum-faq) sont nettement inférieurs à ceux du mainnet Ethereum. - ## Pas de frais d'installation & plus grande efficacité opérationnelle Commencez tout de suite, sans installation, sans frais généraux et sans matériel. De plus, vous n'avez pas à vous soucier des temps d'arrêt dus à une infrastructure centralisée, ce qui vous laisse plus de temps pour vous concentrer sur votre produit principal. Vous n'avez pas non plus besoin de serveurs de secours, de dépannage ou d'autres ressources techniques coûteuses. From 216706b39fc04b010b7fd2dabc6a5e71d2f17c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:14 -0400 Subject: [PATCH 0639/2326] New translations benefits.mdx (Spanish) --- website/pages/es/network/benefits.mdx | 105 ++++++++++++-------------- 1 file changed, 50 insertions(+), 55 deletions(-) diff --git a/website/pages/es/network/benefits.mdx b/website/pages/es/network/benefits.mdx index c0e6d9fedf40..13c097cfc319 100644 --- a/website/pages/es/network/benefits.mdx +++ b/website/pages/es/network/benefits.mdx @@ -11,7 +11,7 @@ Aqui hay un analisis: ## Por qué deberías usar The Graph Network -- Costo mensual un 60-98% menor +- Significantly lower monthly costs - Costos de configuración de infraestructura de $0 - Tiempo de actividad superior - Access to hundreds of independent Indexers around the world @@ -21,69 +21,64 @@ Aqui hay un analisis: ### Estructura de costos más baja y más flexible -Sin contratos. Sin tarifa mensual. Pagas solo por las consultas que utilizas, con un costo promedio por consulta de $0.0002. Las consultas se cotizan en USD y se pagan en GRT. - -Los costos de consulta pueden variar; el costo cotizado es el promedio al momento de la publicación (Deciembre 2022). - -## Usuario de bajo volumen (menos de 30,000 consultas por mes) - -| Comparación de costos | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Costo mensual del servidor\* | $350 por mes | $0 | -| Costos de consulta | $0+ | ~$15 por mes | -| Tiempo de ingeniería | $400 por mes | Ninguno, integrado en la red con Indexadores distribuidos globalmente | -| Consultas por mes | Limitado a capacidades de infraestructura | 30,000 (autoescalando) | -| Costo por consulta | $0 | $0.0005 | -| Infraestructura | Centralizado | Descentralizado | -| Redundancia geográfica | $750+ por nodo adicional | Incluido | -| Tiempo de actividad | Varía | 99.9%+ | -| Costos mensuales totales | $750+ | ~$15 | - -## Usuario de Volumen Medio (3,000,000+ consultas por mes) - -| Comparación de costos | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Costo mensual del servidor\* | $350 por mes | $0 | -| Costos de consulta | $500 por mes | $750 por mes | -| Tiempo de ingeniería | $800 por mes | Ninguno, integrado en la red con Indexadores distribuidos globalmente | -| Consultas por mes | Limitado a capacidades de infraestructura | 3,000,000+ | -| Costo por consulta | $0 | $0.00025 | -| Infraestructura | Centralizado | Descentralizado | -| Gastos de ingeniería | $200 por hora | Incluido | -| Redundancia geográfica | $1,200 en costos totales por nodo adicional | Incluido | -| Tiempo de actividad | Varía | 99.9%+ | -| Costos mensuales totales | $1,650+ | $750 | - -## Usuario de alto volumen (30,000,000+ consultas por mes) - -| Comparación de costos | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Costo mensual del servidor\* | $1100 por mes, por nodo | $0 | -| Costos de consulta | $4000 | $4,500 por mes | -| Número de nodos necesarios | 10 | No aplica | -| Tiempo de ingeniería | $6,000 o más por mes | Ninguno, integrado en la red con Indexadores distribuidos globalmente | -| Consultas por mes | Limitado a capacidades de infraestructura | 30,000,000+ | -| Costo por consulta | $0 | $0.00015 | -| Infraestructura | Centralizado | Descentralizado | -| Redundancia geográfica | $1,200 en costos totales por nodo adicional | Incluido | -| Tiempo de actividad | Varía | 99.9%+ | -| Costos mensuales totales | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Comparación de costos | Self Hosted | The Graph Network | +|:--------------------------------:|:-----------------------------------------:|:---------------------------------------------------------------------:| +| Costo mensual del servidor\* | $350 por mes | $0 | +| Costos de consulta | $0+ | $0 per month | +| Tiempo de ingeniería | $400 por mes | Ninguno, integrado en la red con Indexadores distribuidos globalmente | +| Consultas por mes | Limitado a capacidades de infraestructura | 100,000 (Free Plan) | +| Costo por consulta | $0 | $0 | +| Infraestructura | Centralizado | Descentralizado | +| Redundancia geográfica | $750+ por nodo adicional | Incluido | +| Tiempo de actividad | Varía | 99.9%+ | +| Costos mensuales totales | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Comparación de costos | Self Hosted | The Graph Network | +|:--------------------------------:|:-------------------------------------------:|:---------------------------------------------------------------------:| +| Costo mensual del servidor\* | $350 por mes | $0 | +| Costos de consulta | $500 por mes | $120 per month | +| Tiempo de ingeniería | $800 por mes | Ninguno, integrado en la red con Indexadores distribuidos globalmente | +| Consultas por mes | Limitado a capacidades de infraestructura | ~3,000,000 | +| Costo por consulta | $0 | $0.00004 | +| Infraestructura | Centralizado | Descentralizado | +| Gastos de ingeniería | $200 por hora | Incluido | +| Redundancia geográfica | $1,200 en costos totales por nodo adicional | Incluido | +| Tiempo de actividad | Varía | 99.9%+ | +| Costos mensuales totales | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| Comparación de costos | Self Hosted | The Graph Network | +|:--------------------------------:|:-------------------------------------------:|:---------------------------------------------------------------------:| +| Costo mensual del servidor\* | $1100 por mes, por nodo | $0 | +| Costos de consulta | $4000 | $1,200 per month | +| Número de nodos necesarios | 10 | No aplica | +| Tiempo de ingeniería | $6,000 o más por mes | Ninguno, integrado en la red con Indexadores distribuidos globalmente | +| Consultas por mes | Limitado a capacidades de infraestructura | ~30,000,000 | +| Costo por consulta | $0 | $0.00004 | +| Infraestructura | Centralizado | Descentralizado | +| Redundancia geográfica | $1,200 en costos totales por nodo adicional | Incluido | +| Tiempo de actividad | Varía | 99.9%+ | +| Costos mensuales totales | $11,000+ | $1,200 | \*incluidos los costos de copia de seguridad: $50-$100 por mes Tiempo de ingeniería basado en un supuesto de $200 por hora -utilizando la función de presupuesto máximo de consulta en la pestaña de facturación presupuestaria, -manteniendo una alta calidad de servicio +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Costos estimados son solo para los subgrafos de Ethereum Mainnet — los costos son aún más altos cuando se aloja un `graph-node` en otras redes. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. La señal de curación en un subgrafo es una acción opcional de única vez y no tiene costo neto (por ejemplo, se pueden curar $1k en señales en un subgrafo y luego retirarlas, con el potencial de obtener retornos en el proceso). -Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. - -Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. - ## Sin costos de configuración & mayor eficiencia operativa Tarifas de instalación cero. Comienza de inmediato sin costos generales ni de instalación. Sin requisitos de hardware. Sin interrupciones debido a la infraestructura centralizada y más tiempo para concentrarte en tu producto principal. No se necesitan servidores de respaldo, resolución de problemas ni costosos recursos de ingeniería. From 90eb0f28173fc9522b460ea2366771253948e24b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:15 -0400 Subject: [PATCH 0640/2326] New translations benefits.mdx (Arabic) --- website/pages/ar/network/benefits.mdx | 104 +++++++++++++------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/website/pages/ar/network/benefits.mdx b/website/pages/ar/network/benefits.mdx index a54a14a768c9..c0ddbdb9be2d 100644 --- a/website/pages/ar/network/benefits.mdx +++ b/website/pages/ar/network/benefits.mdx @@ -11,7 +11,7 @@ Here is an analysis: ## Why You Should Use The Graph Network -- 60-98% lower monthly cost +- Significantly lower monthly costs - $0 infrastructure setup costs - Superior uptime - Access to hundreds of independent Indexers around the world @@ -21,68 +21,64 @@ Here is an analysis: ### Lower & more Flexible Cost Structure -No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $0.0002. Queries are priced in USD and paid in GRT. - -Query costs may vary; the quoted cost is the average at time of publication (December 2022). - -## Low Volume User (less than 30,000 queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $0+ | ~$15 per month | -| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000 (autoscaling) | -| Cost per query | $0 | $0.0005 | -| البنية الأساسية | Centralized | Decentralized | -| Geographic redundancy | $750+ per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $750+ | ~$15 | - -## Medium Volume User (3,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $500 per month | $750 per month | -| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 3,000,000+ | -| Cost per query | $0 | $0.00025 | -| البنية الأساسية | Centralized | Decentralized | -| Engineering expense | $200 per hour | Included | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $1,650+ | $750 | - -## High Volume User (30,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $1100 per month, per node | $0 | -| Query costs | $4000 | $4,500 per month | -| Number of nodes needed | 10 | Not applicable | -| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000,000+ | -| Cost per query | $0 | $0.00015 | -| البنية الأساسية | Centralized | Decentralized | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Cost Comparison | Self Hosted | The Graph Network | +|:----------------------------:|:---------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $0+ | $0 per month | +| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | 100,000 (Free Plan) | +| Cost per query | $0 | $0 | +| البنية الأساسية | Centralized | Decentralized | +| Geographic redundancy | $750+ per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Cost Comparison | Self Hosted | The Graph Network | +|:----------------------------:|:------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $500 per month | $120 per month | +| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~3,000,000 | +| Cost per query | $0 | $0.00004 | +| البنية الأساسية | Centralized | Decentralized | +| Engineering expense | $200 per hour | Included | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| Cost Comparison | Self Hosted | The Graph Network | +|:----------------------------:|:-------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $1100 per month, per node | $0 | +| Query costs | $4000 | $1,200 per month | +| Number of nodes needed | 10 | Not applicable | +| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~30,000,000 | +| Cost per query | $0 | $0.00004 | +| البنية الأساسية | Centralized | Decentralized | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $11,000+ | $1,200 | \*including costs for backup: $50-$100 per month Engineering time based on $200 per hour assumption -using the max query budget function in the budget billing tab, while maintaining high quality of service +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Curating signal on a subgraph is an optional one-time, net-zero cost (e.g., $1k in signal can be curated on a subgraph, and later withdrawn—with potential to earn returns in the process). -Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. - -Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. - ## No Setup Costs & Greater Operational Efficiency Zero setup fees. Get started immediately with no setup or overhead costs. No hardware requirements. No outages due to centralized infrastructure, and more time to concentrate on your core product . No need for backup servers, troubleshooting, or expensive engineering resources. From 7b90e490cb67cd2e6361d216096bee0c34333ea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:16 -0400 Subject: [PATCH 0641/2326] New translations benefits.mdx (Czech) --- website/pages/cs/network/benefits.mdx | 130 +++++++++++++------------- 1 file changed, 63 insertions(+), 67 deletions(-) diff --git a/website/pages/cs/network/benefits.mdx b/website/pages/cs/network/benefits.mdx index 02655bef5cdb..620a8109b0be 100644 --- a/website/pages/cs/network/benefits.mdx +++ b/website/pages/cs/network/benefits.mdx @@ -1,96 +1,92 @@ --- -title: The Graph Network vs. Self Hosting +title: Síť grafů vs. vlastní hosting socialImage: https://thegraph.com/docs/img/seo/benefits.jpg --- -The Graph’s decentralized network has been engineered and refined to create a robust indexing and querying experience—and it’s getting better every day thanks to thousands of contributors around the world. +Decentralizovaná síť Grafu byla navržena a zdokonalena tak, aby umožňovala robustní indexování a dotazování - a díky tisícům přispěvatelů z celého světa se každým dnem zlepšuje. -The benefits of this decentralized protocol cannot be replicated by running a `graph-node` locally. The Graph Network is more reliable, more efficient, and less expensive. +Výhody tohoto decentralizovaného protokolu nelze replikovat lokálním spuštěním `graf-node`. Síť Graf je spolehlivější, efektivnější a levnější. -Here is an analysis: +Zde je analýza: -## Why You Should Use The Graph Network +## Proč byste měli používat síť Graf -- 60-98% lower monthly cost -- $0 infrastructure setup costs -- Superior uptime -- Access to hundreds of independent Indexers around the world -- 24/7 technical support by global community +- Significantly lower monthly costs +- Náklady na zřízení infrastruktury ve výši $0 +- Vynikající doba provozu +- Přístup ke stovkám nezávislých indexátorů po celém světě +- 24/7 technická podpora globální komunity -## The Benefits Explained +## Vysvětlení výhod -### Lower & more Flexible Cost Structure +### Nižší & flexibilnější struktura nákladů -No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $0.0002. Queries are priced in USD and paid in GRT. +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. -Query costs may vary; the quoted cost is the average at time of publication (December 2022). +Query costs may vary; the quoted cost is the average at time of publication (March 2024). -## Low Volume User (less than 30,000 queries per month) +## Low Volume User (less than 100,000 queries per month) -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $0+ | ~$15 per month | -| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000 (autoscaling) | -| Cost per query | $0 | $0.0005 | -| Infrastruktura | Centralized | Decentralized | -| Geographic redundancy | $750+ per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $750+ | ~$15 | +| Srovnání nákladů | Vlastní hostitel | The Graph Network | +|:-----------------------------:|:---------------------------------------:|:-------------------------------------------------------------:| +| Měsíční náklady na server\* | $350 měsíčně | $0 | +| Náklady na dotazování | $0+ | $0 per month | +| Inženýrský čas | $400 měsíčně | Žádné, zabudované do sítě s globálně distribuovanými indexery | +| Dotazy za měsíc | Omezeno na infra schopnosti | 100,000 (Free Plan) | +| Náklady na jeden dotaz | $0 | $0 | +| Infrastruktura | Centralizovaný | Decentralizované | +| Geografická redundancy | $750+ Usd za další uzel | Zahrnuto | +| Provozuschopnost | Různé | 99.9%+ | +| Celkové měsíční náklady | $750+ | $0 | -## Medium Volume User (3,000,000+ queries per month) +## Medium Volume User (~3M queries per month) -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $500 per month | $750 per month | -| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 3,000,000+ | -| Cost per query | $0 | $0.00025 | -| Infrastruktura | Centralized | Decentralized | -| Engineering expense | $200 per hour | Included | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $1,650+ | $750 | +| Srovnání nákladů | Vlastní hostitel | The Graph Network | +|:-----------------------------:|:------------------------------------------:|:-------------------------------------------------------------:| +| Měsíční náklady na server\* | $350 měsíčně | $0 | +| Náklady na dotazování | $500 měsíčně | $120 per month | +| Inženýrský čas | $800 měsíčně | Žádné, zabudované do sítě s globálně distribuovanými indexery | +| Dotazy za měsíc | Omezeno na infra schopnosti | ~3,000,000 | +| Náklady na jeden dotaz | $0 | $0.00004 | +| Infrastruktura | Centralizovaný | Decentralizované | +| Výdaje inženýrskou | $200 za hodinu | Zahrnuto | +| Geografická redundancy | $1,200 celkových nákladů na další uzel | Zahrnuto | +| Provozuschopnost | Různé | 99.9%+ | +| Celkové měsíční náklady | $1,650+ | $120 | -## High Volume User (30,000,000+ queries per month) +## High Volume User (~30M queries per month) -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $1100 per month, per node | $0 | -| Query costs | $4000 | $4,500 per month | -| Number of nodes needed | 10 | Not applicable | -| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000,000+ | -| Cost per query | $0 | $0.00015 | -| Infrastruktura | Centralized | Decentralized | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $11,000+ | $4,500 | +| Srovnání nákladů | Vlastní hostitel | The Graph Network | +|:-----------------------------:|:-------------------------------------------:|:-------------------------------------------------------------:| +| Měsíční náklady na server\* | $1100 měsíčně za uzel | $0 | +| Náklady na dotazování | $4000 | $1,200 per month | +| Počet potřebných uzlů | 10 | Nepoužije se | +| Inženýrský čas | 6$, 000 nebo více měsíčně | Žádné, zabudované do sítě s globálně distribuovanými indexery | +| Dotazy za měsíc | Omezeno na infra schopnosti | ~30,000,000 | +| Náklady na jeden dotaz | $0 | $0.00004 | +| Infrastruktura | Centralizovaný | Decentralizované | +| Geografická redundancy | $1,200 celkových nákladů na další uzel | Zahrnuto | +| Provozuschopnost | Různé | 99.9%+ | +| Celkové měsíční náklady | $11,000+ | $1,200 | -\*including costs for backup: $50-$100 per month +\*včetně nákladů na zálohování: $50-$100 měsíčně -Engineering time based on $200 per hour assumption +Inženýrský čas na základě předpokladu $200 za hodinu -using the max query budget function in the budget billing tab, while maintaining high quality of service +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. -Curating signal on a subgraph is an optional one-time, net-zero cost (e.g., $1k in signal can be curated on a subgraph, and later withdrawn—with potential to earn returns in the process). +Kurátorování signálu na podgrafu je volitelný jednorázový čistý nulový náklad (např. na podgrafu lze kurátorovat signál v hodnotě $1k a později jej stáhnout - s potenciálem získat v tomto procesu výnosy). -Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. +## Žádné náklady na nastavení & vyšší efektivita provozu -Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. +Nulové instalační poplatky. Začněte ihned pracovat bez jakýchkoli nákladů na zřízení nebo režijních nákladů. Žádné hardwarové požadavky. Žádné výpadky kvůli centralizované infrastruktuře a více času na soustředění se na váš hlavní produkt . Žádná potřeba záložních serverů, řešení problémů nebo drahých technických zdrojů. -## No Setup Costs & Greater Operational Efficiency +## Spolehlivost & odolnost -Zero setup fees. Get started immediately with no setup or overhead costs. No hardware requirements. No outages due to centralized infrastructure, and more time to concentrate on your core product . No need for backup servers, troubleshooting, or expensive engineering resources. +Decentralizovaná síť Grafu poskytuje uživatelům přístup ke geografické redundanci, která při vlastním hostování `graph-node` neexistuje. Dotazy jsou spolehlivě obsluhovány díky 99,. 9%+ uptime, kterého je dosaženo stovkami nezávislých indexerů zabezpečujících síť po celém světě. -## Reliability & Resiliency +Podtrženo a sečteno: Síť Graf je levnější, jednodušší na používání a poskytuje lepší výsledky než lokální provozování `graph-node`. -The Graph’s decentralized network gives users access to geographic redundancy that does not exist when self-hosting a `graph-node`. Queries are served reliably thanks to 99.9%+ uptime, achieved by hundreds of independent Indexers securing the network globally. - -Bottom line: The Graph Network is less expensive, easier to use, and produces superior results compared to running a `graph-node` locally. - -Start using The Graph Network today, and learn how to [upgrade your subgraph to The Graph's decentralized network](/cookbook/upgrading-a-subgraph). +Začněte používat síť Graf ještě dnes a zjistěte, jak [upgradovat svůj podgraf do decentralizované sítě Grafu](/cookbook/upgrading-a-subgraph). From 53850e7206e371a764e54c4b80c4a6d43ab49ede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:17 -0400 Subject: [PATCH 0642/2326] New translations benefits.mdx (German) --- website/pages/de/network/benefits.mdx | 104 +++++++++++++------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/website/pages/de/network/benefits.mdx b/website/pages/de/network/benefits.mdx index cf9a39833987..e500ae9987a5 100644 --- a/website/pages/de/network/benefits.mdx +++ b/website/pages/de/network/benefits.mdx @@ -11,7 +11,7 @@ Here is an analysis: ## Why You Should Use The Graph Network -- 60-98% lower monthly cost +- Significantly lower monthly costs - $0 infrastructure setup costs - Superior uptime - Access to hundreds of independent Indexers around the world @@ -21,68 +21,64 @@ Here is an analysis: ### Lower & more Flexible Cost Structure -No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $0.0002. Queries are priced in USD and paid in GRT. - -Query costs may vary; the quoted cost is the average at time of publication (December 2022). - -## Low Volume User (less than 30,000 queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $0+ | ~$15 per month | -| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000 (autoscaling) | -| Cost per query | $0 | $0.0005 | -| Infrastruktur | Centralized | Decentralized | -| Geographic redundancy | $750+ per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $750+ | ~$15 | - -## Medium Volume User (3,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $500 per month | $750 per month | -| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 3,000,000+ | -| Cost per query | $0 | $0.00025 | -| Infrastruktur | Centralized | Decentralized | -| Engineering expense | $200 per hour | Included | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $1,650+ | $750 | - -## High Volume User (30,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $1100 per month, per node | $0 | -| Query costs | $4000 | $4,500 per month | -| Number of nodes needed | 10 | Not applicable | -| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000,000+ | -| Cost per query | $0 | $0.00015 | -| Infrastruktur | Centralized | Decentralized | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Cost Comparison | Self Hosted | The Graph Network | +|:----------------------------:|:---------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $0+ | $0 per month | +| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | 100,000 (Free Plan) | +| Cost per query | $0 | $0 | +| Infrastruktur | Centralized | Decentralized | +| Geographic redundancy | $750+ per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Cost Comparison | Self Hosted | The Graph Network | +|:----------------------------:|:------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $500 per month | $120 per month | +| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~3,000,000 | +| Cost per query | $0 | $0.00004 | +| Infrastruktur | Centralized | Decentralized | +| Engineering expense | $200 per hour | Included | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| Cost Comparison | Self Hosted | The Graph Network | +|:----------------------------:|:-------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $1100 per month, per node | $0 | +| Query costs | $4000 | $1,200 per month | +| Number of nodes needed | 10 | Not applicable | +| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~30,000,000 | +| Cost per query | $0 | $0.00004 | +| Infrastruktur | Centralized | Decentralized | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $11,000+ | $1,200 | \*including costs for backup: $50-$100 per month Engineering time based on $200 per hour assumption -using the max query budget function in the budget billing tab, while maintaining high quality of service +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Curating signal on a subgraph is an optional one-time, net-zero cost (e.g., $1k in signal can be curated on a subgraph, and later withdrawn—with potential to earn returns in the process). -Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. - -Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. - ## No Setup Costs & Greater Operational Efficiency Zero setup fees. Get started immediately with no setup or overhead costs. No hardware requirements. No outages due to centralized infrastructure, and more time to concentrate on your core product . No need for backup servers, troubleshooting, or expensive engineering resources. From 86475ae064d18cf3c23e7eb097f92c149f406ee9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:18 -0400 Subject: [PATCH 0643/2326] New translations benefits.mdx (Italian) --- website/pages/it/network/benefits.mdx | 105 ++++++++++++-------------- 1 file changed, 50 insertions(+), 55 deletions(-) diff --git a/website/pages/it/network/benefits.mdx b/website/pages/it/network/benefits.mdx index 482b5fbbcd0d..7456efc877a0 100644 --- a/website/pages/it/network/benefits.mdx +++ b/website/pages/it/network/benefits.mdx @@ -11,7 +11,7 @@ Ecco l'analisi: ## Perché si dovrebbe usare The Graph Network -- Costo mensile ridotto del 60-98% +- Significantly lower monthly costs - $0 di costi di installazione dell'infrastruttura - Tempo di attività superiore - Access to hundreds of independent Indexers around the world @@ -21,69 +21,64 @@ Ecco l'analisi: ### Struttura dei costi più bassa e flessibile -Nessun contratto. Nessuna spesa mensile. Si paga solo per le query utilizzate, con un costo medio per query di $0,0002. Le query sono quotate in dollari e pagate in GRT. - -I costi di query possono variare; il costo indicato è quello medio al momento della pubblicazione (dicembre 2022). - -## Utente di basso volume (meno di 30.000 query al mese) - -| Confronto costi | Self Hosted | The Graph Network | -| :-: | :-: | :-: | -| Costo mensile del server\* | $350 al mese | $0 | -| Costi di query | $0+ | ~$15 al mese | -| Tempo di progettazione | $400 al mese | Nessuno, integrato nella rete con indicizzatori distribuiti a livello globale | -| Query al mese | Limitato alle capacità di infra | 30,000 (autoscaling) | -| Costo per query | $0 | $0.0005 | -| Infrastruttura | Centralizzato | Decentralizzato | -| Ridondanza geografica | $750+ per nodo aggiuntivo | Incluso | -| Tempo di attività | Variabile | 99.9%+ | -| Costo totale mensile | $750+ | ~$15 | - -## Utente di medio volume (3,000,000+ di query al mese) - -| Confronto dei costi | Self Hosted | The Graph Network | -| :-: | :-: | :-: | -| Costo mensile del server\* | $350 al mese | $0 | -| Costi di query | $500 al mese | $750 al mese | -| Tempo di progettazione | $800 al mese | Nessuno, integrato nella rete con indicizzatori distribuiti a livello globale | -| Query al mese | Limitato alle capacità dell'infrastruttura | 3,000,000+ | -| Costo per query | $0 | $0.00025 | -| Infrastruttura | Centralizzato | Decentralizzato | -| Costi di ingegneria | $200 all'ora | Incluso | -| Ridondanza geografica | $1.200 di costi totali per nodo aggiuntivo | Incluso | -| Tempo di attività | Variabile | 99.9%+ | -| Costo totale mensile | $1,650+ | $750 | - -## Utente di alto volume (3,000,000+ di query al mese) - -| Confronto costi | Self Hosted | The Graph Network | -| :-: | :-: | :-: | -| Costo mensile del server\* | $1100 al mese, per nodo | $0 | -| Costi di query | $4000 | $4,500 al mese | -| Numero di nodi necessari | 10 | Non applicabile | -| Tempo di progettazione | $6.000 o più al mese | Nessuno, integrato nella rete con indicizzatori distribuiti a livello globale | -| Query al mese | Limitato alle capacità di infra | 30,000,000+ | -| Costo per query | $0 | $0.00015 | -| Infrastruttura | Centralizzato | Decentralizzato | -| Ridondanza geografica | $1.200 di costi totali per nodo aggiuntivo | Incluso | -| Tempo di attività | Variabile | 99.9%+ | -| Costo totale mensile | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Confronto costi | Self Hosted | The Graph Network | +|:----------------------------------:|:---------------------------------------:|:-----------------------------------------------------------------------------:| +| Costo mensile del server\* | $350 al mese | $0 | +| Costi di query | $0+ | $0 per month | +| Tempo di progettazione | $400 al mese | Nessuno, integrato nella rete con indicizzatori distribuiti a livello globale | +| Query al mese | Limitato alle capacità di infra | 100,000 (Free Plan) | +| Costo per query | $0 | $0 | +| Infrastruttura | Centralizzato | Decentralizzato | +| Ridondanza geografica | $750+ per nodo aggiuntivo | Incluso | +| Tempo di attività | Variabile | 99.9%+ | +| Costo totale mensile | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Confronto dei costi | Self Hosted | The Graph Network | +|:----------------------------------:|:------------------------------------------:|:-----------------------------------------------------------------------------:| +| Costo mensile del server\* | $350 al mese | $0 | +| Costi di query | $500 al mese | $120 per month | +| Tempo di progettazione | $800 al mese | Nessuno, integrato nella rete con indicizzatori distribuiti a livello globale | +| Query al mese | Limitato alle capacità dell'infrastruttura | ~3,000,000 | +| Costo per query | $0 | $0.00004 | +| Infrastruttura | Centralizzato | Decentralizzato | +| Costi di ingegneria | $200 all'ora | Incluso | +| Ridondanza geografica | $1.200 di costi totali per nodo aggiuntivo | Incluso | +| Tempo di attività | Variabile | 99.9%+ | +| Costo totale mensile | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| Confronto costi | Self Hosted | The Graph Network | +|:----------------------------------:|:-------------------------------------------:|:-----------------------------------------------------------------------------:| +| Costo mensile del server\* | $1100 al mese, per nodo | $0 | +| Costi di query | $4000 | $1,200 per month | +| Numero di nodi necessari | 10 | Non applicabile | +| Tempo di progettazione | $6.000 o più al mese | Nessuno, integrato nella rete con indicizzatori distribuiti a livello globale | +| Query al mese | Limitato alle capacità di infra | ~30,000,000 | +| Costo per query | $0 | $0.00004 | +| Infrastruttura | Centralizzato | Decentralizzato | +| Ridondanza geografica | $1.200 di costi totali per nodo aggiuntivo | Incluso | +| Tempo di attività | Variabile | 99.9%+ | +| Costo totale mensile | $11,000+ | $1,200 | \*inclusi i costi per il backup: $50-$100 al mese Tempo di progettazione basato su un'ipotesi di $200 all'ora - utilizzando la funzione di budget massimo della query nella scheda di fatturazione del budget, mantenendo un'alta -qualità del servizio +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -I costi previsti sono solo per i subgraph di Ethereum Mainnet - i costi sono ancora più alti quando si ospita un `graph-node` su altre reti. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. La curation del segnale su un subgraph è opzionale, una tantum, a costo zero (ad esempio, $1.000 in segnale possono essere curati su un subgraph e successivamente ritirati, con un potenziale di guadagno nel processo). -Alcuni utenti potrebbero dover aggiornare il proprio subgraph a una nuova versione. A causa delle tariffe del gas Ethereum, un aggiornamento costa circa $50 dollari al momento della scrittura. - -Si noti che le tariffe del gas su [Arbitrum](/arbitrum/arbitrum-faq) sono sostanzialmente inferiori a quelle di Ethereum mainnet. - ## Nessun costo di installazione e maggiore efficienza operativa Zero costi di configurazione. Iniziate subito senza costi di configurazione o spese generali. Nessun requisito hardware. Nessuna interruzione a causa dell'infrastruttura centralizzata, e più tempo per concentrarsi sul prodotto principale. Non sono necessari i server di backup, risoluzione dei problemi o risorse ingegneristiche costose. From a3d020bc3ae8d405dfa58e2f5b6312ac27da75e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:19 -0400 Subject: [PATCH 0644/2326] New translations benefits.mdx (Japanese) --- website/pages/ja/network/benefits.mdx | 104 +++++++++++++------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/website/pages/ja/network/benefits.mdx b/website/pages/ja/network/benefits.mdx index be92fd79639e..5328cfd5a9bf 100644 --- a/website/pages/ja/network/benefits.mdx +++ b/website/pages/ja/network/benefits.mdx @@ -11,7 +11,7 @@ Graph の分散型ネットワークは、堅牢なインデックス作成と ## グラフネットワークを使うべき理由 -- 60-98%の月額コスト削減 +- Significantly lower monthly costs - インフラ構築費用0ドル - 優れたアップタイム - 世界中の数百の独立系インデクサーへのアクセス @@ -21,68 +21,64 @@ Graph の分散型ネットワークは、堅牢なインデックス作成と ### ローランプ、フレキシブルなコスト構造 -契約なし。月額料金なし。使用したクエリに対してのみ料金が発生します。クエリあたりの平均コストは $0.0002 です。クエリの価格は USD で、GRT で支払われます。 - -クエリのコストは異なる場合があります。引用されたコストは、発行時 (2022 年 12 月) の平均です。 - -## ローボリュームユーザー(月間30,000クエリ以下) - -| コスト比較 | セルフホスト | グラフネットワーク | -| :-: | :-: | :-: | -| 月額サーバー代 | $350/月 | $0 | -| クエリコスト | $0+ | ~$15/月 | -| エンジニアリングタイム | $400/月 | なし/ グローバルに分散されたインデクサーでネットワークに組み込まれる | -| 月ごとのクエリ | インフラ機能に限定 | 30,000(オートスケーリング) | -| クエリごとのコスト | $0 | $0.0005 | -| インフラストラクチャ | 集中管理型 | 分散型 | -| 地理的な冗長性 | 追加1ノードにつき$750+ | 含まれる | -| アップタイム | バリエーション | 99.9%+ | -| 月額費用合計 | $750+ | ~$15 | - -## ミディアムボリュームユーザー(月間3,000,000クエリ以上) - -| コスト比較 | セルフホスト | グラフネットワーク | -| :-: | :-: | :-: | -| 月額サーバー代 | $350/月 | $0 | -| クエリコスト | $500/月 | $750/月 | -| エンジニアリングタイム | $800/月 | なし/ グローバルに分散されたインデクサーでネットワークに組み込まれる | -| 月ごとのクエリ | インフラ機能に限定 | 3,000,000+ | -| クエリごとのコスト | $0 | $0.00025 | -| インフラストラクチャ | 中央管理型 | 分散型 | -| エンジニアリングコスト | $200/時 | 含まれる | -| 地理的な冗長性 | ノード追加1台につき合計1,200ドル | 含まれる | -| アップタイム | 変動 | 99.9%+ | -| 月額費用合計 | $1,650+ | $750 | - -## ハイボリュームユーザー(月間30,000,000クエリ以上) - -| コスト比較 | セルフホスト | グラフネットワーク | -| :-: | :-: | :-: | -| 月額サーバー代 | $1100/月(ノードごと) | $0 | -| クエリコスト | $4000 | $4,500/月 | -| 必要ノード数 | 10 | 該当なし | -| エンジニアリングタイム | $6,000/月 | なし/ グローバルに分散されたインデクサーでネットワークに組み込まれる | -| 月ごとのクエリ | インフラ機能に限定 | 30,000,000+ | -| クエリごとのコスト | $0 | $0.00015 | -| インフラストラクチャ | 集中管理型 | 分散型 | -| 地理的な冗長性 | ノード追加1台につき合計1,200ドル | 含まれる | -| アップタイム | 変動 | 99.9%+ | -| 月額費用合計 | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| コスト比較 | セルフホスト | グラフネットワーク | +|:-----------------------:|:---------------------------------------:|:-----------------------------------:| +| 月額サーバー代 | $350/月 | $0 | +| クエリコスト | $0+ | $0 per month | +| エンジニアリングタイム | $400/月 | なし/ グローバルに分散されたインデクサーでネットワークに組み込まれる | +| 月ごとのクエリ | インフラ機能に限定 | 100,000 (Free Plan) | +| クエリごとのコスト | $0 | $0 | +| インフラストラクチャ | 集中管理型 | 分散型 | +| 地理的な冗長性 | 追加1ノードにつき$750+ | 含まれる | +| アップタイム | バリエーション | 99.9%+ | +| 月額費用合計 | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| コスト比較 | セルフホスト | グラフネットワーク | +|:-----------------------:|:------------------------------------------:|:-----------------------------------:| +| 月額サーバー代 | $350/月 | $0 | +| クエリコスト | $500/月 | $120 per month | +| エンジニアリングタイム | $800/月 | なし/ グローバルに分散されたインデクサーでネットワークに組み込まれる | +| 月ごとのクエリ | インフラ機能に限定 | ~3,000,000 | +| クエリごとのコスト | $0 | $0.00004 | +| インフラストラクチャ | 中央管理型 | 分散型 | +| エンジニアリングコスト | $200/時 | 含まれる | +| 地理的な冗長性 | ノード追加1台につき合計1,200ドル | 含まれる | +| アップタイム | 変動 | 99.9%+ | +| 月額費用合計 | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| コスト比較 | セルフホスト | グラフネットワーク | +|:-----------------------:|:-------------------------------------------:|:-----------------------------------:| +| 月額サーバー代 | $1100/月(ノードごと) | $0 | +| クエリコスト | $4000 | $1,200 per month | +| 必要ノード数 | 10 | 該当なし | +| エンジニアリングタイム | $6,000/月 | なし/ グローバルに分散されたインデクサーでネットワークに組み込まれる | +| 月ごとのクエリ | インフラ機能に限定 | ~30,000,000 | +| クエリごとのコスト | $0 | $0.00004 | +| インフラストラクチャ | 集中管理型 | 分散型 | +| 地理的な冗長性 | ノード追加1台につき合計1,200ドル | 含まれる | +| アップタイム | 変動 | 99.9%+ | +| 月額費用合計 | $11,000+ | $1,200 | \*バックアップ費用含む:月額$50〜$100 エンジニアリング・タイム1時間あたり$200の仮定に基づく -高いサービス品質を維持しながら、予算課金タブの最大クエリ予算機能を使用する。 +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -推定コストはイーサリアム メインネット サブグラフのみです。他のネットワークで `グラフ ノード`を自己ホストする場合、コストはさらに高くなります。 +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. サブグラフ上のシグナルのキュレーションは、オプションで1回限り、ネットゼロのコストで可能です(例えば、$1,000のシグナルをサブグラフ上でキュレーションし、後で引き出すことができ、その過程でリターンを得る可能性があります)。 -ユーザーによっては、サブグラフを新しいバージョンに更新する必要がある場合があります。イーサリアムのガス料金のため、この記事の執筆時点では更新には約 50 ドルの費用がかかります。 - -[Arbitrum](/arbitrum/arbitrum-faq) のガス料金はイーサリアム メインネットよりも大幅に低いことに注意してください。 - ## セットアップ費用不要; 運用効率アップ。 セットアップ費用ゼロ。セットアップや諸経費が不要で、すぐに使い始めることができます。ハードウェアは必要ありません。集中管理されたインフラストラクチャによる障害もなく、より多くの時間をコア製品に集中させることができます。バックアップサーバー、トラブルシューティング、高価なエンジニアリングリソースは必要ありません。 From f3b1da037b19fcb8eba2aa9600b7d36204139fba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:20 -0400 Subject: [PATCH 0645/2326] New translations benefits.mdx (Korean) --- website/pages/ko/network/benefits.mdx | 104 +++++++++++++------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/website/pages/ko/network/benefits.mdx b/website/pages/ko/network/benefits.mdx index 864672b16515..63217b6729b9 100644 --- a/website/pages/ko/network/benefits.mdx +++ b/website/pages/ko/network/benefits.mdx @@ -11,7 +11,7 @@ Here is an analysis: ## Why You Should Use The Graph Network -- 60-98% lower monthly cost +- Significantly lower monthly costs - $0 infrastructure setup costs - Superior uptime - Access to hundreds of independent Indexers around the world @@ -21,68 +21,64 @@ Here is an analysis: ### Lower & more Flexible Cost Structure -No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $0.0002. Queries are priced in USD and paid in GRT. - -Query costs may vary; the quoted cost is the average at time of publication (December 2022). - -## Low Volume User (less than 30,000 queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $0+ | ~$15 per month | -| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000 (autoscaling) | -| Cost per query | $0 | $0.0005 | -| Infrastructure | Centralized | Decentralized | -| Geographic redundancy | $750+ per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $750+ | ~$15 | - -## Medium Volume User (3,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $500 per month | $750 per month | -| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 3,000,000+ | -| Cost per query | $0 | $0.00025 | -| Infrastructure | Centralized | Decentralized | -| Engineering expense | $200 per hour | Included | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $1,650+ | $750 | - -## High Volume User (30,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $1100 per month, per node | $0 | -| Query costs | $4000 | $4,500 per month | -| Number of nodes needed | 10 | Not applicable | -| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000,000+ | -| Cost per query | $0 | $0.00015 | -| Infrastructure | Centralized | Decentralized | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Cost Comparison | Self Hosted | The Graph 네트워크 | +|:----------------------------:|:---------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $0+ | $0 per month | +| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | 100,000 (Free Plan) | +| Cost per query | $0 | $0 | +| Infrastructure | Centralized | Decentralized | +| Geographic redundancy | $750+ per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Cost Comparison | Self Hosted | The Graph 네트워크 | +|:----------------------------:|:------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $500 per month | $120 per month | +| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~3,000,000 | +| Cost per query | $0 | $0.00004 | +| Infrastructure | Centralized | Decentralized | +| Engineering expense | $200 per hour | Included | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| Cost Comparison | Self Hosted | The Graph 네트워크 | +|:----------------------------:|:-------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $1100 per month, per node | $0 | +| Query costs | $4000 | $1,200 per month | +| Number of nodes needed | 10 | Not applicable | +| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~30,000,000 | +| Cost per query | $0 | $0.00004 | +| Infrastructure | Centralized | Decentralized | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $11,000+ | $1,200 | \*including costs for backup: $50-$100 per month Engineering time based on $200 per hour assumption -using the max query budget function in the budget billing tab, while maintaining high quality of service +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Curating signal on a subgraph is an optional one-time, net-zero cost (e.g., $1k in signal can be curated on a subgraph, and later withdrawn—with potential to earn returns in the process). -Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. - -Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. - ## No Setup Costs & Greater Operational Efficiency Zero setup fees. Get started immediately with no setup or overhead costs. No hardware requirements. No outages due to centralized infrastructure, and more time to concentrate on your core product . No need for backup servers, troubleshooting, or expensive engineering resources. From 8750005ccdd0c38ab7424c5bdec9c5300fcb27c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:21 -0400 Subject: [PATCH 0646/2326] New translations benefits.mdx (Dutch) --- website/pages/nl/network/benefits.mdx | 107 ++++++++++++-------------- 1 file changed, 51 insertions(+), 56 deletions(-) diff --git a/website/pages/nl/network/benefits.mdx b/website/pages/nl/network/benefits.mdx index 86608928d730..fe5b0c8749cc 100644 --- a/website/pages/nl/network/benefits.mdx +++ b/website/pages/nl/network/benefits.mdx @@ -5,13 +5,13 @@ socialImage: https://thegraph.com/docs/img/seo/benefits.jpg Het gedecentraliseerde netwerk van The Graph is ontworpen en verfijnd om een robuuste ervaring te creëren bij het indexeren en opvragen van data. Het netwerk wordt iedere dag sterker door de duizenden bijdragers wereldwijd. -De voordelen van dit gedecentraliseerde protocol is dat het niet gerepliceerd kan worden door een `graph-node` lokaal te laten werken. Het Graph Netwerk is betrouwbaarder, efficiënter en goedkoper. +De voordelen van dit gedecentraliseerde protocol is dat het niet gerepliceerd kan worden door een `graph-node` lokaal te laten werken. Het Graph Netwerk is betrouwbaarder, efficiënter en goedkoper. Hier is een analyse: ## Waarom jij het Graph Network zou moeten gebruiken -- 60-98% lagere maandelijkse kosten +- Significantly lower monthly costs - Geen kosten voor het opzetten van infrastructuur - Superieure beschikbaarheid - Toegang tot honderden onafhankelijke Indexers wereldwijd @@ -21,69 +21,64 @@ Hier is een analyse: ### Lagere & meer flexibele kostenstructuur -Geen contracten. Geen maandelijkse kosten. Betaal alleen voor de queries die je gebruikt, met een gemiddelde prijs per query van $ 0.0002. Queries hebben een waarde in USD en worden betaald in de equivalente hoeveelheid GRT. - -Kosten per query kunnen variëren; de genoemde kosten zijn het gemiddelde op het moment van publicatie (december 2022). - -## Gebruiker met een laag volume (minder dan 30.000 queries per maand) - -| Kostenvergelijking | Zelf hosten | Graph Netwerk | -| :-: | :-: | :-: | -| Maandelijkse serverkosten | $350 per maand | $0 | -| Querykosten | $0+ | ~$15 per maand | -| Onderhoud tijd | $400 per maand | Geen, deze kosten worden opgevangen door het wereldwijd gedistribueerde netwerk van indexeerders | -| Aantal queries per maand | Beperkt tot infrastructuurcapaciteiten | 30000 (schaalt automatisch) | -| Kosten per query | $0 | $0,0005 | -| Infrastructuur | Gecentraliseerd | Gedecentraliseerd | -| Geografische redundantie | $750+ per extra node | Inbegrepen | -| Uptime | Wisselend | 99,9%+ | -| Totale maandelijkse kosten | $750+ | ~$15 | - -## Gebruiker met een gemiddeld volume (3.000.000+ queries per maand) - -| Kostenvergelijking | Zelf hosten | Graph Netwerk | -| :-: | :-: | :-: | -| Maandelijkse serverkosten | $350 per maand | $0 | -| Querykosten | $500 per maand | $750 per maand | -| Onderhoud | $800 per maand | Geen, deze kosten worden opgevangen door het wereldwijd gedistribueerde netwerk van indexeerders | -| Aantal queries per maand | Beperkt tot infrastructuurcapaciteiten | 3000000+ | -| Kosten per query | $0 | $0,00025 | -| Infrastructuur | Gecentraliseerd | Gedecentraliseerd | -| Technische personeelskosten | $200 per uur | Inbegrepen | -| Geografische redundantie | $1200 totale kosten per extra node | Inbegrepen | -| Uptime | Wisselend | 99,9%+ | -| Totale maandelijkse kosten | $1650+ | $750 | - -## Gebruiker met een hoog volume (30.000.000+ query's per maand) - -| Kostenvergelijking | Zelf hosten | Graph Netwerk | -| :-: | :-: | :-: | -| Maandelijkse serverkosten | $1100 per maand, per node | $0 | -| Querykosten | $4000 | $4500 per maand | -| Aantal benodigde nodes | 10 | Niet van toepassing | -| Onderhoud | $6000 of meer per maand | Geen, deze kosten worden opgevangen door het wereldwijd gedistribueerde netwerk van indexeerders | -| Aantal queries per maand | Beperkt tot infrastructuurcapaciteiten | 30000000+ | -| Kosten per query | $0 | $0.00015 | -| Infrastructuur | Gecentraliseerd | Gedecentraliseerd | -| Geografische redundantie | $1200 in totale kosten per extra node | Inbegrepen | -| Uptime | Wisselend | 99,9%+ | -| Totale maandelijkse kosten | $11000+ | $4500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Kostenvergelijking | Zelf hosten | De Graph Netwerk | +|:--------------------------:|:---------------------------------------:|:------------------------------------------------------------------------------------------------:| +| Maandelijkse serverkosten | $350 per maand | $0 | +| Querykosten | $0+ | $0 per month | +| Onderhoud tijd | $400 per maand | Geen, deze kosten worden opgevangen door het wereldwijd gedistribueerde netwerk van indexeerders | +| Aantal queries per maand | Beperkt tot infrastructuurcapaciteiten | 100,000 (Free Plan) | +| Kosten per query | $0 | $0 | +| Infrastructuur | Gecentraliseerd | Gedecentraliseerd | +| Geografische redundantie | $750+ per extra node | Inbegrepen | +| Uptime | Wisselend | 99,9%+ | +| Totale maandelijkse kosten | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Kostenvergelijking | Zelf hosten | De Graph Netwerk | +|:---------------------------:|:-----------------------------------------:|:------------------------------------------------------------------------------------------------:| +| Maandelijkse serverkosten | $350 per maand | $0 | +| Querykosten | $500 per maand | $120 per month | +| Onderhoud | $800 per maand | Geen, deze kosten worden opgevangen door het wereldwijd gedistribueerde netwerk van indexeerders | +| Aantal queries per maand | Beperkt tot infrastructuurcapaciteiten | ~3,000,000 | +| Kosten per query | $0 | $0.00004 | +| Infrastructuur | Gecentraliseerd | Gedecentraliseerd | +| Technische personeelskosten | $200 per uur | Inbegrepen | +| Geografische redundantie | $1200 totale kosten per extra node | Inbegrepen | +| Uptime | Wisselend | 99,9%+ | +| Totale maandelijkse kosten | $1650+ | $120 | + +## High Volume User (~30M queries per month) + +| Kostenvergelijking | Zelf hosten | De Graph Netwerk | +|:--------------------------:|:------------------------------------------:|:------------------------------------------------------------------------------------------------:| +| Maandelijkse serverkosten | $1100 per maand, per node | $0 | +| Querykosten | $4000 | $1,200 per month | +| Aantal benodigde nodes | 10 | Niet van toepassing | +| Onderhoud | $6000 of meer per maand | Geen, deze kosten worden opgevangen door het wereldwijd gedistribueerde netwerk van indexeerders | +| Aantal queries per maand | Beperkt tot infrastructuurcapaciteiten | ~30,000,000 | +| Kosten per query | $0 | $0.00004 | +| Infrastructuur | Gecentraliseerd | Gedecentraliseerd | +| Geografische redundantie | $1200 in totale kosten per extra node | Inbegrepen | +| Uptime | Wisselend | 99,9%+ | +| Totale maandelijkse kosten | $11000+ | $1,200 | \*inclusief kosten voor een back-up: $50-$100 per maand Onderhoud tijd gebaseerd op $200 per uur -gebruikmakend van de maximale querybudgetfunctie in het budgetfacturatietabblad, met behoud van hoge -kwaliteit van de service +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Geschatte kosten gelden alleen voor Ethereum Mainnet-subgraphs - de kosten zijn nog hoger bij zelfhosting van een `graph-node` op andere netwerken. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Signaal cureren op een subgraph is een optionele eenmalige, kostenneutrale actie (bijv. $1000 aan signaal kan worden gecureerd op een subgraph en later worden opgenomen - met het potentieel om rendementen te verdienen tijdens het proces). -Sommige gebruikers moeten mogelijk hun subgraph bijwerken naar een nieuwe versie. Vanwege Ethereum-gaskosten kost een update ~$50 op het moment van schrijven. - -Let op: gaskosten op [Arbitrum](/arbitrum/arbitrum-faq) zijn aanzienlijk lager dan op het Ethereum-mainnet. - ## Geen voorafgaande kosten & grotere operationele efficiëntie Geen voorafgaande kosten. Begin direct zonder voorafgaande- of overheadkosten. Geen hardwarevereisten. Geen uitval door gecentraliseerde infrastructuur, en meer tijd om je te concentreren op je kernproduct. Geen noodzaak voor back-up servers, probleemoplossing of dure engineeringtijd. From be18da23dd9603212faaf8e732001e441389c4c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:22 -0400 Subject: [PATCH 0647/2326] New translations benefits.mdx (Polish) --- website/pages/pl/network/benefits.mdx | 104 +++++++++++++------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/website/pages/pl/network/benefits.mdx b/website/pages/pl/network/benefits.mdx index 864672b16515..5c2eeee3fdef 100644 --- a/website/pages/pl/network/benefits.mdx +++ b/website/pages/pl/network/benefits.mdx @@ -11,7 +11,7 @@ Here is an analysis: ## Why You Should Use The Graph Network -- 60-98% lower monthly cost +- Significantly lower monthly costs - $0 infrastructure setup costs - Superior uptime - Access to hundreds of independent Indexers around the world @@ -21,68 +21,64 @@ Here is an analysis: ### Lower & more Flexible Cost Structure -No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $0.0002. Queries are priced in USD and paid in GRT. - -Query costs may vary; the quoted cost is the average at time of publication (December 2022). - -## Low Volume User (less than 30,000 queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $0+ | ~$15 per month | -| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000 (autoscaling) | -| Cost per query | $0 | $0.0005 | -| Infrastructure | Centralized | Decentralized | -| Geographic redundancy | $750+ per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $750+ | ~$15 | - -## Medium Volume User (3,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $500 per month | $750 per month | -| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 3,000,000+ | -| Cost per query | $0 | $0.00025 | -| Infrastructure | Centralized | Decentralized | -| Engineering expense | $200 per hour | Included | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $1,650+ | $750 | - -## High Volume User (30,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $1100 per month, per node | $0 | -| Query costs | $4000 | $4,500 per month | -| Number of nodes needed | 10 | Not applicable | -| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000,000+ | -| Cost per query | $0 | $0.00015 | -| Infrastructure | Centralized | Decentralized | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Cost Comparison | Self Hosted | Sieć The Graph | +|:----------------------------:|:---------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $0+ | $0 per month | +| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | 100,000 (Free Plan) | +| Cost per query | $0 | $0 | +| Infrastructure | Centralized | Decentralized | +| Geographic redundancy | $750+ per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Cost Comparison | Self Hosted | Sieć The Graph | +|:----------------------------:|:------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $500 per month | $120 per month | +| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~3,000,000 | +| Cost per query | $0 | $0.00004 | +| Infrastructure | Centralized | Decentralized | +| Engineering expense | $200 per hour | Included | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| Cost Comparison | Self Hosted | Sieć The Graph | +|:----------------------------:|:-------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $1100 per month, per node | $0 | +| Query costs | $4000 | $1,200 per month | +| Number of nodes needed | 10 | Not applicable | +| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~30,000,000 | +| Cost per query | $0 | $0.00004 | +| Infrastructure | Centralized | Decentralized | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $11,000+ | $1,200 | \*including costs for backup: $50-$100 per month Engineering time based on $200 per hour assumption -using the max query budget function in the budget billing tab, while maintaining high quality of service +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Curating signal on a subgraph is an optional one-time, net-zero cost (e.g., $1k in signal can be curated on a subgraph, and later withdrawn—with potential to earn returns in the process). -Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. - -Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. - ## No Setup Costs & Greater Operational Efficiency Zero setup fees. Get started immediately with no setup or overhead costs. No hardware requirements. No outages due to centralized infrastructure, and more time to concentrate on your core product . No need for backup servers, troubleshooting, or expensive engineering resources. From 258787f3373974184e9c64ec2a19389ce7976f53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:23 -0400 Subject: [PATCH 0648/2326] New translations benefits.mdx (Portuguese) --- website/pages/pt/network/benefits.mdx | 104 +++++++++++++------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/website/pages/pt/network/benefits.mdx b/website/pages/pt/network/benefits.mdx index ce56b07f42a5..5858d1f7d9a6 100644 --- a/website/pages/pt/network/benefits.mdx +++ b/website/pages/pt/network/benefits.mdx @@ -11,7 +11,7 @@ Aqui está uma análise: ## Por Que Usar a Graph Network? -- Custo mensal 60-98% menor +- Significantly lower monthly costs - Zero custos de preparação de infraestrutura - Mais tempo de disponibilidade - Acesso a centenas de Indexadores independentes ao redor do mundo @@ -21,68 +21,64 @@ Aqui está uma análise: ### Estrutura Mais Flexível & Custo Menor -Nada de contratos. Nada de taxas mensais. Só pague pelos queries que usa — com um custo-por-query de cerca de $0.0002. Estes tem preços em Dólar (USD), pagos em GRT. - -Os custos de consulta podem variar; o custo citado é o normal até o fechamento da publicação (Dezembro de 2022). - -## Utilizador de Baixo Volume (menos de 30 mil queries por mês) - -| Comparação de Custos | Auto-hospedagem | Graph Network | -| :-: | :-: | :-: | -| Custo mensal de servidor\* | $350 por mês | $0 | -| Custos de query | $0+ | ~$15 por mês | -| Tempo de engenharia | $400 por mês | Nenhum, embutido na rede com Indexadores distribuídos globalmente | -| Queries por mês | Limitadas pelas capabilidades da infra | 30.000 (autoescala) | -| Custo por query | $0 | $0.0005 | -| Infraestrutura | Centralizada | Descentralizada | -| Redundância geográfica | $750+ por node adicional | Incluída | -| Uptime (disponibilidade) | Varia | 99.9%+ | -| Custos mensais totais | $750+ | ~$15 | - -## Utilizador de Volume Médio (3.000.000+ queries por mês) - -| Comparação de Custos | Auto-hospedagem | Graph Network | -| :-: | :-: | :-: | -| Custo mensal de servidor\* | $350 por mês | $0 | -| Custos de query | $500 por mês | $750 por mês | -| Tempo de engenharia | $800 por mês | Nenhum, embutido na rede com Indexadores distribuídos globalmente | -| Queries por mês | Limitadas pelas capabilidades da infra | 3.000.000+ | -| Custo por query | $0 | $0.00025 | -| Infraestrutura | Centralizada | Descentralizada | -| Custo de engenharia | $200 por hora | Incluído | -| Redundância geográfica | $1.200 em custos totais por node adicional | Incluída | -| Uptime (disponibilidade) | Varia | 99.9%+ | -| Custos mensais totais | $1.650+ | $750 | - -## Utilizador de Volume Alto (30.000.000+ queries por mês) - -| Comparação de Custos | Auto-hospedagem | Graph Network | -| :-: | :-: | :-: | -| Custo mensal de servidor\* | $1.100 por mês, por node | $0 | -| Custos de query | $4.000 | $4.500 por mês | -| Número de nodes necessário | 10 | Não se aplica | -| Tempo de engenharia | $6.000 ou mais por mês | Nenhum, embutido na rede com Indexadores distribuídos globalmente | -| Queries por mês | Limitadas pelas capabilidades da infra | 30.000.000+ | -| Custo por query | $0 | $0.00015 | -| Infraestrutura | Centralizada | Descentralizada | -| Redundância geográfica | $1.200 em custos totais por node adicional | Incluída | -| Uptime (disponibilidade) | Varia | 99.9%+ | -| Custos mensais totais | $11.000+ | $4.500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Comparação de Custos | Auto-hospedagem | The Graph Network | +|:-------------------------------:|:---------------------------------------:|:-----------------------------------------------------------------:| +| Custo mensal de servidor\* | $350 por mês | $0 | +| Custos de query | $0+ | $0 per month | +| Tempo de engenharia | $400 por mês | Nenhum, embutido na rede com Indexadores distribuídos globalmente | +| Queries por mês | Limitadas pelas capabilidades da infra | 100,000 (Free Plan) | +| Custo por query | $0 | $0 | +| Infraestrutura | Centralizada | Descentralizada | +| Redundância geográfica | $750+ por node adicional | Incluída | +| Uptime (disponibilidade) | Varia | 99.9%+ | +| Custos mensais totais | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Comparação de Custos | Auto-hospedagem | The Graph Network | +|:-------------------------------:|:------------------------------------------:|:-----------------------------------------------------------------:| +| Custo mensal de servidor\* | $350 por mês | $0 | +| Custos de query | $500 por mês | $120 per month | +| Tempo de engenharia | $800 por mês | Nenhum, embutido na rede com Indexadores distribuídos globalmente | +| Queries por mês | Limitadas pelas capabilidades da infra | ~3,000,000 | +| Custo por query | $0 | $0.00004 | +| Infraestrutura | Centralizada | Descentralizada | +| Custo de engenharia | $200 por hora | Incluído | +| Redundância geográfica | $1.200 em custos totais por node adicional | Incluída | +| Uptime (disponibilidade) | Varia | 99.9%+ | +| Custos mensais totais | $1.650+ | $120 | + +## High Volume User (~30M queries per month) + +| Comparação de Custos | Auto-hospedagem | The Graph Network | +|:-------------------------------:|:-------------------------------------------:|:-----------------------------------------------------------------:| +| Custo mensal de servidor\* | $1.100 por mês, por node | $0 | +| Custos de query | $4.000 | $1,200 per month | +| Número de nodes necessário | 10 | Não se aplica | +| Tempo de engenharia | $6.000 ou mais por mês | Nenhum, embutido na rede com Indexadores distribuídos globalmente | +| Queries por mês | Limitadas pelas capabilidades da infra | ~30,000,000 | +| Custo por query | $0 | $0.00004 | +| Infraestrutura | Centralizada | Descentralizada | +| Redundância geográfica | $1.200 em custos totais por node adicional | Incluída | +| Uptime (disponibilidade) | Varia | 99.9%+ | +| Custos mensais totais | $11.000+ | $1,200 | \*com custos de backup incluídos: $50-$100 por mês Tempo de engenharia baseado numa hipótese de $200 por hora -ao usar a função de orçamento máximo de consultas na aba de orçamento, com alta qualidade de serviço +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Custos estimados apenas para subgraphs na Mainnet Ethereum—os custos aumentam ainda mais ao hospedar um `graph-node` em outras redes. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Curar um sinal em um subgraph é um custo opcional, único, e zero-líquido (por ex., $1 mil em um subgraph pode ser curado em um subgraph, e depois retirado — com potencial para ganhar retornos no processo). -Talvez alguns utilizadores precisem atualizar a versão do seu subgraph. Devido aos custos de gas do Ethereum, uma atualização custa cerca de $50 dólares no momento desta escrita. - -Note que taxas de gas no [Arbitrum](/arbitrum/arbitrum-faq) são muito menores que as da mainnet do Ethereum. - ## Zero Custos de Preparação & Eficiência Operacional Maior Zero taxas de setup. Comece imediatamente, sem custos de setup ou gerais. Nenhum requisito de hardware. Zero falhas por infraestruturas centralizadas, e mais tempo para se concentrar no seu produto principal. Não há necessidade de servidores de backup, solução de problemas ou recursos caríssimos de engenharia. From 83962c09122ae6f5bbffc21d41413db1fea307c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:24 -0400 Subject: [PATCH 0649/2326] New translations benefits.mdx (Russian) --- website/pages/ru/network/benefits.mdx | 105 ++++++++++++-------------- 1 file changed, 50 insertions(+), 55 deletions(-) diff --git a/website/pages/ru/network/benefits.mdx b/website/pages/ru/network/benefits.mdx index 05dfe6b13c35..df0e7c1120c3 100644 --- a/website/pages/ru/network/benefits.mdx +++ b/website/pages/ru/network/benefits.mdx @@ -11,7 +11,7 @@ socialImage: https://thegraph.com/docs/img/seo/benefits.jpg ## Почему Вы должны использовать сеть The Graph -- ежемесячные расходы снижаются на 60-98% +- Significantly lower monthly costs - затраты на установку инфраструктуры в размере $0 - Превосходное время безотказной работы - Access to hundreds of independent Indexers around the world @@ -21,69 +21,64 @@ socialImage: https://thegraph.com/docs/img/seo/benefits.jpg ### Более низкая& и гибкая структура затрат -Никаких контрактов. Никаких ежемесячных платежей. Платите только за те запросы, которые вы используете, — средняя стоимость каждого запроса составляет 0,0002 доллара. Запросы оцениваются в долларах США и оплачиваются в GRT. - -Стоимость запроса может варьироваться; указанная стоимость является средней на момент публикации (декабрь 2022 года). - -## Пользователь с небольшим количеством запросов (менее 30 000 запросов в месяц) - -| Сравнение затрат | Самостоятельный хостинг | Сеть Graph | -| :-: | :-: | :-: | -| Ежемесячная стоимость сервера\* | $350 в месяц | $0 | -| Стоимость запроса | $0+ | ~$15 в месяц | -| Время разработки | $400 в месяц | Никто, встроен в сеть с глобально распределенными индексаторами | -| Запросы в месяц | Ограничен возможностями инфраструктуры | 30,000 (автоматическое масштабирование) | -| Стоимость одного запроса | $0 | $0.0005 | -| Инфраструктура | Централизованная | Децентрализованная | -| Географическая избыточность | $750+ за каждую дополнительную ноду | Включено | -| Время безотказной работы | Варьируется | 99.9%+ | -| Общие ежемесячные расходы | $750+ | ~$15 | - -## Пользователь со средним количеством запросов (более 3,000,000 запросов в месяц) - -| Сравнение затрат | Самостоятельный хостинг | Сеть Graph | -| :-: | :-: | :-: | -| Ежемесячная стоимость сервера\* | $350 в месяц | $0 | -| Стоимость запроса | $500 в месяц | $750 в месяц | -| Время разработки | $800 в месяц | Никто, встроен в сеть с глобально распределенными индексаторами | -| Запросы в месяц | Ограничен возможностями инфраструктуры | 3,000,000+ | -| Стоимость одного запроса | $0 | $0.00025 | -| Инфраструктура | Централизованная | Децентрализованная | -| Инженерные расходы | $200 в час | Включено | -| Географическая избыточность | общие затраты на каждую дополнительную ноду составляют $1,200 | Включено | -| Время безотказной работы | Варьируется | 99.9%+ | -| Общие ежемесячные расходы | $1,650+ | $750 | - -## Пользователь с высоким количеством запросов (более 30,000,000 запросов в месяц) - -| Сравнение затрат | Самостоятельный хостинг | Сеть Graph | -| :-: | :-: | :-: | -| Ежемесячная стоимость сервера\* | $1100 в месяц за ноду | $0 | -| Стоимость запроса | $4000 | $4,500 в месяц | -| Необходимое количество нод | 10 | Не подходит | -| Время разработки | $6,000 или больше в месяц | Никто, встроен в сеть с глобально распределенными индексаторами | -| Запросы в месяц | Ограничен возможностями инфраструктуры | 30,000,000+ | -| Стоимость одного запроса | $0 | $0.00015 | -| Инфраструктура | Централизованная | Децентрализованная | -| Географическая избыточность | общие затраты на каждую дополнительную ноду составляют $1,200 | Включено | -| Время безотказной работы | Варьируется | 99.9%+ | -| Общие ежемесячные расходы | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Сравнение затрат | Самостоятельный хостинг | Сеть The Graph | +|:---------------------------------:|:---------------------------------------:|:---------------------------------------------------------------:| +| Ежемесячная стоимость сервера\* | $350 в месяц | $0 | +| Стоимость запроса | $0+ | $0 per month | +| Время разработки | $400 в месяц | Никто, встроен в сеть с глобально распределенными индексаторами | +| Запросы в месяц | Ограничен возможностями инфраструктуры | 100,000 (Free Plan) | +| Стоимость одного запроса | $0 | $0 | +| Инфраструктура | Централизованная | Децентрализованная | +| Географическая избыточность | $750+ за каждую дополнительную ноду | Включено | +| Время безотказной работы | Варьируется | 99.9%+ | +| Общие ежемесячные расходы | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Сравнение затрат | Самостоятельный хостинг | Сеть The Graph | +|:---------------------------------:|:-------------------------------------------------------------:|:---------------------------------------------------------------:| +| Ежемесячная стоимость сервера\* | $350 в месяц | $0 | +| Стоимость запроса | $500 в месяц | $120 per month | +| Время разработки | $800 в месяц | Никто, встроен в сеть с глобально распределенными индексаторами | +| Запросы в месяц | Ограничен возможностями инфраструктуры | ~3,000,000 | +| Стоимость одного запроса | $0 | $0.00004 | +| Инфраструктура | Централизованная | Децентрализованная | +| Инженерные расходы | $200 в час | Включено | +| Географическая избыточность | общие затраты на каждую дополнительную ноду составляют $1,200 | Включено | +| Время безотказной работы | Варьируется | 99.9%+ | +| Общие ежемесячные расходы | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| Сравнение затрат | Самостоятельный хостинг | Сеть The Graph | +|:---------------------------------:|:-------------------------------------------------------------:|:---------------------------------------------------------------:| +| Ежемесячная стоимость сервера\* | $1100 в месяц за ноду | $0 | +| Стоимость запроса | $4000 | $1,200 per month | +| Необходимое количество нод | 10 | Не подходит | +| Время разработки | $6,000 или больше в месяц | Никто, встроен в сеть с глобально распределенными индексаторами | +| Запросы в месяц | Ограничен возможностями инфраструктуры | ~30,000,000 | +| Стоимость одного запроса | $0 | $0.00004 | +| Инфраструктура | Централизованная | Децентрализованная | +| Географическая избыточность | общие затраты на каждую дополнительную ноду составляют $1,200 | Включено | +| Время безотказной работы | Варьируется | 99.9%+ | +| Общие ежемесячные расходы | $11,000+ | $1,200 | \* включая расходы на резервное копирование: $50-$100 в месяц Время разработки основано на предположении о $200 в час -используя функцию максимального бюджета запроса на вкладке бюджетное выставление счетов, сохраняя при этом -высокое качество обслуживания +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Предполагаемые затраты указаны только для субграфов в основной сети Ethereum — затраты еще выше при самостоятельном размещении `graph-node` в других сетях. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Курирование сигнала на субграфе - это необязательная единовременная стоимость, равная нулю (например, сигнал стоимостью 1 тыс. долларов может быть курирован на субграфе, а затем отозван - с возможностью получения прибыли в процессе). -Некоторым пользователям может потребоваться обновить свой субграф до новой версии. Комиссия сети Ethereum при обновлении составляет около 50 долларов на момент написания данного материала. - -Обратите внимание, что комиссия сети в [Arbitrum](/arbitrum/arbitrum-faq) значительно ниже, чем в основной сети Ethereum. - ## Отсутствие затрат на настройку & повышение операционной эффективности Нулевая плата за установку. Приступайте к работе немедленно, без каких-либо затрат на настройку или накладные расходы. Никаких требований к оборудованию. Отсутствие перебоев в работе из-за централизованной инфраструктуры и больше времени для концентрации на вашем основном продукте. Нет необходимости в резервных серверах, устранении неполадок или дорогостоящих инженерных ресурсах. From 9911ace445b934788802d2439792a28bfce8b188 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:25 -0400 Subject: [PATCH 0650/2326] New translations benefits.mdx (Swedish) --- website/pages/sv/network/benefits.mdx | 104 +++++++++++++------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/website/pages/sv/network/benefits.mdx b/website/pages/sv/network/benefits.mdx index c94c62e684dc..4a43665d6fa8 100644 --- a/website/pages/sv/network/benefits.mdx +++ b/website/pages/sv/network/benefits.mdx @@ -11,7 +11,7 @@ Här är en analys: ## Varför Du Bör Använda The Graph Nätverk -- 60-98% lägre månadskostnad +- Significantly lower monthly costs - $0 infrastrukturinstallationskostnader - Överlägsen drifttid - Tillgång till hundratals oberoende indexerare runt om i världen @@ -21,68 +21,64 @@ Här är en analys: ### Lägre & Mer Flexibel Kostnadsstruktur -Inga avtal. Inga månadsavgifter. Du betalar bara för de sökningar du använder - med en genomsnittlig kostnad per sökning på 0,0002 USD. Förfrågningar prissätts i USD och betalas i GRT. - -Frågekostnaderna kan variera; den citerade kostnaden är genomsnittet vid publiceringstidpunkten (december 2022). - -## Användare Med Låg Volym (färre än 30,000 frågor per månad) - -| Kostnadsjämförelse | Egen Värd | The Graph Nätverk | -| :-: | :-: | :-: | -| Månatlig kostnad för server\* | $350 per månad | $0 | -| Kostnad för frågor | $0+ | ~$15 per månad | -| Konstruktionstid | $400 per månad | Ingen, inbyggd i nätverket med globalt distribuerade Indexers | -| Frågor per månad | Begränsad till infra kapacitet | 30 000 (automatisk skalning) | -| Kostnad per fråga | $0 | $0.0005 | -| Infrastruktur | Centraliserad | Decentraliserad | -| Geografisk redundans | $750+ per extra nod | Inkluderat | -| Drifttid | Varierande | 99.9%+ | -| Total Månadskostnad | $750+ | ~$15 | - -## Medium volym användare (3,000,000+ förfrågningar per månad) - -| Kostnadsjämförelse | Egen Värd | Graph Nätverk | -| :-: | :-: | :-: | -| Månadskostnad för server\* | $350 per månad | $0 | -| Kostnad för frågor | $500 per månad | $750 per månad | -| Ingenjörstid | $800 per månad | Ingen, inbyggd i nätverket med globalt distribuerade Indexers | -| Frågor per månad | Begränsad till infra kapacitet | 3,000,000+ | -| Kostnad per fråga | $0 | $0.00025 | -| Infrastruktur | Centraliserad | Decentraliserad | -| Kostnader för ingenjörsarbete | $200 per timme | Inkluderat | -| Geografisk redundans | $1,200 i totala kostnader per extra nod | Inkluderat | -| Drifttid | Varierar | 99.9%+ | -| Total Månadskostnad | $1,650+ | $750 | - -## Användare Med Hög Volym (30,000,000+ frågor per månad) - -| Kostnadsjämförelse | Egen Värd | The Graph Nätverk | -| :-: | :-: | :-: | -| Månadskostnad för server\* | $1100 per månad, per nod | $0 | -| Kostnad för frågor | $4000 | $4,500 per månad | -| Antal noder som behövs | 10 | Ej tillämpligt | -| Ingenjörstid | $6,000 eller mer per månad | Ingen, inbyggd i nätverket med globalt distribuerade Indexers | -| Frågor per månad | Begränsad till infra kapacitet | 30,000,000+ | -| Kostnad per fråga | $0 | $0.00015 | -| Infrastruktur | Centraliserad | Decentraliserad | -| Geografisk redundans | $1,200 i totala kostnader per extra nod | Inkluderat | -| Drifttid | Varierar | 99.9%+ | -| Total Månadskostnad | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Kostnadsjämförelse | Egen Värd | The Graph Nätverk | +|:-------------------------------:|:---------------------------------------:|:-------------------------------------------------------------:| +| Månatlig kostnad för server\* | $350 per månad | $0 | +| Kostnad för frågor | $0+ | $0 per month | +| Konstruktionstid | $400 per månad | Ingen, inbyggd i nätverket med globalt distribuerade Indexers | +| Frågor per månad | Begränsad till infra kapacitet | 100,000 (Free Plan) | +| Kostnad per fråga | $0 | $0 | +| Infrastruktur | Centraliserad | Decentraliserad | +| Geografisk redundans | $750+ per extra nod | Inkluderat | +| Drifttid | Varierande | 99.9%+ | +| Total Månadskostnad | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Kostnadsjämförelse | Egen Värd | The Graph Nätverk | +|:-----------------------------:|:------------------------------------------:|:-------------------------------------------------------------:| +| Månadskostnad för server\* | $350 per månad | $0 | +| Kostnad för frågor | $500 per månad | $120 per month | +| Ingenjörstid | $800 per månad | Ingen, inbyggd i nätverket med globalt distribuerade Indexers | +| Frågor per månad | Begränsad till infra kapacitet | ~3,000,000 | +| Kostnad per fråga | $0 | $0.00004 | +| Infrastruktur | Centraliserad | Decentraliserad | +| Kostnader för ingenjörsarbete | $200 per timme | Inkluderat | +| Geografisk redundans | $1,200 i totala kostnader per extra nod | Inkluderat | +| Drifttid | Varierar | 99.9%+ | +| Total Månadskostnad | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| Kostnadsjämförelse | Egen Värd | The Graph Nätverk | +|:----------------------------:|:-------------------------------------------:|:-------------------------------------------------------------:| +| Månadskostnad för server\* | $1100 per månad, per nod | $0 | +| Kostnad för frågor | $4000 | $1,200 per month | +| Antal noder som behövs | 10 | Ej tillämpligt | +| Ingenjörstid | $6,000 eller mer per månad | Ingen, inbyggd i nätverket med globalt distribuerade Indexers | +| Frågor per månad | Begränsad till infra kapacitet | ~30,000,000 | +| Kostnad per fråga | $0 | $0.00004 | +| Infrastruktur | Centraliserad | Decentraliserad | +| Geografisk redundans | $1,200 i totala kostnader per extra nod | Inkluderat | +| Drifttid | Varierar | 99.9%+ | +| Total Månadskostnad | $11,000+ | $1,200 | \*inklusive kostnader för backup: $50-$100 per månad Ingenjörstid baserad på antagandet $200 per timme -använder max frågebudgetfunktionen i budgetfakturan, samtidigt som hög servicekvalitet bibehålls +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Uppskattade kostnader gäller endast för Ethereum Mainnet subgrafer - kostnaderna är ännu högre när en `graph-node` själv värd på andra nätverk. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Att kurera signal på en subgraf är en valfri engångskostnad med noll nettokostnad (t.ex. $1k i signal kan kurera på en subgraf och senare dras tillbaka - med potential att tjäna avkastning i processen). -Vissa användare kan behöva uppdatera sin subgraf till en ny version. På grund av Ethereum gasavgifter kostar en uppdatering ~$50 vid skrivande stund. - -Observera att gasavgifterna på [Arbitrum](/arbitrum/arbitrum-faq) är betydligt lägre än på Ethereum-mainnet. - ## Inga Installationskostnader & Ökad Driftseffektivitet Inga installationsavgifter. Kom igång direkt utan installations- eller overheadkostnader. Inga hårdvarukrav. Inga avbrott på grund av centraliserad infrastruktur och mer tid att fokusera på din kärnprodukt. Ingen nödvändighet för backup-servrar, felsökning eller dyra ingenjörsresurser. From a070a5a37cb83413e9d33b50d764fe6ff28719e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:26 -0400 Subject: [PATCH 0651/2326] New translations benefits.mdx (Turkish) --- website/pages/tr/network/benefits.mdx | 124 +++++++++++++------------- 1 file changed, 60 insertions(+), 64 deletions(-) diff --git a/website/pages/tr/network/benefits.mdx b/website/pages/tr/network/benefits.mdx index 633b6a7740c8..00c6122d1b7a 100644 --- a/website/pages/tr/network/benefits.mdx +++ b/website/pages/tr/network/benefits.mdx @@ -1,96 +1,92 @@ --- -title: Graph Ağı vs Kendi Kendine Barındırma +title: The Graph Network vs. Self Hosting socialImage: https://thegraph.com/docs/img/seo/benefits.jpg --- -Graph'ın merkeziyetsiz ağı, sağlam bir indeksleme ve sorgulama deneyimi oluşturmak için tasarlanıp iyileştirildi ve dünya genelindeki binlerce katılımcı sayesinde her geçen gün daha da iyiye gidiyor. +The Graph’s decentralized network has been engineered and refined to create a robust indexing and querying experience—and it’s getting better every day thanks to thousands of contributors around the world. -Bu merkeziyetsiz protokolün faydaları, yerel olarak bir `graph node`'u çalıştırılarak arttırılamaz. Graph ağı daha güvenilir, daha verimli ve daha ucuzdur. +The benefits of this decentralized protocol cannot be replicated by running a `graph-node` locally. The Graph Network is more reliable, more efficient, and less expensive. -İşte bir analiz: +Here is an analysis: -## Neden Graph Ağını Kullanmalısınız +## Why You Should Use The Graph Network -- %60-98 arası daha düşük aylık maliyet -- 0$ altyapı kurulum maliyeti -- Üstün çalışma süresi +- Significantly lower monthly costs +- $0 infrastructure setup costs +- Superior uptime - Dünya çapındaki yüzlerce bağımsız İndeksleyiciye erişim -- Küresel topluluk tarafından 7/24 teknik destek +- 24/7 technical support by global community -## Faydaların Açıklaması +## The Benefits Explained -### Daha Düşük & Daha Esnek Maliyet Yapısı +### Lower & more Flexible Cost Structure -Sözleşme yok. Aylık ücret yok. Yalnızca kullandığınız sorgular için ödeme yaparsınız; ortalama sorgu başına maliyet 0,0002 USD'dir. Sorgular USD cinsinden fiyatlandırılır ve GRT olarak ödenir. +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. -Sorgu maliyetleri değişebilir; alıntılanan maliyet, yayın tarihindeki (Aralık 2022) ortalama maliyettir. +Query costs may vary; the quoted cost is the average at time of publication (March 2024). -## Düşük Hacimli Kullanıcı (ayda 30.000'den az sorgu) +## Low Volume User (less than 100,000 queries per month) -| Maliyet Karşılaştırması | Kendi Kendine Barındırılan | Graph Ağı | -| :-: | :-: | :-: | -| Aylık sunucu maliyeti\* | Aylık 350$ | 0$ | -| Sorgu maliyetleri | 0$ + | Aylık yaklaşık 15$ | -| Mühendislik süresi | Aylık 400$ | Yok, küresel olarak dağıtılmış indeksleyiciler ile ağa entegre edilmiştir | -| Aylık sorgular | Alt yeteneklerle sınırlı | 30.000 (otomatik ölçeklendirme) | -| Sorgu başına maliyet | 0$ | 0.0005$ | -| Altyapı | Merkezi | Merkeziyetsiz | -| Coğrafi fazlalıklar | Ek node başına 750$+ | Dahil | -| Çalışma süresi | Değişmekte | 99.9%+ | -| Toplam Aylık Maliyet | $750+ | ~$15 | +| Cost Comparison | Self Hosted | Graph Ağı | +|:----------------------------:|:---------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $0+ | $0 per month | +| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | 100,000 (Free Plan) | +| Cost per query | $0 | $0 | +| Altyapı | Centralized | Decentralized | +| Geographic redundancy | $750+ per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $750+ | $0 | -## Orta Hacimli Kullanıcı (ayda 3.000.000'den fazla sorgu) +## Medium Volume User (~3M queries per month) -| Maliyet Karşılaştırması | Kendi Kendine Barındırılan | Graph Ağı | -| :-: | :-: | :-: | -| Aylık sunucu maliyeti\* | Aylık 350$ | 0$ | -| Sorgu maliyetleri | Aylık 500$ | Aylık 750$ | -| Mühendislik süresi | Aylık 800$ | Yok, küresel olarak dağıtılmış indeksleyiciler ile ağa entegre edilmiştir | -| Aylık sorgular | Alt yeteneklerle sınırlı | 3,000,000+ | -| Sorgu başına maliyet | 0$ | 0.00025$ | -| Altyapı | Merkezi | Merkeziyetsiz | -| Mühendislik gideri | Saatlik 200$ | Dahil | -| Coğrafi yedekleme | Ek node başına 1200$ | Dahil | -| Çalışma süresi | Değişmekte | 99.9%+ | -| Toplam Aylık Maliyet | 1,650$+ | 750$ | +| Cost Comparison | Self Hosted | Graph Ağı | +|:----------------------------:|:------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $500 per month | $120 per month | +| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~3,000,000 | +| Cost per query | $0 | $0.00004 | +| Altyapı | Centralized | Decentralized | +| Engineering expense | $200 per hour | Included | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $1,650+ | $120 | -## Yüksek Hacimli Kullanıcı (ayda 30.000.000'den fazla sorgu) +## High Volume User (~30M queries per month) -| Maliyet Karşılaştırması | Kendi Kendine Barındırılan | Graph Ağı | -| :-: | :-: | :-: | -| Aylık sunucu maliyeti\* | Node başına aylık 1100$ | 0$ | -| Sorgu maliyetleri | 4000$ | Aylık 4500$ | -| Gerekli node sayısı | 10 | Şart yok | -| Mühendislik süresi | Ayda 6.000 $ veya daha fazlası | Yok, küresel olarak dağıtılmış indeksleyiciler ile ağa entegre edilmiştir | -| Aylık sorgular | Alt yeteneklerle sınırlı | 30,000,000+ | -| Sorgu başına maliyet | 0$ | 0.00015$ | -| Altyapı | Merkezi | Merkeziyetsiz | -| Coğrafi yedekleme | Ek node başına 1200$ | Dahil | -| Çalışma süresi | Değişmekte | 99.9%+ | -| Toplam Aylık Maliyet | 11,000$+ | 4500$ | +| Cost Comparison | Self Hosted | Graph Ağı | +|:----------------------------:|:-------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $1100 per month, per node | $0 | +| Query costs | $4000 | $1,200 per month | +| Number of nodes needed | 10 | Not applicable | +| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~30,000,000 | +| Cost per query | $0 | $0.00004 | +| Altyapı | Centralized | Decentralized | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $11,000+ | $1,200 | -\*yedekleme maliyetleri dahil: aylık $50-$100 +\*including costs for backup: $50-$100 per month -Mühendislik süresi, saat başına 200$ varsayımına dayalı +Engineering time based on $200 per hour assumption -yüksek hizmet kalitesini korurken bütçe faturalandırma sekmesindeki maksimum sorgu bütçe işlevini kullanma +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Tahmini maliyetler yalnızca Ethereum Mainnet subgraph'leri içindir - diğer ağlarda `graph-node`'unu kendi kendine barındırırken maliyetleriniz daha da yüksektir. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. -Bir subgraph'te kürasyon sinyali, isteğe bağlı, tek seferlik, net sıfır maliyettir (örneğin, 1.000$ değerindeki sinyal bir subgraph'te gönderilebilir ve daha sonra geri çekilebilir; bu süreçte getiri elde etme potansiyeli vardır). +Curating signal on a subgraph is an optional one-time, net-zero cost (e.g., $1k in signal can be curated on a subgraph, and later withdrawn—with potential to earn returns in the process). -Bazı kullanıcıların subgraphlerini yeni bir sürüme güncellemeleri gerekebilir. Ethereum gaz ücretleri nedeniyle, bir güncelleme bu içeriği yazdığımız tarihe göre yaklaşık 50 $ 'a mal olmaktadır. +## No Setup Costs & Greater Operational Efficiency -[Arbitrum'daki](/arbitrum/arbitrum-faq) gaz ücretlerinin Ethereum ana ağından önemli ölçüde daha düşük olduğunu unutmayın. +Zero setup fees. Get started immediately with no setup or overhead costs. No hardware requirements. No outages due to centralized infrastructure, and more time to concentrate on your core product . No need for backup servers, troubleshooting, or expensive engineering resources. -## Kurulum Maliyeti Yok & Daha Fazla Operasyonel Verimlilik - -Sıfır kurulum ücreti. Kurulum veya genel gider maliyeti olmadan hemen başlayın. Donanım gereksinimi de yok. Merkezi altyapı nedeniyle kesinti yok ve temel ürününüze odaklanmak için daha fazla zamana sahipsiniz. Yedekleme sunucularına, sorun gidermeye veya pahalı mühendislik kaynaklarına gerek duymazsınız. - -## Güvenilirlik & Esneklik +## Reliability & Resiliency Graph'ın merkeziyetsiz ağı, kullanıcılara bir `graph node`'unu kendi kendine barındırırken sahip olmadıkları coğrafi yedeklemeye de erişim sağlar. Ağın küresel güvenliğini sağlayan yüzlerce bağımsız indeksleyici tarafından ulaşılan %99,9+ çalışma süresi sayesinde sorgular güvenilir bir şekilde sunulur. -Dip not: Graph Ağı, yerel olarak bir `graph node`'u çalıştırmaya kıyasla daha ucuz, kullanımı daha kolay ve üstün sonuçlar üretir. +Bottom line: The Graph Network is less expensive, easier to use, and produces superior results compared to running a `graph-node` locally. Graph Ağını bugün kullanmaya başlayın ve [subgraph'ınızı Graph'in merkeziyetsiz ağına nasıl yükselteceğinizi](/cookbook/upgrading-a-subgraph) öğrenin. From 1da2a5b6f519a31a14fb26511078e16e743a7ecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:27 -0400 Subject: [PATCH 0652/2326] New translations benefits.mdx (Ukrainian) --- website/pages/uk/network/benefits.mdx | 105 ++++++++++++-------------- 1 file changed, 50 insertions(+), 55 deletions(-) diff --git a/website/pages/uk/network/benefits.mdx b/website/pages/uk/network/benefits.mdx index b12002a1b0ec..5c4ddf308daf 100644 --- a/website/pages/uk/network/benefits.mdx +++ b/website/pages/uk/network/benefits.mdx @@ -11,7 +11,7 @@ Here is an analysis: ## Чому вам слід використовувати мережу Graph -- на 60-98% нижчі щомісячні витрати +- Significantly lower monthly costs - $0 витрат на налаштування інфраструктури - Високий час безвідмовної роботи - Access to hundreds of independent Indexers around the world @@ -21,69 +21,64 @@ Here is an analysis: ### Нижча & більш Гнучка структура витрат -No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $0.0002. Queries are priced in USD and paid in GRT. - -Query costs may vary; the quoted cost is the average at time of publication (December 2022). - -## Малоактивний користувач (менше ніж 30 000 запитів на місяць) - -| Порівняння вартості послуг | Самостійний хостинг | Graph мережа | -| :-: | :-: | :-: | -| Щомісячна плата за сервер\* | $350 на місяць | $0 | -| Вартість запитів | $0+ | ~$15 на місяць | -| Час технічного обслуговування | $400 на місяць | Немає, вбудовані в мережу з глобально розподіленими індексаторами | -| Кількість запитів за місяць | Обмежується інфраструктурними можливостями | 30 000 (автомасштабування) | -| Вартість одного запиту | $0 | $0.0005 | -| Інфраструктура | Централізована | Децентралізована | -| Географічне резервування | $750+ за кожну додаткову ноду | Включено | -| Час безвідмовної роботи | Варіюється | 99.9%+ | -| Загальна сума щомісячних витрат | $750+ | ~$15 | - -## Середній користувач (3 000 000+ запитів на місяць) - -| Порівняння вартості послуг | Самостійний хостинг | Graph мережа | -| :-: | :-: | :-: | -| Щомісячна плата за сервер\* | $350 на місяць | $0 | -| Вартість запитів | $500 на місяць | $750 на місяць | -| Час технічного обслуговування | $800 на місяць | Немає, вбудовані в мережу з глобально розподіленими індексаторами | -| Кількість запитів за місяць | Обмежується інфраструктурними можливостями | 3,000,000+ | -| Вартість одного запиту | $0 | $0.00025 | -| Інфраструктура | Централізована | Децентралізована | -| Інженерно-технічні витрати | $200 на годину | Включено | -| Географічне резервування | $1,200 загальних витрат на кожну додаткову ноду | Включено | -| Час безвідмовної роботи | Варіюється | 99.9%+ | -| Загальна сума щомісячних витрат | $1,650+ | $750 | - -## Високоактивний користувач (30 000 000+ запитів на місяць) - -| Порівняння вартості послуг | Самостійний хостинг | Graph мережа | -| :-: | :-: | :-: | -| Щомісячна плата за сервер\* | $1100 на місяць, за одну ноду | $0 | -| Вартість запитів | $4000 | $4,500 на місяць | -| Кількість необхідних нод | 10 | Не стосується | -| Час технічного обслуговування | $6,000 і більше на місяць | Немає, вбудовані в мережу з глобально розподіленими індексаторами | -| Кількість запитів за місяць | Обмежується інфраструктурними можливостями | 30,000,000+ | -| Вартість одного запиту | $0 | $0.00015 | -| Інфраструктура | Централізована | Децентралізована | -| Географічне резервування | $1,200 загальних витрат на кожну додаткову ноду | Включено | -| Час безвідмовної роботи | Варіюється | 99.9%+ | -| Загальна сума щомісячних витрат | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Порівняння вартості послуг | Самостійний хостинг | Graph мережа | +|:-----------------------------------------:|:------------------------------------------:|:-----------------------------------------------------------------:| +| Щомісячна плата за сервер\* | $350 на місяць | $0 | +| Вартість запитів | $0+ | $0 per month | +| Час технічного обслуговування | $400 на місяць | Немає, вбудовані в мережу з глобально розподіленими індексаторами | +| Кількість запитів за місяць | Обмежується інфраструктурними можливостями | 100,000 (Free Plan) | +| Вартість одного запиту | $0 | $0 | +| Інфраструктура | Централізована | Децентралізована | +| Географічне резервування | $750+ за кожну додаткову ноду | Включено | +| Час безвідмовної роботи | Варіюється | 99.9%+ | +| Загальна сума щомісячних витрат | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Порівняння вартості послуг | Самостійний хостинг | Graph мережа | +|:-----------------------------------------:|:-----------------------------------------------:|:-----------------------------------------------------------------:| +| Щомісячна плата за сервер\* | $350 на місяць | $0 | +| Вартість запитів | $500 на місяць | $120 per month | +| Час технічного обслуговування | $800 на місяць | Немає, вбудовані в мережу з глобально розподіленими індексаторами | +| Кількість запитів за місяць | Обмежується інфраструктурними можливостями | ~3,000,000 | +| Вартість одного запиту | $0 | $0.00004 | +| Інфраструктура | Централізована | Децентралізована | +| Інженерно-технічні витрати | $200 на годину | Включено | +| Географічне резервування | $1,200 загальних витрат на кожну додаткову ноду | Включено | +| Час безвідмовної роботи | Варіюється | 99.9%+ | +| Загальна сума щомісячних витрат | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| Порівняння вартості послуг | Самостійний хостинг | Graph мережа | +|:-----------------------------------------:|:-----------------------------------------------:|:-----------------------------------------------------------------:| +| Щомісячна плата за сервер\* | $1100 на місяць, за одну ноду | $0 | +| Вартість запитів | $4000 | $1,200 per month | +| Кількість необхідних нод | 10 | Не стосується | +| Час технічного обслуговування | $6,000 і більше на місяць | Немає, вбудовані в мережу з глобально розподіленими індексаторами | +| Кількість запитів за місяць | Обмежується інфраструктурними можливостями | ~30,000,000 | +| Вартість одного запиту | $0 | $0.00004 | +| Інфраструктура | Централізована | Децентралізована | +| Географічне резервування | $1,200 загальних витрат на кожну додаткову ноду | Включено | +| Час безвідмовної роботи | Варіюється | 99.9%+ | +| Загальна сума щомісячних витрат | $11,000+ | $1,200 | \*включаючи витрати на резервне копіювання: $50-$100 на місяць Час технічного обслуговування, розрахований на основі припущення $200 за годину -використання функції максимального бюджету запиту у вкладці бюджетного тарифоутворення зі збереженням -високої якості обслуговування +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Кураторство сигналу на підграфі є опціональною одноразовою послугою з нульовою вартістю (наприклад, сигнал на суму 1 тис. доларів можна розмістити на підграфі, а потім вивести — з можливістю отримання прибутку в цьому процесі). -Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. - -Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. - ## Відсутність витрат на налаштування & Більша ефективність роботи Нульова комісія за налаштування. Почніть роботу негайно без витрат на налаштування та інших додаткових витрат. Ніяких жорстких вимог до апаратного обладнання. Відсутність перебоїв через централізовану інфраструктуру та більше часу для концентрації на основному продукті. Нема потреби в резервних серверах, усуненні несправностей або дорогих інженерно-технічних послугах. From dba2039ed9aaae280c41e3f6fa52e8afcd47264c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:27 -0400 Subject: [PATCH 0653/2326] New translations benefits.mdx (Chinese Simplified) --- website/pages/zh/network/benefits.mdx | 96 +++++++++++++-------------- 1 file changed, 46 insertions(+), 50 deletions(-) diff --git a/website/pages/zh/network/benefits.mdx b/website/pages/zh/network/benefits.mdx index 1d1b32f131db..a408000402ff 100644 --- a/website/pages/zh/network/benefits.mdx +++ b/website/pages/zh/network/benefits.mdx @@ -11,7 +11,7 @@ Graph的去中心化网络经过精心设计和完善,创造了强大的索引 ## 为什么要使用Graph网络 -- 每月成本降低60-98% +- Significantly lower monthly costs - 基础设施设置成本为0美元 - 超群的正常运行时间 - Access to hundreds of independent Indexers around the world @@ -21,68 +21,64 @@ Graph的去中心化网络经过精心设计和完善,创造了强大的索引 ### 更低& 更灵活的成本结构 -没有合约。没有月费。只为您使用的查询付费,每次查询的平均成本为0.0002美元。查询以美元计价,以GRT支付。 +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. -查询成本可能有所不同;报价成本为出版时(2022年12月)的平均值。 +Query costs may vary; the quoted cost is the average at time of publication (March 2024). -## 低容量用户(每月少于30,000次查询) +## Low Volume User (less than 100,000 queries per month) -| 成本比较 | 自托管 | Graph网络 | -| :------------------: | :-------------------------------------: | :----------------------------------------: | -| 每月服务器费用 \* | 每月350美元 | 0美元 | -| 查询成本 | $0+ | ~15美元每月 | -| 工程时间 | 400美元每月 | 没有,内置在具有全球去中心化索引者的网络中 | -| 每月查询 | 受限于基础设施能力 | 30,000(自动扩缩) | -| 每个查询的成本 | 0美元 | $0.0005 | -| 基础设施 | 中心化 | 去中心化 | -| 异地备援 | 每个额外节点 $750 + | 包括在内 | -| 正常工作时间 | 变量 | 99.9%+ | -| 每月总成本 | $750+ | ~$15 | +| 成本比较 | 自托管 | Graph网络 | +|:----------------:|:---------------------------------------:|:---------------------:| +| 每月服务器费用 \* | 每月350美元 | 0美元 | +| 查询成本 | $0+ | $0 per month | +| 工程时间 | 400美元每月 | 没有,内置在具有全球去中心化索引者的网络中 | +| 每月查询 | 受限于基础设施能力 | 100,000 (Free Plan) | +| 每个查询的成本 | 0美元 | $0 | +| 基础设施 | 中心化 | 去中心化 | +| 异地备援 | 每个额外节点 $750 + | 包括在内 | +| 正常工作时间 | 变量 | 99.9%+ | +| 每月总成本 | $750+ | 0美元 | -## 中等容量用户(每月超过3,000,000次查询) +## Medium Volume User (~3M queries per month) -| 成本比较 | 自托管 | Graph网络 | -| :------------------: | :---------------------------------------------: | :----------------------------------------: | -| 每月服务器费用 \* | 每月350美元 | 0美元 | -| 查询成本 | 每月500美元 | 每月750美元 | +| 成本比较 | 自托管 | Graph网络 | +|:----------------:|:-------------------------------------------:|:---------------------:| +| 每月服务器费用 \* | 每月350美元 | 0美元 | +| 查询成本 | 每月500美元 | $120 per month | | 工程时间 | 每月800美元 | 没有,内置在具有全球去中心化索引者的网络中 | -| 每月查询 | 受限于基础设施能力 | 3,000,000+ | -| 每个查询的成本 | 0美元 | 0.00025美元 | -| 基础设施 | 中心化 | 去中心化 | -| 工程费用 | 每小时200美元 | 包括在内 | -| 异地备援 | 每个额外节点的总成本为1200美元 | 包括在内 | -| 正常工作时间 | 变量 | 99.9%+ | -| 每月总成本 | 1650美元以上 | 750美元 | - -## 高容量用户(每月超过30,000,000次查询) - -| 成本比较 | 自托管 | Graph网络 | -| :------------------: | :-------------------------------------------: | :----------------------------------------: | -| 每月服务器费用 \* | 1100美元每月每节点 | 0美元 | -| 查询成本 | 4000美元 | 4500美元每月 | -| 需要的节点数量 | 10 | 不适用 | -| 工程时间 | 每月6000美元或以上 | 没有,内置在具有全球去中心化索引人的网络中 | -| 每月查询 | 受限于基础设施能力 | 30,000,000+ | -| 每个查询的成本 | 0美元 | 0.00015美元 | -| 基础设施 | 中心化 | 去中心化 | -| 异地备援 | 每个额外节点的总成本为1200美元 | 包括在内 | -| 正常工作时间 | 变量 | 99.9%+ | -| 每月总成本 | 11000+美元 | 4500美元 | - -- 包括后备费用: 每月$50-$100美元 +| 每月查询 | 受限于基础设施能力 | ~3,000,000 | +| 每个查询的成本 | 0美元 | $0.00004 | +| 基础设施 | 中心化 | 去中心化 | +| 工程费用 | 每小时200美元 | 包括在内 | +| 异地备援 | 每个额外节点的总成本为1200美元 | 包括在内 | +| 正常工作时间 | 变量 | 99.9%+ | +| 每月总成本 | 1650美元以上 | $120 | + +## High Volume User (~30M queries per month) + +| 成本比较 | 自托管 | Graph网络 | +|:----------------:|:-------------------------------------------:|:---------------------:| +| 每月服务器费用 \* | 1100美元每月每节点 | 0美元 | +| 查询成本 | 4000美元 | $1,200 per month | +| 需要的节点数量 | 10 | 不适用 | +| 工程时间 | 每月6000美元或以上 | 没有,内置在具有全球去中心化索引人的网络中 | +| 每月查询 | 受限于基础设施能力 | ~30,000,000 | +| 每个查询的成本 | 0美元 | $0.00004 | +| 基础设施 | 中心化 | 去中心化 | +| 异地备援 | 每个额外节点的总成本为1200美元 | 包括在内 | +| 正常工作时间 | 变量 | 99.9%+ | +| 每月总成本 | 11000+美元 | $1,200 | + +* 包括后备费用: 每月$50-$100美元 按每小时200美元的假设计算的工程时间 -使用预算账单标签中的最大查询预算函数,同时保持高质量的服务 +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -估计的成本仅适用于以太坊主网子图——当在其他网络上自托管`graph-node`时,成本甚至更高。 +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. 在一个子图上策划信号是一个可选一次性净零成本(例如,1千美元的信号可以在一个子图上管理,然后撤回ーー在这个过程中有可能获得回报)。 -有些用户可能需要将子图更新到新版本。由于以太坊的gas费用,在撰写本文时,更新成本约为50美元。 - -注意手续费在 [Arbitrum](/arbitrum/arbitrum-faq) 比在以太坊主网上显著低. - ## 无安装成本和更高的运行效率 零安装费。立即开始,没有设置或间接费用。没有硬件要求。没有由于集中式基础设施而导致的中断,并且有更多的时间专注于您的核心产品。不需要备份服务器、故障排除或昂贵的工程资源。 From dd4b741b095c92aa10ea7601b294b7e92848f891 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:28 -0400 Subject: [PATCH 0654/2326] New translations benefits.mdx (Urdu (Pakistan)) --- website/pages/ur/network/benefits.mdx | 109 ++++++++++++-------------- 1 file changed, 52 insertions(+), 57 deletions(-) diff --git a/website/pages/ur/network/benefits.mdx b/website/pages/ur/network/benefits.mdx index dd0d9d2b3f80..9509ac463b4c 100644 --- a/website/pages/ur/network/benefits.mdx +++ b/website/pages/ur/network/benefits.mdx @@ -11,7 +11,7 @@ socialImage: https://thegraph.com/docs/img/seo/benefits.jpg ## آپ کو گراف نیٹ ورک کیوں استعمال کرنا چاہئے -- 60-98% کم ماہانہ لاگت +- Significantly lower monthly costs - $0 بنیادی ڈھانچے کے سیٹ اپ کے اخراجات - اعلی اپ ٹائم - Access to hundreds of independent Indexers around the world @@ -21,69 +21,64 @@ socialImage: https://thegraph.com/docs/img/seo/benefits.jpg ### زیریں اور زیادہ لچکدار لاگت کا ڈھانچہ -کوئی کنٹریکٹ نہیں۔ کوئی ماہانہ فیس نہیں۔ صرف ان کیوریز کی ادائیگی کریں جو آپ استعمال کرتے ہیں — اوسط قیمت فی کیوری $0.0002 کے ساتھ۔ کیوریز کی قیمت ڈالر میں ہے اور GRT میں ادا کی جاتی ہے. - -کیوری کے اخراجات مختلف ہو سکتے ہیں۔ حوالہ کردہ قیمت اشاعت کے وقت اوسط ہے (دسمبر 2022). - -## کم والیوم صارف (فی مہینہ 30,000 سے کم سوالات) - -| اخراجات کا موازنہ | خود میزبان | گراف نیٹ ورک | -| :-: | :-: | :-: | -| ماہانہ سرور کی قیمت/\* | $350 فی مہینہ | $0 | -| استفسار کے اخراجات | $0+ | ~$15 فی مہینہ | -| انجینئرنگ کا وقت | $400 فی مہینہ | کوئی بھی نہیں، عالمی سطح پر تقسیم شدہ انڈیکسرز کے ساتھ نیٹ ورک میں بنایا گیا ہے | -| فی مہینہ سوالات | بنیادی صلاحیتوں تک محدود | 30,000 (آٹو اسکیلنگ) | -| قیمت فی سوال | $0 | $0.0005 | -| بنیادی ڈھانچہ | سینٹرلائزڈ | ڈیسینٹرلائزڈ | -| جغرافیائی فالتو پن | $750+ فی اضافی نوڈ | شامل | -| اپ ٹائم | اتار چڑھاو | 99.9%+ | -| کل ماہانہ اخراجات | $750+ | ~$15 | - -## درمیانے حجم کا صارف (3,000,000+ سوالات فی مہینہ) - -| اخراجات کا موازنہ | خود میزبان | گراف نیٹ ورک | -| :-: | :-: | :-: | -| ماہانہ سرور کی قیمت/\* | $350 فی مہینہ | $0 | -| استفسار کے اخراجات | $500 فی مہینہ | $750 فی مہینہ | -| انجینئرنگ کا وقت | $800 فی مہینہ | کوئی بھی نہیں، عالمی سطح پر تقسیم شدہ انڈیکسرز کے ساتھ نیٹ ورک میں بنایا گیا ہے | -| فی مہینہ سوالات | بنیادی صلاحیتوں تک محدود | 3,000,000+ | -| قیمت فی سوال | $0 | $0.00025 | -| بنیادی ڈھانچہ | سینٹرلائزڈ | ڈیسینٹرلائزڈ | -| انجینئرنگ کے اخراجات | $200 فی گھنٹہ | شامل | -| جغرافیائی فالتو پن | فی اضافی نوڈ کل اخراجات میں $1,200 | شامل | -| اپ ٹائم | اتار چڑھاو | 99.9%+ | -| کل ماہانہ اخراجات | $1,650+ | $750 | - -## زیادہ حجم والا صارف (30,000,000+ سوالات فی مہینہ) - -| اخراجات کا موازنہ | سیلف ہوسٹڈ | گراف نیٹ ورک | -| :-: | :-: | :-: | -| ماہانہ سرور کی قیمت/\* | $1100 فی مہینہ، فی نوڈ | $0 | -| استفسار کے اخراجات | $4000 | $4,500 فی مہینہ | -| نوڈس کی تعداد درکار ہے | 10 | قابل اطلاق نہیں | -| انجینئرنگ کا وقت | $6,000 یا اس سے زیادہ فی مہینہ | کوئی بھی نہیں، عالمی سطح پر تقسیم شدہ انڈیکسرز کے ساتھ نیٹ ورک میں بنایا گیا ہے | -| فی مہینہ سوالات | بنیادی صلاحیتوں تک محدود | 30,000,000+ | -| قیمت فی سوال | $0 | $0.00015 | -| بنیادی ڈھانچہ | سینٹرلائزڈ | ڈیسینٹرلائزڈ | -| جغرافیائی فالتو پن | فی اضافی نوڈ کل اخراجات میں $1,200 | شامل | -| اپ ٹائم | اتار چڑھاو | 99.9%+ | -| کل ماہانہ اخراجات | $11,000+ | $4,500 | - -/\*بیک اپ کے اخراجات سمیت: $50-$100 فی مہینہ +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| اخراجات کا موازنہ | خود میزبان | The Graph Network | +|:----------------------------:|:---------------------------------------:|:-------------------------------------------------------------------------------:| +| ماہانہ سرور کی قیمت/* | $350 فی مہینہ | $0 | +| استفسار کے اخراجات | $0+ | $0 per month | +| انجینئرنگ کا وقت | $400 فی مہینہ | کوئی بھی نہیں، عالمی سطح پر تقسیم شدہ انڈیکسرز کے ساتھ نیٹ ورک میں بنایا گیا ہے | +| فی مہینہ سوالات | بنیادی صلاحیتوں تک محدود | 100,000 (Free Plan) | +| قیمت فی سوال | $0 | $0 | +| بنیادی ڈھانچہ | سینٹرلائزڈ | ڈیسینٹرلائزڈ | +| جغرافیائی فالتو پن | $750+ فی اضافی نوڈ | شامل | +| اپ ٹائم | اتار چڑھاو | 99.9%+ | +| کل ماہانہ اخراجات | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| اخراجات کا موازنہ | خود میزبان | The Graph Network | +|:----------------------------:|:------------------------------------------:|:-------------------------------------------------------------------------------:| +| ماہانہ سرور کی قیمت/* | $350 فی مہینہ | $0 | +| استفسار کے اخراجات | $500 فی مہینہ | $120 per month | +| انجینئرنگ کا وقت | $800 فی مہینہ | کوئی بھی نہیں، عالمی سطح پر تقسیم شدہ انڈیکسرز کے ساتھ نیٹ ورک میں بنایا گیا ہے | +| فی مہینہ سوالات | بنیادی صلاحیتوں تک محدود | ~3,000,000 | +| قیمت فی سوال | $0 | $0.00004 | +| بنیادی ڈھانچہ | سینٹرلائزڈ | ڈیسینٹرلائزڈ | +| انجینئرنگ کے اخراجات | $200 فی گھنٹہ | شامل | +| جغرافیائی فالتو پن | فی اضافی نوڈ کل اخراجات میں $1,200 | شامل | +| اپ ٹائم | اتار چڑھاو | 99.9%+ | +| کل ماہانہ اخراجات | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| اخراجات کا موازنہ | سیلف ہوسٹڈ | The Graph Network | +|:----------------------------:|:-------------------------------------------:|:-------------------------------------------------------------------------------:| +| ماہانہ سرور کی قیمت/* | $1100 فی مہینہ، فی نوڈ | $0 | +| استفسار کے اخراجات | $4000 | $1,200 per month | +| نوڈس کی تعداد درکار ہے | 10 | قابل اطلاق نہیں | +| انجینئرنگ کا وقت | $6,000 یا اس سے زیادہ فی مہینہ | کوئی بھی نہیں، عالمی سطح پر تقسیم شدہ انڈیکسرز کے ساتھ نیٹ ورک میں بنایا گیا ہے | +| فی مہینہ سوالات | بنیادی صلاحیتوں تک محدود | ~30,000,000 | +| قیمت فی سوال | $0 | $0.00004 | +| بنیادی ڈھانچہ | سینٹرلائزڈ | ڈیسینٹرلائزڈ | +| جغرافیائی فالتو پن | فی اضافی نوڈ کل اخراجات میں $1,200 | شامل | +| اپ ٹائم | اتار چڑھاو | 99.9%+ | +| کل ماہانہ اخراجات | $11,000+ | $1,200 | + +/*بیک اپ کے اخراجات سمیت: $50-$100 فی مہینہ $200 فی گھنٹہ کے مفروضے کی بنیاد پر انجینئرنگ کا وقت -بجٹ بلنگ ٹیب میں زیادہ سے زیادہ کیوری بجٹ فنکشن کا استعمال کرتے ہوئے، سروس کے اعلی معیار کو برقرار رکھتے -ہوئے +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -تخمینی لاگتیں صرف ایتھیریم مینیٹ سب گراف کے لیے ہیں — دوسرے نیٹ ورکس پر `graph-node` کی خود ہوسٹڈ کرنے پر اخراجات اس سے بھی زیادہ ہوتے ہیں. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. سب گراف پر کیوریٹنگ سگنل ایک اختیاری ایک بار، خالص صفر لاگت ہے (مثال کے طور پر، $1k سگنل کو سب گراف پر کیوریٹ کیا جا سکتا ہے، اور بعد میں واپس لیا جا سکتا ہے—اس عمل میں منافع کمانے کی صلاحیت کے ساتھ). -کچھ صارفین کو اپنے سب گراف کو نئے ورزن میں اپ ڈیٹ کرنے کی ضرورت پڑ سکتی ہے۔ ایتھیریم گیس فیس کی وجہ سے، تحریر کے وقت ایک اپ ڈیٹ کی قیمت ~$50 ہوتی ہے۔ - -یہ نوٹ کرنا کہ [ Arbitrum](/arbitrum/arbitrum-faq) پر گیس فیس ایتھیریم مین نیٹ سے کافی کم ہے۔ - ## کوئی سیٹ اپ لاگت نہیں ہے اور زیادہ سے زیادہ آپریشنل کارکردگی صفر سیٹ اپ فیس . بغیر کسی سیٹ اپ یا اوور ہیڈ اخراجات کے فوراً شروع کریں۔کوئی ہارڈ ویئر کی ضرورت نہیں ہے. مرکزی انفراسٹرکچر کی وجہ سے کوئی بندش نہیں،اور اپنی بنیادی مصنوعات پر توجہ دینے کے لیے زیادہ وقت ۔بیک اپ سرورز، ٹربل شوٹنگ، یا مہنگے انجینئرنگ وسائل کی ضرورت نہیں. From 9e722efc202cbb91b5b02bd5471913ca308e369f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:29 -0400 Subject: [PATCH 0655/2326] New translations benefits.mdx (Vietnamese) --- website/pages/vi/network/benefits.mdx | 104 +++++++++++++------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/website/pages/vi/network/benefits.mdx b/website/pages/vi/network/benefits.mdx index b2fa328ed82f..a3da75477010 100644 --- a/website/pages/vi/network/benefits.mdx +++ b/website/pages/vi/network/benefits.mdx @@ -11,7 +11,7 @@ Here is an analysis: ## Why You Should Use The Graph Network -- 60-98% lower monthly cost +- Significantly lower monthly costs - $0 infrastructure setup costs - Superior uptime - Access to hundreds of independent Indexers around the world @@ -21,68 +21,64 @@ Here is an analysis: ### Lower & more Flexible Cost Structure -No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $0.0002. Queries are priced in USD and paid in GRT. - -Query costs may vary; the quoted cost is the average at time of publication (December 2022). - -## Low Volume User (less than 30,000 queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $0+ | ~$15 per month | -| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000 (autoscaling) | -| Cost per query | $0 | $0.0005 | -| Cơ sở hạ tầng | Centralized | Decentralized | -| Geographic redundancy | $750+ per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $750+ | ~$15 | - -## Medium Volume User (3,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $500 per month | $750 per month | -| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 3,000,000+ | -| Cost per query | $0 | $0.00025 | -| Cơ sở hạ tầng | Centralized | Decentralized | -| Engineering expense | $200 per hour | Included | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $1,650+ | $750 | - -## High Volume User (30,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $1100 per month, per node | $0 | -| Query costs | $4000 | $4,500 per month | -| Number of nodes needed | 10 | Not applicable | -| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000,000+ | -| Cost per query | $0 | $0.00015 | -| Cơ sở hạ tầng | Centralized | Decentralized | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Cost Comparison | Self Hosted | Mạng The Graph | +|:----------------------------:|:---------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $0+ | $0 per month | +| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | 100,000 (Free Plan) | +| Cost per query | $0 | $0 | +| Cơ sở hạ tầng | Centralized | Decentralized | +| Geographic redundancy | $750+ per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Cost Comparison | Self Hosted | Mạng The Graph | +|:----------------------------:|:------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $500 per month | $120 per month | +| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~3,000,000 | +| Cost per query | $0 | $0.00004 | +| Cơ sở hạ tầng | Centralized | Decentralized | +| Engineering expense | $200 per hour | Included | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| Cost Comparison | Self Hosted | Mạng The Graph | +|:----------------------------:|:-------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $1100 per month, per node | $0 | +| Query costs | $4000 | $1,200 per month | +| Number of nodes needed | 10 | Not applicable | +| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~30,000,000 | +| Cost per query | $0 | $0.00004 | +| Cơ sở hạ tầng | Centralized | Decentralized | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $11,000+ | $1,200 | \*including costs for backup: $50-$100 per month Engineering time based on $200 per hour assumption -using the max query budget function in the budget billing tab, while maintaining high quality of service +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Curating signal on a subgraph is an optional one-time, net-zero cost (e.g., $1k in signal can be curated on a subgraph, and later withdrawn—with potential to earn returns in the process). -Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. - -Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. - ## No Setup Costs & Greater Operational Efficiency Zero setup fees. Get started immediately with no setup or overhead costs. No hardware requirements. No outages due to centralized infrastructure, and more time to concentrate on your core product . No need for backup servers, troubleshooting, or expensive engineering resources. From dc56978c225f61bae798202f0a17d5e49df18484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:30 -0400 Subject: [PATCH 0656/2326] New translations benefits.mdx (Marathi) --- website/pages/mr/network/benefits.mdx | 104 +++++++++++++------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/website/pages/mr/network/benefits.mdx b/website/pages/mr/network/benefits.mdx index c3322af4ad95..44616e68152e 100644 --- a/website/pages/mr/network/benefits.mdx +++ b/website/pages/mr/network/benefits.mdx @@ -11,7 +11,7 @@ socialImage: https://thegraph.com/docs/img/seo/benefits.jpg ## आपण आलेख नेटवर्क का वापरावे -- 60-98% कमी मासिक खर्च +- Significantly lower monthly costs - $0 पायाभूत सुविधा सेटअप खर्च - उत्कृष्ट अपटाइम - Access to hundreds of independent Indexers around the world @@ -21,68 +21,64 @@ socialImage: https://thegraph.com/docs/img/seo/benefits.jpg ### खालच्या & अधिक लवचिक खर्च संरचना -कोणतेही करार नाहीत. कोणतेही मासिक शुल्क नाही. फक्त तुम्ही वापरत असलेल्या क्वेरींसाठी पैसे द्या—प्रति-क्वेरीची सरासरी किंमत $0.0002. प्रश्नांची किंमत USD मध्ये आहे आणि GRT मध्ये पैसे दिले आहेत. - -क्वेरी खर्च भिन्न असू शकतात; उद्धृत किंमत प्रकाशनाच्या वेळी सरासरी आहे (डिसेंबर 2022). - -## कमी आवाज वापरकर्ता (दरमहा 30,000 पेक्षा कमी क्वेरी) - -| खर्चाची तुलना | स्वत: होस्ट केलेले | आलेख नेटवर्क | -| :-: | :-: | :-: | -| मासिक सर्व्हर खर्च\* | दरमहा $350 | $0 | -| क्वेरी खर्च | $0+ | दरमहा ~$15 | -| अभियांत्रिकी वेळ | दरमहा $400 | काहीही नाही, जागतिक स्तरावर वितरित इंडेक्सर्ससह नेटवर्कमध्ये तयार केलेले | -| प्रति महिना प्रश्न | इन्फ्रा क्षमतांपुरती मर्यादित | 30,000 (ऑटोस्केलिंग) | -| प्रति क्वेरी खर्च | $0 | $0.0005 | -| पायाभूत सुविधा | केंद्रीकृत | विकेंद्रित | -| भौगोलिक रिडंडंसी | प्रति अतिरिक्त नोड $750+ | समाविष्ट | -| अपटाइम | बदलते | 99.9%+ | -| एकूण मासिक खर्च | $750+ | ~$15 | - -## मध्यम व्हॉल्यूम वापरकर्ता (दरमहा 3,000,000+ क्वेरी) - -| खर्चाची तुलना | स्वत: होस्ट केलेले | आलेख नेटवर्क | -| :-: | :-: | :-: | -| मासिक सर्व्हर खर्च\* | दरमहा $350 | $0 | -| क्वेरी खर्च | दरमहा $500 | दरमहा $750 | -| अभियांत्रिकी वेळ | दरमहा $800 | काहीही नाही, जागतिक स्तरावर वितरित इंडेक्सर्ससह नेटवर्कमध्ये तयार केलेले | -| प्रति महिना प्रश्न | इन्फ्रा क्षमतांपुरती मर्यादित | 3,000,000+ | -| प्रति क्वेरी खर्च | $0 | $0.00025 | -| पायाभूत सुविधा | केंद्रीकृत | विकेंद्रित | -| अभियांत्रिकी खर्च | $200 प्रति तास | समाविष्ट | -| भौगोलिक रिडंडंसी | प्रति अतिरिक्त नोड एकूण खर्चात $1,200 | समाविष्ट | -| अपटाइम | बदलते | 99.9%+ | -| एकूण मासिक खर्च | $1,650+ | $750 | - -## उच्च व्हॉल्यूम वापरकर्ता (दरमहा 30,000,000+ क्वेरी) - -| खर्चाची तुलना | स्वत: होस्ट केलेले | आलेख नेटवर्क | -| :-: | :-: | :-: | -| मासिक सर्व्हर खर्च\* | प्रति नोड, प्रति महिना $1100 | $0 | -| क्वेरी खर्च | $4000 | दरमहा $4,500 | -| आवश्यक नोड्सची संख्या | 10 | लागू नाही | -| अभियांत्रिकी वेळ | दरमहा $6,000 किंवा अधिक | काहीही नाही, जागतिक स्तरावर वितरित इंडेक्सर्ससह नेटवर्कमध्ये तयार केलेले | -| प्रति महिना प्रश्न | इन्फ्रा क्षमतांपुरती मर्यादित | 30,000,000+ | -| प्रति क्वेरी खर्च | $0 | $0.00015 | -| पायाभूत सुविधा | केंद्रीकृत | विकेंद्रित | -| भौगोलिक रिडंडंसी | प्रति अतिरिक्त नोड एकूण खर्चात $1,200 | समाविष्ट | -| अपटाइम | बदलते | 99.9%+ | -| एकूण मासिक खर्च | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| खर्चाची तुलना | स्वत: होस्ट केलेले | आलेख नेटवर्क | +|:----------------------------:|:---------------------------------------:|:------------------------------------------------------------------------:| +| मासिक सर्व्हर खर्च\* | दरमहा $350 | $0 | +| क्वेरी खर्च | $0+ | $0 per month | +| अभियांत्रिकी वेळ | दरमहा $400 | काहीही नाही, जागतिक स्तरावर वितरित इंडेक्सर्ससह नेटवर्कमध्ये तयार केलेले | +| प्रति महिना प्रश्न | इन्फ्रा क्षमतांपुरती मर्यादित | 100,000 (Free Plan) | +| प्रति क्वेरी खर्च | $0 | $0 | +| पायाभूत सुविधा | केंद्रीकृत | विकेंद्रित | +| भौगोलिक रिडंडंसी | प्रति अतिरिक्त नोड $750+ | समाविष्ट | +| अपटाइम | बदलते | 99.9%+ | +| एकूण मासिक खर्च | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| खर्चाची तुलना | स्वत: होस्ट केलेले | आलेख नेटवर्क | +|:----------------------------:|:------------------------------------------:|:------------------------------------------------------------------------:| +| मासिक सर्व्हर खर्च\* | दरमहा $350 | $0 | +| क्वेरी खर्च | दरमहा $500 | $120 per month | +| अभियांत्रिकी वेळ | दरमहा $800 | काहीही नाही, जागतिक स्तरावर वितरित इंडेक्सर्ससह नेटवर्कमध्ये तयार केलेले | +| प्रति महिना प्रश्न | इन्फ्रा क्षमतांपुरती मर्यादित | ~3,000,000 | +| प्रति क्वेरी खर्च | $0 | $0.00004 | +| पायाभूत सुविधा | केंद्रीकृत | विकेंद्रित | +| अभियांत्रिकी खर्च | $200 प्रति तास | समाविष्ट | +| भौगोलिक रिडंडंसी | प्रति अतिरिक्त नोड एकूण खर्चात $1,200 | समाविष्ट | +| अपटाइम | बदलते | 99.9%+ | +| एकूण मासिक खर्च | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| खर्चाची तुलना | स्वत: होस्ट केलेले | आलेख नेटवर्क | +|:----------------------------:|:-------------------------------------------:|:------------------------------------------------------------------------:| +| मासिक सर्व्हर खर्च\* | प्रति नोड, प्रति महिना $1100 | $0 | +| क्वेरी खर्च | $4000 | $1,200 per month | +| आवश्यक नोड्सची संख्या | 10 | लागू नाही | +| अभियांत्रिकी वेळ | दरमहा $6,000 किंवा अधिक | काहीही नाही, जागतिक स्तरावर वितरित इंडेक्सर्ससह नेटवर्कमध्ये तयार केलेले | +| प्रति महिना प्रश्न | इन्फ्रा क्षमतांपुरती मर्यादित | ~30,000,000 | +| प्रति क्वेरी खर्च | $0 | $0.00004 | +| पायाभूत सुविधा | केंद्रीकृत | विकेंद्रित | +| भौगोलिक रिडंडंसी | प्रति अतिरिक्त नोड एकूण खर्चात $1,200 | समाविष्ट | +| अपटाइम | बदलते | 99.9%+ | +| एकूण मासिक खर्च | $11,000+ | $1,200 | \*बॅकअपच्या खर्चासह: $50-$100 प्रति महिना अभियांत्रिकी वेळ $200 प्रति तास गृहीत धरून -बजेट बिलिंग टॅबमधील कमाल क्वेरी बजेट फंक्शन वापरून, सेवेची उच्च गुणवत्ता राखून +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -अंदाजे खर्च फक्त Ethereum Mainnet subgraphs साठी आहेत — इतर नेटवर्कवर `graph-node` सेल्फ होस्टिंग करताना खर्च अधिक असतो. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. सबग्राफवर क्युरेटिंग सिग्नल हा पर्यायी एक-वेळचा, निव्वळ-शून्य खर्च आहे (उदा., $1k सिग्नल सबग्राफवर क्युरेट केला जाऊ शकतो आणि नंतर मागे घेतला जाऊ शकतो—प्रक्रियेत परतावा मिळविण्याच्या संभाव्यतेसह). -Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. - -Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. - ## कोणतेही सेटअप खर्च नाही & ग्रेटर ऑपरेशनल कार्यक्षमता शून्य सेटअप शुल्क. कोणत्याही सेटअप किंवा ओव्हरहेड खर्चाशिवाय त्वरित प्रारंभ करा. हार्डवेअर आवश्यकता नाही. केंद्रीकृत पायाभूत सुविधांमुळे कोणतेही आउटेज नाही आणि तुमच्या मुख्य उत्पादनावर लक्ष केंद्रित करण्यासाठी अधिक वेळ. बॅकअप सर्व्हर, समस्यानिवारण किंवा महागड्या अभियांत्रिकी संसाधनांची आवश्यकता नाही. From 3b16786ea6eabaec3acaad2e5de88c4903aea604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:31 -0400 Subject: [PATCH 0657/2326] New translations benefits.mdx (Hindi) --- website/pages/hi/network/benefits.mdx | 104 +++++++++++++------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/website/pages/hi/network/benefits.mdx b/website/pages/hi/network/benefits.mdx index b145895e7853..09fa69e7893d 100644 --- a/website/pages/hi/network/benefits.mdx +++ b/website/pages/hi/network/benefits.mdx @@ -11,7 +11,7 @@ socialImage: https://thegraph.com/docs/img/seo/benefits.jpg ## आपको ग्राफ़ नेटवर्क का उपयोग क्यों करना चाहिए -- 60-98% कम मासिक लागत +- Significantly lower monthly costs - $0 इंफ्रास्ट्रक्चर सेटअप लागत - सुपीरियर अपटाइम - Access to hundreds of independent Indexers around the world @@ -21,68 +21,64 @@ socialImage: https://thegraph.com/docs/img/seo/benefits.jpg ### निचला & अधिक लचीली लागत संरचना -कोई अनुबंध नहीं। कोई मासिक शुल्क नहीं। केवल उन प्रश्नों के लिए भुगतान करें जिनका आप उपयोग करते हैं—$0.0002 के औसत मूल्य-प्रति-क्वेरी के साथ। प्रश्नों का मूल्य USD में और भुगतान GRT में किया जाता है। - -क्वेरी की लागत भिन्न हो सकती है; उद्धृत लागत प्रकाशन के समय औसत है (दिसंबर 2022)। - -## कम मात्रा वाले उपयोगकर्ता (प्रति माह 30,000 से कम प्रश्न) - -| लागत तुलना | स्वयं होस्ट किया गया | ग्राफ नेटवर्क | -| :-: | :-: | :-: | -| मासिक सर्वर लागत\* | $350 प्रति माह | $0 | -| पूछताछ लागत | $0+ | ~ $ 15 प्रति माह | -| इंजीनियरिंग का समय | $ 400 प्रति माह | कोई नहीं, विश्व स्तर पर वितरित इंडेक्सर्स के साथ नेटवर्क में बनाया गया | -| प्रति माह प्रश्न | इन्फ्रा क्षमताओं तक सीमित | 30,000 (ऑटो स्केलिंग) | -| लागत प्रति क्वेरी | $0 | $0.0005 | -| आधारभूत संरचना | केंद्रीकृत | विकेन्द्रीकृत | -| भौगोलिक अतिरेक | $750+ प्रति अतिरिक्त नोड | शामिल | -| अपटाइम | भिन्न | 99.9%+ | -| कुल मासिक लागत | $750+ | ~$15 | - -## मध्यम मात्रा उपयोगकर्ता (3,000,000+ प्रश्न प्रति माह) - -| लागत तुलना | स्वयं होस्ट किया गया | ग्राफ नेटवर्क | -| :-: | :-: | :-: | -| मासिक सर्वर लागत\* | $350 प्रति माह | $0 | -| पूछताछ लागत | $ 500 प्रति माह | $750 प्रति माह | -| इंजीनियरिंग का समय | $800 प्रति माह | कोई नहीं, विश्व स्तर पर वितरित इंडेक्सर्स के साथ नेटवर्क में बनाया गया | -| प्रति माह प्रश्न | इन्फ्रा क्षमताओं तक सीमित | 3,000,000+ | -| लागत प्रति क्वेरी | $0 | $0.00025 | -| आधारभूत संरचना | केंद्रीकृत | विकेन्द्रीकृत | -| इंजीनियरिंग खर्च | $ 200 प्रति घंटा | शामिल | -| भौगोलिक अतिरेक | प्रति अतिरिक्त नोड कुल लागत में $1,200 | शामिल | -| अपटाइम | भिन्न | 99.9%+ | -| कुल मासिक लागत | $1,650+ | $750 | - -## उच्च मात्रा उपयोगकर्ता (30,000,000+ प्रश्न प्रति माह) - -| लागत तुलना | स्वयं होस्ट किया गया | ग्राफ नेटवर्क | -| :-: | :-: | :-: | -| मासिक सर्वर लागत\* | $1100 प्रति माह, प्रति नोड | $0 | -| पूछताछ लागत | $4000 | $4,500 per month | -| आवश्यक नोड्स की संख्या | 10 | Not applicable | -| इंजीनियरिंग का समय | $6,000 or more per month | कोई नहीं, विश्व स्तर पर वितरित इंडेक्सर्स के साथ नेटवर्क में बनाया गया | -| प्रति माह प्रश्न | इन्फ्रा क्षमताओं तक सीमित | 30,000,000+ | -| लागत प्रति क्वेरी | $0 | $0.00015 | -| आधारभूत संरचना | केंद्रीकृत | विकेन्द्रीकृत | -| भौगोलिक अतिरेक | प्रति अतिरिक्त नोड कुल लागत में $1,200 | शामिल | -| अपटाइम | भिन्न | 99.9%+ | -| कुल मासिक लागत | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| लागत तुलना | स्वयं होस्ट किया गया | The Graph Network | +|:------------------------------:|:---------------------------------------:|:----------------------------------------------------------------------:| +| मासिक सर्वर लागत\* | $350 प्रति माह | $0 | +| पूछताछ लागत | $0+ | $0 per month | +| इंजीनियरिंग का समय | $ 400 प्रति माह | कोई नहीं, विश्व स्तर पर वितरित इंडेक्सर्स के साथ नेटवर्क में बनाया गया | +| प्रति माह प्रश्न | इन्फ्रा क्षमताओं तक सीमित | 100,000 (Free Plan) | +| लागत प्रति क्वेरी | $0 | $0 | +| आधारभूत संरचना | केंद्रीकृत | विकेन्द्रीकृत | +| भौगोलिक अतिरेक | $750+ प्रति अतिरिक्त नोड | शामिल | +| अपटाइम | भिन्न | 99.9%+ | +| कुल मासिक लागत | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| लागत तुलना | स्वयं होस्ट किया गया | The Graph Network | +|:------------------------------:|:------------------------------------------:|:----------------------------------------------------------------------:| +| मासिक सर्वर लागत\* | $350 प्रति माह | $0 | +| पूछताछ लागत | $ 500 प्रति माह | $120 per month | +| इंजीनियरिंग का समय | $800 प्रति माह | कोई नहीं, विश्व स्तर पर वितरित इंडेक्सर्स के साथ नेटवर्क में बनाया गया | +| प्रति माह प्रश्न | इन्फ्रा क्षमताओं तक सीमित | ~3,000,000 | +| लागत प्रति क्वेरी | $0 | $0.00004 | +| आधारभूत संरचना | केंद्रीकृत | विकेन्द्रीकृत | +| इंजीनियरिंग खर्च | $ 200 प्रति घंटा | शामिल | +| भौगोलिक अतिरेक | प्रति अतिरिक्त नोड कुल लागत में $1,200 | शामिल | +| अपटाइम | भिन्न | 99.9%+ | +| कुल मासिक लागत | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| लागत तुलना | स्वयं होस्ट किया गया | The Graph Network | +|:------------------------------:|:-------------------------------------------:|:----------------------------------------------------------------------:| +| मासिक सर्वर लागत\* | $1100 प्रति माह, प्रति नोड | $0 | +| पूछताछ लागत | $4000 | $1,200 per month | +| आवश्यक नोड्स की संख्या | 10 | Not applicable | +| इंजीनियरिंग का समय | $6,000 or more per month | कोई नहीं, विश्व स्तर पर वितरित इंडेक्सर्स के साथ नेटवर्क में बनाया गया | +| प्रति माह प्रश्न | इन्फ्रा क्षमताओं तक सीमित | ~30,000,000 | +| लागत प्रति क्वेरी | $0 | $0.00004 | +| आधारभूत संरचना | केंद्रीकृत | विकेन्द्रीकृत | +| भौगोलिक अतिरेक | प्रति अतिरिक्त नोड कुल लागत में $1,200 | शामिल | +| अपटाइम | भिन्न | 99.9%+ | +| कुल मासिक लागत | $11,000+ | $1,200 | \*बैकअप की लागत सहित: $50-$100 प्रति माह इंजीनियरिंग समय $200 प्रति घंटे की धारणा पर आधारित है -सेवा की उच्च गुणवत्ता बनाए रखते हुए, बजट बिलिंग टैब में अधिकतम क्वेरी बजट फ़ंक्शन का उपयोग करना +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -अनुमानित लागत केवल एथेरियम मेननेट सबग्राफ के लिए है — अन्य नेटवर्क पर `ग्राफ़-नोड` स्वयं होस्ट करते समय लागत और भी अधिक होती है। +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. एक सबग्राफ पर क्यूरेटिंग सिग्नल एक वैकल्पिक वन-टाइम, नेट-जीरो कॉस्ट है (उदाहरण के लिए, सिग्नल में $1k को सबग्राफ पर क्यूरेट किया जा सकता है, और बाद में वापस ले लिया जाता है - प्रक्रिया में रिटर्न अर्जित करने की क्षमता के साथ)। -Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. - -Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. - ## कोई सेटअप लागत नहीं & ग्रेटर ऑपरेशनल एफिशिएंसी शून्य सेटअप शुल्क। बिना किसी सेटअप या ओवरहेड लागत के तुरंत आरंभ करें। कोई हार्डवेयर आवश्यकताएँ नहीं। केंद्रीकृत बुनियादी ढांचे के कारण कोई आउटेज नहीं, और अपने मूल उत्पाद पर ध्यान केंद्रित करने के लिए अधिक समय। बैकअप सर्वर, समस्या निवारण या महंगे इंजीनियरिंग संसाधनों की कोई आवश्यकता नहीं है। From 9d1c204b8c2bd9d90c3601156357110881899f65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:32 -0400 Subject: [PATCH 0658/2326] New translations benefits.mdx (Yoruba) --- website/pages/yo/network/benefits.mdx | 104 +++++++++++++------------- 1 file changed, 50 insertions(+), 54 deletions(-) diff --git a/website/pages/yo/network/benefits.mdx b/website/pages/yo/network/benefits.mdx index 864672b16515..7ab5fc984b18 100644 --- a/website/pages/yo/network/benefits.mdx +++ b/website/pages/yo/network/benefits.mdx @@ -11,7 +11,7 @@ Here is an analysis: ## Why You Should Use The Graph Network -- 60-98% lower monthly cost +- Significantly lower monthly costs - $0 infrastructure setup costs - Superior uptime - Access to hundreds of independent Indexers around the world @@ -21,68 +21,64 @@ Here is an analysis: ### Lower & more Flexible Cost Structure -No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $0.0002. Queries are priced in USD and paid in GRT. - -Query costs may vary; the quoted cost is the average at time of publication (December 2022). - -## Low Volume User (less than 30,000 queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $0+ | ~$15 per month | -| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000 (autoscaling) | -| Cost per query | $0 | $0.0005 | -| Infrastructure | Centralized | Decentralized | -| Geographic redundancy | $750+ per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $750+ | ~$15 | - -## Medium Volume User (3,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $350 per month | $0 | -| Query costs | $500 per month | $750 per month | -| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 3,000,000+ | -| Cost per query | $0 | $0.00025 | -| Infrastructure | Centralized | Decentralized | -| Engineering expense | $200 per hour | Included | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $1,650+ | $750 | - -## High Volume User (30,000,000+ queries per month) - -| Cost Comparison | Self Hosted | Graph Network | -| :-: | :-: | :-: | -| Monthly server cost\* | $1100 per month, per node | $0 | -| Query costs | $4000 | $4,500 per month | -| Number of nodes needed | 10 | Not applicable | -| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | -| Queries per month | Limited to infra capabilities | 30,000,000+ | -| Cost per query | $0 | $0.00015 | -| Infrastructure | Centralized | Decentralized | -| Geographic redundancy | $1,200 in total costs per additional node | Included | -| Uptime | Varies | 99.9%+ | -| Total Monthly Costs | $11,000+ | $4,500 | +No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. + +Query costs may vary; the quoted cost is the average at time of publication (March 2024). + +## Low Volume User (less than 100,000 queries per month) + +| Cost Comparison | Self Hosted | The Graph Network | +|:----------------------------:|:---------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $0+ | $0 per month | +| Engineering time | $400 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | 100,000 (Free Plan) | +| Cost per query | $0 | $0 | +| Infrastructure | Centralized | Decentralized | +| Geographic redundancy | $750+ per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $750+ | $0 | + +## Medium Volume User (~3M queries per month) + +| Cost Comparison | Self Hosted | The Graph Network | +|:----------------------------:|:------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $350 per month | $0 | +| Query costs | $500 per month | $120 per month | +| Engineering time | $800 per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~3,000,000 | +| Cost per query | $0 | $0.00004 | +| Infrastructure | Centralized | Decentralized | +| Engineering expense | $200 per hour | Included | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $1,650+ | $120 | + +## High Volume User (~30M queries per month) + +| Cost Comparison | Self Hosted | The Graph Network | +|:----------------------------:|:-------------------------------------------:|:---------------------------------------------------------------:| +| Monthly server cost\* | $1100 per month, per node | $0 | +| Query costs | $4000 | $1,200 per month | +| Number of nodes needed | 10 | Not applicable | +| Engineering time | $6,000 or more per month | None, built into the network with globally distributed Indexers | +| Queries per month | Limited to infra capabilities | ~30,000,000 | +| Cost per query | $0 | $0.00004 | +| Infrastructure | Centralized | Decentralized | +| Geographic redundancy | $1,200 in total costs per additional node | Included | +| Uptime | Varies | 99.9%+ | +| Total Monthly Costs | $11,000+ | $1,200 | \*including costs for backup: $50-$100 per month Engineering time based on $200 per hour assumption -using the max query budget function in the budget billing tab, while maintaining high quality of service +Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. -Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. +Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. Curating signal on a subgraph is an optional one-time, net-zero cost (e.g., $1k in signal can be curated on a subgraph, and later withdrawn—with potential to earn returns in the process). -Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. - -Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. - ## No Setup Costs & Greater Operational Efficiency Zero setup fees. Get started immediately with no setup or overhead costs. No hardware requirements. No outages due to centralized infrastructure, and more time to concentrate on your core product . No need for backup servers, troubleshooting, or expensive engineering resources. From d1c8d884342e1d14a6cc72e105779533f0293c08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:33 -0400 Subject: [PATCH 0659/2326] New translations billing.mdx (Romanian) --- website/pages/ro/billing.mdx | 160 ++++++++++++++++------------------- 1 file changed, 74 insertions(+), 86 deletions(-) diff --git a/website/pages/ro/billing.mdx b/website/pages/ro/billing.mdx index 34a1ed7a8ce0..a4b8d3f03de2 100644 --- a/website/pages/ro/billing.mdx +++ b/website/pages/ro/billing.mdx @@ -2,104 +2,80 @@ title: Billing --- -> Invoices are generated on a weekly basis. +## Subgraph Billing Plans -There are two options for paying for your query fees: +There are two plans to use when querying subgraphs on The Graph Network. -- [Paying with fiat currency with Banxa](#billing-with-banxa) -- [Paying with crypto wallet](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Billing with Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa enables you to bypass the need for an exchange and pay for your query fees using the fiat currency of your choice. The fiat currency will be converted to GRT, added to your account balance on the billing contract, and used to pay for queries associated with your API keys. + -There may be KYC requirements depending on the regulations in your country. For more information about KYC, please visit [Banxa's FAQ page](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -You can learn more about Banxa by reading their [documentation](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Paying for query fees with Banxa +## Query Payments with GRT -1. Select “Pay with Card” option in [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Enter the amount of GRT to be added to your account balance. -3. Click the 'Continue with Banxa' button. -4. Enter necessary banking information on Banxa including payment method & fiat currency of choice. -5. Finish the transaction. - -It may take up to 10 minutes to complete the transaction. Once the transaction is confirmed, the purchased GRT will automatically be added to your account balance on Arbitrum. - -## Billing on Arbitrum - -While The Graph protocol operates on Ethereum Mainnet, [the billing contract](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) lives on the [Arbitrum](https://arbitrum.io/) network to reduce transaction times and cost. You'll be required to pay the query fees generated from your API keys. Using the billing contract, you'll be able to: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Add and withdraw GRT from your account balance. - Keep track of your balances based on how much GRT you have added to your account balance, how much you have removed, and your invoices. - Automatically pay invoices based on query fees generated, as long as there is enough GRT in your account balance. -### Adding GRT using a crypto wallet +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> This section is written assuming you already have GRT in your crypto wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Enter the amount of GRT you want to add to your account balance. You can also select the maximum amount of GRT you want to add to your account balance by clicking on the "Max" button. - -5. Click 'Allow GRT Access' to allow the Subgraph Studio to access your GRT. Sign the associated transaction in your wallet. This will not cost any gas. - -6. Click 'Add GRT to account balance' to add the GRT to your account balance. Sign the associated transaction in your wallet. This will cost gas. - -7. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a crypto wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on the Arbitrum network. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. 4. Enter the amount of GRT you would like to withdraw. - 5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. - 6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Adding GRT using a multisig wallet - - 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a multisig wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on Ethereum mainnet. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - -4. Enter the amount of GRT you would like to withdraw. Specify the receiving wallet which will receive the GRT from this transaction. The GRT will be sent to the receiving wallet on Arbitrum. - -5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. - -6. Once the transaction is confirmed, you'll see the GRT added to your Arbitrum wallet within an hour. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. ## Getting GRT @@ -117,11 +93,11 @@ This will be a step by step guide for purchasing GRT on Coinbase. 6. Select the amount of GRT you want to purchase. 7. Review your purchase. Review your purchase and click "Buy GRT". 8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. -9. You can transfer the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the GRT to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the GRT account. - Enter the amount of GRT you want to send and the wallet address you want to send it to. - - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a crypto wallet. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -137,8 +113,8 @@ This will be a step by step guide for purchasing GRT on Binance. 6. Select the amount of GRT you want to purchase. 7. Review your purchase and click "Buy GRT". 8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. -9. You can withdraw the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your crypto wallet, add your crypto wallet's address to the withdrawel whitelist. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. - Click on the "wallet" button, click withdraw, and select GRT. - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. - Click "Continue" and confirm your transaction. @@ -149,19 +125,19 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Go to [Uniswap](https://app.uniswap.org/#/swap) and connect your wallet. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. 2. Select the token you want to swap from. Select ETH. 3. Select the token you want to swap to. Select GRT. - - Make sure you're swapping for the correct token. The GRT smart contract address is: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) 4. Enter the amount of ETH you want to swap. 5. Click "Swap". 6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase @@ -175,10 +151,11 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 539132ac8d86e383a7207f3cebf67f77836d0eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:34 -0400 Subject: [PATCH 0660/2326] New translations billing.mdx (French) --- website/pages/fr/billing.mdx | 224 +++++++++++++++++------------------ 1 file changed, 106 insertions(+), 118 deletions(-) diff --git a/website/pages/fr/billing.mdx b/website/pages/fr/billing.mdx index 72b266edbdf0..04791a4a1110 100644 --- a/website/pages/fr/billing.mdx +++ b/website/pages/fr/billing.mdx @@ -1,105 +1,81 @@ --- -title: Billing +title: Facturation --- -> Les factures sont générées sur une base hebdomadaire. +## Subgraph Billing Plans -Il existe deux options pour payer vos frais de requête : +There are two plans to use when querying subgraphs on The Graph Network. -- [Payer en monnaie fiduciaire avec Banxa](#billing-with-banxa) -- [Payer avec un portefeuille crypto](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Facturation avec Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa vous permet de contourner le besoin d'un échange et de payer vos frais de requête en utilisant la monnaie fiduciaire de votre choix. La monnaie fiduciaire sera convertie en GRT, ajoutée au solde de votre compte sur le contrat de facturation et utilisée pour payer les requêtes associées à vos clés API. + -Il peut y avoir des exigences KYC en fonction de la réglementation en vigueur dans votre pays. Pour plus d'informations sur KYC, veuillez visiter la [page FAQ de Banxa](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -Vous pouvez en savoir plus sur Banxa en lisant leur [documentation](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Cliquez sur le bouton « Connecter le portefeuille » dans le coin supérieur droit de la page. Vous serez redirigé vers la page de sélection du portefeuille. Sélectionnez votre portefeuille et cliquez sur "Connecter". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Payer les frais de requête avec Banxa +## Query Payments with GRT -1. Sélectionnez l'option « Payer par carte » dans [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Saisissez le montant de GRT à ajouter au solde de votre compte. -3. Cliquez sur le bouton « Continuer avec Banxa ». -4. Saisissez les informations bancaires nécessaires sur Banxa, y compris le mode de paiement & et le paiement monnaie fiduciaire de votre choix. -5. Terminez la transaction. - -La finalisation de la transaction peut prendre jusqu'à 10 minutes. Une fois la transaction confirmée, le GRT acheté sera automatiquement ajouté au solde de votre compte sur Arbitrum. - -## Billing on Arbitrum - -Alors que le protocole The Graph fonctionne sur Ethereum Mainnet, le [contrat de facturation](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) réside sur le réseau [Arbitrum](https://arbitrum.io/) pour réduire les délais et les coûts de transaction. Vous devrez payer les frais de requête générés à partir de vos clés API. Grâce au contrat de facturation, vous pourrez : +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Ajoutez et retirez du GRT du solde de votre compte. - Gardez une trace de vos soldes en fonction du montant de GRT que vous avez ajouté au solde de votre compte, du montant que vous avez supprimé et de vos factures. - Payez automatiquement les factures en fonction des frais de requête générés, à condition qu'il y ait suffisamment de GRT dans le solde de votre compte. -### Ajouter GRT à l'aide d'un portefeuille crypto +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> Cette section est rédigée en supposant que vous avez déjà GRT dans votre portefeuille crypto et que vous êtes sur le réseau principal Ethereum. Si vous n'avez pas GRT, vous pouvez apprendre comment obtenir GRT [ici](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -Pour découvrir en vidéo comment ajouter du GRT à votre solde de facturation à l'aide d'un portefeuille cryptographique, regardez cette [vidéo](https://youtu.be/4Bw2sh0FxCg). - -1. Accédez à la [page de facturation de Subgraph Studio](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Cliquez sur le bouton « Connecter le portefeuille » dans le coin supérieur droit de la page. Vous serez redirigé vers la page de sélection du portefeuille. Sélectionnez votre portefeuille et cliquez sur "Connecter". - -3. Cliquez sur le bouton « Ajouter GRT » au centre de la page. Un panneau latéral apparaîtra. - -4. Saisissez le montant de GRT que vous souhaitez ajouter au solde de votre compte. Vous pouvez également sélectionner le montant maximum de GRT que vous souhaitez ajouter au solde de votre compte en cliquant sur le bouton « Max ». - -5. Cliquez sur « Autoriser l'accès à GRT » pour permettre à Subgraph Studio d'accéder à votre GRT. Signez la transaction associée dans votre portefeuille. Cela ne coûtera aucun gaz. - -6. Cliquez sur « Ajouter le GRT au solde du compte » pour ajouter le GRT au solde de votre compte. Signez la transaction associée dans votre portefeuille. Cela coûtera du gaz. - -7. Une fois la transaction confirmée, vous verrez le GRT ajouté au solde de votre compte dans l'heure. - -### Retirer du GRT à l'aide d'un portefeuille crypto - -> Cette section est rédigée en supposant que vous avez déposé des GRT sur le solde de votre compte sur [Subgraph Studio](https://thegraph.com/studio/billing/) et que vous êtes sur le réseau Arbitrum. - -1. Accédez à la [page de facturation de Subgraph Studio](https://thegraph.com/studio/billing/). - -2. Cliquez sur le bouton « Connecter le portefeuille » dans le coin supérieur droit de la page. Sélectionnez votre portefeuille et cliquez sur "Connecter". - -3. Cliquez sur la liste déroulante à côté du bouton « Ajouter GRT » au centre de la page. Sélectionnez retirer le GRT. Un panneau latéral apparaîtra. - -4. Saisissez le montant de GRT que vous souhaitez retirer. - -5. Cliquez sur « Retirer le GRT » pour retirer le GRT du solde de votre compte. Signez la transaction associée dans votre portefeuille. Cela coûtera du gaz. Le GRT sera envoyé sur votre portefeuille Arbitrum. - -6. Une fois la transaction confirmée, vous verrez le GRT retiré du solde de votre compte dans votre portefeuille Arbitrum. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. +4. Enter the amount of GRT you would like to withdraw. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Ajout de GRT à l'aide d'un portefeuille multisig - - -1. Accédez à la [page de facturation de Subgraph Studio](https://thegraph.com/studio/billing/). - -2. Cliquez sur le bouton « Connecter le portefeuille » dans le coin supérieur droit de la page. Sélectionnez votre portefeuille et cliquez sur "Connecter". Si vous utilisez [Gnosis-Safe](https://gnosis-safe.io/), vous pourrez connecter votre multisig ainsi que votre portefeuille de signature. Ensuite, signez le message associé. Cela ne coûtera aucun gaz. - -3. Cliquez sur le bouton « Ajouter GRT » au centre de la page. Un panneau latéral apparaîtra. - -4. Une fois la transaction confirmée, vous verrez le GRT ajouté au solde de votre compte dans l'heure. +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. -### Retirer du GRT à l'aide d'un portefeuille multisig - -> Cette section est rédigée en supposant que vous avez déposé des GRT sur le solde de votre compte sur [Subgraph Studio](https://thegraph.com/studio/billing/) et que vous êtes sur le mainnet Ethereum. - -1. Accédez à la [page de facturation de Subgraph Studio](https://thegraph.com/studio/billing/). - -2. Cliquez sur le bouton « Connecter le portefeuille » dans le coin supérieur droit de la page. Sélectionnez votre portefeuille et cliquez sur "Connecter". - -3. Cliquez sur la liste déroulante à côté du bouton « Ajouter GRT » au centre de la page. Sélectionnez retirer le GRT. Un panneau latéral apparaîtra. - -4. Saisissez le montant de GRT que vous souhaitez retirer. Spécifiez le portefeuille de réception qui recevra le GRT de cette transaction. Le GRT sera envoyé au portefeuille de réception sur Arbitrum. - -5. Cliquez sur « Retirer le GRT » pour retirer le GRT du solde de votre compte. Signez la transaction associée dans votre portefeuille. Cela coûtera du gaz. - -6. Une fois la transaction confirmée, vous verrez le GRT ajouté à votre portefeuille Arbitrum dans l'heure. +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. ## Getting GRT @@ -107,21 +83,21 @@ This section will show you how to get GRT to pay for query fees. ### Coinbase -Ce sera un guide étape par étape pour acheter du GRT sur Coinbase. - -1. Accédez à [Coinbase](https://www.coinbase.com/) et créez un compte. -2. Une fois que vous aurez créé un compte, vous devrez vérifier votre identité via un processus appelé KYC (ou Know Your Customer). Il s’agit d’une procédure standard pour tous les échanges cryptographiques centralisés ou dépositaires. -3. Une fois que vous avez vérifié votre identité, vous pouvez acheter du GRT. Vous pouvez le faire en cliquant sur le bouton « Acheter/Vendre » en haut à droite de la page. -4. Sélectionnez la devise que vous souhaitez acheter. Sélectionnez GRT. -5. Sélectionnez le mode de paiement. Sélectionnez votre mode de paiement préféré. -6. Sélectionnez le montant de GRT que vous souhaitez acheter. -7. Vérifiez votre achat. Vérifiez votre achat et cliquez sur « Acheter du GRT ». -8. Confirmez votre achat. Confirmez votre achat et vous aurez acheté GRT avec succès. -9. Vous pouvez transférer le GRT de votre compte vers votre portefeuille crypto tel que [MetaMask](https://metamask.io/). - - To transfer the GRT to your crypto wallet, click on the "Accounts" button on the top right of the page. +This will be a step by step guide for purchasing GRT on Coinbase. + +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select GRT. +5. Select the payment method. Select your preferred payment method. +6. Select the amount of GRT you want to purchase. +7. Review your purchase. Review your purchase and click "Buy GRT". +8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the GRT account. - Enter the amount of GRT you want to send and the wallet address you want to send it to. - - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a crypto wallet. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -137,11 +113,11 @@ This will be a step by step guide for purchasing GRT on Binance. 6. Select the amount of GRT you want to purchase. 7. Review your purchase and click "Buy GRT". 8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. -9. You can withdraw the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your crypto wallet, add your crypto wallet's address to the withdrawel whitelist. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. - Click on the "wallet" button, click withdraw, and select GRT. - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. - - Cliquez sur "Continuer" et confirmez votre transaction. + - Click "Continue" and confirm your transaction. You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). @@ -149,25 +125,25 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Go to [Uniswap](https://app.uniswap.org/#/swap) and connect your wallet. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. 2. Select the token you want to swap from. Select ETH. 3. Select the token you want to swap to. Select GRT. - - Make sure you're swapping for the correct token. The GRT smart contract address is: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) 4. Enter the amount of ETH you want to swap. 5. Click "Swap". 6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase This will be a step by step guide for purchasing ETH on Coinbase. -1. Accédez à [Coinbase](https://www.coinbase.com/) et créez un compte. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. 2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. 4. Select the currency you want to purchase. Select ETH. @@ -175,34 +151,46 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Cliquez sur "Continuer" et confirmez votre transaction. -You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). +Vous pouvez en savoir plus sur l'obtention d'ETH sur Coinbase [ici](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). ### Binance -This will be a step by step guide for purchasing ETH on Binance. - -1. Go to [Binance](https://www.binance.com/en) and create an account. -2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. -3. Once you have verified your identity, purchase ETH by clicking on the "Buy Now" button on the homepage banner. -4. Select the currency you want to purchase. Select ETH. -5. Select your preferred payment method. -6. Enter the amount of ETH you want to purchase. -7. Review your purchase and click "Buy ETH". -8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. - - Click on the "wallet" button, click withdraw, and select ETH. - - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. +Ce sera un guide étape par étape pour acheter des ETH sur Binance. + +1. Accédez à [Binance](https://www.binance.com/en) et créez un compte. +2. Une fois que vous avez créé un compte, vérifiez votre identité via un processus appelé KYC (ou Know Your Customer). Il s’agit d’une procédure standard pour tous les échanges cryptographiques centralisés ou dépositaires. +3. Une fois que vous avez vérifié votre identité, achetez des ETH en cliquant sur le bouton « Acheter maintenant » sur la bannière de la page d'accueil. +4. Sélectionnez la devise que vous souhaitez acheter. Sélectionnez ETH. +5. Sélectionnez votre mode de paiement préféré. +6. Entrez le montant d'ETH que vous souhaitez acheter. +7. Vérifiez votre achat et cliquez sur « Acheter ETH ». +8. Confirmez votre achat et vous verrez votre ETH dans votre portefeuille Binance Spot. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. + - Cliquez sur le bouton « portefeuille », cliquez sur retirer et sélectionnez ETH. + - Entrez le montant d'ETH que vous souhaitez envoyer et l'adresse du portefeuille sur liste blanche à laquelle vous souhaitez l'envoyer. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Cliquez sur "Continuer" et confirmez votre transaction. -You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). +Vous pouvez en savoir plus sur l'obtention d'ETH sur Binance [ici](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). + +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -## Arbitrum Bridge +### Can I withdrawal GRT from my billing balance? -Le contrat de facturation est uniquement conçu pour relier le GRT du réseau principal Ethereum au réseau Arbitrum. Si vous souhaitez transférer votre GRT d'Arbitrum vers le réseau principal Ethereum, vous devrez utiliser le [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 7c46589e2b74fa203afcc16f9d05de22b77d8f86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:35 -0400 Subject: [PATCH 0661/2326] New translations billing.mdx (Spanish) --- website/pages/es/billing.mdx | 232 +++++++++++++++++------------------ 1 file changed, 110 insertions(+), 122 deletions(-) diff --git a/website/pages/es/billing.mdx b/website/pages/es/billing.mdx index f11ddea84dc4..60cbef6f808b 100644 --- a/website/pages/es/billing.mdx +++ b/website/pages/es/billing.mdx @@ -2,106 +2,82 @@ title: Facturación --- -> Las facturas se generan semanalmente. +## Subgraph Billing Plans -Hay dos opciones para pagar las tarifas de consulta: +There are two plans to use when querying subgraphs on The Graph Network. -- [Pagar con dinero fiat a través de Banxa](#billing-with-banxa) -- [Pagar con una wallet crypto](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Facturación con Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa te permite evitar la necesidad de utilizar un exchange y pagar las tarifas de consulta utilizando la moneda fiduciaria de tu elección. La moneda fiduciaria se convertirá a GRT, se agregará a tu saldo de cuenta en el contrato de facturación y se utilizará para pagar las consultas asociadas con tus claves de API. + -Puede haber requisitos de KYC según las regulaciones en tu país. Para obtener más información sobre KYC, visita la página de preguntas frecuentes de Banxa en [https://docs.banxa.com/docs/faqs](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -Puedes obtener más información sobre Banxa leyendo su [documentación](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Haz clic en el botón "Conectar wallet" en la esquina superior derecha de la página. Serás redirigido a la página de selección de wallet. Selecciona tu wallet y haz clic en "Conectar". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Pagar las tarifas de consulta con Banxa +## Query Payments with GRT -1. Selecciona la opción "Pay with Card" (Pagar con tarjeta) en [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Ingresa la cantidad de GRT que deseas agregar a tu saldo de cuenta. -3. Haz clic en el botón "Continue with Banxa" (Continuar con Banxa). -4. Ingresa la información bancaria necesaria en Banxa, incluyendo el método de pago y la moneda fiduciaria de tu elección. -5. Finaliza la transacción. - -La transacción puede tardar hasta 10 minutos en completarse. Una vez confirmada la transacción, los GRT comprados se agregarán automáticamente a tu saldo de cuenta en Arbitrum. - -## Facturación en Arbitrum - -Mientras que el protocolo The Graph opera en Ethereum Mainnet, [el contrato de facturación](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) está activo en la red [Arbitrum](https://arbitrum.io/) para reducir los tiempos y el costo de las transacciones. Tendrás que pagar las tarifas de consulta generadas a partir de tus claves API. Utilizando el contrato de facturación, podrás: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Agregar y retirar GRT de tu saldo de cuenta. - Llevar un registro de tus saldos en función de la cantidad de GRT que hayas agregado a tu saldo de cuenta, la cantidad que hayas retirado y tus facturas. - Paga automáticamente las facturas basadas en las tarifas de consulta generadas, siempre y cuando haya suficiente GRT en tu saldo de cuenta. -### Añadir GRT utilizando una wallet cripto +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> Esta sección está escrita asumiendo que ya tienes GRT en tu wallet de criptomonedas, y que estás en la mainnet de Ethereum. Si no tienes GRT, puedes aprender cómo conseguir GRT [aquí](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Ve a la [página de facturación de Subgraph Studio](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Haz clic en el botón "Conectar wallet" en la esquina superior derecha de la página. Serás redirigido a la página de selección de wallet. Selecciona tu wallet y haz clic en "Conectar". - -3. Clic en el botón "Añadir GRT" en el centro de la página. Aparecerá un panel lateral. - -4. Ingresa la cantidad de GRT que deseas agregar a tu saldo de cuenta. También puedes seleccionar la cantidad máxima de GRT que deseas agregar a tu saldo de cuenta haciendo clic en el botón "Max". - -5. Haz clic en "Permitir acceso a GRT" para permitir que Subgraph Studio acceda a tu GRT. Firma la transacción asociada en tu wallet. Esto no te costará gas. - -6. Haz clic en "Agregar GRT al saldo de la cuenta" para agregar el GRT a tu saldo de cuenta. Firma la transacción asociada en tu wallet. Esto implicará un costo de gas. - -7. Una vez confirmada la transacción, verás que el GRT se añade a tu saldo de cuenta en un plazo de una hora. - -### Retirar GRT utilizando una wallet cripto - -> Esta sección está escrita asumiendo que has depositado GRT en tu saldo de cuenta en [Subgraph Studio](https://thegraph.com/studio/billing/) y que estás en la red de Arbitrum. - -1. Ve a la [página de facturación de Subgraph Studio](https://thegraph.com/studio/billing/). - -2. Haz clic en el botón "Conectar wallet" en la esquina superior derecha de la página. Selecciona tu wallet y haz clic en "Conectar". - -3. Haz clic en el menú desplegable situado junto al botón "Añadir GRT" en el centro de la página. Selecciona retirar GRT. Aparecerá un panel lateral. - -4. Ingresa el importe de GRT que deseas retirar. - -5. Haz clic en "Retirar GRT" para retirar el GRT de tu saldo de cuenta. Firma la transacción asociada en tu wallet. Esto implicará un costo de gas. El GRT se enviará a tu wallet de Arbitrum. - -6. Una vez confirmada la transacción, verás que el GRT se retira de tu saldo de cuenta en tu wallet de Arbitrum. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. +4. Enter the amount of GRT you would like to withdraw. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Añadir GRT utilizando una wallet multisig - +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. -1. Ve a la [página de facturación de Subgraph Studio](https://thegraph.com/studio/billing/). +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. -2. Haz clic en el botón "Conectar Wallet" en la esquina superior derecha de la página. Selecciona tu monedero y haz clic en "Conectar". Si utilizas [Gnosis-Safe](https://gnosis-safe.io/), podrás conectar tu wallet multisig y tu wallet de firma. A continuación, firma el mensaje asociado. Esto no te costará gas. - -3. Clic en el botón "Añadir GRT" en el centro de la página. Aparecerá un panel lateral. - -4. Una vez confirmada la transacción, verás que el GRT se añade a tu saldo de cuenta en un plazo de una hora. - -### Retirar GRT utilizando una wallet multisig - -> Esta sección está escrita asumiendo que has depositado GRT en tu saldo de cuenta en [Subgraph Studio](https://thegraph.com/studio/billing/) y que estás en Ethereum mainnet. - -1. Ve a la [página de facturación de Subgraph Studio](https://thegraph.com/studio/billing/). - -2. Haz clic en el botón "Conectar wallet" en la esquina superior derecha de la página. Selecciona tu wallet y haz clic en "Conectar". - -3. Haz clic en el menú desplegable situado junto al botón "Añadir GRT" en el centro de la página. Selecciona retirar GRT. Aparecerá un panel lateral. - -4. Ingresa la cantidad de GRT que deseas retirar. Especifica la wallet receptora que recibirá el GRT de esta transacción. El GRT se enviará a la wallet receptora en Arbitrum. - -5. Haz clic en "Retirar GRT" para retirar el GRT de tu saldo de cuenta. Firma la transacción asociada en tu wallet. Esto implicará un costo de gas. - -6. Una vez confirmada la transacción, verás el GRT añadido a tu wallet Arbitrum en menos de una hora. - -## Obtener GRT +## Getting GRT This section will show you how to get GRT to pay for query fees. @@ -109,19 +85,19 @@ This section will show you how to get GRT to pay for query fees. This will be a step by step guide for purchasing GRT on Coinbase. -1. Ingresa a [Coinbase](https://www.coinbase.com/) y crea una cuenta. -2. Una vez que hayas creado una cuenta, tendrás que verificar tu identidad a través de un proceso conocido como KYC (o Know Your Customer). Se trata de un procedimiento estándar para todos los exchanges centralizados o de custodia. -3. Una vez que hayas verificado tu identidad, puedes comprar GRT. Para ello, haz clic en el botón "Comprar/Vender" situado en la parte superior derecha de la página. -4. Selecciona la moneda que deseas comprar. Selecciona GRT. -5. Selecciona el método de pago. Selecciona el método de pago que prefieras. -6. Selecciona la cantidad de GRT que deseas comprar. -7. Revisa tu compra. Revisa tu compra y haz clic en "Comprar GRT". -8. Confirma tu compra. Confirma tu compra y habrás adquirido GRT correctamente. -9. Puedes transferir el GRT desde tu cuenta a tu wallet cripto como [MetaMask](https://metamask.io/). - - Para transferir el GRT a tu wallet cripto, haz clic en el botón "Cuentas" situado en la parte superior derecha de la página. - - Haz clic en el botón "Enviar" situado junto a la cuenta de GRT. - - Ingresa la cantidad de GRT que deseas enviar y la dirección de la wallet a la que deseas enviarlo. - - Haz clic en "Continuar" y confirma tu transacción. -Ten en cuenta que para importes de compra superiores, Coinbase puede exigirte que esperes entre 7 y 10 días antes de transferir el importe total a una wallet cripto. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select GRT. +5. Select the payment method. Select your preferred payment method. +6. Select the amount of GRT you want to purchase. +7. Review your purchase. Review your purchase and click "Buy GRT". +8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the GRT account. + - Enter the amount of GRT you want to send and the wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -129,19 +105,19 @@ You can learn more about getting GRT on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing GRT on Binance. -1. Ir a [Binance](https://www.binance.com/en) y crear una cuenta. -2. Una vez que hayas creado una cuenta, tendrás que verificar tu identidad a través de un proceso conocido como KYC (o Know Your Customer). Se trata de un procedimiento estándar para todos los exchanges centralizados o de custodia. -3. Una vez que hayas verificado tu identidad, puedes comprar GRT. Para ello, haz clic en el botón "Comprar ahora" del banner de la página de inicio. -4. Accederás a una página en la que podrás seleccionar la moneda que deseas comprar. Selecciona GRT. -5. Selecciona el método de pago que prefieras. Podrás pagar con diferentes monedas fiduciarias como euros, dólares estadounidenses y más. -6. Selecciona la cantidad de GRT que deseas comprar. -7. Revisa tu compra y haz clic en "Comprar GRT". -8. Confirma tu compra y podrás ver tu GRT en tu Binance Spot Wallet. -9. Puedes retirar el GRT de tu cuenta a tu wallet cripto como [MetaMask](https://metamask.io/). - - Para [retirar](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) el GRT a tu wallet cripto, añade la dirección de tu wallet cripto a la lista de aprobación de retirada. - - Haz clic en el botón "wallet", haz clic en retirar y selecciona GRT. - - Ingresa la cantidad de GRT que deseas enviar y la dirección de la wallet de la lista de aprobación a la que deseas enviarlo. - - Haz clic en "Continuar" y confirma tu transacción. +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. +4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. +5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. +6. Select the amount of GRT you want to purchase. +7. Review your purchase and click "Buy GRT". +8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. + - Click on the "wallet" button, click withdraw, and select GRT. + - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. + - Click "Continue" and confirm your transaction. You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). @@ -149,25 +125,25 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Entra en [Uniswap](https://app.uniswap.org/#/swap) y conecta tu wallet. -2. Selecciona el token desde el que desea intercambiar. Selecciona ETH. -3. Selecciona el token por el que deseas cambiar. Selecciona GRT. - - Asegúrate de que estás intercambiando por el token correcto. La dirección del contrato inteligente GRT es: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` -4. Ingresa la cantidad de ETH que deseas intercambiar. -5. Haz clic en "Swap". -6. Confirma la transacción en tu wallet y espera a que se procese. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. +2. Select the token you want to swap from. Select ETH. +3. Select the token you want to swap to. Select GRT. + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +4. Enter the amount of ETH you want to swap. +5. Click "Swap". +6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase This will be a step by step guide for purchasing ETH on Coinbase. -1. Ingresa a [Coinbase](https://www.coinbase.com/) y crea una cuenta. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. 2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. 4. Select the currency you want to purchase. Select ETH. @@ -175,11 +151,12 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. - - Haz clic en "Continuar" y confirma tu transacción. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -187,7 +164,7 @@ You can learn more about getting ETH on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing ETH on Binance. -1. Ir a [Binance](https://www.binance.com/en) y crear una cuenta. +1. Go to [Binance](https://www.binance.com/en) and create an account. 2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Once you have verified your identity, purchase ETH by clicking on the "Buy Now" button on the homepage banner. 4. Select the currency you want to purchase. Select ETH. @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. - - Haz clic en "Continuar" y confirma tu transacción. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 799c0dbac071d11218db83ec1d2982bb7747c37e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:36 -0400 Subject: [PATCH 0662/2326] New translations billing.mdx (Arabic) --- website/pages/ar/billing.mdx | 232 +++++++++++++++++------------------ 1 file changed, 110 insertions(+), 122 deletions(-) diff --git a/website/pages/ar/billing.mdx b/website/pages/ar/billing.mdx index 763ebdbdaf2a..526f37882278 100644 --- a/website/pages/ar/billing.mdx +++ b/website/pages/ar/billing.mdx @@ -2,106 +2,82 @@ title: الفوترة --- -> يتم إصدار الفواتير على أساس أسبوعي. +## Subgraph Billing Plans -يوجد خياران لدفع رسوم الاستعلام: +There are two plans to use when querying subgraphs on The Graph Network. -- [الدفع بالعملة الورقية مع Banxa](#billing-with-banxa) -- [الدفع بمحفظة التشفير](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## الفواتير مع Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -يمكّنك Banxa من تجاوز الحاجة إلى صرف العملة ودفع رسوم الاستعلام باستخدام العملة الورقية التي تختارها. سيتم تحويل العملة الورقية إلى GRT ، وإضافتها إلى رصيد حسابك في عقد الفوترة ، واستخدامها للدفع مقابل الاستفسارات المرتبطة بمفاتيح API الخاصة بك. + -قد تكون هناك متطلبات تعرف على عميلك (KYC) بناءً على اللوائح المعمول بها في بلدك. لمزيد من المعلومات حول KYC ، يرجى زيارة [ صفحة الأسئلة الشائعة في Banxa ](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -يمكنك معرفة المزيد حول Banxa من خلال قراءة [ وثائقهم ](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. انقر على زر "توصيل المحفظة" في الزاوية اليمنى العليا من الصفحة. ستتم إعادة توجيهك إلى صفحة اختيار المحفظة. حدد محفظتك وانقر على "توصيل". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### دفع رسوم الاستعلام مع Banxa +## Query Payments with GRT -1. حدد خيار "الدفع بالبطاقة" في [ Subgraph Studio ](https://thegraph.com/studio/billing/؟show=Deposit). -2. أدخل مبلغ GRT لإضافته إلى رصيد حسابك. -3. انقر فوق الزر "متابعة مع Banxa". -4. Enter necessary banking information on Banxa including payment method & fiat currency of choice. -5. قم بإنهاء المعاملة. - -قد يستغرق الأمر ما يصل إلى 10 دقائق لإكمال المعاملة. بمجرد تأكيد المعاملة ، ستتم إضافة GRT المشتراة تلقائيًا إلى رصيد حسابك على Arbitrum. - -## الفوترة على Arbitrum - -بينما يعمل بروتوكول TheGraph على Ethereum Mainnet ، [يوجد عقد الفوترة ](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) على [ Arbitrum ](https://arbitrum.io/ شبكة) لتقليل أوقات المعاملات وتكلفتها. ستحتاج إلى دفع رسوم الاستعلامات الناتجة عن مفاتيح API الخاصة بك. باستخدام عقد الفوترة ، ستتمكن من: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - إضافة وسحب GRT من رصيد حسابك. - تتبع أرصدتك بناءً على مقدار GRT الذي أضفته إلى رصيد حسابك ، والمبلغ الذي قمت بإزالته ، وفواتيرك. - دفع الفواتير تلقائيًا بناءً على رسوم الاستعلام التي تم إنشاؤها ، طالما أن هناك ما يكفي من GRT في رصيد حسابك. -### إضافة GRT باستخدام محفظة تشفير +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> تمت كتابة هذا القسم بافتراض أن لديك بالفعل GRT في محفظتك المشفرة ، وأنت على شبكة Ethereum mainnet. إذا لم يكن لديك GRT ، فيمكنك التعرف على كيفية الحصول على GRT [ هنا ](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. انتقل إلى [ صفحة فوترة Subgraph Studio ](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. انقر على زر "توصيل المحفظة" في الزاوية اليمنى العليا من الصفحة. ستتم إعادة توجيهك إلى صفحة اختيار المحفظة. حدد محفظتك وانقر على "توصيل". - -3. انقر فوق زر "إضافة GRT" في منتصف الصفحة. ستظهر لوحة جانبية. - -4. أدخل مبلغ GRT الذي تريد إضافته إلى رصيد حسابك. يمكنك أيضًا تحديد الحد الأقصى لمبلغ GRT الذي تريد إضافته إلى رصيد حسابك بالنقر فوق الزر "Max". - -5. انقر فوق "السماح بالوصول إلى GRT" للسماح لـ Subgraph Studio بالوصول إلى GRT الخاص بك. قم بتوقيع العملية المرتبطة في محفظتك. هذا لن يكلف أي غاز. - -6. انقر فوق "إضافة GRT إلى رصيد الحساب" لإضافة GRT إلى رصيد حسابك. قم بتوقيع المعاملة المرتبطة في محفظتك. هذا سيكلف الغاز. - -7. بمجرد تأكيد المعاملة ، سترى GRT مضافًا إلى رصيد حسابك في غضون ساعة. - -### سحب GRT باستخدام محفظة تشفير - -> تمت كتابة هذا القسم بافتراض أنك أودعت GRT في رصيد حسابك على [ Subgraph Studio ](https://thegraph.com/studio/billing/) وأنك على شبكة Arbitrum. - -1. انتقل إلى [ صفحة فوترة Subgraph Studio](https://thegraph.com/studio/billing/). - -2. انقر على زر "توصيل المحفظة" في الزاوية اليمنى العليا من الصفحة. حدد محفظتك وانقر على "توصيل". - -3. انقر فوق القائمة المنسدلة بجوار زر "إضافة GRT" في منتصف الصفحة. حدد سحب GRT. ستظهر لوحة جانبية. - -4. أدخل مبلغ GRT الذي ترغب في سحبه. - -5. انقر فوق "سحب GRT" لسحب GRT من رصيد حسابك. قم بتوقيع المعاملة المرتبطة في محفظتك. هذا سيكلف الغاز. سيتم إرسال GRT إلى محفظة Arbitrum الخاصة بك. - -6. بمجرد تأكيد العملية ، سترى أن GRT قد تم سحبه من رصيد حسابك في محفظة Arbitrum الخاصة بك. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. +4. Enter the amount of GRT you would like to withdraw. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### إضافة GRT باستخدام محفظة متعددة التوقيع (multisig wallet) - +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. -1. انتقل إلى [ صفحة فوترة Subgraph Studio](https://thegraph.com/studio/billing/). +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. -2. انقر على زر "توصيل المحفظة " في الزاوية اليمنى العليا من الصفحة. حدد محفظتك وانقر على "توصيل". إذا كنت تستخدم [ Gnosis-Safe ](https://gnosis-safe.io/) ، فستتمكن من توصيل multisig بالإضافة إلى محفظة التوقيع الخاصة بك. ثم قم بتوقيع الرسالة المرتبطة. هذا لن يكلف أي غاز. - -3. انقر فوق زر "إضافة GRT" في منتصف الصفحة. ستظهر لوحة جانبية. - -4. بمجرد تأكيد المعاملة ، سترى GRT مضافًا إلى رصيد حسابك في غضون ساعة. - -### سحب GRT باستخدام محفظة multisig - -> تمت كتابة هذا القسم بافتراض أنك أودعت GRT في رصيد حسابك على [ Subgraph Studio ](https://thegraph.com/studio/billing/) وأنك تستخدم Ethereum mainnet. - -1. انتقل إلى [ صفحة فوترة Subgraph Studio](https://thegraph.com/studio/billing/). - -2. انقر على زر "توصيل المحفظة" في الزاوية اليمنى العليا من الصفحة. حدد محفظتك وانقر على "توصيل". - -3. انقر فوق القائمة المنسدلة بجوار زر "إضافة GRT" في منتصف الصفحة. حدد سحب GRT. ستظهر لوحة جانبية. - -4. أدخل مبلغ GRT الذي ترغب في سحبه. حدد المحفظة المستلمة التي ستتلقى GRT من هذه المعاملة. سيتم إرسال GRT إلى المحفظة المستلمة على Arbitrum. - -5. انقر فوق "سحب GRT" لسحب GRT من رصيد حسابك. قم بتوقيع المعاملة المرتبطة في محفظتك. هذا سيكلف الغاز. - -6. بمجرد تأكيد المعاملة ، سترى GRT مضافًا إلى محفظة Arbitrum الخاصة بك في غضون ساعة. - -## الحصول على GRT +## Getting GRT This section will show you how to get GRT to pay for query fees. @@ -109,19 +85,19 @@ This section will show you how to get GRT to pay for query fees. This will be a step by step guide for purchasing GRT on Coinbase. -1. انتقل إلى [ Coinbase ](https://www.coinbase.com/) وأنشئ حسابًا. -2. بمجرد إنشاء حساب ، ستحتاج إلى التحقق من هويتك من خلال عملية تعرف على العميل المعروفة باسم KYC. هذه إجرائات روتينية لجميع منصات تداول العملات المشفرة المركزية أو المحافظ الخاصة. -3. بمجرد التحقق من هويتك ، يمكنك شراء GRT. يمكنك القيام بذلك عن طريق النقر فوق زر "شراء / بيع" في أعلى يمين الصفحة. -4. حدد العملة التي ترغب في شرائها. حدد GRT. -5. حدد طريقة الدفع. حدد طريقة الدفع المفضلة لديك. -6. حدد مبلغ GRT الذي تريد شراءه. -7. يرجى مراجعة عملية الشراء الخاصة بك. قم بمراجعة عملية الشراء وانقر على "شراء GRT". -8. قم بتأكيد الشراء. قم بتأكيد الشراء وستكون قد اشتريت GRT بنجاح. -9. يمكنك نقل GRT من حسابك إلى محفظة التشفير مثل [ MetaMask ](https://metamask.io/). - - لنقل GRT إلى محفظة التشفير الخاصة بك ، انقر فوق زر "حسابات" في أعلى يمين الصفحة. - - انقر فوق زر "إرسال" الموجود بجوار حساب GRT. - - أدخل مبلغ GRT الذي تريد إرساله وعنوان المحفظة الذي تريد الإرسال إليه. - - انقر على "متابعة" وقم بتأكيد معاملتك. -يرجى ملاحظة أنه بالنسبة لمبالغ الشراء الكبيرة ، قد يطلب منك Coinbase الانتظار من 7 إلى 10 أيام قبل تحويل المبلغ بالكامل إلى محفظة تشفير. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select GRT. +5. Select the payment method. Select your preferred payment method. +6. Select the amount of GRT you want to purchase. +7. Review your purchase. Review your purchase and click "Buy GRT". +8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the GRT account. + - Enter the amount of GRT you want to send and the wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -129,19 +105,19 @@ You can learn more about getting GRT on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing GRT on Binance. -1. انتقل إلى [ Binance ](https://www.binance.com/en) وأنشئ حسابًا. -2. بمجرد إنشاء حساب ، ستحتاج إلى التحقق من هويتك من خلال عملية تعرف باسم KYC (أو اعرف عميلك). هذا إجراء روتيني لجميع المنصات المركزية أو المحافظ الخاصه. -3. بمجرد التحقق من هويتك ، يمكنك شراء GRT. يمكنك القيام بذلك عن طريق النقر فوق زر "اشترِ الآن" الموجود على في الصفحة الرئيسية. -4. سيتم نقلك إلى صفحة حيث يمكنك تحديد العملة التي تريد شرائها. حدد GRT. -5. حدد طريقة الدفع المفضلة لديك. ستتمكن من الدفع بعملات ورقية مختلفة مثل اليورو والدولار الأمريكي والمزيد. -6. حدد كمية GRT الذي تريد شراءه. -7. راجع عملية الشراء وانقر على "شراء GRT". -8. قم بتأكيد عملية الشراء وستتمكن من رؤية GRT الخاص بك في محفظة Binance Spot الخاصة بك. -9. يمكنك سحب GRT من حسابك إلى محفظتك المشفرة مثل [ MetaMask ](https://metamask.io/). - - [ لسحب ](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) GRT إلى محفظتك الرقمية ، أضف عنوان محفظتك الرقمية إلى القائمة البيضاء للسحب. - - انقر فوق زر "المحفظة" ، وانقر فوق سحب ، ثم أختار GRT. - - أدخل كمية GRT الذي تريد إرساله وعنوان المحفظة الموجودة في القائمة البيضاء الذي تريد إرساله إليه. - - انقر على "متابعة" وقم بتأكيد معاملتك. +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. +4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. +5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. +6. Select the amount of GRT you want to purchase. +7. Review your purchase and click "Buy GRT". +8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. + - Click on the "wallet" button, click withdraw, and select GRT. + - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. + - Click "Continue" and confirm your transaction. You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). @@ -149,25 +125,25 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. انتقل إلى [ Uniswap ](https://app.uniswap.org/#/swap) وقم بتوصيل محفظتك. -2. حدد التوكن الذي ترغب في استبداله. حدد ETH. -3. حدد التوكن الذي ترغب في تبديله. حدد GRT. - - تأكد من تبديل التوكن الصحيح. عنوان العقد الذكي GRT هو: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` -4. الرجاء إدخال كمية ETH التي ترغب في تحويلها. -5. انقر على زر "مبادلة". -6. قم بتأكيد المعاملة في محفظتك وانتظر حتى تتم المعالجة. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. +2. Select the token you want to swap from. Select ETH. +3. Select the token you want to swap to. Select GRT. + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +4. Enter the amount of ETH you want to swap. +5. Click "Swap". +6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase This will be a step by step guide for purchasing ETH on Coinbase. -1. انتقل إلى [ Coinbase ](https://www.coinbase.com/) وأنشئ حسابًا. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. 2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. 4. Select the currency you want to purchase. Select ETH. @@ -175,11 +151,12 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. - - انقر على "متابعة" وقم بتأكيد معاملتك. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -187,7 +164,7 @@ You can learn more about getting ETH on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing ETH on Binance. -1. انتقل إلى [ Binance ](https://www.binance.com/en) وأنشئ حسابًا. +1. Go to [Binance](https://www.binance.com/en) and create an account. 2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Once you have verified your identity, purchase ETH by clicking on the "Buy Now" button on the homepage banner. 4. Select the currency you want to purchase. Select ETH. @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. - - انقر على "متابعة" وقم بتأكيد معاملتك. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## جسر Arbitrum +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 80ec75ae47470bcb6afeed6deef2c06957171791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:37 -0400 Subject: [PATCH 0663/2326] New translations billing.mdx (Czech) --- website/pages/cs/billing.mdx | 194 ++++++++++++++++------------------- 1 file changed, 91 insertions(+), 103 deletions(-) diff --git a/website/pages/cs/billing.mdx b/website/pages/cs/billing.mdx index 34a1ed7a8ce0..5fc9c0dc8a67 100644 --- a/website/pages/cs/billing.mdx +++ b/website/pages/cs/billing.mdx @@ -1,105 +1,81 @@ --- -title: Billing +title: Fakturace --- -> Invoices are generated on a weekly basis. +## Subgraph Billing Plans -There are two options for paying for your query fees: +There are two plans to use when querying subgraphs on The Graph Network. -- [Paying with fiat currency with Banxa](#billing-with-banxa) -- [Paying with crypto wallet](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Billing with Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa enables you to bypass the need for an exchange and pay for your query fees using the fiat currency of your choice. The fiat currency will be converted to GRT, added to your account balance on the billing contract, and used to pay for queries associated with your API keys. + -There may be KYC requirements depending on the regulations in your country. For more information about KYC, please visit [Banxa's FAQ page](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -You can learn more about Banxa by reading their [documentation](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Klikněte na tlačítko "Připojit peněženku" v pravém horním rohu stránky. Budete přesměrováni na stránku pro výběr peněženky. Vyberte svou peněženku a klikněte na "Připojit". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Paying for query fees with Banxa +## Query Payments with GRT -1. Select “Pay with Card” option in [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Enter the amount of GRT to be added to your account balance. -3. Click the 'Continue with Banxa' button. -4. Enter necessary banking information on Banxa including payment method & fiat currency of choice. -5. Finish the transaction. +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: -It may take up to 10 minutes to complete the transaction. Once the transaction is confirmed, the purchased GRT will automatically be added to your account balance on Arbitrum. +- Přidávat a vybírat GRT ze zůstatku na účtu. +- Sledujte své zůstatky na základě toho, kolik GRT jste přidali k zůstatku na účtu, kolik jste odebrali a na základě faktur. +- Automatická úhrada faktur na základě vygenerovaných poplatků za dotazy, pokud je na vašem účtu dostatek GRT. -## Billing on Arbitrum +### GRT on Arbitrum or Ethereum -While The Graph protocol operates on Ethereum Mainnet, [the billing contract](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) lives on the [Arbitrum](https://arbitrum.io/) network to reduce transaction times and cost. You'll be required to pay the query fees generated from your API keys. Using the billing contract, you'll be able to: +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -- Add and withdraw GRT from your account balance. -- Keep track of your balances based on how much GRT you have added to your account balance, how much you have removed, and your invoices. -- Automatically pay invoices based on query fees generated, as long as there is enough GRT in your account balance. +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -### Adding GRT using a crypto wallet +### Adding GRT using a wallet - +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Klikněte na tlačítko "Připojit peněženku" v pravém horním rohu stránky. Budete přesměrováni na stránku pro výběr peněženky. Vyberte svou peněženku a klikněte na "Připojit". +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. -> This section is written assuming you already have GRT in your crypto wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Enter the amount of GRT you want to add to your account balance. You can also select the maximum amount of GRT you want to add to your account balance by clicking on the "Max" button. - -5. Click 'Allow GRT Access' to allow the Subgraph Studio to access your GRT. Sign the associated transaction in your wallet. This will not cost any gas. - -6. Click 'Add GRT to account balance' to add the GRT to your account balance. Sign the associated transaction in your wallet. This will cost gas. - -7. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a crypto wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on the Arbitrum network. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +### Withdrawing GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. 4. Enter the amount of GRT you would like to withdraw. - 5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. - 6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. -### Adding GRT using a multisig wallet - - +### Přidání GRT pomocí multisig peněženky 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a multisig wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on Ethereum mainnet. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - -4. Enter the amount of GRT you would like to withdraw. Specify the receiving wallet which will receive the GRT from this transaction. The GRT will be sent to the receiving wallet on Arbitrum. - -5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. - -6. Once the transaction is confirmed, you'll see the GRT added to your Arbitrum wallet within an hour. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. ## Getting GRT @@ -117,11 +93,11 @@ This will be a step by step guide for purchasing GRT on Coinbase. 6. Select the amount of GRT you want to purchase. 7. Review your purchase. Review your purchase and click "Buy GRT". 8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. -9. You can transfer the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the GRT to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the GRT account. - Enter the amount of GRT you want to send and the wallet address you want to send it to. - - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a crypto wallet. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -137,8 +113,8 @@ This will be a step by step guide for purchasing GRT on Binance. 6. Select the amount of GRT you want to purchase. 7. Review your purchase and click "Buy GRT". 8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. -9. You can withdraw the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your crypto wallet, add your crypto wallet's address to the withdrawel whitelist. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. - Click on the "wallet" button, click withdraw, and select GRT. - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. - Click "Continue" and confirm your transaction. @@ -149,19 +125,19 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Go to [Uniswap](https://app.uniswap.org/#/swap) and connect your wallet. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. 2. Select the token you want to swap from. Select ETH. 3. Select the token you want to swap to. Select GRT. - - Make sure you're swapping for the correct token. The GRT smart contract address is: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) 4. Enter the amount of ETH you want to swap. 5. Click "Swap". 6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase @@ -175,34 +151,46 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. -You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). +Více informací o získání ETH na Coinbase se dozvíte [zde](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). ### Binance -This will be a step by step guide for purchasing ETH on Binance. +Toto bude průvodce krok za krokem pro nákup ETH na Binance. -1. Go to [Binance](https://www.binance.com/en) and create an account. -2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. -3. Once you have verified your identity, purchase ETH by clicking on the "Buy Now" button on the homepage banner. -4. Select the currency you want to purchase. Select ETH. -5. Select your preferred payment method. -6. Enter the amount of ETH you want to purchase. -7. Review your purchase and click "Buy ETH". -8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. - - Click on the "wallet" button, click withdraw, and select ETH. - - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. - - Click "Continue" and confirm your transaction. +1. Přejděte na [Binance](https://www.binance.com/en) a vytvořte si účet. +2. Jakmile si vytvoříte účet, ověřte svou totožnost prostřednictvím procesu známého jako KYC (neboli Know Your Customer). Jedná se o standardní postup u všech centralizovaných nebo depozitních kryptoburz. +3. Jakmile ověříte svou totožnost, zakupte ETH kliknutím na tlačítko "Koupit nyní" na banneru domovské stránky. +4. Vyberte měnu, kterou chcete zakoupit. Vyberte ETH. +5. Vyberte preferovaný způsob platby. +6. Zadejte částku ETH, kterou chcete koupit. +7. Zkontrolujte svůj nákup a klikněte na tlačítko "Koupit ETH". +8. Potvrďte nákup a v peněžence Binance Spot se vám zobrazí ETH. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. + - Klikněte na tlačítko "peněženka", klikněte na vybrat a vyberte ETH. + - Zadejte částku ETH, kterou chcete poslat, a adresu peněženky, na kterou ji chcete poslat. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Klikněte na tlačítko "Pokračovat" a potvrďte transakci. + +Více informací o získání ETH na Binance se dozvíte [zde](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). + +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. -You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -## Arbitrum Bridge +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 5f44364e8a00989a269783497871c2d1b8f88387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:38 -0400 Subject: [PATCH 0664/2326] New translations billing.mdx (German) --- website/pages/de/billing.mdx | 160 ++++++++++++++++------------------- 1 file changed, 74 insertions(+), 86 deletions(-) diff --git a/website/pages/de/billing.mdx b/website/pages/de/billing.mdx index 34a1ed7a8ce0..a4b8d3f03de2 100644 --- a/website/pages/de/billing.mdx +++ b/website/pages/de/billing.mdx @@ -2,104 +2,80 @@ title: Billing --- -> Invoices are generated on a weekly basis. +## Subgraph Billing Plans -There are two options for paying for your query fees: +There are two plans to use when querying subgraphs on The Graph Network. -- [Paying with fiat currency with Banxa](#billing-with-banxa) -- [Paying with crypto wallet](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Billing with Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa enables you to bypass the need for an exchange and pay for your query fees using the fiat currency of your choice. The fiat currency will be converted to GRT, added to your account balance on the billing contract, and used to pay for queries associated with your API keys. + -There may be KYC requirements depending on the regulations in your country. For more information about KYC, please visit [Banxa's FAQ page](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -You can learn more about Banxa by reading their [documentation](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Paying for query fees with Banxa +## Query Payments with GRT -1. Select “Pay with Card” option in [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Enter the amount of GRT to be added to your account balance. -3. Click the 'Continue with Banxa' button. -4. Enter necessary banking information on Banxa including payment method & fiat currency of choice. -5. Finish the transaction. - -It may take up to 10 minutes to complete the transaction. Once the transaction is confirmed, the purchased GRT will automatically be added to your account balance on Arbitrum. - -## Billing on Arbitrum - -While The Graph protocol operates on Ethereum Mainnet, [the billing contract](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) lives on the [Arbitrum](https://arbitrum.io/) network to reduce transaction times and cost. You'll be required to pay the query fees generated from your API keys. Using the billing contract, you'll be able to: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Add and withdraw GRT from your account balance. - Keep track of your balances based on how much GRT you have added to your account balance, how much you have removed, and your invoices. - Automatically pay invoices based on query fees generated, as long as there is enough GRT in your account balance. -### Adding GRT using a crypto wallet +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> This section is written assuming you already have GRT in your crypto wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Enter the amount of GRT you want to add to your account balance. You can also select the maximum amount of GRT you want to add to your account balance by clicking on the "Max" button. - -5. Click 'Allow GRT Access' to allow the Subgraph Studio to access your GRT. Sign the associated transaction in your wallet. This will not cost any gas. - -6. Click 'Add GRT to account balance' to add the GRT to your account balance. Sign the associated transaction in your wallet. This will cost gas. - -7. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a crypto wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on the Arbitrum network. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. 4. Enter the amount of GRT you would like to withdraw. - 5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. - 6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Adding GRT using a multisig wallet - - 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a multisig wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on Ethereum mainnet. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - -4. Enter the amount of GRT you would like to withdraw. Specify the receiving wallet which will receive the GRT from this transaction. The GRT will be sent to the receiving wallet on Arbitrum. - -5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. - -6. Once the transaction is confirmed, you'll see the GRT added to your Arbitrum wallet within an hour. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. ## Getting GRT @@ -117,11 +93,11 @@ This will be a step by step guide for purchasing GRT on Coinbase. 6. Select the amount of GRT you want to purchase. 7. Review your purchase. Review your purchase and click "Buy GRT". 8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. -9. You can transfer the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the GRT to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the GRT account. - Enter the amount of GRT you want to send and the wallet address you want to send it to. - - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a crypto wallet. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -137,8 +113,8 @@ This will be a step by step guide for purchasing GRT on Binance. 6. Select the amount of GRT you want to purchase. 7. Review your purchase and click "Buy GRT". 8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. -9. You can withdraw the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your crypto wallet, add your crypto wallet's address to the withdrawel whitelist. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. - Click on the "wallet" button, click withdraw, and select GRT. - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. - Click "Continue" and confirm your transaction. @@ -149,19 +125,19 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Go to [Uniswap](https://app.uniswap.org/#/swap) and connect your wallet. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. 2. Select the token you want to swap from. Select ETH. 3. Select the token you want to swap to. Select GRT. - - Make sure you're swapping for the correct token. The GRT smart contract address is: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) 4. Enter the amount of ETH you want to swap. 5. Click "Swap". 6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase @@ -175,10 +151,11 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From ffbebb95a2c840480d36335b5f5bcfe10fadd613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:39 -0400 Subject: [PATCH 0665/2326] New translations billing.mdx (Italian) --- website/pages/it/billing.mdx | 160 ++++++++++++++++------------------- 1 file changed, 74 insertions(+), 86 deletions(-) diff --git a/website/pages/it/billing.mdx b/website/pages/it/billing.mdx index 34a1ed7a8ce0..a4b8d3f03de2 100644 --- a/website/pages/it/billing.mdx +++ b/website/pages/it/billing.mdx @@ -2,104 +2,80 @@ title: Billing --- -> Invoices are generated on a weekly basis. +## Subgraph Billing Plans -There are two options for paying for your query fees: +There are two plans to use when querying subgraphs on The Graph Network. -- [Paying with fiat currency with Banxa](#billing-with-banxa) -- [Paying with crypto wallet](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Billing with Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa enables you to bypass the need for an exchange and pay for your query fees using the fiat currency of your choice. The fiat currency will be converted to GRT, added to your account balance on the billing contract, and used to pay for queries associated with your API keys. + -There may be KYC requirements depending on the regulations in your country. For more information about KYC, please visit [Banxa's FAQ page](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -You can learn more about Banxa by reading their [documentation](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Paying for query fees with Banxa +## Query Payments with GRT -1. Select “Pay with Card” option in [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Enter the amount of GRT to be added to your account balance. -3. Click the 'Continue with Banxa' button. -4. Enter necessary banking information on Banxa including payment method & fiat currency of choice. -5. Finish the transaction. - -It may take up to 10 minutes to complete the transaction. Once the transaction is confirmed, the purchased GRT will automatically be added to your account balance on Arbitrum. - -## Billing on Arbitrum - -While The Graph protocol operates on Ethereum Mainnet, [the billing contract](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) lives on the [Arbitrum](https://arbitrum.io/) network to reduce transaction times and cost. You'll be required to pay the query fees generated from your API keys. Using the billing contract, you'll be able to: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Add and withdraw GRT from your account balance. - Keep track of your balances based on how much GRT you have added to your account balance, how much you have removed, and your invoices. - Automatically pay invoices based on query fees generated, as long as there is enough GRT in your account balance. -### Adding GRT using a crypto wallet +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> This section is written assuming you already have GRT in your crypto wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Enter the amount of GRT you want to add to your account balance. You can also select the maximum amount of GRT you want to add to your account balance by clicking on the "Max" button. - -5. Click 'Allow GRT Access' to allow the Subgraph Studio to access your GRT. Sign the associated transaction in your wallet. This will not cost any gas. - -6. Click 'Add GRT to account balance' to add the GRT to your account balance. Sign the associated transaction in your wallet. This will cost gas. - -7. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a crypto wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on the Arbitrum network. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. 4. Enter the amount of GRT you would like to withdraw. - 5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. - 6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Adding GRT using a multisig wallet - - 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a multisig wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on Ethereum mainnet. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - -4. Enter the amount of GRT you would like to withdraw. Specify the receiving wallet which will receive the GRT from this transaction. The GRT will be sent to the receiving wallet on Arbitrum. - -5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. - -6. Once the transaction is confirmed, you'll see the GRT added to your Arbitrum wallet within an hour. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. ## Getting GRT @@ -117,11 +93,11 @@ This will be a step by step guide for purchasing GRT on Coinbase. 6. Select the amount of GRT you want to purchase. 7. Review your purchase. Review your purchase and click "Buy GRT". 8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. -9. You can transfer the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the GRT to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the GRT account. - Enter the amount of GRT you want to send and the wallet address you want to send it to. - - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a crypto wallet. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -137,8 +113,8 @@ This will be a step by step guide for purchasing GRT on Binance. 6. Select the amount of GRT you want to purchase. 7. Review your purchase and click "Buy GRT". 8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. -9. You can withdraw the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your crypto wallet, add your crypto wallet's address to the withdrawel whitelist. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. - Click on the "wallet" button, click withdraw, and select GRT. - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. - Click "Continue" and confirm your transaction. @@ -149,19 +125,19 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Go to [Uniswap](https://app.uniswap.org/#/swap) and connect your wallet. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. 2. Select the token you want to swap from. Select ETH. 3. Select the token you want to swap to. Select GRT. - - Make sure you're swapping for the correct token. The GRT smart contract address is: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) 4. Enter the amount of ETH you want to swap. 5. Click "Swap". 6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase @@ -175,10 +151,11 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From aae8b3ecc0edd71b1ca6bf006df2501a81974952 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:40 -0400 Subject: [PATCH 0666/2326] New translations billing.mdx (Japanese) --- website/pages/ja/billing.mdx | 278 +++++++++++++++++------------------ 1 file changed, 133 insertions(+), 145 deletions(-) diff --git a/website/pages/ja/billing.mdx b/website/pages/ja/billing.mdx index 0be594706c49..d7564a6114ec 100644 --- a/website/pages/ja/billing.mdx +++ b/website/pages/ja/billing.mdx @@ -2,184 +2,161 @@ title: 請求書 --- -> 請求書は週単位で作成されます。 +## Subgraph Billing Plans -クエリ料金の支払いには、次の 2 つのオプションがあります: +There are two plans to use when querying subgraphs on The Graph Network. -- [Banxa で法定通貨で支払う](#billing-with-banxa) -- [クリプトウォレットで支払う](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Banxa での請求 +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa を使用すると、交換の必要がなくなり、選択した法定通貨を使用してクエリ料金を支払うことができます。法定通貨は GRT に変換され、請求契約のアカウント残高に追加され、API キーに関連付けられたクエリの支払いに使用されます。 + -お住まいの国の規制によっては、KYC 要件がある場合があります。 KYC の詳細については、[Banxa の FAQ ページ](https://docs.banxa.com/docs/faqs)をご覧ください。 +## Query Payments with credit card -Banxa の詳細については、[ドキュメント](https://docs.banxa.com/docs)をご覧ください。 +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. ページ右上の「Connect Wallet」をクリックします。ウォレット選択ページに遷移します。ウォレットを選択し、「Connect」をクリックします。 + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Banxa でクエリ料金を支払う +## Query Payments with GRT -1. [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit) で [カードで支払う] オプションを選択します。 -2. アカウント残高に追加する GRT の金額を入力します。 -3. [Banxa で続行] ボタンをクリックします -4. Banxa で必要な銀行情報を入力します。選択した法定通貨。 -5. 取引を終了する - -トランザクションが完了するまでに最大 10 分かかる場合があります。トランザクションが確認されると、購入した GRT が Arbitrum のアカウント残高に自動的に追加されます。 - -## Arbitrumでの請求 - -The GraphプロトコルはEthereum Mainnet上で動作しますが、[課金契約](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a)は[Arbitrum](https://arbitrum.io/)ネットワーク上に住み、取引時間やコストを低減しています。APIキーから生成されるクエリフィーを支払う必要があります。課金コントラクトを使用すると、次のことができるようになります。 +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - アカウント残高から GRT を追加および引き出します。 - アカウント残高に追加した GRT の量、削除した量、および請求書に基づいて、残高を追跡します。 - アカウント残高に十分な GRT がある限り、生成されたクエリ料金に基づいて請求書を自動的に支払います。 -### 暗号ウォレットを使ったGRTの追加 +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> このセクションは、あなたがすでに暗号ウォレットにGRTを持っていて、イーサリアムのメインネットにいることを想定して書かれています。GRTを持っていない場合は、GRTの入手方法[こちら](#getting-grt)を参照してください。 +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -暗号通貨ウォレットを使用して請求残高にGRTを追加する方法のビデオウォークスルーについては、この[ビデオ](https://youtu.be/4Bw2sh0FxCg)をご覧ください。 - -1. [サブグラフ・スタジオの課金ページ](https://thegraph.com/studio/billing/)にアクセスします。 +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. ページ右上の「Connect Wallet」をクリックします。ウォレット選択ページに遷移します。ウォレットを選択し、「Connect」をクリックします。 - -3. ページ中央の「Add GRT」をクリックするとサイドパネルが表示されます。 - -4. アカウント残高に追加する GRT の金額を入力します。 「最大」ボタンをクリックして、アカウント残高に追加する GRT の最大額を選択することもできます。 - -5. 「Allow GRT Access」をクリックし、Subgraph StudioがGRTにアクセスすることを許可します。ウォレットで関連するトランザクションに署名します。これにはガス代はかかりません。 - -6. [GRT をアカウントの残高に追加] をクリックして、GRT をアカウントの残高に追加します。関連するトランザクションにウォレットで署名します。これにはガス代がかかります。 - -7. トランザクションが確認されると、GRT が 1 時間以内にアカウントの残高に追加されます。 - -### 暗号ウォレットを使ったGRTの引き出し - -> このセクションは、[Subgraph Studio](https://thegraph.com/studio/billing/) のアカウント残高に GRT を入金し、Arbitrum ネットワークに接続していることを前提として書かれています。 - -1. [サブグラフ・スタジオの課金ページ](https://thegraph.com/studio/billing/)にアクセスします。 - -2. ページ右上の「Connect Wallet」をクリックします。ウォレットを選択し「Connect」をクリックします。 - -3. ページ中央の「Add GRT」ボタンの横にあるドロップダウンをクリックします。「Withdraw GRT」を選択します。サイドパネルが表示されます。 - -4. 引き出したいGRTの金額を入力します。 - -5. アカウント残高から GRT を引き出すには、[GRT を引き出す] をクリックします。関連するトランザクションにウォレットで署名します。これにはガス代がかかります。 GRT は Arbitrum ウォレットに送信されます。 - -6. 取引が確認されると、Arbitrum ウォレットの口座残高から GRT が引き落とされます。 +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. +4. Enter the amount of GRT you would like to withdraw. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### マルチシグウォレットを使ったGRTの追加 - +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. -1. [サブグラフ・スタジオの課金ページ](https://thegraph.com/studio/billing/)にアクセスします。 +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. -2. ページの右上隅にある [Connect Wallet] ボタンをクリックします。ウォレットを選択し、「接続」をクリックします。 [Gnosis-Safe](https://gnosis-safe.io/) を使用している場合は、マルチシグと署名ウォレットを接続できます。次に、関連付けられたメッセージに署名します。これでガス代はかかりません。 +## Getting GRT -3. ページ中央の「Add GRT」をクリックするとサイドパネルが表示されます。 - -4. トランザクションが確認されると、GRT が 1 時間以内にアカウントの残高に追加されます。 - -### マルチシグウォレットを使ったGRTの引き出し - -> このセクションは、[Subgraph Studio](https://thegraph.com/studio/billing/) のアカウント残高に GRT を入金しており、イーサリアム メインネットを使用していると仮定して書かれています。 - -1. [サブグラフ・スタジオの課金ページ](https://thegraph.com/studio/billing/)にアクセスします。 - -2. ページ右上の「Connect Wallet」をクリックします。ウォレットを選択し「Connect」をクリックします。 - -3. ページ中央の「Add GRT」ボタンの横にあるドロップダウンをクリックします。「Withdraw GRT」を選択します。サイドパネルが表示されます。 - -4. 引き出したいGRTの金額を入力します。この取引でGRTを受け取る受信ウォレットを指定します。GRTはArbitrum上の受信ウォレットに送信されます。 - -5. アカウント残高から GRT を引き出すには、[GRT を引き出す] をクリックします。関連するトランザクションにウォレットで署名します。これにはガス代がかかります。 - -6. 取引が確認されると、1時間以内にArbitrumウォレットにGRTが加算されるのを確認することができます。 - -## GRTの獲得 - -このセクションでは、GRTを支払ってクエリ料金を支払う方法を説明します。 +This section will show you how to get GRT to pay for query fees. ### Coinbase -これは、CoinbaseでGRTを購入するためのステップバイステップのガイドになります。 +This will be a step by step guide for purchasing GRT on Coinbase. -1. [Coinbase](https://www.coinbase.com/)にアクセスし、アカウントを作成する。 -2. アカウントを作成したら、KYC(またはKnow Your Customer)として知られるプロセスを通じて、あなたの身元を確認する必要があります。これは、すべての中央集権型またはカストディ型の暗号取引所の標準的な手順です。 -3. 本人様確認ができましたら、GRTの購入が可能です。ページ右上の「Buy/Sell」ボタンをクリックすることで可能です。 -4. 購入する通貨を選択します。GRTを選択します。 -5. 支払い方法を選択します。ご希望の支払い方法をお選びください。 -6. 購入したいGRTの量を選択します。 -7. 購入内容を確認する 購入内容を確認し「Buy GRT」をクリックします。 -8. 購入内容を確認する。購入を確認すると、GRTの購入は完了です。 -9. アカウントから[メタマスク](https://metamask.io/)などの暗号ウォレットにGRTを転送することができます。 - - GRTを暗号ウォレットに転送するには、ページ右上の「Accounts」ボタンをクリックします。 - - GRTアカウントの横にある「Send」ボタンをクリックします。 - - 送信したいGRTの金額と送信先のウォレットアドレスを入力します。 - - 「Continue」をクリックし、取引を確認します。-購入金額が大きい場合、Coinbaseは暗号ウォレットに全額を送金する前に7~10日待つよう要求することがありますので、ご注意ください。 +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select GRT. +5. Select the payment method. Select your preferred payment method. +6. Select the amount of GRT you want to purchase. +7. Review your purchase. Review your purchase and click "Buy GRT". +8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the GRT account. + - Enter the amount of GRT you want to send and the wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. -CoinbaseでGRTを入手する詳細については、[こちら](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency)をご覧いただけます。 +You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). ### Binance -これは、BinanceでGRTを購入するためのステップバイステップのガイドになります。 +This will be a step by step guide for purchasing GRT on Binance. -1. [Binance](https://www.binance.com/en)にアクセスし、アカウントを作成する。 -2. アカウントを作成したら、KYC(またはKnow Your Customer)として知られるプロセスを通じて、あなたの身元を確認する必要があります。これは、すべての中央集権型またはカストディ型の暗号取引所の標準的な手順です。 -3. 本人様確認ができましたら、GRTの購入が可能です。ホームページのバナーにある「Buy Now」ボタンをクリックすることで可能です。 -4. 購入する通貨を選択するページが表示されます。GRTを選択します。 -5. 希望のお支払い方法を選択してください。ユーロ、米ドルなど、さまざまな不換紙幣での支払いが可能になります。 -6. 購入したいGRTの量を選択します。 -7. 購入内容を確認し「Buy GRT」をクリックします。 -8. 購入を確認すると、Binance Spot WalletでGRTを確認することができます。 -9. GRTはアカウントから[MetaMask](https://metamask.io/)などの暗号ウォレットに引き出すことができます。 - - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570)には、暗号ウォレットのアドレスを引き出しのホワイトリストに追加します。 - - 「Wallet」ボタンをクリックし「Withdraw」をクリックし、「GRT」を選択します。 - - 送信したいGRTの金額とホワイトリストウォレットアドレスを入力します。 - - 「Continue」をクリックし、取引を確定してください。 +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. +4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. +5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. +6. Select the amount of GRT you want to purchase. +7. Review your purchase and click "Buy GRT". +8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. + - Click on the "wallet" button, click withdraw, and select GRT. + - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -BinanceでGRTを入手する詳細については、[こちら](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582)をご覧いただけます。 +You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). ### Uniswap -これがUniswapでGRTを購入する方法です。 +This is how you can purchase GRT on Uniswap. -1. [Uniswap](https://app.uniswap.org/#/swap) にアクセスし、ウォレットを接続します。 -2. スワップ元となるトークンを選択します。ETHを選択します。 -3. 交換したいトークンを選択します。GRTを選択します。 - - 正しいトークンにスワップしていることを確認してください。GRTスマートコントラクトのアドレスは `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` -4. スワップしたいETHの量を入力します。 -5. 「Swap」をクリックします。 -6. ウォレットで取引を確認し、あなたは取引が処理されるのを待ちます。 +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. +2. Select the token you want to swap from. Select ETH. +3. Select the token you want to swap to. Select GRT. + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +4. Enter the amount of ETH you want to swap. +5. Click "Swap". +6. Confirm the transaction in your wallet and you wait for the transaction to process. -UniswapでGRTを入手する詳細については、[こちら](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-)をご覧いただけます。 +You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## イーサリアムの入手 +## Getting Ether -このセクションでは、トランザクション手数料やガスコストに支払うためにEthereum(ETH)を入手する方法を説明します。ETHは、トークンの送金や契約とのやり取りなど、Ethereumネットワークで操作を実行するために必要です。 +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase -これは、CoinbaseでETHを購入するためのステップバイステップのガイドになります。 - -1. [Coinbase](https://www.coinbase.com/)にアクセスし、アカウントを作成する。 -2. アカウントを作成したら、KYC(Know Your Customer)として知られるプロセスを通じて身元を確認してください。これは、すべての中央集権的またはカストディアルな暗号通貨取引所で行われる標準的な手続きです。 -3. 身元を確認したら、「Buy/Sell」ボタンをページの右上にクリックしてETHを購入してください。 -4. 購入したい通貨を選択してください。ETHを選択します。 -5. お好きな支払い方法を選択してください。 -6. 購入したいETHの数量を入力してください。 -7. 購入内容を確認し、「ETHを購入」をクリックしてください。 -8. 購入を確認すると、ETHを正常に購入することができます。 -9. Coinbaseアカウントから[MetaMask](https://metamask.io/)などの暗号通貨ウォレットにETHを送金できます。 - - ETHを暗号通貨ウォレットに送金するには、ページの右上にある「Accounts」ボタンをクリックしてください。 - - ETHアカウントの隣にある「送信」ボタンをクリックしてください。 - - 送金したいETHの金額と送金先のウォレットアドレスを入力してください。 - - 「Continue」をクリックし、取引を確定してください。 +This will be a step by step guide for purchasing ETH on Coinbase. + +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select ETH. +5. Select your preferred payment method. +6. Enter the amount of ETH you want to purchase. +7. Review your purchase and click "Buy ETH". +8. Confirm your purchase and you will have successfully purchased ETH. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the ETH account. + - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. CoinbaseでETHを入手する詳細については、[こちら](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency)をご覧いただけます。 @@ -187,22 +164,33 @@ CoinbaseでETHを入手する詳細については、[こちら](https://help.co これは、BinanceでETHを購入するためのステップバイステップのガイドになります。 -1. [Binance](https://www.binance.com/en)にアクセスし、アカウントを作成する。 -2. アカウントを作成したら、KYC(Know Your Customer)として知られるプロセスを通じて身元を確認してください。これは、すべての中央集権的またはカストディアルな暗号通貨取引所で行われる標準的な手続きです。 +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. 身元を確認したら、ホームページバナーの「Buy Now」ボタンをクリックしてETHを購入してください。 -4. 購入したい通貨を選択してください。ETHを選択します。 -5. お好きな支払い方法を選択してください。 -6. 購入したいETHの数量を入力してください。 -7. 購入内容を確認し、「ETHを購入」をクリックしてください。 +4. Select the currency you want to purchase. Select ETH. +5. Select your preferred payment method. +6. Enter the amount of ETH you want to purchase. +7. Review your purchase and click "Buy ETH". 8. 購入を確認すると、BinanceのSpotウォレットにETHが表示されます。 -9. ETHをアカウントから[MetaMask](https://metamask.io/)などの暗号通貨ウォレットに引き出すことができます。 - - ETHを暗号通貨ウォレットに引き出すために、引き出しのホワイトリストに暗号通貨ウォレットのアドレスを追加してください。 +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - 「ウォレット」ボタンをクリックし、その後「引き出し」をクリックし、ETHを選択してください。 - 送金したいETHの金額と送金先のホワイトリストに登録されているウォレットアドレスを入力してください。 - - 「Continue」をクリックし、取引を確定してください。 + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. BinanceでETHを入手する詳細については、[こちら](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582)をご覧いただけます。 -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -請求契約は、GRTをEthereumメインネットからArbitrumネットワークに移すために設計されています。ArbitrumからGRTをEthereumメインネットに戻す場合は、[Arbitrumブリッジ](https://bridge.arbitrum.io/?l2ChainId=42161)を使用する必要があります。 +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 2a615bf69ec264a68d5a4324c1fcd6f452bb3abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:41 -0400 Subject: [PATCH 0667/2326] New translations billing.mdx (Korean) --- website/pages/ko/billing.mdx | 160 ++++++++++++++++------------------- 1 file changed, 74 insertions(+), 86 deletions(-) diff --git a/website/pages/ko/billing.mdx b/website/pages/ko/billing.mdx index 34a1ed7a8ce0..a4b8d3f03de2 100644 --- a/website/pages/ko/billing.mdx +++ b/website/pages/ko/billing.mdx @@ -2,104 +2,80 @@ title: Billing --- -> Invoices are generated on a weekly basis. +## Subgraph Billing Plans -There are two options for paying for your query fees: +There are two plans to use when querying subgraphs on The Graph Network. -- [Paying with fiat currency with Banxa](#billing-with-banxa) -- [Paying with crypto wallet](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Billing with Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa enables you to bypass the need for an exchange and pay for your query fees using the fiat currency of your choice. The fiat currency will be converted to GRT, added to your account balance on the billing contract, and used to pay for queries associated with your API keys. + -There may be KYC requirements depending on the regulations in your country. For more information about KYC, please visit [Banxa's FAQ page](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -You can learn more about Banxa by reading their [documentation](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Paying for query fees with Banxa +## Query Payments with GRT -1. Select “Pay with Card” option in [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Enter the amount of GRT to be added to your account balance. -3. Click the 'Continue with Banxa' button. -4. Enter necessary banking information on Banxa including payment method & fiat currency of choice. -5. Finish the transaction. - -It may take up to 10 minutes to complete the transaction. Once the transaction is confirmed, the purchased GRT will automatically be added to your account balance on Arbitrum. - -## Billing on Arbitrum - -While The Graph protocol operates on Ethereum Mainnet, [the billing contract](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) lives on the [Arbitrum](https://arbitrum.io/) network to reduce transaction times and cost. You'll be required to pay the query fees generated from your API keys. Using the billing contract, you'll be able to: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Add and withdraw GRT from your account balance. - Keep track of your balances based on how much GRT you have added to your account balance, how much you have removed, and your invoices. - Automatically pay invoices based on query fees generated, as long as there is enough GRT in your account balance. -### Adding GRT using a crypto wallet +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> This section is written assuming you already have GRT in your crypto wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Enter the amount of GRT you want to add to your account balance. You can also select the maximum amount of GRT you want to add to your account balance by clicking on the "Max" button. - -5. Click 'Allow GRT Access' to allow the Subgraph Studio to access your GRT. Sign the associated transaction in your wallet. This will not cost any gas. - -6. Click 'Add GRT to account balance' to add the GRT to your account balance. Sign the associated transaction in your wallet. This will cost gas. - -7. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a crypto wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on the Arbitrum network. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. 4. Enter the amount of GRT you would like to withdraw. - 5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. - 6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Adding GRT using a multisig wallet - - 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a multisig wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on Ethereum mainnet. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - -4. Enter the amount of GRT you would like to withdraw. Specify the receiving wallet which will receive the GRT from this transaction. The GRT will be sent to the receiving wallet on Arbitrum. - -5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. - -6. Once the transaction is confirmed, you'll see the GRT added to your Arbitrum wallet within an hour. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. ## Getting GRT @@ -117,11 +93,11 @@ This will be a step by step guide for purchasing GRT on Coinbase. 6. Select the amount of GRT you want to purchase. 7. Review your purchase. Review your purchase and click "Buy GRT". 8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. -9. You can transfer the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the GRT to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the GRT account. - Enter the amount of GRT you want to send and the wallet address you want to send it to. - - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a crypto wallet. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -137,8 +113,8 @@ This will be a step by step guide for purchasing GRT on Binance. 6. Select the amount of GRT you want to purchase. 7. Review your purchase and click "Buy GRT". 8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. -9. You can withdraw the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your crypto wallet, add your crypto wallet's address to the withdrawel whitelist. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. - Click on the "wallet" button, click withdraw, and select GRT. - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. - Click "Continue" and confirm your transaction. @@ -149,19 +125,19 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Go to [Uniswap](https://app.uniswap.org/#/swap) and connect your wallet. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. 2. Select the token you want to swap from. Select ETH. 3. Select the token you want to swap to. Select GRT. - - Make sure you're swapping for the correct token. The GRT smart contract address is: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) 4. Enter the amount of ETH you want to swap. 5. Click "Swap". 6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase @@ -175,10 +151,11 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 9ac2ef9b20c5bbfd31c6cbcfa80a5e29c99ebbaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:42 -0400 Subject: [PATCH 0668/2326] New translations billing.mdx (Dutch) --- website/pages/nl/billing.mdx | 160 ++++++++++++++++------------------- 1 file changed, 74 insertions(+), 86 deletions(-) diff --git a/website/pages/nl/billing.mdx b/website/pages/nl/billing.mdx index 34a1ed7a8ce0..a4b8d3f03de2 100644 --- a/website/pages/nl/billing.mdx +++ b/website/pages/nl/billing.mdx @@ -2,104 +2,80 @@ title: Billing --- -> Invoices are generated on a weekly basis. +## Subgraph Billing Plans -There are two options for paying for your query fees: +There are two plans to use when querying subgraphs on The Graph Network. -- [Paying with fiat currency with Banxa](#billing-with-banxa) -- [Paying with crypto wallet](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Billing with Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa enables you to bypass the need for an exchange and pay for your query fees using the fiat currency of your choice. The fiat currency will be converted to GRT, added to your account balance on the billing contract, and used to pay for queries associated with your API keys. + -There may be KYC requirements depending on the regulations in your country. For more information about KYC, please visit [Banxa's FAQ page](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -You can learn more about Banxa by reading their [documentation](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Paying for query fees with Banxa +## Query Payments with GRT -1. Select “Pay with Card” option in [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Enter the amount of GRT to be added to your account balance. -3. Click the 'Continue with Banxa' button. -4. Enter necessary banking information on Banxa including payment method & fiat currency of choice. -5. Finish the transaction. - -It may take up to 10 minutes to complete the transaction. Once the transaction is confirmed, the purchased GRT will automatically be added to your account balance on Arbitrum. - -## Billing on Arbitrum - -While The Graph protocol operates on Ethereum Mainnet, [the billing contract](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) lives on the [Arbitrum](https://arbitrum.io/) network to reduce transaction times and cost. You'll be required to pay the query fees generated from your API keys. Using the billing contract, you'll be able to: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Add and withdraw GRT from your account balance. - Keep track of your balances based on how much GRT you have added to your account balance, how much you have removed, and your invoices. - Automatically pay invoices based on query fees generated, as long as there is enough GRT in your account balance. -### Adding GRT using a crypto wallet +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> This section is written assuming you already have GRT in your crypto wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Enter the amount of GRT you want to add to your account balance. You can also select the maximum amount of GRT you want to add to your account balance by clicking on the "Max" button. - -5. Click 'Allow GRT Access' to allow the Subgraph Studio to access your GRT. Sign the associated transaction in your wallet. This will not cost any gas. - -6. Click 'Add GRT to account balance' to add the GRT to your account balance. Sign the associated transaction in your wallet. This will cost gas. - -7. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a crypto wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on the Arbitrum network. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. 4. Enter the amount of GRT you would like to withdraw. - 5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. - 6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Adding GRT using a multisig wallet - - 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a multisig wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on Ethereum mainnet. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - -4. Enter the amount of GRT you would like to withdraw. Specify the receiving wallet which will receive the GRT from this transaction. The GRT will be sent to the receiving wallet on Arbitrum. - -5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. - -6. Once the transaction is confirmed, you'll see the GRT added to your Arbitrum wallet within an hour. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. ## Getting GRT @@ -117,11 +93,11 @@ This will be a step by step guide for purchasing GRT on Coinbase. 6. Select the amount of GRT you want to purchase. 7. Review your purchase. Review your purchase and click "Buy GRT". 8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. -9. You can transfer the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the GRT to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the GRT account. - Enter the amount of GRT you want to send and the wallet address you want to send it to. - - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a crypto wallet. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -137,8 +113,8 @@ This will be a step by step guide for purchasing GRT on Binance. 6. Select the amount of GRT you want to purchase. 7. Review your purchase and click "Buy GRT". 8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. -9. You can withdraw the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your crypto wallet, add your crypto wallet's address to the withdrawel whitelist. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. - Click on the "wallet" button, click withdraw, and select GRT. - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. - Click "Continue" and confirm your transaction. @@ -149,19 +125,19 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Go to [Uniswap](https://app.uniswap.org/#/swap) and connect your wallet. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. 2. Select the token you want to swap from. Select ETH. 3. Select the token you want to swap to. Select GRT. - - Make sure you're swapping for the correct token. The GRT smart contract address is: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) 4. Enter the amount of ETH you want to swap. 5. Click "Swap". 6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase @@ -175,10 +151,11 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From f8bd0c6e888f5391cc670df8010de4548b1c7961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:43 -0400 Subject: [PATCH 0669/2326] New translations billing.mdx (Polish) --- website/pages/pl/billing.mdx | 160 ++++++++++++++++------------------- 1 file changed, 74 insertions(+), 86 deletions(-) diff --git a/website/pages/pl/billing.mdx b/website/pages/pl/billing.mdx index 34a1ed7a8ce0..a4b8d3f03de2 100644 --- a/website/pages/pl/billing.mdx +++ b/website/pages/pl/billing.mdx @@ -2,104 +2,80 @@ title: Billing --- -> Invoices are generated on a weekly basis. +## Subgraph Billing Plans -There are two options for paying for your query fees: +There are two plans to use when querying subgraphs on The Graph Network. -- [Paying with fiat currency with Banxa](#billing-with-banxa) -- [Paying with crypto wallet](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Billing with Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa enables you to bypass the need for an exchange and pay for your query fees using the fiat currency of your choice. The fiat currency will be converted to GRT, added to your account balance on the billing contract, and used to pay for queries associated with your API keys. + -There may be KYC requirements depending on the regulations in your country. For more information about KYC, please visit [Banxa's FAQ page](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -You can learn more about Banxa by reading their [documentation](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Paying for query fees with Banxa +## Query Payments with GRT -1. Select “Pay with Card” option in [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Enter the amount of GRT to be added to your account balance. -3. Click the 'Continue with Banxa' button. -4. Enter necessary banking information on Banxa including payment method & fiat currency of choice. -5. Finish the transaction. - -It may take up to 10 minutes to complete the transaction. Once the transaction is confirmed, the purchased GRT will automatically be added to your account balance on Arbitrum. - -## Billing on Arbitrum - -While The Graph protocol operates on Ethereum Mainnet, [the billing contract](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) lives on the [Arbitrum](https://arbitrum.io/) network to reduce transaction times and cost. You'll be required to pay the query fees generated from your API keys. Using the billing contract, you'll be able to: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Add and withdraw GRT from your account balance. - Keep track of your balances based on how much GRT you have added to your account balance, how much you have removed, and your invoices. - Automatically pay invoices based on query fees generated, as long as there is enough GRT in your account balance. -### Adding GRT using a crypto wallet +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> This section is written assuming you already have GRT in your crypto wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Enter the amount of GRT you want to add to your account balance. You can also select the maximum amount of GRT you want to add to your account balance by clicking on the "Max" button. - -5. Click 'Allow GRT Access' to allow the Subgraph Studio to access your GRT. Sign the associated transaction in your wallet. This will not cost any gas. - -6. Click 'Add GRT to account balance' to add the GRT to your account balance. Sign the associated transaction in your wallet. This will cost gas. - -7. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a crypto wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on the Arbitrum network. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. 4. Enter the amount of GRT you would like to withdraw. - 5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. - 6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Adding GRT using a multisig wallet - - 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a multisig wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on Ethereum mainnet. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - -4. Enter the amount of GRT you would like to withdraw. Specify the receiving wallet which will receive the GRT from this transaction. The GRT will be sent to the receiving wallet on Arbitrum. - -5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. - -6. Once the transaction is confirmed, you'll see the GRT added to your Arbitrum wallet within an hour. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. ## Getting GRT @@ -117,11 +93,11 @@ This will be a step by step guide for purchasing GRT on Coinbase. 6. Select the amount of GRT you want to purchase. 7. Review your purchase. Review your purchase and click "Buy GRT". 8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. -9. You can transfer the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the GRT to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the GRT account. - Enter the amount of GRT you want to send and the wallet address you want to send it to. - - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a crypto wallet. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -137,8 +113,8 @@ This will be a step by step guide for purchasing GRT on Binance. 6. Select the amount of GRT you want to purchase. 7. Review your purchase and click "Buy GRT". 8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. -9. You can withdraw the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your crypto wallet, add your crypto wallet's address to the withdrawel whitelist. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. - Click on the "wallet" button, click withdraw, and select GRT. - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. - Click "Continue" and confirm your transaction. @@ -149,19 +125,19 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Go to [Uniswap](https://app.uniswap.org/#/swap) and connect your wallet. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. 2. Select the token you want to swap from. Select ETH. 3. Select the token you want to swap to. Select GRT. - - Make sure you're swapping for the correct token. The GRT smart contract address is: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) 4. Enter the amount of ETH you want to swap. 5. Click "Swap". 6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase @@ -175,10 +151,11 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 7b165bcb1ba95103bb487b8db8d517bb130df8a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:44 -0400 Subject: [PATCH 0670/2326] New translations billing.mdx (Portuguese) --- website/pages/pt/billing.mdx | 276 +++++++++++++++++------------------ 1 file changed, 132 insertions(+), 144 deletions(-) diff --git a/website/pages/pt/billing.mdx b/website/pages/pt/billing.mdx index fba845ad154d..ae49a7a3f1f9 100644 --- a/website/pages/pt/billing.mdx +++ b/website/pages/pt/billing.mdx @@ -2,183 +2,160 @@ title: Cobranças --- -> Os recibos são gerados semanalmente. +## Subgraph Billing Plans -Há duas opções para pagar as suas taxas de consulta: +There are two plans to use when querying subgraphs on The Graph Network. -- [Pagamento em moeda fiduciária com o Banxa](#billing-with-banxa) -- [Pagamento com uma carteira de cripto](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Cobranças no Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -O Banxa permite-lhe ultrapassar a necessidade de uma exchange (corretora de criptomoedas), e pagar as suas taxas de query com a moeda fiduciária de sua escolha. A fiduciária será convertida em GRT, adicionada ao seu saldo no contrato de cobrança, e usada para pagar por queries associados com as suas chaves de API. + -Talvez haja exigências de KYC ("conhecer o seu cliente"), a depender dos regulamentos no seu país. Para mais informações sobre o KYC, visite a [página de perguntas frequentes do Banxa](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -Aprenda mais sobre o Banxa na sua [documentação](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Clique no botão "Connect Wallet" (Conectar Carteira) no canto superior direito da página. Isto levará à página de seleção de carteira; lá, selecione a sua carteira e clique em "Connect". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Pagamento de taxas de query com o Banxa +## Query Payments with GRT -1. Selecione a opção "Pay with Card" (Pagar com Cartão) no [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Insira a quantia de GRT a ser depositada no saldo da sua conta. -3. Clique em 'Continue with Banxa' (Continuar com Banxa). -4. Insira as informações bancárias necessárias no Banxa, inclusive o método de pagamento e a moeda de escolha. -5. Finalize a transação. - -Pode demorar até 10 minutos para que a transação haja êxito. Quando for confirmada, o GRT comprado será depositado automaticamente no seu saldo no Arbitrum. - -## Cobranças no Arbitrum - -Enquanto o protocolo do The Graph opera na Mainnet do Ethereum, [o contrato de cobrança](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) vive na rede [Arbitrum](https://arbitrum.io/) para reduzir o tempo e custo de transação. Você deverá pagar as taxas de query geradas das suas chaves de API. Usando o contrato de cobrança, poderá: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Depositar e sacar GRT do seu saldo. - Acompanhar os seus balanços com base em quanto GRT depositou ao seu saldo, quanto retirou, e nos seus recibos. - Pagar recibos automaticamente com base nas taxas de query geradas, desde que tenha GRT suficiente no seu saldo. -### Depósitos de GRT com uma carteira de cripto +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> Esta seção presume que já tens GRT na sua carteira de cripto, e que está na mainnet Ethereum. Caso não tenha GRT, aprenda como adquirir GRT [aqui](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -Para um guia em vídeo sobre como depositar GRT no seu saldo de cobrança com uma carteira de cripto, assista este [vídeo](https://youtu.be/4Bw2sh0FxCg). - -1. Vá para a [página de Cobrança do Subgraph Studio](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Clique no botão "Connect Wallet" (Conectar Carteira) no canto superior direito da página. Isto levará à página de seleção de carteira; lá, selecione a sua carteira e clique em "Connect". - -3. Clique no botão 'Add GRT' (Depositar GRT) no centro da página, para abrir um painel lateral. - -4. Insira a quantidade de GRT que quer depositar. Também pode selecionar a quantidade máxima de GRT que quer depositar no botão "Max". - -5. Clique em 'Allow GRT Access' (Permitir Acesso de GRT) para permitir que o Subgraph Studio acesse o seu GRT. Assine a transação associada na sua carteira — isto não custará gas. - -6. Clique em 'Add GRT to account balance' (Adicionar GRT ao seu saldo) para depositar. Assine a transação associada na sua carteira — isto custará gas. - -7. Quando a transação for confirmada, verá o GRT depositado em dentro de uma hora. - -### Saques de GRT com uma carteira de cripto - -> Esta seção presume que depositou GRT no seu saldo no [Subgraph Studio](https://thegraph.com/studio/billing/), e que está na rede Arbitrum. - -1. Vá para a [página de Cobrança do Subgraph Studio](https://thegraph.com/studio/billing/). - -2. Clique em "Connect Wallet" (Conectar Carteira) no canto superior direito da página. Selecione a sua carteira e clique em "Connect". - -3. Clique no dropdown próximo ao botão 'Add GRT' no centro da página. Selecione 'Withdraw GRT' (Sacar GRT) para abrir um painel lateral. - -4. Insira a quantia de GRT que quer sacar. - -5. Clique em 'Withdraw GRT' (Sacar GRT) para sacar o GRT do seu saldo. Assine a transação associada na sua carteira — isto custa gas. O GRT será enviado à sua carteira Arbitrum. - -6. Quando a transação for confirmada, verá o GRT sacado do seu saldo na sua carteira Arbitrum. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. +4. Enter the amount of GRT you would like to withdraw. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Depósitos de GRT com uma carteira multisig - +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. -1. Vá para a [página de Cobrança do Subgraph Studio](https://thegraph.com/studio/billing/). +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. -2. Clique no botão "Connect Wallet" no canto superior direito da página, selecione a sua carteira e clique em "Connect". Se usar o [Gnosis-Sa0fe](https://gnosis-safe.io/), poderá conectar a sua multisig além da sua carteira de assinatura. Depois, assine a mensagem associada — isto não custa gas. +## Getting GRT -3. Clique no botão 'Add GRT' (Adicionar GRT) no centro da página para abrir um painel lateral. - -4. Quando a transação for confirmada, verá o GRT depositado no seu saldo em dentro de uma hora. - -### Saques de GRT com uma carteira multisig - -> Esta seção presume que depositaste GRT no seu saldo no [Subgraph Studio](https://thegraph.com/studio/billing/), e que está na mainnet Ethereum. - -1. Vá para a [página de Cobrança do Subgraph Studio](https://thegraph.com/studio/billing/). - -2. Clique no botão "Connect Wallet" (Conectar Carteira) no canto superior direito da página, selecione a sua carteira e clique em "Connect". - -3. Clique no dropdown próximo ao botão 'Add GRT' no centro da página e selecione 'Withdraw GRT' (Sacar GRT) para abrir um painel lateral. - -4. Insira a quantia de GRT que quer sacar. Especifique a carteira que receberá o GRT desta transação; o GRT será enviado à carteira destinatária no Arbitrum. - -5. Clique em 'Withdraw GRT' (Sacar GRT) para sacar o GRT do seu saldo. Assine a transação associada na sua carteira — isto custa gas. - -6. Quando a transação for confirmada, o GRT será adicionado à sua carteira no Arbitrum em dentro de uma hora. - -## Adquirir GRT - -Esta seção mostrará-lhe como adquirir GRT para pagar taxas de query. +This section will show you how to get GRT to pay for query fees. ### Coinbase -Este é um guia passo a passo sobre como comprar GRT na Coinbase. +This will be a step by step guide for purchasing GRT on Coinbase. -1. Crie uma conta na [Coinbase](https://www.coinbase.com/). -2. Quando tiver criado uma conta, precisará verificar a sua identidade através do processo chamado KYC (sigla em inglês para "Conheça o Seu Cliente"). Este é um processo comum em todas as exchanges de cripto, centralizadas ou custodiais. -3. Após verificar a sua identidade, poderá comprar GRT no botão "Comprar/Vender", no canto superior direito da página. -4. Selecione a moeda que deseja comprar — no caso, GRT. -5. Selecione o seu método de pagamento preferido. -6. Selecione a quantidade de GRT que deseja comprar. -7. Reveja a sua compra, e após verificar, clique em "Comprar GRT". -8. Confirme a sua compra, e o GRT será comprado com sucesso. -9. Pode transferir o GRT da sua conta à sua carteira de cripto, como o [MetaMask](https://metamask.io/). - - Para transferir o GRT à sua carteira de cripto, clique no botão "Contas" no canto superior direito da página. - - Clique em "Enviar", próximo à conta de GRT. - - Insira a quantia de GRT que deseja enviar, e o endereço da carteira que a receberá. - - Clique em "Continuar" e confirme a sua transação. Note que para compras maiores, a Coinbase pode demorar de 7 a 10 dias antes de transferir a quantia completa a uma carteira de cripto. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select GRT. +5. Select the payment method. Select your preferred payment method. +6. Select the amount of GRT you want to purchase. +7. Review your purchase. Review your purchase and click "Buy GRT". +8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the GRT account. + - Enter the amount of GRT you want to send and the wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. -Saiba mais sobre como adquirir GRT na Coinbase [aqui](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). +You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). ### Binance -Este é um guia passo a passo para comprar GRT na Binance. +This will be a step by step guide for purchasing GRT on Binance. -1. Crie uma conta na [Binance](https://www.binance.com/en). -2. Quando tiver criado uma conta, precisará verificar a sua identidade através do processo chamado KYC (sigla em inglês para "Conheça o Seu Cliente"). Este é um processo comum em todas as exchanges de cripto, centralizadas ou custodiais. -3. Após verificar a sua identidade, poderá comprar GRT no botão "Comprar Agora", no canto superior direito da página. -4. O botão levará-lhe a uma página onde pode selecionar a moeda que deseja comprar. Selecione GRT. -5. Selecione o seu método de pagamento preferido. Poderá pagar com moedas fiduciárias diferentes, como Euro, Dólar americano, e mais. -6. Selecione a quantia de GRT que deseja comprar. -7. Reveja a sua compra e clique em "Comprar GRT". -8. Confirme a sua compra, e logo verá o seu GRT na sua Carteira Spot da Binance. -9. Pode transferir o GRT da sua conta à sua carteira de cripto, como o [MetaMask](https://metamask.io/). - - [Para sacar](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) o GRT à sua carteira de cripto, adicione o endereço da sua carteira de cripto à whitelist de saque. - - Clique no botão "wallet", clique em "sacar", e selecione GRT. - - Insira a quantia de GRT que deseja enviar, e o endereço da carteira na whitelist à qual quer enviar. - - Clique em "Continuar" e confirme a sua transação. +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. +4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. +5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. +6. Select the amount of GRT you want to purchase. +7. Review your purchase and click "Buy GRT". +8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. + - Click on the "wallet" button, click withdraw, and select GRT. + - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Saiba mais sobre como adquirir GRT na Binance [aqui](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). +You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). ### Uniswap -Veja como comprar GRT no Uniswap. +This is how you can purchase GRT on Uniswap. -1. Vá para o [Uniswap](https://app.uniswap.org/#/swap) e conecte a sua carteira. -2. Selecione o token que quer trocar — no caso, ETH. -3. Selecione o token pelo que quer trocar — no caso, GRT. - - Tenha ciência de que trocará para o token correto. O endereço do contrato inteligente do GRT é: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` -4. Insira a quantia de ETH que deseja trocar. -5. Clique em "Swap". -6. Confirme a transação na sua carteira e espere que a transação seja processada. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. +2. Select the token you want to swap from. Select ETH. +3. Select the token you want to swap to. Select GRT. + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +4. Enter the amount of ETH you want to swap. +5. Click "Swap". +6. Confirm the transaction in your wallet and you wait for the transaction to process. -Saiba mais sobre como adquirir GRT no Uniswap [aqui](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). +You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Como adquirir Ethereum +## Getting Ether -Esta seção mostrará-lhe como adquirir Ethereum (ETH) para pagar por taxas de transação ou gas. É necessário ter ETH para executar operações na rede Ethereum, como a transferência de tokens ou interação com contratos. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase -Este é um guia passo a passo sobre como comprar ETH na Coinbase. - -1. Crie uma conta na [Coinbase](https://www.coinbase.com/). -2. Quando tiver criado uma conta, verifique a sua identidade através do processo KYC (sigla em inglês para "Conheça o Seu Cliente"). Este processo é comum em todas as corretoras de cripto, centralizadas ou custodiais. -3. Após verificar a sua identidade, compre ETH no botão "Comprar/Vender", no canto superior direito da página. -4. Selecione a moeda que deseja comprar — no caso, ETH. -5. Selecione o seu método de pagamento preferido. -6. Insira a quantia de ETH que deseja comprar. -7. Reveja a sua compra e clique em "Comprar ETH". -8. Confirme a sua compra, e o ETH será comprado com sucesso. -9. Pode transferir o ETH da sua conta à sua carteira de cripto, como o [MetaMask](https://metamask.io/). - - Para transferir o ETH à sua carteira de cripto, clique no botão "Contas" no canto superior direito da página. - - Clique em "Enviar", próximo à conta de ETH. - - Insira a quantia de ETH que deseja enviar, e o endereço da carteira que a receberá. +This will be a step by step guide for purchasing ETH on Coinbase. + +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select ETH. +5. Select your preferred payment method. +6. Enter the amount of ETH you want to purchase. +7. Review your purchase and click "Buy ETH". +8. Confirm your purchase and you will have successfully purchased ETH. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the ETH account. + - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Clique em "Continuar" e confirme a sua transação. Saiba mais sobre como adquirir ETH na Coinbase [aqui](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -187,22 +164,33 @@ Saiba mais sobre como adquirir ETH na Coinbase [aqui](https://help.coinbase.com/ Este é um guia passo a passo sobre como comprar ETH na Binance. -1. Crie uma conta na [Binance](https://www.binance.com/en). -2. Quando tiver criado uma conta, verifique a sua identidade através do processo KYC (sigla em inglês para "Conheça o Seu Cliente"). Este processo é comum em todas as corretoras de cripto, centralizadas ou custodiais. +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Após verificar a sua identidade, poderá comprar ETH no botão "Comprar/Vender", no banner da página principal. -4. Selecione a moeda que deseja comprar — no caso, ETH. -5. Selecione o seu método de pagamento preferido. -6. Insira a quantia de ETH que deseja comprar. -7. Reveja a sua compra e clique em "Comprar ETH". +4. Select the currency you want to purchase. Select ETH. +5. Select your preferred payment method. +6. Enter the amount of ETH you want to purchase. +7. Review your purchase and click "Buy ETH". 8. Confirme a sua compra, e o seu ETH aparecerá na sua Carteira Spot da Binance. -9. Pode transferir o ETH da sua conta à sua carteira de cripto, como o [MetaMask](https://metamask.io/). - - Para transferir o ETH à sua carteira de cripto, adicione o endereço da sua carteira à whitelist de saques. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Clique no botão "wallet", clique em "sacar" (withdraw), e selecione ETH. - Insira a quantia de ETH que deseja enviar, e o endereço da carteira na whitelist à qual quer enviar. - - Clique em "Continuar" e confirme a sua transação. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. Saiba mais sobre como adquirir ETH na Binance [aqui](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -O contrato inteligente só é projetado para bridgear GRT da mainnet Ethereum até a rede Arbitrum. Se quiser transferir o seu GRT do Arbitrum de volta à mainnet Ethereum, precisará usar a [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From e1377f3174a824aab1e3a5d17668496dbf166256 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:45 -0400 Subject: [PATCH 0671/2326] New translations billing.mdx (Russian) --- website/pages/ru/billing.mdx | 240 +++++++++++++++++------------------ 1 file changed, 114 insertions(+), 126 deletions(-) diff --git a/website/pages/ru/billing.mdx b/website/pages/ru/billing.mdx index a69a01687d48..5212e09a1df4 100644 --- a/website/pages/ru/billing.mdx +++ b/website/pages/ru/billing.mdx @@ -2,106 +2,82 @@ title: Выставление счетов --- -> Счета формируются еженедельно. +## Subgraph Billing Plans -Существует два варианта оплаты сборов за запросы: +There are two plans to use when querying subgraphs on The Graph Network. -- [Оплата фиатной валютой через Banxa](#billing-with-banxa) -- [Оплата с помощью криптокошелька](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Выставление счетов через Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa позволяет Вам избежать необходимости обмена и оплачивать сборы за запросы, используя выбранную Вами валюту. Фиатная валюта будет конвертирована в GRT, добавлена к балансу Вашего счета в договоре выставления счетов и использована для оплаты запросов, связанных с Вашими ключами API. + -В зависимости от правил, применимых для Вашей страны, могут быть требования KYC. Для получения дополнительной информации о KYC посетите [страницу часто задаваемых вопросов Banxa](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -Вы можете узнать больше о Banxa, ознакомившись с [документацией](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Нажмите на кнопку «Connect Wallet» в правом верхнем углу страницы. Вы будете перенаправлены на страницу выбора кошелька. Выберите свой кошелек и нажмите «Connect». + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Оплата комиссии за запрос через Banxa +## Query Payments with GRT -1. Выберите опцию «Pay with Card» в [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Введите сумму GRT, которая будет добавлена на баланс Вашего счета. -3. Нажмите кнопку «Continue with Banxa». -4. Введите необходимую банковскую информацию о Banxa, включая способ оплаты и выбранную валюту. -5. Завершите транзакцию. - -Для завершения транзакции может потребоваться до 10 минут. Как только транзакция будет подтверждена, купленные GRT будут автоматически добавлены к балансу Вашего счета на Arbitrum. - -## Выставление счетов в сети Arbitrum - -Хотя протокол The Graph работает в основной сети Ethereum, [контракт на выставление счетов](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) находится в сети [Arbitrum](https://arbitrum.io/), чтобы сократить время и стоимость транзакций. Вам потребуется оплатить сборы за запросы, сгенерированные из Ваших ключей API. Используя договор выставления счетов, Вы сможете: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Добавлять и списывать токены GRT с Вашего платежного баланса. - Отслеживать баланс своих счетов на основе того, сколько токенов GRT Вы добавили к своему платежному балансу и сколько удалили. - Автоматически оплачивать счета на основе сгенерированных комиссий за запросы, если на Вашем платежном балансе достаточно токенов GRT. -### Добавление токенов GRT с помощью криптокошелька +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> Этот раздел предполагает, что в Вашем криптокошельке уже есть GRT и Вы находитесь в сети Ethereum. Если же у Вас нет GRT, Вы можете узнать, как их получить [здесь](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Перейдите на [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Нажмите на кнопку «Connect Wallet» в правом верхнем углу страницы. Вы будете перенаправлены на страницу выбора кошелька. Выберите свой кошелек и нажмите «Connect». - -3. Нажмите кнопку «Add GRT» в центре страницы. Появится боковая панель. - -4. Введите сумму GRT, которую Вы хотите добавить к своему платежному балансу. Вы также можете выбрать максимальную сумму токенов GRT, которую хотите добавить к своему платежному балансу, нажав кнопку «Max». - -5. Нажмите «Allow GRT Access», чтобы позволить Subgraph Studio получить доступ к вашим GRT. Подпишите соответствующую транзакцию в своем кошельке. За это Вам не придётся платить комиссию. - -6. Нажмите «Add GRT to billing balance», чтобы добавить токены GRT к платежному балансу. Подпишите соответствующую транзакцию в своем кошельке. При этом потребуется оплатить комиссию сети. - -7. Как только транзакция будет подтверждена, Вы увидите, что токены GRT будут добавлены к Вашему платежному балансу в течение часа. - -### Вывод токенов GRT с помощью криптокошелька - -> Этот раздел предполагает, что Вы внесли GRT на свой платежный счет в [Subgraph Studio](https://thegraph.com/studio/billing/) и находитесь в сети Arbitrum. - -1. Перейдите на [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. Нажмите на кнопку «Connect Wallet» в правом верхнем углу страницы. Выберите свой кошелек и нажмите «Connect». - -3. Выберите раскрывающийся список рядом с кнопкой «Add GRT» в центре страницы. Выберите Вывод GRT. Появится боковая панель. - -4. Введите сумму GRT, которую хотите вывести. - -5. Нажмите «Withdraw GRT», чтобы вывести токены GRT с Вашего платежного баланса. Подпишите соответствующую транзакцию в своем кошельке. За это потребуется оплата комиссии сети. Токены GRT будут отправлены на Ваш кошелек Arbitrum. - -6. Как только транзакция будет подтверждена, Вы увидите, что токены GRT списаны с Вашего платежного баланса в Вашем кошельке Arbitrum. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. +4. Enter the amount of GRT you would like to withdraw. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Добавление токенов GRT с помощью кошелька с мультиподписью - +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. -1. Перейдите на [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. -2. Кликните «Connect Wallet» в правом верхнем углу страницы. Выберите свой кошелек и нажмите «Connect». Если Вы используете [Gnosis-Safe](https://gnosis-safe.io/), Вы сможете подключить как стандартный кошелёк, так и кошелёк с мультиподписью. Затем подпишите соответствующую транзакцию. За это Вам не придётся платить комиссию. - -3. Нажмите кнопку «Add GRT» в центре страницы. Появится боковая панель. - -4. Как только транзакция будет подтверждена, Вы увидите, что токены GRT будут добавлены к Вашему платежному балансу в течение часа. - -### Вывод токенов GRT с помощью кошелька с мультиподписью - -> Этот раздел предполагает, что Вы внесли GRT на свой платежный счет в [Subgraph Studio](https://thegraph.com/studio/billing/) и находитесь в основной сети Ethereum. - -1. Перейдите на [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. Нажмите на кнопку «Connect Wallet» в правом верхнем углу страницы. Выберите свой кошелек и нажмите «Connect». - -3. Выберите раскрывающийся список рядом с кнопкой «Add GRT» в центре страницы. Выберите Вывод GRT. Появится боковая панель. - -4. Введите сумму GRT, которую хотите вывести. Укажите принимающий кошелек, который получит GRT по этой транзакции. Токен GRT будет отправлен на принимающий кошелек в сети Arbitrum. - -5. Нажмите «Withdraw GRT», чтобы вывести токены GRT с Вашего платежного баланса. Подпишите соответствующую транзакцию в своем кошельке. За это потребуется оплата комиссии сети. - -6. Как только транзакция будет подтверждена, Вы увидите, что GRT будут добавлены в Ваш кошелек в сети Arbitrum в течение часа. - -## Получение токенов GRT +## Getting GRT This section will show you how to get GRT to pay for query fees. @@ -109,19 +85,19 @@ This section will show you how to get GRT to pay for query fees. This will be a step by step guide for purchasing GRT on Coinbase. -1. Перейдите на [Coinbase](https://www.coinbase.com/) и создайте учетную запись. -2. После того как Вы создали учетную запись, Вам нужно будет подтвердить свою личность с помощью процесса, известного как KYC (или Know Your Customer). Это стандартная процедура для всех централизованных или кастодиальных криптобирж. -3. После того как Вы подтвердили свою личность, Вы можете приобрести токены GRT. Вы можете сделать это, нажав на кнопку «Buy/Sell» в правом верхнем углу страницы. -4. Выберите валюту, которую хотите купить. Выберите токен GRT. -5. Выберите способ оплаты. Выберите предпочитаемый способ оплаты. -6. Выберите количество токенов GRT, которое хотите приобрести. -7. Проверьте все данные о приобретении. Проверьте все данные о приобретении и нажмите «Buy GRT». -8. Подтвердите покупку. Подтвердите покупку - Вы успешно приобрели токены GRT. -9. Вы можете перевести токены GRT со своей учетной записи на свой криптокошелек, например, на [MetaMask](https://metamask.io/). - - Чтобы перевести токены GRT на свой криптокошелек, нажмите кнопку «Accounts» в правом верхнем углу страницы. - - Нажмите на кнопку «Send» рядом с учетной записью GRT. - - Введите сумму GRT, которую хотите отправить, и адрес кошелька, на который хотите её отправить. - - Нажмите «Continue» и подтвердите транзакцию. -Обратите внимание, что при больших суммах покупки Coinbase может потребовать от Вас подождать 7-10 дней, прежде чем переводить полную сумму на криптокошелек. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select GRT. +5. Select the payment method. Select your preferred payment method. +6. Select the amount of GRT you want to purchase. +7. Review your purchase. Review your purchase and click "Buy GRT". +8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the GRT account. + - Enter the amount of GRT you want to send and the wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -129,19 +105,19 @@ You can learn more about getting GRT on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing GRT on Binance. -1. Перейдите на [Binance](https://www.binance.com/en) и создайте учетную запись. -2. После того как Вы создали учетную запись, Вам нужно будет подтвердить свою личность с помощью процесса, известного как KYC (или Know Your Customer). Это стандартная процедура для всех централизованных или кастодиальных криптобирж. -3. После того как Вы подтвердили свою личность, Вы можете приобрести токены GRT. Вы можете сделать это, нажав на кнопку «Buy Now» на баннере главной страницы. -4. Вы попадете на страницу, где сможете выбрать валюту, которую хотите приобрести. Выберите GRT. -5. Выберите предпочитаемый способ оплаты. Вы сможете расплачиваться различными фиатными валютами, такими как евро, доллары США и т. д. -6. Выберите количество токенов GRT, которое хотите приобрести. -7. Проверьте все данные о приобретении и нажмите «Buy GRT». -8. Подтвердите покупку, и Вы сможете увидеть GRT в своем кошельке Binance Spot. -9. Вы можете вывести GRT со своей учетной записи на свой криптокошелек, например, на [MetaMask](https://metamask.io/). - - [Чтобы вывести](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) GRT в свой криптокошелек, добавьте адрес Вашего криптокошелька в белый список вывода средств. - - Нажмите на кнопку «wallet», нажмите «withdraw» и выберите GRT. - - Введите сумму GRT, которую хотите отправить, и адрес кошелька из белого списка, на который Вы хотите её отправить. - - Нажмите «Continue» и подтвердите транзакцию. +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. +4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. +5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. +6. Select the amount of GRT you want to purchase. +7. Review your purchase and click "Buy GRT". +8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. + - Click on the "wallet" button, click withdraw, and select GRT. + - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. + - Click "Continue" and confirm your transaction. You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). @@ -149,37 +125,38 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Перейдите на страницу [Uniswap](https://app.uniswap.org/#/swap) и подключите свой кошелек. -2. Выберите токен, который хотите обменять. Выберите ETH. -3. Выберите токен, на который хотите произвести обмен. Выберите GRT. - - Убедитесь, что обмениваете на правильный токен. Адрес смарт-контракта GRT: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` -4. Введите количество ETH, которое хотите обменять. -5. Нажмите «Swap». -6. Подтвердите транзакцию в своем кошельке и дождитесь ее обработки. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. +2. Select the token you want to swap from. Select ETH. +3. Select the token you want to swap to. Select GRT. + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +4. Enter the amount of ETH you want to swap. +5. Click "Swap". +6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase This will be a step by step guide for purchasing ETH on Coinbase. -1. Перейдите на [Coinbase](https://www.coinbase.com/) и создайте учетную запись. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. 2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. -4. Выберите валюту, которую хотите купить. Выберите токен ETH. -5. Выберите предпочитаемый способ оплаты. +4. Select the currency you want to purchase. Select ETH. +5. Select your preferred payment method. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. - - Нажмите «Continue» и подтвердите транзакцию. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -187,22 +164,33 @@ You can learn more about getting ETH on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing ETH on Binance. -1. Перейдите на [Binance](https://www.binance.com/en) и создайте учетную запись. +1. Go to [Binance](https://www.binance.com/en) and create an account. 2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Once you have verified your identity, purchase ETH by clicking on the "Buy Now" button on the homepage banner. -4. Выберите валюту, которую хотите купить. Выберите токен ETH. -5. Выберите предпочитаемый способ оплаты. +4. Select the currency you want to purchase. Select ETH. +5. Select your preferred payment method. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. - - Нажмите «Continue» и подтвердите транзакцию. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 799036f56a4bda01c0114b3e26776795f80ae838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:46 -0400 Subject: [PATCH 0672/2326] New translations billing.mdx (Swedish) --- website/pages/sv/billing.mdx | 262 +++++++++++++++++------------------ 1 file changed, 125 insertions(+), 137 deletions(-) diff --git a/website/pages/sv/billing.mdx b/website/pages/sv/billing.mdx index 39b6d6ad2cda..76273d3fa0d4 100644 --- a/website/pages/sv/billing.mdx +++ b/website/pages/sv/billing.mdx @@ -2,183 +2,160 @@ title: Fakturering --- -> Fakturor genereras veckovis. +## Subgraph Billing Plans -Det finns två alternativ för att betala dina frågeavgifter: +There are two plans to use when querying subgraphs on The Graph Network. -- [Betala med fiatvaluta med Banxa](#billing-with-banxa) -- [Betala med krypto-plånbok](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Betala med Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa möjliggör att du kan kringgå behovet av en börs och betala dina frågeavgifter med den fiatvaluta du väljer. Fiatvalutan kommer att konverteras till GRT, läggas till ditt kontosaldo på faktureringskontraktet och användas för att betala för frågor som är kopplade till dina API-nycklar. + -Beroende på reglerna i ditt land kan det finnas krav på KYC (känn din kund). För mer information om KYC, besök [Banxas FAQ-sida](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -Du kan lära dig mer om Banxa genom att läsa deras [dokumentation](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Klicka på knappen "Anslut plånbok" längst upp till höger på sidan. Du kommer att omdirigeras till sidan för plånboksval. Välj din plånbok och klicka på "Anslut". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Betala för frågeavgifter med Banxa +## Query Payments with GRT -1. Välj alternativet "Betala med kort" i [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Ange beloppet av GRT som ska läggas till ditt kontosaldo. -3. Klicka på knappen 'Fortsätt med Banxa'. -4. Ange nödvändig bankinformation på Banxa, inklusive betalningsmetod & önskad fiatvaluta. -5. Slutför transaktionen. - -Det kan ta upp till 10 minuter att slutföra transaktionen. När transaktionen är bekräftad kommer de köpta GRT automatiskt att läggas till ditt kontosaldo på Arbitrum. - -## Betala på Arbitrum - -Medan The Graf-protokollet verkar på Ethereum Mainnet, [faktureringskontraktet](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) finns på [Arbitrum](https://arbitrum.io/) nätverket för att minska transaktionstider och kostnader. Du kommer att behöva betala de frågeavgifter som genereras från dina API-nycklar. Genom att använda faktureringskontraktet kommer du att kunna: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Lägga till och ta ut GRT från ditt kontosaldo. - Hålla koll på dina saldon baserat på hur mycket GRT du har lagt till på ditt kontosaldo, hur mycket du har tagit bort och dina fakturor. - Automatiskt betala fakturor baserat på genererade frågeavgifter, så länge det finns tillräckligt med GRT på ditt kontosaldo. -### Lägga till GRT med en krypto-plånbok +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> Detta avsnitt är skrivet under förutsättning att du redan har GRT i din krypto-plånbok och att du är på Ethereum Mainnet. Om du inte har GRT kan du lära dig hur du får GRT [här](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -För en videogenomgång av att lägga till GRT på ditt faktureringskonto med en krypto-plånbok, titta på den här [videon](https://youtu.be/4Bw2sh0FxCg). - -1. Gå till [Subgraf Studio Billing-sidan](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Klicka på knappen "Anslut plånbok" längst upp till höger på sidan. Du kommer att omdirigeras till sidan för plånboksval. Välj din plånbok och klicka på "Anslut". - -3. Klicka på knappen 'Lägg till GRT' i mitten av sidan. En sidopanel kommer att visas. - -4. Ange beloppet av GRT du vill lägga till på ditt kontosaldo. Du kan också välja det maximala beloppet av GRT du vill lägga till på ditt kontosaldo genom att klicka på knappen "Max". - -5. Klicka på 'Tillåt GRT-åtkomst' för att tillåta Subgraf Studio att komma åt ditt GRT. Signera den associerade transaktionen i din plånbok. Detta kommer inte att kosta någon gas. - -6. Klicka på 'Lägg till GRT på kontosaldo' för att lägga till GRT på ditt kontosaldo. Signera den associerade transaktionen i din plånbok. Detta kommer att kosta gas. - -7. När transaktionen är bekräftad kommer du att se GRT som har lagts till på ditt kontosaldo inom en timme. - -### Ta ut GRT med en krypto-plånbok - -> Detta avsnitt är skrivet under förutsättning att du har satt in GRT på ditt kontosaldo på [Subgraf Studio](https://thegraph.com/studio/billing/) och att du är på Arbitrum-nätverket. - -1. Gå till [Subgraph Studio Billing-sidan](https://thegraph.com/studio/billing/). - -2. Klicka på knappen "Anslut plånbok" längst upp till höger på sidan. Välj din plånbok och klicka på "Anslut". - -3. Klicka på rullgardinsmenyn bredvid knappen 'Lägg till GRT' i mitten av sidan. Välj att ta ut GRT. En sidopanel kommer att visas. - -4. Ange beloppet av GRT du vill ta ut. - -5. Klicka på 'Ta ut GRT' för att ta ut GRT från ditt kontosaldo. Signera den associerade transaktionen i din plånbok. Detta kommer att kosta gas. GRT kommer att skickas till din Arbitrum-plånbok. - -6. När transaktionen är bekräftad kommer du att se att GRT har tagits ut från ditt kontosaldo på din Arbitrum-plånbok. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. +4. Enter the amount of GRT you would like to withdraw. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Lägga till GRT med en multisig-plånbok - - -1. Gå till [Subgraf Studios faktureringsida](https://thegraph.com/studio/billing/). - -2. Klicka på knappen "Anslut plånbok" längst upp till höger på sidan. Välj din plånbok och klicka på "Anslut". Om du använder [Gnosis-Safe](https://gnosis-safe.io/), kan du ansluta din multisig såväl som din signeringsplånbok. Signera sedan det associerade meddelandet. Detta kommer inte att kosta någon gas. - -3. Klicka på knappen 'Lägg till GRT' i mitten av sidan. En sidopanel kommer att visas. +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. -4. När transaktionen är bekräftad kommer du att se GRT som har lagts till på ditt kontosaldo inom en timme. +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. -### Ta ut GRT med en multisig-plånbok +## Getting GRT -> Detta avsnitt är skrivet under förutsättning att du har satt in GRT på ditt kontosaldo på [Subgraf Studio](https://thegraph.com/studio/billing/) och att du är på Ethereum Mainnet. - -1. Gå till [Subgraph Studios faktureringsida](https://thegraph.com/studio/billing/). - -2. Klicka på knappen "Anslut plånbok" längst upp till höger på sidan. Välj din plånbok och klicka på "Anslut". - -3. Klicka på rullgardinsmenyn bredvid knappen 'Lägg till GRT' i mitten av sidan. Välj att ta ut GRT. En sidopanel kommer att visas. - -4. Ange beloppet av GRT du vill ta ut. Ange den mottagande plånbok som kommer att ta emot GRT från denna transaktion. GRT kommer att skickas till den mottagande plånboken på Arbitrum. - -5. Klicka på 'Ta ut GRT' för att ta ut GRT från ditt kontosaldo. Signera den associerade transaktionen i din plånbok. Detta kommer att kosta gas. - -6. När transaktionen är bekräftad kommer du att se GRT som har lagts till i din Arbitrum-plånbok inom en timme. - -## Att få GRT - -Detta avsnitt kommer att visa dig hur du får GRT för att betala frågeavgifter. +This section will show you how to get GRT to pay for query fees. ### Coinbase -Detta kommer att vara en stegvis guide för att köpa GRT på Coinbase. +This will be a step by step guide for purchasing GRT on Coinbase. -1. Gå till [Coinbase](https://www.coinbase.com/) och skapa ett konto. -2. När du har skapat ett konto måste du verifiera din identitet genom en process som kallas KYC (Känn Din Kund). Detta är en standardprocedur för alla centraliserade eller förvarande kryptobörser. -3. När du har verifierat din identitet kan du köpa GRT. Du kan göra detta genom att klicka på knappen "Köp/Sälj" längst upp till höger på sidan. -4. Välj den valuta du vill köpa. Välj GRT. -5. Välj betalningsmetod. Välj din föredragna betalningsmetod. -6. Välj beloppet av GRT du vill köpa. -7. Granska ditt köp och klicka på "Köp GRT". -8. Bekräfta ditt köp och du kommer att ha köpt GRT framgångsrikt. -9. Du kan överföra GRT från ditt konto till din krypto-plånbok, som [MetaMask](https://metamask.io/). - - För att överföra GRT till din krypto-plånbok, klicka på knappen "Konton" längst upp till höger på sidan. - - Klicka på "Skicka" bredvid GRT-kontot. - - Ange beloppet av GRT du vill skicka och plånboksadressen du vill skicka det till. - - Klicka på "Fortsätt" och bekräfta din transaktion. Observera att Coinbase vid större köpbelopp kan kräva att du väntar 7-10 dagar innan du kan överföra hela beloppet till en krypto-plånbok. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select GRT. +5. Select the payment method. Select your preferred payment method. +6. Select the amount of GRT you want to purchase. +7. Review your purchase. Review your purchase and click "Buy GRT". +8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the GRT account. + - Enter the amount of GRT you want to send and the wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. -Du kan lära dig mer om att få GRT på Coinbase [här](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). +You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). ### Binance -Detta kommer att vara en stegvis guide för att köpa GRT på Binance. +This will be a step by step guide for purchasing GRT on Binance. -1. Gå till [Binance](https://www.binance.com/en) och skapa ett konto. -2. När du har skapat ett konto måste du verifiera din identitet genom en process som kallas KYC (Känn Din Kund). Detta är en standardprocedur för alla centraliserade eller förvarande kryptobörser. -3. När du har verifierat din identitet kan du köpa GRT. Du kan göra detta genom att klicka på knappen "Köp nu" på startsidan. -4. Du kommer att tas till en sida där du kan välja den valuta du vill köpa. Välj GRT. -5. Välj din föredragna betalningsmetod. Du kommer att kunna betala med olika fiatvalutor som euro, amerikanska dollar och mer. -6. Välj beloppet av GRT du vill köpa. -7. Granska ditt köp och klicka på "Köp GRT". -8. Bekräfta ditt köp och du kommer att kunna se din GRT i din Binance Spot Wallet. -9. Du kan ta ut GRT från ditt konto till din krypto-plånbok, som [MetaMask](https://metamask.io/). - - [För att ta ut](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) GRT till din krypto-plånbok, lägg till din krypto-plånboks adress till uttagsvitslistan. - - Klicka på knappen "Plånbok", klicka på "Ta ut" och välj GRT. - - Ange beloppet av GRT du vill skicka och den vitlistade plånboksadressen du vill skicka det till. - - Klicka på "Fortsätt" och bekräfta din transaktion. +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. +4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. +5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. +6. Select the amount of GRT you want to purchase. +7. Review your purchase and click "Buy GRT". +8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. + - Click on the "wallet" button, click withdraw, and select GRT. + - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Du kan lära dig mer om att få GRT på Binance [här](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). +You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). ### Uniswap -Detta är hur du kan köpa GRT på Uniswap. +This is how you can purchase GRT on Uniswap. -1. Gå till [Uniswap](https://app.uniswap.org/#/swap) och anslut din plånbok. -2. Välj den token du vill byta från. Välj ETH. -3. Välj den token du vill byta till. Välj GRT. - - Se till att du byter till rätt token. GRT-smartkontraktsadressen är: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` -4. Ange det belopp av ETH du vill byta. -5. Klicka på "Byt". -6. Bekräfta transaktionen i din plånbok och vänta på att transaktionen behandlas. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. +2. Select the token you want to swap from. Select ETH. +3. Select the token you want to swap to. Select GRT. + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +4. Enter the amount of ETH you want to swap. +5. Click "Swap". +6. Confirm the transaction in your wallet and you wait for the transaction to process. -Du kan lära dig mer om att få GRT på Uniswap [här](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). +You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Få Ethereum +## Getting Ether -Detta avsnitt kommer att visa dig hur du får Ethereum (ETH) för att betala transaktionsavgifter eller gas. ETH är nödvändigt för att utföra operationer på Ethereum-nätverket, såsom överföring av tokens eller interaktion med smarta kontrakt. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase -Detta kommer att vara en stegvis guide för att köpa ETH på Coinbase. - -1. Gå till [Coinbase](https://www.coinbase.com/) och skapa ett konto. -2. När du har skapat ett konto, verifiera din identitet genom en process som kallas KYC (Känn Din Kund). Detta är en standardprocedur för alla centraliserade eller förvarande kryptobörser. -3. När du har verifierat din identitet kan du köpa ETH genom att klicka på knappen "Köp/Sälj" längst upp till höger på sidan. -4. Välj den valuta du vill köpa. Välj ETH. -5. Välj din föredragna betalningsmetod. -6. Ange det belopp av ETH du vill köpa. -7. Granska ditt köp och klicka på "Köp ETH". -8. Bekräfta ditt köp och du kommer att ha köpt ETH framgångsrikt. -9. Du kan överföra ETH från ditt Coinbase-konto till din krypto-plånbok, som [MetaMask](https://metamask.io/). - - För att överföra ETH till din krypto-plånbok, klicka på knappen "Konton" längst upp till höger på sidan. - - Klicka på knappen "Skicka" bredvid ETH-kontot. - - Ange det belopp av ETH du vill skicka och plånboksadressen du vill skicka det till. +This will be a step by step guide for purchasing ETH on Coinbase. + +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select ETH. +5. Select your preferred payment method. +6. Enter the amount of ETH you want to purchase. +7. Review your purchase and click "Buy ETH". +8. Confirm your purchase and you will have successfully purchased ETH. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the ETH account. + - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Klicka på "Fortsätt" och bekräfta din transaktion. Du kan lära dig mer om att få ETH på Coinbase [här](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -195,14 +172,25 @@ Detta kommer att vara en stegvis guide för att köpa ETH på Binance. 6. Ange det belopp av ETH du vill köpa. 7. Granska ditt köp och klicka på "Köp ETH". 8. Bekräfta ditt köp och du kommer att se din ETH i din Binance Spot Wallet. -9. Du kan ta ut ETH från ditt konto till din krypto-plånbok, som [MetaMask](https://metamask.io/). - - För att ta ut ETH till din krypto-plånbok, lägg till din krypto-plånboks adress i uttagsvitslistan. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Klicka på knappen "plånbok", klicka på "Ta ut" och välj ETH. - Ange det belopp av ETH du vill skicka och den vitlistade plånboksadressen du vill skicka det till. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Klicka på "Fortsätt" och bekräfta din transaktion. Du kan lära dig mer om att få ETH på Binance [här](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum-bron +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -Faktureringskontraktet är endast utformat för att överföra GRT från Ethereum-mainnet till Arbitrum-nätverket. Om du vill överföra din GRT från Arbitrum tillbaka till Ethereum-mainnet måste du använda [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 183e0d096d69ecdba58282cffba3c80947068db5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:47 -0400 Subject: [PATCH 0673/2326] New translations billing.mdx (Turkish) --- website/pages/tr/billing.mdx | 278 +++++++++++++++++------------------ 1 file changed, 133 insertions(+), 145 deletions(-) diff --git a/website/pages/tr/billing.mdx b/website/pages/tr/billing.mdx index 8e8723f7d8de..91529efba873 100644 --- a/website/pages/tr/billing.mdx +++ b/website/pages/tr/billing.mdx @@ -2,184 +2,161 @@ title: Faturalandırma --- -> Faturalar haftalık olarak oluşturulur. +## Subgraph Billing Plans -Sorgu ücretlerinizi ödemek için iki seçeneğiniz vardır: +There are two plans to use when querying subgraphs on The Graph Network. -- [Banxa üzerinden fiat para birimi ile ödeme](#billing-with-banxa) -- [Kripto cüzdanı ile ödeme](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Banxa ile Faturalandırma +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa, takas ihtiyacını ortadan kaldırmanıza ve seçtiğiniz fiat para birimini kullanarak sorgu ücretlerinizi ödemenize olanak tanır. Fiat para birimi GRT'ye dönüştürülecek, faturalandırma sözleşmesindeki hesap bakiyenize eklenecek ve API anahtarlarınızla ilişkili sorgular için ödeme yapmak için kullanılacaktır. + -Ülkenizdeki düzenlemelere bağlı olarak KYC gereklilikleri olabilir. KYC hakkında daha fazla bilgi için lütfen [Banxa'nın SSS sayfasını](https://docs.banxa.com/docs/faqs) ziyaret edin. +## Query Payments with credit card -[Burada yer alan dökümanları](https://docs.banxa.com/docs) okuyarak Banxa hakkında daha fazla bilgi edinebilirsiniz. +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Sayfanın sağ üst köşesindeki "Cüzdanı Bağla" düğmesine tıklayın. Cüzdan seçim sayfasına yönlendirileceksiniz. Cüzdanınızı seçin ve "Bağlan" a tıklayın. + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Banxa ile sorgu ücretlerinin ödenmesi +## Query Payments with GRT -1. [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit)'da “Kartla Öde” seçeneğini seçin. -2. Hesap bakiyenize eklenecek GRT tutarını giriniz. -3. "Banxa ile Devam Et" düğmesine tıklayın. -4. Ödeme yöntemi & tercih edilen fiat para birimi dahil olmak üzere Banxa'da gerekli bankacılık bilgilerini girin. -5. İşlemi tamamlayın. - -İşlemin tamamlanması 10 dakika kadar sürebilir. İşlem onaylandıktan sonra satın alınan GRT, Arbitrum'daki hesap bakiyenize otomatik olarak eklenecektir. - -## Arbitrum'da Faturalandırma - -Graph protokolü Ethereum Mainnet üzerinde çalışırken [faturalandırma sözleşmesi](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a), işlem sürelerini ve maliyeti azaltmak için [Arbitrum](https://arbitrum.io/) ağında yaşar. API anahtarlarınızdan oluşturulan sorgu ücretlerini ödemeniz istenecektir. Faturalandırma sözleşmesini kullanarak şunları yapabileceksiniz: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Hesap bakiyenizden GRT ekleyin ve çekin. - Hesap bakiyenize ne kadar GRT eklediğiniz, ne kadar çektiğiniz ve faturalarınıza göre bakiyelerinizi takip edin. - Hesap bakiyenizde yeterli GRT olduğu sürece, oluşturulan sorgu ücretlerine göre faturaları otomatik olarak ödeyin. -### Kripto cüzdanı kullanarak GRT ekleme +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> Bu bölüm, kripto cüzdanınızda hali hazırda GRT olduğu ve Ethereum ana ağında olduğunuz varsayılarak yazılmıştır. GRT'niz yoksa, GRT'yi nasıl alacağınızı [buradan](#getting-grt) öğrenebilirsiniz. +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -Bir kripto cüzdanı kullanarak fatura bakiyenize GRT eklemeyi gösteren bir içerik arıyorsanız bu [video](https://youtu.be/4Bw2sh0FxCg)yu izleyin. - -1. [Subgraph Stüdyo Faturalandırma Sayfasına](https://thegraph.com/studio/billing/) gidin. +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Sayfanın sağ üst köşesindeki "Cüzdanı Bağla" düğmesine tıklayın. Cüzdan seçim sayfasına yönlendirileceksiniz. Cüzdanınızı seçin ve "Bağlan" a tıklayın. - -3. Sayfanın ortasındaki "GRT Ekle" düğmesini tıklayın. Bir yan panel görünecektir. - -4. Hesap bakiyenize eklemek istediğiniz GRT miktarını girin. Ayrıca "Maksimum" butonuna tıklayarak hesap bakiyenize eklemek istediğiniz maksimum GRT miktarını da seçebilirsiniz. - -5. Subgraph Stüdyo'nun GRT'nize erişmesine izin vermek için "GRT Erişimine İzin Ver" seçeneğini tıklayın. İlişkili işlemi cüzdanınızda imzalayın. Bu herhangi bir gaz ücretine mal olmayacaktır. - -6. GRT'yi hesap bakiyenize eklemek için 'Hesap bakiyesine GRT Ekle'yi tıklayın. İlişkili işlemi cüzdanınızda imzalayın. Bu işlem gaz ücretine mal olacaktır. - -7. İşlem onaylandıktan sonra, GRT'nin bir saat içinde hesap bakiyenize eklendiğini göreceksiniz. - -### Bir kripto cüzdanı kullanarak GRT'yi çekme - -> Bu bölüm, [Subgraph Stüdyo](https://thegraph.com/studio/billing/)'da hesap bakiyenize GRT yatırdığınız ve Arbitrum ağında olduğunuz varsayılarak yazılmıştır. - -1. [Subgraph Stüdyo Faturalandırma Sayfası](https://thegraph.com/studio/billing/)'na gidin. - -2. Sayfanın sağ üst köşesindeki "Cüzdanı Bağla" düğmesine tıklayın. Cüzdanınızı seçin ve "Bağlan"a tıklayın. - -3. Sayfanın ortasındaki "GRT Ekle" düğmesinin yanındaki açılır menüyü tıklayın. GRT'yi çekmeyi seçin. Bir yan panel görünecektir. - -4. Çekmek istediğiniz GRT miktarını girin. - -5. GRT'yi hesap bakiyenizden çekmek için 'GRT Çek'i tıklayın. İlişkili işlemi cüzdanınızda imzalayın. Bu gaza mal olacaktır. GRT, Arbitrum cüzdanınıza gönderilecektir. - -6. İşlem onaylandıktan sonra, Arbitrum cüzdanınızdaki hesap bakiyenizden GRT'nin çekildiğini göreceksiniz. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. +4. Enter the amount of GRT you would like to withdraw. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Multisig cüzdanı kullanarak GRT ekleme - +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. -1. [Subgraph Stüdyo Faturalandırma Sayfası](https://thegraph.com/studio/billing/)'na gidin. +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. -2. Sayfanın sağ üst köşesindeki "Cüzdanı Bağla" düğmesine tıklayın. Cüzdanınızı seçin ve "Bağlan"a tıklayın. [Gnosis-Safe](https://gnosis-safe.io/) kullanıyorsanız, imzalama cüzdanınızın yanı sıra multisig'inizi de bağlayabilirsiniz. Ardından ilgili mesajı imzalayın. Bu herhangi bir gaz ücretine mal olmayacak. +## Getting GRT -3. Sayfanın ortasındaki 'GRT Ekle' düğmesini tıklayın. Bir yan panel görünecektir. - -4. İşlem onaylandıktan sonra, GRT'nin bir saat içinde hesap bakiyenize eklendiğini göreceksiniz. - -### Multisig cüzdanı kullanarak GRT'yi çekme - -> Bu bölüm, [Subgraph Stüdyo](https://thegraph.com/studio/billing/) üzerindeki hesap bakiyenize GRT yatırdığınız ve Ethereum ana ağında olduğunuz varsayılarak yazılmıştır. - -1. [Subgraph Stüdyo Faturalandırma Sayfası](https://thegraph.com/studio/billing/)'na gidin. - -2. Sayfanın sağ üst köşesindeki "Cüzdanı Bağla" düğmesine tıklayın. Cüzdanınızı seçin ve "Bağlan"a tıklayın. - -3. Sayfanın ortasındaki "GRT Ekle" düğmesinin yanındaki açılır menüyü tıklayın. GRT'yi çekmeyi seçin. Bir yan panel görünecektir. - -4. Çekmek istediğiniz GRT miktarını girin. Bu işlemden GRT alacak alıcı cüzdanı belirtin. GRT, Arbitrum'da alıcı cüzdana gönderilecektir. - -5. GRT'yi hesap bakiyenizden çekmek için 'GRT Çek'i tıklayın. İlişkili işlemi cüzdanınızda imzalayın. Bu işlem gaz ücretine mal olacaktır. - -6. İşlem onaylandıktan sonra, bir saat içinde GRT'nin Arbitrum cüzdanınıza eklendiğini göreceksiniz. - -## GRT Almak - -Bu bölüm, sorgu ücretlerini ödemek için GRT'yi nasıl alacağınızı gösterecektir. +This section will show you how to get GRT to pay for query fees. ### Coinbase -Bu, Coinbase'de GRT satın almak için adım adım bir kılavuz olacaktır. +This will be a step by step guide for purchasing GRT on Coinbase. -1. [Coinbase](https://www.coinbase.com/)'e gidin ve bir tane hesap oluşturun. -2. Bir hesap oluşturduktan sonra kimliğinizi, KYC (Müşterinizi Tanıyın) olarak bilinen bir süreçle doğrulamanız gerekecektir. Bu, tüm merkezi veya gözetim altındaki kripto borsaları için standart bir prosedürdür. -3. Kimliğinizi doğruladıktan sonra GRT satın alabilirsiniz. Bunu sayfanın sağ üst köşesindeki "Al/Sat" butonuna tıklayarak yapabilirsiniz. -4. Satın almak istediğiniz para birimini ve ardından GRT'yi seçin. -5. Tercih ettiğiniz ödeme yöntemini seçin. -6. Satın almak istediğiniz GRT miktarını seçin. -7. Satın alma işleminizi gözden geçirin ve "GRT Satın Al"a tıklayın. -8. Satın alma işleminizi onaylayın ve GRT'yi başarıyla satın almış olacaksınız. -9. GRT'yi hesabınızdan [MetaMask](https://metamask.io/) gibi kripto cüzdanınıza aktarabilirsiniz. - - GRT'yi kripto cüzdanınıza aktarmak için sayfanın sağ üst köşesindeki "Hesaplar" düğmesine tıklayın. - - GRT hesabının yanındaki "Gönder" düğmesine tıklayın. - - Göndermek istediğiniz GRT miktarını ve göndermek istediğiniz cüzdan adresini girin. - - "Devam"a tıklayın ve işleminizi onaylayın. -Lütfen daha büyük satın alma tutarları için Coinbase'in tüm tutarı bir kripto cüzdanına aktarmadan önce 7-10 gün beklemenizi gerektirebileceğini unutmayın. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select GRT. +5. Select the payment method. Select your preferred payment method. +6. Select the amount of GRT you want to purchase. +7. Review your purchase. Review your purchase and click "Buy GRT". +8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the GRT account. + - Enter the amount of GRT you want to send and the wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. -Coinbase'de GRT edinmekle alakalı daha fazla bilgiyi [buradan](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency) öğrenebilirsiniz. +You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). ### Binance -Bu, Binance'de GRT satın almak için adım adım bir rehberdir. +This will be a step by step guide for purchasing GRT on Binance. -1. [Binance](https://www.binance.com/en)'e gidin ve bir hesap oluşturun. -2. Bir hesap oluşturduktan sonra kimliğinizi, KYC (Müşterinizi Tanıyın) olarak bilinen bir süreçle doğrulamanız gerekecektir. Bu, tüm merkezi veya gözetim altındaki kripto borsaları için standart bir prosedürdür. -3. Kimliğinizi doğruladıktan sonra GRT satın alabilirsiniz. Bunu, ana sayfa başlığındaki "Şimdi Satın Al" düğmesine tıklayarak yapabilirsiniz. -4. Satın almak istediğiniz para birimini seçebileceğiniz bir sayfaya yönlendirileceksiniz. GRT'yi seçin. -5. Tercih ettiğiniz ödeme yöntemini seçin. Euro, Dolar ve daha fazlası gibi farklı itibari para birimleriyle ödeme yapabileceksiniz. -6. Satın almak istediğiniz GRT miktarını seçin. -7. Satın alma işleminizi gözden geçirin ve "GRT Satın Al"a tıklayın. -8. Satın alma işleminizi onaylayın ve GRT'nizi Binance Spot Cüzdanınızda görebileceksiniz. -9. GRT'yi hesabınızdan [MetaMask](https://metamask.io/) gibi kripto cüzdanınıza çekebilirsiniz. - - GRT'yi kripto cüzdanınıza [geri çekmek için](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570), kripto cüzdanınızın adresini para çekme beyaz listenize ekleyin. - - "Cüzdan" düğmesine tıklayın, para çekme seçeneğine tıklayın ve GRT'yi seçin. - - Göndermek istediğiniz GRT miktarını ve göndermek istediğiniz beyaz listedeki cüzdan adresini girin. - - "Devam"a tıklayın ve işleminizi onaylayın. +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. +4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. +5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. +6. Select the amount of GRT you want to purchase. +7. Review your purchase and click "Buy GRT". +8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. + - Click on the "wallet" button, click withdraw, and select GRT. + - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Binance'de GRT edinmekle alakalı daha fazla bilgiyi [buradan](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582) öğrenebilirsiniz. +You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). ### Uniswap -Uniswap'te GRT'yi bu şekilde satın alabilirsiniz. +This is how you can purchase GRT on Uniswap. -1. [Uniswap](https://app.uniswap.org/#/swap)'e gidin ve cüzdanınızı bağlayın. -2. Takas etmek istediğiniz belirteci seçin. ETH'yi seçin. -3. Takas etmek istediğiniz belirteci seçin. GRT'yi seçin. - - Doğru token ile takas yaptığınızdan lütfen emin olun. GRT akıllı sözleşme adresi:`0xc944E90C64B2c07662A292be6244BDf05Cda44a7`X -4. Takas etmek istediğiniz ETH miktarını girin. -5. "Swap"e tıklayın. -6. Cüzdanınızdaki işlemi onaylayın ve işlemin gerçekleşmesini bekleyin. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. +2. Select the token you want to swap from. Select ETH. +3. Select the token you want to swap to. Select GRT. + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +4. Enter the amount of ETH you want to swap. +5. Click "Swap". +6. Confirm the transaction in your wallet and you wait for the transaction to process. -Uniswap'da GRT edinmekle alakalı daha fazla bilgiyi [buradan](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-) öğrenebilirsiniz. +You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Ethereum Edinme +## Getting Ether -Bu bölüm size işlem ücretlerini veya gaz maliyetlerini ödemek için Ethereum'u (ETH) nasıl edineceğinizi gösterecektir. ETH, Ethereum ağında token transferi veya sözleşmelerle etkileşim gibi işlemleri gerçekleştirmek için gerekmektedir. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase -Bu, Coinbase'de ETH satın almak için adım adım bir rehberdir. - -1. [Coinbase](https://www.coinbase.com/)'e gidin ve bir tane hesap oluşturun. -2. Bir hesap oluşturduktan sonra, KYC (veya MüşteriniTanı) olarak bilinen bir süreçle kimliğinizi doğrulayın. Bu, tüm merkezi veya emanete dayalı kripto borsaları için standart bir prosedürdür. -3. Kimliğinizi doğruladıktan sonra, sayfanın sağ üst köşesindeki "Al/Sat" düğmesine tıklayarak ETH satın alın. -4. Satın almak istediğiniz para birimini seçin. ETH'yi seçin. -5. Tercih ettiğiniz ödeme yöntemini seçin. -6. Satın almak istediğiniz ETH miktarını girin. -7. Satın alma işleminizi kontrol edin ve "ETH Satın Al "a tıklayın. -8. Satın alımınızı onaylayın ve başarılı bir şekilde ETH satın almış olacaksınız. -9. ETH'yi Coinbase hesabınızdan [MetaMask](https://metamask.io/) gibi kripto cüzdanınıza aktarabilirsiniz. - - ETH'yi kripto cüzdanınıza aktarmak için sayfanın sağ üst köşesindeki "Hesaplar" düğmesine tıklayın. - - ETH hesabının yanında bulunan "Gönder" düğmesine tıklayın. - - Göndermek istediğiniz ETH miktarını ve göndermek istediğiniz cüzdan adresini girin. - - "Devam"a tıklayın ve işleminizi onaylayın. +This will be a step by step guide for purchasing ETH on Coinbase. + +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select ETH. +5. Select your preferred payment method. +6. Enter the amount of ETH you want to purchase. +7. Review your purchase and click "Buy ETH". +8. Confirm your purchase and you will have successfully purchased ETH. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the ETH account. + - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. Coinbase'de ETH edinmekle alakalı daha fazla bilgiyi [buradan](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency) öğrenebilirsiniz. @@ -187,22 +164,33 @@ Coinbase'de ETH edinmekle alakalı daha fazla bilgiyi [buradan](https://help.coi Bu, Binance'de ETH satın almak için adım adım bir rehberdir. -1. [Binance](https://www.binance.com/en)'e gidin ve bir hesap oluşturun. -2. Bir hesap oluşturduktan sonra, KYC (veya MüşteriniTanı) olarak bilinen bir süreçle kimliğinizi doğrulayın. Bu, tüm merkezi veya emanete dayalı kripto borsaları için standart bir prosedürdür. +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Kimliğinizi doğruladıktan sonra, ana sayfa afişindeki "Şimdi Satın Al" düğmesine tıklayarak ETH satın alın. -4. Satın almak istediğiniz para birimini seçin. ETH'yi seçin. -5. Tercih ettiğiniz ödeme yöntemini seçin. -6. Satın almak istediğiniz ETH miktarını girin. -7. Satın alma işleminizi kontrol edin ve "ETH Satın Al "a tıklayın. +4. Select the currency you want to purchase. Select ETH. +5. Select your preferred payment method. +6. Enter the amount of ETH you want to purchase. +7. Review your purchase and click "Buy ETH". 8. Satın alımınızı onaylayın ve ETH'nizi Binance Spot Cüzdanınızda görüceksiniz. -9. ETH'yi hesabınızdan [MetaMask](https://metamask.io/) gibi kripto cüzdanınıza çekebilirsiniz. - - ETH'yi kripto cüzdanınıza çekmek için, kripto cüzdanınızın adresini güvenilir para çekme adresleri listesine ekleyin. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - "Cüzdan" düğmesine tıklayın, para çekme seçeneğine tıklayın ve ETH'yi seçin. - Göndermek istediğiniz ETH miktarını ve göndermek istediğiniz güvenilir adresler listesindeki cüzdan adresini girin. - - "Devam"a tıklayın ve işleminizi onaylayın. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. Binance'de ETH edinmekle alakalı daha fazla bilgiyi [buradan](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582) öğrenebilirsiniz. -## Arbitrum Köprüsü +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -Faturalandırma sözleşmesi yalnızca GRT'yi Ethereum ana ağından Arbitrum ağına bağlamak için tasarlanmıştır. GRT'nizi Arbitrum'dan tekrar Ethereum ana ağına aktarmak isterseniz, [Arbitrum Köprüsü](https://bridge.arbitrum.io/?l2ChainId=42161)'nü kullanmanız gerekir. +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From ac12e74b904d71f7d10c342c81a512e3d08a14cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:48 -0400 Subject: [PATCH 0674/2326] New translations billing.mdx (Ukrainian) --- website/pages/uk/billing.mdx | 232 +++++++++++++++++------------------ 1 file changed, 110 insertions(+), 122 deletions(-) diff --git a/website/pages/uk/billing.mdx b/website/pages/uk/billing.mdx index 5e8797b90d55..8ff2efca7717 100644 --- a/website/pages/uk/billing.mdx +++ b/website/pages/uk/billing.mdx @@ -2,106 +2,82 @@ title: Білінг --- -> Інвойси формуються на щотижневій основі. +## Subgraph Billing Plans -Існує два варіанти сплати комісійних за запити: +There are two plans to use when querying subgraphs on The Graph Network. -- [Оплата фіатною валютою через Banxa](#billing-with-banxa) -- [Оплата за допомогою криптогаманця](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Білінг за допомогою Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa дозволяє вам обійти необхідність обміну і сплачувати за запити у фіатній валюті за власним вибором. Фіатна валюта буде конвертована в GRT, додана до балансу вашого рахунку за білінговим контрактом і використана для оплати запитів, пов'язаних з вашими API ключами. + -Залежно від нормативних актів у вашій країні можуть існувати додаткові вимоги до KYC. Для отримання додаткової інформації про KYC, будь ласка, відвідайте [сторінку поширених запитань щодо Banxa](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -Ви можете дізнатися більше про Banxa, ознайомившись з їхньою [документацією](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Натисніть на кнопку "Connect Wallet" у правому верхньому куті сторінки. Ви будете перенаправлені на сторінку вибору гаманця. Виберіть той, який вам підходить, і натисніть кнопку "Connect". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Оплата комісій за запити за допомогою Banxa +## Query Payments with GRT -1. Виберіть опцію "Pay with Card" в [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Введіть суму GRT, яка буде додана до балансу вашого акаунта. -3. Натисніть кнопку "Continue with Banxa". -4. Введіть необхідну банківську інформацію на Banxa, включно зі способом оплати & вибраною фіатною валютою. -5. Завершіть транзакцію. - -Завершення транзакції може зайняти до 10 хвилин. Після підтвердження транзакції придбані GRT будуть автоматично додані до балансу вашого акаунта на Arbitrum. - -## Білінг на Arbitrum - -У той час як протокол The Graph працює в основній мережі Ethereum, [білінговий контракт](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) працює на [Arbitrum](https://arbitrum.io/). Це робиться для того, щоб скоротити час і вартість транзакцій. Вам потрібно буде сплачувати комісію за ті запити, які згенеровані за допомогою ваших API ключів. Використовуючи цей контракт, у вас буде змога: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Поповнювати та виводити GRT з балансу вашого акаунту. - Відстежувати баланс на основі того, скільки GRT ви внесли на рахунок, яку кількість зняли, а також на основі виставлених інвойсів. - Автоматично оплачувати інвойси на основі сформованих комісій за запити, якщо на балансі вашого рахунку достатньо GRT. -### Поповнення GRT за допомогою криптогаманця +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> Цей розділ написаний для тих, хто вже має GRT на балансі криптогаманця в основній мережі Ethereum. Якщо у вас немає GRT, ви можете дізнатися як поповнити гаманець [тут](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Перейдіть на [ білінгову сторінку Subgraph Studio](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Натисніть на кнопку "Connect Wallet" у правому верхньому куті сторінки. Ви будете перенаправлені на сторінку вибору гаманця. Виберіть той, який вам підходить, і натисніть кнопку "Connect". - -3. Натисніть кнопку "Add GRT" по центру сторінки. Далі з'явиться бічна панель. - -4. Введіть суму GRT, яку ви хочете додати до балансу вашого акаунта. Ви також можете обрати максимальну суму GRT, яку ви хочете додати до балансу вашого рахунку, натиснувши на кнопку "Max". - -5. Натисніть "Allow GRT Access", щоб надати Subgraph Studio доступ до вашого балансу GRT. Підпишіть відповідну транзакцію у вашому гаманці. Це не потребуватиме оплати за газ. - -6. Натисніть "Add GRT to account balance", щоб додати GRT до балансу вашого облікового запису. Підпишіть відповідну транзакцію у своєму гаманці. За це також буде знята плата у вигляді газу. - -7. Після підтвердження транзакції ви побачите, що протягом години GRT буде зараховано на баланс вашого акаунта. - -### Виведення GRT за допомогою криптогаманця - -> Цей розділ написаний за умови, що ви поповнили баланс свого облікового запису GRT токенами в [Subgraph Studio](https://thegraph.com/studio/billing/) і перебуваєте в мережі Arbitrum. - -1. Перейдіть на [ білінгову сторінку Subgraph Studio](https://thegraph.com/studio/billing/). - -2. Натисніть на кнопку "Connect Wallet" в правому верхньому куті сторінки. Оберіть ваш гаманець і натисніть кнопку "Connect". - -3. Клацніть на меню, яке з'явилось поруч із кнопкою 'Add GRT' по центру сторінки. Далі з'явиться бічна панель. - -4. Введіть кількість токенів GRT, яку ви бажаєте вивести. - -5. Натисніть "Withdraw GRT", щоб вивести GRT з балансу вашого акаунту. Підпишіть відповідну транзакцію у своєму гаманці. За це буде знята плата у вигляді газу. GRT буде відправлено на ваш гаманець Arbitrum. - -6. Після підтвердження транзакції, ви побачите, що GRT буде знято з вашого платіжного акаунту у вашому гаманці в мережі Arbitrum. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. +4. Enter the amount of GRT you would like to withdraw. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Поповнення GRT за допомогою гаманця з мультипідписами - +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. -1. Перейдіть на [ білінгову сторінку Subgraph Studio](https://thegraph.com/studio/billing/). +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. -2. Натисніть на кнопку "Connect Wallet" у верхньому правому куті сторінки. Оберіть свій гаманець і натисніть на "Connect". Якщо ви використовуєте [Gnosis-Safe](https://gnosis-safe.io/), у вас буде змога під'єднати ваш гаманець з мультипідписами та гаманець для підпису. Після цього підпишіть відповідну транзакцію. Це не потребуватиме оплати за газ. - -3. Натисніть кнопку "Add GRT" по центру сторінки. Далі з'явиться бічна панель. - -4. Після підтвердження транзакції ви побачите, що протягом години GRT буде зараховано на баланс вашого акаунта. - -### Виведення GRT за допомогою криптогаманця з мультипідписами - -> Цей розділ написано для тих, хто вже поповнив свій платіжний баланс токенами GRT в [Subgraph Studio](https://thegraph.com/studio/billing/) за умови, що ви знаходитеся в мережі Ethereum Mainnet. - -1. Перейдіть на [ білінгову сторінку Subgraph Studio](https://thegraph.com/studio/billing/). - -2. Натисніть на кнопку "Connect Wallet" в правому верхньому куті сторінки. Оберіть ваш гаманець і натисніть кнопку "Connect". - -3. Клацніть на меню, яке з'явилось поруч із кнопкою 'Add GRT' по центру сторінки. Далі з'явиться бічна панель. - -4. Введіть кількість токенів GRT, яку ви бажаєте вивести. Вкажіть гаманець-отримувач, на який буде відправлено GRT за цією транзакцією. GRT будуть відправлені на, вказаний вами гаманець-отримувач в мережі Arbitrum. - -5. Натисніть кнопку 'Withdraw GRT', щоб вивести GRT з балансу вашого облікового запису. Підпишіть відповідну транзакцію. Ця операція потребує оплати за газ. - -6. Як тільки транзакція буде підтверджена, ви побачите, що GRT буде додано до вашого гаманця в Arbitrum протягом години. - -## Купівля GRT +## Getting GRT This section will show you how to get GRT to pay for query fees. @@ -109,19 +85,19 @@ This section will show you how to get GRT to pay for query fees. This will be a step by step guide for purchasing GRT on Coinbase. -1. Перейдіть на [Coinbase](https://www.coinbase.com/) та створіть обліковий запис. -2. Як тільки ви створите обліковий запис, вам потрібно буде верифікувати свою особу за допомогою процесу, відомого як KYC (Знай свого клієнта). Це стандартна процедура для всіх централізованих або кастодіальних криптобірж. -3. Після того, як ви верифікували свою особу, ви можете придбати GRT. Ви можете зробити це, натиснувши на кнопку "Buy/Sell" у правому верхньому куті сторінки. -4. Виберіть валюту, яку ви хочете придбати. Виберіть GRT. -5. Виберіть платіжний метод. Виберіть платіжний метод, якому ви надаєте перевагу. -6. Виберіть кількість токенів GRT, яку ви хочете придбати. -7. Перевірте вашу покупку. Перевірте, чи все правильно і після цього натисніть "Buy GRT". -8. Підтвердіть покупку. Підтвердіть вашу покупку, після цього ви успішно придбаєте GRT. -9. Тепер ви можете відправити токени GRT з вашого облікового запису на біржі на ваш криптогаманець, наприклад [MetaMask](https://metamask.io/). - - Щоб відправити GRT на свій криптогаманець, натисніть кнопку "Accounts" в правому верхньому куті сторінки. - - Натисніть кнопку "Send" поруч з обліковим записом GRT. - - Введіть кількість токенів GRT, яку ви хочете відправити та адресу гаманця, на який відправляєте токени. - - Натисніть "Continue" та підтвердіть вашу транзакцію. Зверніть увагу на те, що коли ви виводите велику суму, Coinbase може затримати цей переказ на 7-10 днів, перш ніж перевести всю суму на ваш криптогаманець. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select GRT. +5. Select the payment method. Select your preferred payment method. +6. Select the amount of GRT you want to purchase. +7. Review your purchase. Review your purchase and click "Buy GRT". +8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the GRT account. + - Enter the amount of GRT you want to send and the wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -129,19 +105,19 @@ You can learn more about getting GRT on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing GRT on Binance. -1. Перейдіть на [Binance](https://www.binance.com/en) та створіть обліковий запис. -2. Як тільки ви створите обліковий запис, вам потрібно буде верифікувати свою особу за допомогою процесу, відомого як KYC (Знай свого клієнта). Це стандартна процедура для всіх централізованих або кастодіальних криптобірж. -3. Після того, як ви верифікували свою особу, ви можете придбати GRT. Ви можете зробити це, натиснувши на кнопку "Buy now" на головній сторінці. -4. Ви будете переправлені на сторінку, де зможете вибрати валюту, яку хочете придбати. Виберіть GRT. -5. Виберіть зручний для вас спосіб оплати. Ви можете платити багатьма різними фіатними валютами, наприклад Євро, Долар та багато інших. -6. Виберіть кількість токенів GRT, яку ви хочете придбати. -7. Перевірте вашу покупку та натисніть кнопку "Buy GRT". -8. Після того як ви підтвердили вашу покупку, ви зможете побачити свій баланс GRT на своєму спотовому гаманці Binance. -9. Тепер ви можете відправити токени GRT з вашого облікового запису на біржі на ваш криптогаманець, наприклад [MetaMask](https://metamask.io/). - - [Для виводу](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) токенів GRT на ваш криптогаманець вам потрібно додати його в список гаманців, на які дозволене виведення. - - Натисніть на кнопку "wallet", далі натисніть на виведення та оберіть GRT. - - Введіть кількість токенів GRT, яку ви хочете надіслати, та адресу гаманця, на яку ви хочете їх надіслати. - - Натисніть "Continue" та підтвердіть транзакцію. +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. +4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. +5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. +6. Select the amount of GRT you want to purchase. +7. Review your purchase and click "Buy GRT". +8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. + - Click on the "wallet" button, click withdraw, and select GRT. + - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. + - Click "Continue" and confirm your transaction. You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). @@ -149,25 +125,25 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Перейдіть на [Uniswap](https://app.uniswap.org/#/swap) та приєднайте ваш криптогаманець. -2. Виберіть монету, яку ви хочете обміняти. Наприклад оберіть ETH. -3. Виберіть монету, яку ви хочете отримати в результаті обміну. Оберіть GRT. - - Переконайтесь, що ви робите обмін саме на токен GRT. Адреса смартконтракту GRT: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` -4. Введіть кількість токенів ETH, яку ви хочете обміняти. -5. Натисніть кнопку "Swap". -6. Підтвердіть транзакцію у своєму гаманці та очікуйте, поки транзакція буде оброблена. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. +2. Select the token you want to swap from. Select ETH. +3. Select the token you want to swap to. Select GRT. + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +4. Enter the amount of ETH you want to swap. +5. Click "Swap". +6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase This will be a step by step guide for purchasing ETH on Coinbase. -1. Перейдіть на [Coinbase](https://www.coinbase.com/) та створіть обліковий запис. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. 2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. 4. Select the currency you want to purchase. Select ETH. @@ -175,11 +151,12 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. - - Натисніть "Continue" та підтвердіть транзакцію. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -187,7 +164,7 @@ You can learn more about getting ETH on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing ETH on Binance. -1. Перейдіть на [Binance](https://www.binance.com/en) та створіть обліковий запис. +1. Go to [Binance](https://www.binance.com/en) and create an account. 2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Once you have verified your identity, purchase ETH by clicking on the "Buy Now" button on the homepage banner. 4. Select the currency you want to purchase. Select ETH. @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. - - Натисніть "Continue" та підтвердіть транзакцію. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Міст Arbitrum +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From f960ad40075b7b66397140d57956acc6e74d5db6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:49 -0400 Subject: [PATCH 0675/2326] New translations billing.mdx (Chinese Simplified) --- website/pages/zh/billing.mdx | 260 +++++++++++++++++------------------ 1 file changed, 124 insertions(+), 136 deletions(-) diff --git a/website/pages/zh/billing.mdx b/website/pages/zh/billing.mdx index 0aebd655e687..98ac1a5dfaf8 100644 --- a/website/pages/zh/billing.mdx +++ b/website/pages/zh/billing.mdx @@ -2,106 +2,82 @@ title: 计费 --- -> 发票每周生成一次。 +## Subgraph Billing Plans -有两种支付查询费的选项: +There are two plans to use when querying subgraphs on The Graph Network. -- [使用Banxa以法定货币支付](#billing-with-banxa) -- [使用加密钱包支付](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## 使用Banxa计费 +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa使您能够绕过兑换的需要,使用您选择的法定货币支付查询费。法定货币将转换为GRT,添加到您的账单合约账户余额中,并用于支付与您的API密钥相关的查询费用。 + -根据您所在国家的法规,可能会有KYC要求。有关KYC的更多信息,请访问[Banxa的常见问题页面](https://docs.banxa.com/docs/faqs)。 +## Query Payments with credit card -您可以通过阅读他们的[文档](https://docs.banxa.com/docs)来了解更多关于Banxa的信息。 +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. 单击页面右上角的“Connect Wallet”(连接钱包)按钮。您将被重定向到钱包选择页面。选择您的钱包,然后单击“Connect”(连接)。 + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### 使用Banxa支付查询费用 +## Query Payments with GRT -1. 在[Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit)中选择“用卡支付”选项。 -2. 输入要添加到您的账户余额中的GRT金额。 -3. 单击“继续使用Banxa”按钮。 -4. 在Banxa上输入必要的银行信息,包括付款方式和所选法定货币。 -5. 完成交易。 - -完成交易可能需要长达10分钟的时间。一旦交易确认后,购买的GRT将自动添加到您在Arbitrum上的账户余额中。 - -## 在Arbitrum上计费 - -虽然Graph协议在以太坊主网上运行,但[计费合约](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a)在[Arbitrum](https://arbitrum.io/)网络上运行,以减少交易时间和成本。您将需要支付由API密钥生成的查询费用。使用计费合约,您将能够: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - 从您的账户余额中添加和提取GRT。 - 根据您的账户添加的GRT数量、移除的数量和发票,跟踪您的余额。 - 只要您的账单余额中有足够的GRT,就可以根据生成的查询费用自动支付发票。 -### 使用加密钱包添加GRT +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> 本节假设您的加密钱包中已经有GRT,并且您在以太坊主网上。如果你没有GRT,你可以在[这里](#getting-grt)学习如何获得GRT。 +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. 转到[Subgraph Studio计费页面](https://thegraph.com/studio/billing/)。 +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. 单击页面右上角的“Connect Wallet”(连接钱包)按钮。您将被重定向到钱包选择页面。选择您的钱包,然后单击“Connect”(连接)。 - -3. 单击页面中心的“添加GRT”按钮。将出现一个侧面板。 - -4. 输入要添加到账单余额中的GRT金额。您还可以通过单击“最大”按钮来选择要添加到账单余额中的GRT的最大金额。 - -5. 单击“允许GRT访问”以允许子图工作室获取您的GRT。在您的钱包中签署相关交易。这不会花费任何gas。 - -6. 单击“将GRT添加到账单余额”将GRT加入账单余额。在您的钱包中签署相关交易。这将耗费gas。 - -7. 一旦交易被确认,您将在一小时内看到GRT添加到您的账单余额中。 - -### 使用加密钱包提取GRT - -> 本节假设您已将GRT存入[Subgraph Studio](https://thegraph.com/studio/billing/)的账单余额中,并且您在Arbitrum网络上。 - -1. 转到[Subgraph Studio计费页面](https://thegraph.com/studio/billing/)。 - -2. 单击页面右上角的“Connect Wallet”(连接钱包)按钮。选择您的钱包,然后单击“Connect”(连接)。 - -3. 单击页面中心“添加GRT”按钮旁边的下拉列表。选择收回GRT。将出现一个侧面板。 - -4. 输入您要提取的GRT金额。 - -5. 单击“提取GRT”从您的账单余额中提取GRT。在您的钱包中签署相关交易。这将耗费gas。GRT将发送到您的Arbitrum钱包。 - -6. 一旦交易被确认,您将在一小时内看到GRT提取到您的Arbitrum钱包的账单余额中。 +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. +4. Enter the amount of GRT you would like to withdraw. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### 使用多签钱包添加GRT - +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. -1. 转到[Subgraph Studio计费页面](https://thegraph.com/studio/billing/)。 +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. -2. 单击页面右上角的“Connect Wallet”(连接钱包)按钮。选择您的钱包,然后单击“Connect”(连接)。如果您正在使用 [Gnosis-Safe](https://gnosis-safe.io/),那么您将能够连接您的 multisig 和您的签名钱包。然后,在相关消息上签名。这不会花费任何gas。 - -3. 单击页面中心的“添加GRT”按钮。将出现一个侧面板。 - -4. 一旦交易被确认,您将在一小时内看到GRT添加到您的账单余额中。 - -### 使用多签钱包提取GRT - -> 本节假设您已将GRT存入[Subgraph Studio](https://thegraph.com/studio/billing/)的账单余额中,并且您在以太坊主网上。 - -1. 转到[Subgraph Studio计费页面](https://thegraph.com/studio/billing/)。 - -2. 单击页面右上角的“Connect Wallet”(连接钱包)按钮。选择您的钱包,然后单击“Connect”(连接)。 - -3. 单击页面中心“添加GRT”按钮旁边的下拉列表。选择提取GRT。将出现一个侧面板。 - -4. 输入您要提取的GRT金额。指定将从此交易中接收GRT的接收钱包。GRT将发送到Arbitrum上以接收钱包。 - -5. 单击“将GRT提取到账单余额”提取GRT。在您的钱包中签署相关交易。这将耗费gas。 - -6. 一旦交易被确认,您将在一小时内看到GRT添加到您的Arbitrum账单余额中。 - -## 获取GRT +## Getting GRT This section will show you how to get GRT to pay for query fees. @@ -109,19 +85,19 @@ This section will show you how to get GRT to pay for query fees. This will be a step by step guide for purchasing GRT on Coinbase. -1. 转到[Coinbase](https://www.coinbase.com/)并创建帐户。 -2. 创建账户后,您需要通过KYC(或了解您的客户)流程验证您的身份。这是所有中心化或托管加密交易所的标准程序。 -3. 一旦您验证了自己的身份,就可以购买GRT。您可以通过单击页面右上方的“买入/卖出”按钮来完成此操作。 -4. 选择要购买的货币。选择GRT。 -5. 选择付款方式。选择您的首选付款方式。 -6. 选择您要购买的GRT数量。 -7. 查看您的购买。查看您的购买并单击“购买GRT”。 -8. 确认您的购买。确认您的购买,您将成功购买GRT。 -9. 您可以将GRT从您的账户转移到您的加密钱包,如[MetaMask](https://metamask.io/)。 - - 要将GRT转移到您的加密钱包,请单击页面右上方的“账户”按钮。 - - 单击GRT账户旁边的“发送”按钮。 - - 输入您要发送的GRT金额和您要发送到的钱包地址。 - - 单击“继续”并确认您的交易。-请注意,对于较大的购买金额,Coinbase可能需要您等待7-10天,然后才能将全部金额转移到加密钱包。 +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select GRT. +5. Select the payment method. Select your preferred payment method. +6. Select the amount of GRT you want to purchase. +7. Review your purchase. Review your purchase and click "Buy GRT". +8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the GRT account. + - Enter the amount of GRT you want to send and the wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -129,19 +105,19 @@ You can learn more about getting GRT on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing GRT on Binance. -1. 转到[Binance](https://www.binance.com/en)并创建帐户。 -2. 创建账户后,您需要通过KYC(或了解您的客户)流程验证您的身份。这是所有中心化或托管加密交易所的标准程序。 -3. 一旦您验证了自己的身份,就可以购买GRT。您可以通过单击主页横幅上的“立即购买”按钮来完成此操作。 -4. 您将转到一个可以选择要购买的货币的页面,选择GRT。 -5. 选择您的首选付款方式。您可以使用不同的法定货币支付,如欧元、美元等。 -6. 选择您要购买的GRT金额。 -7. 查看您的购买并单击“购买GRT”。 -8. 确认您的购买,您将能够在Binance现货钱包中看到您的GRT。 -9. 您可以将GRT从您的账户提取到您的加密钱包,如[MetaMask](https://metamask.io/)。 - - 要将GRT[提取](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570)到加密钱包,请将加密钱包的地址添加到提取白名单中。 - - 单击“钱包”按钮,单击提取,然后选择GRT。 - - 输入您要发送的GRT金额和您要发送到的白名单钱包地址。 - - 单击“继续”并确认您的交易。 +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. +4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. +5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. +6. Select the amount of GRT you want to purchase. +7. Review your purchase and click "Buy GRT". +8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. + - Click on the "wallet" button, click withdraw, and select GRT. + - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. + - Click "Continue" and confirm your transaction. You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). @@ -149,37 +125,38 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. 转到[Uniswap](https://app.uniswap.org/#/swap)并连接您的钱包。 -2. 选择要从中交换的代币。选择ETH。 -3. 选择要从中交换的代币。选择GRT。 - - 确保您正在交换正确的代币。GRT智能合约地址为:`0xc944E90C64B2c07662A292be6244BDf05Cda44a7` -4. 输入要交换的ETH金额。 -5. 单击“交换”。 -6. 确认钱包中的交易,然后等待交易处理。 +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. +2. Select the token you want to swap from. Select ETH. +3. Select the token you want to swap to. Select GRT. + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +4. Enter the amount of ETH you want to swap. +5. Click "Swap". +6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## 获取以太币 +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase This will be a step by step guide for purchasing ETH on Coinbase. -1. 转到[Coinbase](https://www.coinbase.com/)并创建帐户。 -2. 创建账户后,您需要通过KYC(或了解您的客户)流程验证您的身份。这是所有中心化或托管加密交易所的标准程序。 -3. 一旦您验证了自己的身份,就可以购买ETH。您可以通过单击页面右上方的“买入/卖出”按钮来完成此操作。 -4. 选择要购买的货币。选择ETH。 -5. 选择你喜欢的支付方式。 -6. 输入要购买的ETH金额。 -7. 查看您的购买并单击“购买ETH”。 -8. 确认您的购买,您将成功购买ETH。 -9. 您可以将ETH从您的账户转移到您的加密钱包,如[MetaMask](https://metamask.io/)。 - - 要将ETH转移到您的加密钱包,请单击页面右上方的“账户”按钮。 - - 单击ETH账户旁边的“发送”按钮。 - - 输入您要发送的ETH金额和您要发送到的钱包地址。 - - 单击“继续”并确认您的交易。 +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select ETH. +5. Select your preferred payment method. +6. Enter the amount of ETH you want to purchase. +7. Review your purchase and click "Buy ETH". +8. Confirm your purchase and you will have successfully purchased ETH. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the ETH account. + - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -187,22 +164,33 @@ You can learn more about getting ETH on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing ETH on Binance. -1. 转到[Binance](https://www.binance.com/en)并创建帐户。 -2. 创建账户后,您需要通过KYC(或了解您的客户)流程验证您的身份。这是所有中心化或托管加密交易所的标准程序。 +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. 一旦您完成了身份验证,您可以通过在首页横幅上点击“立即购买”按钮来购买ETH。 -4. 选择要购买的货币。选择ETH。 -5. 选择你喜欢的支付方式。 -6. 输入要购买的ETH金额。 -7. 查看您的购买并单击“购买ETH”。 +4. Select the currency you want to purchase. Select ETH. +5. Select your preferred payment method. +6. Enter the amount of ETH you want to purchase. +7. Review your purchase and click "Buy ETH". 8. 确认您的购买,您将能够在Binance现货钱包中看到您的ETH。 -9. 您可以将ETH从您的账户提取到您的加密钱包,如[MetaMask](https://metamask.io/)。 - - 想要将ETH提现到你的加密钱包,先将你的加密钱包地址添加到提现白名单。 +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - 单击“钱包”按钮,单击提取,然后选择ETH。 - 输入您要发送的ETH金额和您要发送到的白名单钱包地址。 - - 单击“继续”并确认您的交易。 + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum 跨链桥 +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 1b625b8b921aab00212eb76e884d7233cf0643f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:50 -0400 Subject: [PATCH 0676/2326] New translations billing.mdx (Urdu (Pakistan)) --- website/pages/ur/billing.mdx | 304 +++++++++++++++++------------------ 1 file changed, 146 insertions(+), 158 deletions(-) diff --git a/website/pages/ur/billing.mdx b/website/pages/ur/billing.mdx index 4c0042614f16..b57723868243 100644 --- a/website/pages/ur/billing.mdx +++ b/website/pages/ur/billing.mdx @@ -2,207 +2,195 @@ title: بلنگ --- -> انوائسز ہفتہ وار بنیادوں پر تیار کی جاتی ہیں. +## Subgraph Billing Plans -آپ کے کیوری کی فیس کی ادائیگی کے لیے دو اختیارات ہیں: +There are two plans to use when querying subgraphs on The Graph Network. -- [بینکسا کے ساتھ فیاٹ کرنسی کے ساتھ ادائیگی کرنا](#billing-with-banxa) -- [کرپٹو والیٹ سے ادائیگی کرنا](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## بینکسا کے ساتھ بلنگ +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -بینکسا آپ کو تبادلے کی ضرورت کو نظرانداز کرنے اور اپنی پسند کی فیاٹ کرنسی کا استعمال کرتے ہوئے اپنی کیوری کی فیس ادا کرنے کے قابل بناتا ہے۔ فیاٹ کرنسی کو GRT میں تبدیل کر دیا جائے گا، بلنگ کنٹریکٹ پر آپ کے اکاؤنٹ کے بیلنس میں شامل کیا جائے گا، اور آپ کی API کیز سے وابستہ کیوریز کی ادائیگی کے لیے استعمال کیا جائے گا. + -آپ کے ملک کے ضوابط کے لحاظ سے KYC کے تقاضے ہو سکتے ہیں۔ KYC کے بارے میں مزید معلومات کے لیے، براہ کرم [بینکسا کا عمومی سوالات کا صفحہ](https://docs.banxa.com/docs/faqs) دیکھیں. +## Query Payments with credit card -آپ ان کی [دستاویزات](https://docs.banxa.com/docs) پڑھ کر بینکسا کے بارے میں مزید جان سکتے ہیں. +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. صفحہ کے اوپری دائیں کونے میں "کنیکٹ والیٹ" بٹن پر کلک کریں۔ آپ کو والیٹ کے انتخاب کے صفحہ پر بھیج دیا جائے گا۔ اپنا والیٹ منتخب کریں اور "کنیکٹ" پر کلک کریں. + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### بینکسا کے ساتھ کیوری کی فیس کی ادائیگی +## Query Payments with GRT -1. [سب گراف اسٹوڈیو](https://thegraph.com/studio/billing/?show=Deposit) میں "کارڈ سے ادائیگی کریں" کا اختیار منتخب کریں. -2. اپنے اکاؤنٹ کے بیلنس میں شامل کی جانے والی GRT کی رقم درج کریں. -3. 'بینکسا کے ساتھ جاری رکھیں' بٹن پر کلک کریں. -4. بینکسا پر ضروری بینکنگ معلومات درج کریں بشمول ادائیگی کا طریقہ اور پسند کی فیاٹ کرنسی. -5. ٹرانزیکشن ختم کریں. - -ٹرانزیکشن مکمل ہونے میں 10 منٹ تک لگ سکتے ہیں۔ لین دین کی تصدیق ہونے کے بعد، خریدی گئی GRT خود بخود آربٹرم پر آپ کے اکاؤنٹ کے بیلنس میں شامل ہو جائے گی. - -## آربٹرم پر بلنگ - -جبکہ دی گراف پروٹوکول ایتھریم مینیٹ پر کام کرتا[ بلنگ کنٹیرکٹ](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a)ٹرانزیکشن کے اوقات اور لاگت کو کم کرنے کے لیے [آربٹرم](https://arbitrum.io/) نیٹ ورک پر رہتا ہے۔ آپ کو اپنی API کیز سے تیار کردہ کیوری کی فیس ادا کرنے کی ضرورت ہوگی۔ بلنگ کنٹیرکٹ کا استعمال کرتے ہوئے، آپ اس قابل ہو جائیں گے: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - اپنے اکاؤنٹ بیلنس سے GRT شامل کریں اور نکالیں. - آپ نے اپنے اکاؤنٹ بیلنس میں کتنا GRT شامل کیا ہے، آپ نے کتنا ہٹایا ہے، اور اپنے انوائسز کی بنیاد پر اپنے بیلنس کا پتہ رکھیں. - جب تک آپ کے اکاؤنٹ بیلنس میں کافی GRT موجود ہے، خود بخود انوائسز تیار کی گئی کیوری کی فیس کی بنیاد پر ادا کریں. -### کرپٹو والیٹ کا استعمال کرتے ہوئے GRT شامل کرنا +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> یہ سیکشن یہ فرض کرتے ہوئے لکھا گیا ہے کہ آپ کے کرپٹو والیٹ میں پہلے سے ہی GRT موجود ہے، اور آپ پر ہیں۔ اگر آپ ایتھریم مینیٹ کے پاس GRT نہیں ہے، تو آپ GRT حاصل کرنے کا طریقہ [یہاں](#getting-grt) سیکھ سکتے ہیں. +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -کرپٹو والیٹ کا استعمال کرتے ہوئے اپنے بلنگ بیلنس میں GRT شامل کرنے کے ویڈیو واک تھرو کے لیے، یہ [ویڈیو](https://youtu.be/4Bw2sh0FxCg) دیکھیں۔ - -1. [سب گراف اسٹوڈیو بلنگ پیج](https://thegraph.com/studio/billing/) پر جائیں. +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. صفحہ کے اوپری دائیں کونے میں "کنیکٹ والیٹ" بٹن پر کلک کریں۔ آپ کو والیٹ کے انتخاب کے صفحہ پر بھیج دیا جائے گا۔ اپنا والیٹ منتخب کریں اور "کنیکٹ" پر کلک کریں. - -3. صفحہ کے بیچ میں 'GRT شامل کریں' بٹن پر کلک کریں۔ ایک سائیڈ پینل ظاہر ہوگا. - -4. GRT کی وہ رقم درج کریں جو آپ اپنے اکاؤنٹ بیلنس میں شامل کرنا چاہتے ہیں۔ آپ "تمام" بٹن پر کلک کر کے GRT کی زیادہ سے زیادہ رقم بھی منتخب کر سکتے ہیں جسے آپ اپنے اکاؤنٹ بیلنس میں شامل کرنا چاہتے ہیں. - -5. سب گراف اسٹوڈیو کو اپنے GRT تک رسائی کی اجازت دینے کے لیے 'GRT رسائی کی اجازت دیں' پر کلک کریں۔ اپنے والیٹ میں متعلقہ ٹرانزیکشن پر دستخط کریں۔ اس سے کوئی گیس فیس خرچ نہیں ہوگی. - -6. اپنے اکاؤنٹ بیلنس میں GRT شامل کرنے کے لیے 'اکاؤنٹ بیلنس میں GRT شامل کریں' پر کلک کریں۔ اپنے والیٹ میں متعلقہ ٹرانزیکشن پر دستخط کریں۔ اس سے گیس کی لاگت آئے گی. - -7. ٹرانزیکشن کی تصدیق ہوجانے کے بعد، آپ کو ایک گھنٹے کے اندر اپنے اکاؤنٹ بیلنس میں شامل GRT نظر آئے گا. - -### کرپٹو والیٹ کا استعمال کرتے ہوئے GRT واپس لینا - -> یہ سیکشن یہ فرض کرتے ہوئے لکھا گیا ہے کہ آپ نے [سب گراف اسٹوڈیو](https://thegraph.com/studio/billing/) پر اپنے اکاؤنٹ بیلنس میں GRT جمع کرایا ہے اور آپ آربٹرم نیٹ ورک پر ہیں. - -1. [سب گراف اسٹوڈیو بلنگ پیج](https://thegraph.com/studio/billing/) پر جائیں. - -2. صفحہ کے اوپری دائیں کونے میں "کنیکٹ والیٹ" بٹن پر کلک کریں۔ اپنا والیٹ منتخب کریں اور "کنیکٹ" پر کلک کریں. - -3. صفحہ کے بیچ میں ' GRT شامل کریں' بٹن کے آگے ڈراپ ڈاؤن پر کلک کریں۔ GRT واپس لینے کو منتخب کریں۔ ایک سائیڈ پینل ظاہر ہوگا. - -4. GRT کی وہ رقم درج کریں جو آپ نکالنا چاہتے ہیں. - -5. اپنے اکاؤنٹ بیلنس سے GRT نکالنے کے لیے 'GRT نکالیں' پر کلک کریں۔ اپنے والیٹ میں متعلقہ ٹرانزیکشن پر دستخط کریں۔ اس سے گیس کی لاگت آئے گی۔ GRT آپ کے آربٹرم والیٹ کو بھیج دیا جائے گا. - -6. ٹرانزیکشن کی تصدیق ہوجانے کے بعد، آپ اپنے آربٹرم والیٹ میں اپنے اکاؤنٹ بیلنس سے GRT نکالے ہوئے دیکھیں گے. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. +4. Enter the amount of GRT you would like to withdraw. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### ملٹی سگ والیٹ کا استعمال کرتے ہوئے GRT شامل کرنا - - -1. [سب گراف اسٹوڈیو بلنگ پیج](https://thegraph.com/studio/billing/) پر جائیں. - -2. صفحہ کے اوپری دائیں کونے میں "کنیکٹ والیٹ" بٹن پر کلک کریں۔ اپنا والیٹ منتخب کریں اور "کنیکٹ" پر کلک کریں۔ اگر آپ [Gnosis-Safe](https://gnosis-safe.io/) استعمال کر رہے ہیں، تو آپ اپنے ملٹی سگ کے ساتھ ساتھ اپنے دستخط والے والیٹ کو بھی جوڑ سکیں گے۔ پھر، متعلقہ پیغام پر دستخط کریں۔ اس سے کوئی گیس فیس خرچ نہیں ہوگی. - -3. صفحہ کے بیچ میں 'GRT شامل کریں' بٹن پر کلک کریں۔ ایک سائیڈ پینل ظاہر ہوگا. - -4. ٹرانزیکشن کی تصدیق ہوجانے کے بعد، آپ کو ایک گھنٹے کے اندر اپنے اکاؤنٹ بیلنس میں شامل GRT نظر آئے گا. - -### ملٹی سگ والیٹ کا استعمال کرتے ہوئے GRT واپس لینا - -> یہ سیکشن یہ فرض کرتے ہوئے لکھا گیا ہے کہ آپ نے [سب گراف اسٹوڈیو](https://thegraph.com/studio/billing/) پر اپنے اکاؤنٹ بیلنس میں GRT جمع کرایا ہے اور یہ کہ آپ ایتھیریم مین نیٹ پر ہیں. - -1. [سب گراف اسٹوڈیو بلنگ پیج](https://thegraph.com/studio/billing/) پر جائیں. - -2. صفحہ کے اوپری دائیں کونے میں "کنیکٹ والیٹ" بٹن پر کلک کریں۔ اپنا والیٹ منتخب کریں اور "کنیکٹ" پر کلک کریں. - -3. صفحہ کے بیچ میں 'GRT شامل کریں' بٹن کے آگے ڈراپ ڈاؤن پر کلک کریں۔ GRT واپس لینے کو منتخب کریں۔ ایک سائیڈ پینل ظاہر ہوگا. - -4. GRT کی وہ رقم درج کریں جو آپ نکالنا چاہتے ہیں۔ وصول کرنے والے والیٹ کی وضاحت کریں جو اس ٹرانزیکشن سے GRT وصول کرے گا۔ GRT آربٹرم پر وصول کرنے والے والیٹ کو بھیجا جائے گا. - -5. اپنے اکاؤنٹ بیلنس سے GRT نکالنے کے لیے 'GRT نکالیں' پر کلک کریں۔ اپنے والیٹ میں متعلقہ ٹرانزیکشن پر دستخط کریں۔ اس سے گیس کی لاگت آئے گی. - -6. ٹرانزیکشن کی تصدیق ہوجانے کے بعد، آپ کو ایک گھنٹے کے اندر اپنے آربٹرم والیٹ میں شامل GRT نظر آئے گا. - -## GRT حاصل کرنا - -یہ سیکشن آپ کو دکھائے گا کہ کیوری کی فیس کی ادائیگی کے لیے GRT کیسے حاصل کیا جائے. - -### کوائن بیس - -کوائن بیس پر GRT کی خریداری کے لیے یہ مرحلہ وار گائیڈ ہوگا. - -1. [کوائن بیس](https://www.coinbase.com/) پر جائیں اور ایک اکاؤنٹ بنائیں. -2. ایک بار جب آپ ایک اکاؤنٹ بنا لیتے ہیں، تو آپ کو KYC (یا اپنے صارف کو جانیں) کے نام سے جانے والے عمل کے ذریعے اپنی شناخت کی تصدیق کرنی ہوگی۔ یہ تمام سنٹرلائزڈ یا کسٹوڈیل کرپٹو ایکسچینجز کے لیے ایک معیاری طریقہ کار ہے. -3. اپنی شناخت کی تصدیق کرنے کے بعد، آپ GRT خرید سکتے ہیں۔ آپ صفحہ کے اوپری دائیں جانب "خریدیں/بیچیں" بٹن پر کلک کر کے ایسا کر سکتے ہیں. -4. وہ کرنسی منتخب کریں جسے آپ خریدنا چاہتے ہیں۔ GRT کو منتخب کریں. -5. ادائیگی کا طریقہ منتخب کریں۔ اپنا پسندیدہ ادائیگی کا طریقہ منتخب کریں. -6. GRT کی وہ مقدار منتخب کریں جو آپ خریدنا چاہتے ہیں. -7. اپنی خریداری کا جائزہ لیں۔ اپنی خریداری کا جائزہ لیں اور "GRT خریدیں" پر کلک کریں. -8. اپنی خریداری کی تصدیق کریں۔ اپنی خریداری کی تصدیق کریں اور آپ نے کامیابی کے ساتھ GRT خرید لیا ہو گا. -9. آپ GRT کو اپنے اکاؤنٹ سے اپنے کرپٹو والیٹ جیسے [میٹا ماسک](https://metamask.io/) میں منتقل کر سکتے ہیں. - - GRT کو اپنے کرپٹو والیٹ میں منتقل کرنے کے لیے، صفحہ کے اوپری دائیں جانب "اکاؤنٹس" بٹن پر کلک کریں. - - GRT اکاؤنٹ کے آگے "بھیجیں" بٹن پر کلک کریں. - - GRT کی وہ رقم درج کریں جسے آپ بھیجنا چاہتے ہیں اور والیٹ کا پتہ جس پر آپ اسے بھیجنا چاہتے ہیں. - - "جاری رکھیں" پر کلک کریں اور اپنے ٹرانزیکشن کی تصدیق کریں۔ -براہ کرم نوٹ کریں کہ بڑی خریداری کی رقم کے لیے، کوائن بیس آپ کو کرپٹو والیٹ میں پوری رقم منتقل کرنے سے پہلے 7-10 دن انتظار کرنے کا مطالبہ کر سکتا ہے. - -کوائن بیس پر GRT حاصل کرنے کے بارے میں آپ [یہاں](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency) مزید جان سکتے ہیں. - -### بائنینس - -یہ بائنینس پر GRT کی خریداری کے لیے مرحلہ وار گائیڈ ہوگا. - -1. [بائنینس](https://www.binance.com/en) پر جائیں اور ایک اکاؤنٹ بنائیں. -2. ایک بار جب آپ ایک اکاؤنٹ بنا لیتے ہیں، تو آپ کو KYC (یا اپنے صارف کو جانیں) کے نام سے جانے والے عمل کے ذریعے اپنی شناخت کی تصدیق کرنی ہوگی۔ یہ تمام سنٹرلائزڈ یا کسٹوڈیل کرپٹو ایکسچینجز کے لیے ایک معیاری طریقہ کار ہے. -3. اپنی شناخت کی تصدیق کرنے کے بعد، آپ GRT خرید سکتے ہیں۔ آپ ہوم پیج بینر پر "ابھی خریدیں" بٹن پر کلک کر کے ایسا کر سکتے ہیں. -4. آپ کو ایک صفحہ پر لے جایا جائے گا جہاں آپ وہ کرنسی منتخب کر سکتے ہیں جسے آپ خریدنا چاہتے ہیں۔ GRT کو منتخب کریں. -5. اپنا پسندیدہ ادائیگی کا طریقہ منتخب کریں۔ آپ مختلف فیاٹ کرنسیوں جیسے یورو، امریکی ڈالر، اور مزید کے ساتھ ادائیگی کر سکیں گے. -6. GRT کی وہ مقدار منتخب کریں جو آپ خریدنا چاہتے ہیں. -7. اپنی خریداری کا جائزہ لیں اور "GRT خریدیں" پر کلک کریں. -8. اپنی خریداری کی تصدیق کریں اور آپ اپنے بائنینس سپاٹ والیٹ میں اپنا GRT دیکھ سکیں گے. -9. آپ اپنے اکاؤنٹ سے اپنے کرپٹو والیٹ جیسے [MetaMask](https://metamask.io/) میں GRT واپس لے سکتے ہیں. - - اپنے کریپٹو والیٹ میں GRT کو [واپس لینے کے لیے](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570)، اپنے کریپٹو والیٹ کا پتہ نکالنے کی وائٹ لسٹ میں شامل کریں. - - "والیٹ" بٹن پر کلک کریں، واپس لینے پر کلک کریں، اور GRT کو منتخب کریں. - - GRT کی وہ رقم درج کریں جسے آپ بھیجنا چاہتے ہیں اور وائٹ لسٹ شدہ والیٹ ایڈریس جس پر آپ اسے بھیجنا چاہتے ہیں. - - "جاری رہے" پر کلک کریں اور اپنے ٹرانزیکشن کی تصدیق کریں. - -آپ بائنینس پر GRT حاصل کرنے کے بارے میں مزید جان سکتے ہیں [یہاں](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +## Getting GRT + +This section will show you how to get GRT to pay for query fees. + +### Coinbase + +This will be a step by step guide for purchasing GRT on Coinbase. + +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select GRT. +5. Select the payment method. Select your preferred payment method. +6. Select the amount of GRT you want to purchase. +7. Review your purchase. Review your purchase and click "Buy GRT". +8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the GRT account. + - Enter the amount of GRT you want to send and the wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. + +You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). + +### Binance + +This will be a step by step guide for purchasing GRT on Binance. + +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. +4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. +5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. +6. Select the amount of GRT you want to purchase. +7. Review your purchase and click "Buy GRT". +8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. + - Click on the "wallet" button, click withdraw, and select GRT. + - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. + - Click "Continue" and confirm your transaction. + +You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). ### Uniswap -اس طرح آپ Uniswap پر GRT خرید سکتے ہیں. +This is how you can purchase GRT on Uniswap. -1. [Uniswap](https://app.uniswap.org/#/swap) پر جائیں اور اپنے والیٹ کو جوڑیں. -2. وہ ٹوکن منتخب کریں جس سے آپ تبادلہ کرنا چاہتے ہیں۔ ETH کو منتخب کریں. -3. وہ ٹوکن منتخب کریں جس پر آپ تبادلہ کرنا چاہتے ہیں۔ GRT کو منتخب کریں. - - یقینی بنائیں کہ آپ صحیح ٹوکن کے لیے تبادلہ کر رہے ہیں۔ GRT سمارٹ کنٹریکٹ کا ایڈریس ہے: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` -4. ETH کی وہ مقدار درج کریں جسے آپ تبدیل کرنا چاہتے ہیں. -5. "سویپ" پر کلک کریں. -6. اپنے والیٹ میں ٹرانزیکشن کی تصدیق کریں اور آپ ٹرانزیکشن کے پروسیس ہونے کا انتظار کریں. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. +2. Select the token you want to swap from. Select ETH. +3. Select the token you want to swap to. Select GRT. + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +4. Enter the amount of ETH you want to swap. +5. Click "Swap". +6. Confirm the transaction in your wallet and you wait for the transaction to process. -آپ [یہاں](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-) Uniswap پر GRT حاصل کرنے کے بارے میں مزید جان سکتے ہیں. +You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## ایتھیریم حاصل کرنا +## Getting Ether -یہ سیکشن آپ کو دکھائے گا کہ ٹرانزیکشن کی فیس یا گیس کے اخراجات کی ادائیگی کے لیے ایتھیریم کیسے حاصل کیا جائے۔ ایتھیریم نیٹ ورک پر کارروائیوں کو انجام دینے کے لیے ضروری ہے جیسے ٹوکن کی منتقلی یا کنٹریکٹ کے ساتھ تعامل. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. -### کوائن بیس +### Coinbase -کوائن بیس پر ایتھیریم کی خریداری کے لیے یہ مرحلہ وار گائیڈ ہوگا. +This will be a step by step guide for purchasing ETH on Coinbase. -1. [کوائن بیس](https://www.coinbase.com/) پر جائیں اور ایک اکاؤنٹ بنائیں. -2. ایک بار جب آپ نے ایک اکاؤنٹ بنا لیا، تو KYC (یا اپنے صارف کو جانیں) کے نام سے جانے والے عمل کے ذریعے اپنی شناخت کی تصدیق کریں۔ یہ تمام سینٹرلائزڈ یا کسٹوڈیل کرپٹو ایکسچینجز کے لیے ایک معیاری طریقہ کار ہے. -3. اپنی شناخت کی تصدیق کرنے کے بعد، صفحہ کے اوپری دائیں جانب "خرید/فروخت" بٹن پر کلک کرکے ایتھریم خریدیں. -4. وہ کرنسی منتخب کریں جسے آپ خریدنا چاہتے ہیں۔ ایتھریم کو منتخب کریں. -5. اپنا پسندیدہ ادائیگی کا طریقہ منتخب کریں. -6. ایتھیریم کی وہ مقدار درج کریں جو آپ خریدنا چاہتے ہیں. -7. اپنی خریداری کا جائزہ لیں اور "ایتھیریم خریدیں" پر کلک کریں. -8. اپنی خریداری کی تصدیق کریں اور آپ کامیابی سے ایتھیریم خرید چکے ہوں گے. -9. آپ ایتھیریم کو اپنے کوائن بیس اکاؤنٹ سے اپنے کرپٹو والیٹ جیسے [میٹا ماسک](https://metamask.io/) میں منتقل کر سکتے ہیں. - - ایتھیریم کو اپنے کرپٹو والیٹ میں منتقل کرنے کے لیے، پیج کے اوپری دائیں جانب "اکاؤنٹس" بٹن پر کلک کریں. - - ایتھیریم اکاؤنٹ کے آگے "بھیجیں" بٹن پر کلک کریں. - - ایتھیریم کی وہ رقم درج کریں جسے آپ بھیجنا چاہتے ہیں اور والیٹ کا پتہ جس پر آپ اسے بھیجنا چاہتے ہیں. - - "جاری رہے" پر کلک کریں اور اپنے ٹرانزیکشن کی تصدیق کریں. +1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select ETH. +5. Select your preferred payment method. +6. Enter the amount of ETH you want to purchase. +7. Review your purchase and click "Buy ETH". +8. Confirm your purchase and you will have successfully purchased ETH. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the ETH account. + - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. کوائن بیس پر ایتھیریم حاصل کرنے کے بارے میں آپ [یہاں](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency) مزید جان سکتے ہیں. -### بائنینس +### Binance یہ بائنینس پر ایتھیریم کی خریداری کے لیے مرحلہ وار گائیڈ ہوگا. -1. [بائنینس](https://www.binance.com/en) پر جائیں اور ایک اکاؤنٹ بنائیں. -2. ایک بار جب آپ نے ایک اکاؤنٹ بنا لیا، تو KYC (یا اپنے صارف کو جانیں) کے نام سے جانے والے عمل کے ذریعے اپنی شناخت کی تصدیق کریں۔ یہ تمام سینٹرلائزڈ یا کسٹوڈیل کرپٹو ایکسچینجز کے لیے ایک معیاری طریقہ کار ہے. +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. اپنی شناخت کی تصدیق کرنے کے بعد، ہوم پیج بینر پر "اب خریدیں" بٹن پر کلک کرکے ایتھیریم خریدیں. 4. وہ کرنسی منتخب کریں جسے آپ خریدنا چاہتے ہیں۔ ایتھیریم کو منتخب کریں. -5. اپنا پسندیدہ ادائیگی کا طریقہ منتخب کریں. -6. ایتھیریم کی وہ مقدار درج کریں جو آپ خریدنا چاہتے ہیں. -7. اپنی خریداری کا جائزہ لیں اور "ایتھیریم خریدیں" پر کلک کریں. +5. Select your preferred payment method. +6. Enter the amount of ETH you want to purchase. +7. Review your purchase and click "Buy ETH". 8. اپنی خریداری کی تصدیق کریں اور آپ اپنے بائننس اسپاٹ والیٹ میں اپنا ایتھیریم دیکھیں گے. -9. آپ اپنے اکاؤنٹ سے اپنے کرپٹو والیٹ جیسے [میٹا ماسک](https://metamask.io/) میں ایتھریم واپس لے سکتے ہیں. - - ایتھیریم کو اپنے کرپٹو والیٹ میں واپس لینے کے لیے، اپنے کریپٹو والیٹ کا پتہ نکالنے کی وائٹ لسٹ میں شامل کریں. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - "والیٹ" بٹن پر کلک کریں، واپس لینے پر کلک کریں، اور ایتھیریم کو منتخب کریں. - ایتھیریم کی وہ رقم درج کریں جسے آپ بھیجنا چاہتے ہیں اور وائٹ لسٹ شدہ والیٹ ایڈریس جس پر آپ اسے بھیجنا چاہتے ہیں. - - "جاری رہے" پر کلک کریں اور اپنے ٹرانزیکشن کی تصدیق کریں. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. آپ بائنینس پر ایتھیریم حاصل کرنے کے بارے میں مزید جان سکتے ہیں [یہاں ](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum بریج +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -بلنگ کنٹریکٹ صرف GRT کو ایتھریم مین نیٹ سے Arbitrum نیٹ ورک تک پہنچانے کے لیے ڈیزائن کیا گیا ہے۔ اگر آپ اپنا Arbitrum GRT سے ایتھیریم مینیٹ پر واپس منتقل کرنا چاہتے ہیں، تو آپ کو [ Arbitrum بریج](https://bridge.arbitrum.io/?l2ChainId=42161) استعمال کرنا ہوگا. +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 1e6fdf243cdedd8f9072535a27a6cfec744474c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:51 -0400 Subject: [PATCH 0677/2326] New translations billing.mdx (Vietnamese) --- website/pages/vi/billing.mdx | 160 ++++++++++++++++------------------- 1 file changed, 74 insertions(+), 86 deletions(-) diff --git a/website/pages/vi/billing.mdx b/website/pages/vi/billing.mdx index 34a1ed7a8ce0..a4b8d3f03de2 100644 --- a/website/pages/vi/billing.mdx +++ b/website/pages/vi/billing.mdx @@ -2,104 +2,80 @@ title: Billing --- -> Invoices are generated on a weekly basis. +## Subgraph Billing Plans -There are two options for paying for your query fees: +There are two plans to use when querying subgraphs on The Graph Network. -- [Paying with fiat currency with Banxa](#billing-with-banxa) -- [Paying with crypto wallet](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Billing with Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa enables you to bypass the need for an exchange and pay for your query fees using the fiat currency of your choice. The fiat currency will be converted to GRT, added to your account balance on the billing contract, and used to pay for queries associated with your API keys. + -There may be KYC requirements depending on the regulations in your country. For more information about KYC, please visit [Banxa's FAQ page](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -You can learn more about Banxa by reading their [documentation](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Paying for query fees with Banxa +## Query Payments with GRT -1. Select “Pay with Card” option in [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Enter the amount of GRT to be added to your account balance. -3. Click the 'Continue with Banxa' button. -4. Enter necessary banking information on Banxa including payment method & fiat currency of choice. -5. Finish the transaction. - -It may take up to 10 minutes to complete the transaction. Once the transaction is confirmed, the purchased GRT will automatically be added to your account balance on Arbitrum. - -## Billing on Arbitrum - -While The Graph protocol operates on Ethereum Mainnet, [the billing contract](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) lives on the [Arbitrum](https://arbitrum.io/) network to reduce transaction times and cost. You'll be required to pay the query fees generated from your API keys. Using the billing contract, you'll be able to: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Add and withdraw GRT from your account balance. - Keep track of your balances based on how much GRT you have added to your account balance, how much you have removed, and your invoices. - Automatically pay invoices based on query fees generated, as long as there is enough GRT in your account balance. -### Adding GRT using a crypto wallet +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> This section is written assuming you already have GRT in your crypto wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Enter the amount of GRT you want to add to your account balance. You can also select the maximum amount of GRT you want to add to your account balance by clicking on the "Max" button. - -5. Click 'Allow GRT Access' to allow the Subgraph Studio to access your GRT. Sign the associated transaction in your wallet. This will not cost any gas. - -6. Click 'Add GRT to account balance' to add the GRT to your account balance. Sign the associated transaction in your wallet. This will cost gas. - -7. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a crypto wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on the Arbitrum network. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. 4. Enter the amount of GRT you would like to withdraw. - 5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. - 6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Adding GRT using a multisig wallet - - 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a multisig wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on Ethereum mainnet. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - -4. Enter the amount of GRT you would like to withdraw. Specify the receiving wallet which will receive the GRT from this transaction. The GRT will be sent to the receiving wallet on Arbitrum. - -5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. - -6. Once the transaction is confirmed, you'll see the GRT added to your Arbitrum wallet within an hour. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. ## Getting GRT @@ -117,11 +93,11 @@ This will be a step by step guide for purchasing GRT on Coinbase. 6. Select the amount of GRT you want to purchase. 7. Review your purchase. Review your purchase and click "Buy GRT". 8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. -9. You can transfer the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the GRT to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the GRT account. - Enter the amount of GRT you want to send and the wallet address you want to send it to. - - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a crypto wallet. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -137,8 +113,8 @@ This will be a step by step guide for purchasing GRT on Binance. 6. Select the amount of GRT you want to purchase. 7. Review your purchase and click "Buy GRT". 8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. -9. You can withdraw the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your crypto wallet, add your crypto wallet's address to the withdrawel whitelist. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. - Click on the "wallet" button, click withdraw, and select GRT. - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. - Click "Continue" and confirm your transaction. @@ -149,19 +125,19 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Go to [Uniswap](https://app.uniswap.org/#/swap) and connect your wallet. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. 2. Select the token you want to swap from. Select ETH. 3. Select the token you want to swap to. Select GRT. - - Make sure you're swapping for the correct token. The GRT smart contract address is: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) 4. Enter the amount of ETH you want to swap. 5. Click "Swap". 6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase @@ -175,10 +151,11 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 748c64d51beeccd29bb1f19e09701d6553614f84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:52 -0400 Subject: [PATCH 0678/2326] New translations billing.mdx (Marathi) --- website/pages/mr/billing.mdx | 180 ++++++++++++++++------------------- 1 file changed, 84 insertions(+), 96 deletions(-) diff --git a/website/pages/mr/billing.mdx b/website/pages/mr/billing.mdx index 74f44263d43c..274bfb3b6979 100644 --- a/website/pages/mr/billing.mdx +++ b/website/pages/mr/billing.mdx @@ -2,104 +2,80 @@ title: Billing --- -> Invoices are generated on a weekly basis. +## Subgraph Billing Plans -There are two options for paying for your query fees: +There are two plans to use when querying subgraphs on The Graph Network. -- [Paying with fiat currency with Banxa](#billing-with-banxa) -- [Paying with crypto wallet](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Billing with Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -बॅंक्सा तुम्हाला एक्सचेंजची गरज टाळण्यास आणि तुमच्या पसंतीच्या फियाट चलनाचा वापर करून तुमच्या क्वेरी शुल्कासाठी पैसे देण्यास सक्षम करते. फियाट चलन GRT मध्ये रूपांतरित केले जाईल, बिलिंग करारावरील तुमच्या खात्यातील शिल्लक जोडले जाईल आणि तुमच्या API कीशी संबंधित प्रश्नांसाठी पैसे देण्यासाठी वापरले जाईल. + -तुमच्या देशातील नियमांनुसार KYC आवश्यकता असू शकतात. KYC बद्दल अधिक माहितीसाठी, कृपया [Banxa चे FAQ पेज](https://docs.banxa.com/docs/faqs) ला भेट द्या. +## Query Payments with credit card -तुम्ही त्यांचे [दस्तऐवज](https://docs.banxa.com/docs) वाचून Banxa बद्दल अधिक जाणून घेऊ शकता. +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. पृष्ठाच्या वरच्या उजव्या कोपर्यात "कनेक्ट वॉलेट" बटणावर क्लिक करा. तुम्हाला वॉलेट निवड पृष्ठावर पुनर्निर्देशित केले जाईल. तुमचे वॉलेट निवडा आणि "कनेक्ट" वर क्लिक करा. + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Paying for query fees with Banxa +## Query Payments with GRT -1. Select “Pay with Card” option in [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Enter the amount of GRT to be added to your account balance. -3. 'Banxa' बटणावर क्लिक करा सह सुरू ठेवा. -4. पेमेंट पद्धतीसह बँक्सावर आवश्यक बँकिंग माहिती प्रविष्ट करा & पसंतीचे फियाट चलन. -5. Finish the transaction. - -व्यवहार पूर्ण होण्यासाठी 10 मिनिटे लागू शकतात. व्यवहाराची पुष्टी झाल्यानंतर, खरेदी केलेला GRT आपोआप आर्बिट्रमवरील तुमच्या खात्यातील शिल्लकमध्ये जोडला जाईल. - -## Billing on Arbitrum - -ग्राफ प्रोटोकॉल इथरियम मेननेटवर कार्यरत असताना, [बिलिंग करार](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) [आर्बिट्रम](https://arbitrum.io/ वर राहतो व्यवहाराची वेळ आणि खर्च कमी करण्यासाठी) नेटवर्क. तुम्हाला तुमच्या API की मधून व्युत्पन्न केलेली क्वेरी फी भरावी लागेल. बिलिंग करार वापरून, तुम्ही हे करू शकाल: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Add and withdraw GRT from your account balance. - तुम्ही तुमच्या खात्यातील शिल्लकमध्ये किती GRT जोडले आहे, तुम्ही किती काढले आहे आणि तुमच्या इनव्हॉइसवर आधारित तुमच्या शिल्लकांचा मागोवा ठेवा. - जोपर्यंत तुमच्या खात्यातील शिल्लक पुरेशी GRT आहे तोपर्यंत व्युत्पन्न केलेल्या क्वेरी शुल्कावर आधारित चलन स्वयंचलितपणे भरा. -### Adding GRT using a crypto wallet +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> तुमच्या क्रिप्टो वॉलेटमध्ये तुमच्याकडे आधीपासूनच GRT आहे आणि तुम्ही Ethereum mainnet वर आहात असे गृहीत धरून हा विभाग लिहिलेला आहे. तुमच्याकडे GRT नसल्यास, तुम्ही GRT कसे मिळवायचे ते [येथे](#getting-grt) शिकू शकता. +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. पृष्ठाच्या वरच्या उजव्या कोपर्यात "कनेक्ट वॉलेट" बटणावर क्लिक करा. तुम्हाला वॉलेट निवड पृष्ठावर पुनर्निर्देशित केले जाईल. तुमचे वॉलेट निवडा आणि "कनेक्ट" वर क्लिक करा. - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. तुम्हाला तुमच्या खात्यातील शिल्लकमध्ये जोडायची असलेली GRT रक्कम एंटर करा. "मॅक्स" बटणावर क्लिक करून तुम्ही तुमच्या खात्यातील शिल्लकमध्ये जोडू इच्छित GRT ची कमाल रक्कम देखील निवडू शकता. - -5. सबग्राफ स्टुडिओला तुमच्या GRT मध्ये प्रवेश करण्याची परवानगी देण्यासाठी 'GRT प्रवेशास अनुमती द्या' वर क्लिक करा. तुमच्या वॉलेटमध्ये संबंधित व्यवहारावर सही करा. यामुळे गॅसची किंमत लागणार नाही. - -6. तुमच्या खात्यातील शिल्लकमध्ये GRT जोडण्यासाठी 'खात्यातील शिल्लकमध्ये GRT जोडा' वर क्लिक करा. तुमच्या वॉलेटमध्ये संबंधित व्यवहारावर सही करा. यामुळे गॅसचा खर्च होईल. - -7. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a crypto wallet - -> तुम्ही [सबग्राफ स्टुडिओ](https://thegraph.com/studio/billing/) वर तुमच्या खात्यातील शिल्लकमध्ये GRT जमा केला आहे आणि तुम्ही आर्बिट्रम नेटवर्कवर आहात असे गृहीत धरून हा विभाग लिहिलेला आहे. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. पृष्ठाच्या वरच्या उजव्या कोपर्यात "कनेक्ट वॉलेट" बटणावर क्लिक करा. तुमचे वॉलेट निवडा आणि "कनेक्ट" वर क्लिक करा. - -3. पृष्ठाच्या मध्यभागी असलेल्या 'GRT जोडा' बटणाच्या पुढील ड्रॉपडाउनवर क्लिक करा. GRT काढा निवडा. एक साइड पॅनेल दिसेल. - +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. 4. Enter the amount of GRT you would like to withdraw. - -5. तुमच्या खात्यातील शिल्लकमधून GRT काढण्यासाठी 'GRT काढा' वर क्लिक करा. तुमच्या वॉलेटमध्ये संबंधित व्यवहारावर सही करा. यामुळे गॅसचा खर्च होईल. GRT तुमच्या आर्बिट्रम वॉलेटवर पाठवला जाईल. - -6. व्यवहाराची पुष्टी झाल्यानंतर, तुम्हाला तुमच्या आर्बिट्रम वॉलेटमध्ये तुमच्या खात्यातील शिल्लक रकमेतून GRT काढलेला दिसेल. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Adding GRT using a multisig wallet - - 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. पृष्ठाच्या वरच्या उजव्या कोपर्यात "कनेक्ट वॉलेट" बटणावर क्लिक करा. तुमचे वॉलेट निवडा आणि "कनेक्ट" वर क्लिक करा. तुम्ही [Gnosis-Safe](https://gnosis-safe.io/) वापरत असल्यास, तुम्ही तुमचे मल्टीसिग तसेच तुमचे साइनिंग वॉलेट कनेक्ट करण्यात सक्षम व्हाल. त्यानंतर, संबंधित संदेशावर स्वाक्षरी करा. यामुळे गॅसची किंमत लागणार नाही. - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a multisig wallet - -> हा विभाग तुम्ही [सबग्राफ स्टुडिओ](https://thegraph.com/studio/billing/) वर तुमच्या खात्यातील शिल्लकमध्ये GRT जमा केला आहे आणि तुम्ही Ethereum mainnet वर आहात असे गृहीत धरून लिहिलेले आहे. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. पृष्ठाच्या वरच्या उजव्या कोपर्यात "कनेक्ट वॉलेट" बटणावर क्लिक करा. तुमचे वॉलेट निवडा आणि "कनेक्ट" वर क्लिक करा. - -3. पृष्ठाच्या मध्यभागी असलेल्या 'GRT जोडा' बटणाच्या पुढील ड्रॉपडाउनवर क्लिक करा. GRT काढा निवडा. एक साइड पॅनेल दिसेल. - -4. तुम्ही काढू इच्छित असलेली GRT रक्कम एंटर करा. प्राप्त वॉलेट निर्दिष्ट करा ज्याला या व्यवहारातून GRT प्राप्त होईल. जीआरटी आर्बिट्रमवर प्राप्त वॉलेटवर पाठविली जाईल. - -5. तुमच्या खात्यातील शिल्लकमधून GRT काढण्यासाठी 'GRT काढा' वर क्लिक करा. तुमच्या वॉलेटमध्ये संबंधित व्यवहारावर सही करा. यामुळे गॅसचा खर्च होईल. - -6. Once the transaction is confirmed, you'll see the GRT added to your Arbitrum wallet within an hour. +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. ## Getting GRT @@ -110,18 +86,18 @@ This section will show you how to get GRT to pay for query fees. This will be a step by step guide for purchasing GRT on Coinbase. 1. Go to [Coinbase](https://www.coinbase.com/) and create an account. -2. एकदा तुम्ही खाते तयार केल्यानंतर, तुम्हाला KYC (किंवा तुमच्या ग्राहकाला जाणून घ्या) या नावाने ओळखल्या जाणार्‍या प्रक्रियेद्वारे तुमची ओळख सत्यापित करणे आवश्यक आहे. सर्व केंद्रीकृत किंवा कस्टोडियल क्रिप्टो एक्सचेंजसाठी ही एक मानक प्रक्रिया आहे. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. 4. Select the currency you want to purchase. Select GRT. 5. Select the payment method. Select your preferred payment method. 6. Select the amount of GRT you want to purchase. 7. Review your purchase. Review your purchase and click "Buy GRT". 8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. -9. You can transfer the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - तुमच्या क्रिप्टो वॉलेटमध्ये GRT हस्तांतरित करण्यासाठी, पृष्ठाच्या वरच्या उजव्या बाजूला असलेल्या "खाते" बटणावर क्लिक करा. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the GRT account. - Enter the amount of GRT you want to send and the wallet address you want to send it to. - - "सुरू ठेवा" वर क्लिक करा आणि तुमच्या व्यवहाराची पुष्टी करा. -कृपया लक्षात घ्या की मोठ्या खरेदी रकमेसाठी, Coinbase ला तुम्हाला संपूर्ण रक्कम क्रिप्टो वॉलेटमध्ये हस्तांतरित करण्यापूर्वी 7-10 दिवस प्रतीक्षा करावी लागेल. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -130,17 +106,17 @@ You can learn more about getting GRT on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing GRT on Binance. 1. Go to [Binance](https://www.binance.com/en) and create an account. -2. एकदा तुम्ही खाते तयार केल्यानंतर, तुम्हाला KYC (किंवा तुमच्या ग्राहकाला जाणून घ्या) या नावाने ओळखल्या जाणार्‍या प्रक्रियेद्वारे तुमची ओळख सत्यापित करणे आवश्यक आहे. सर्व केंद्रीकृत किंवा कस्टोडियल क्रिप्टो एक्सचेंजसाठी ही एक मानक प्रक्रिया आहे. -3. एकदा तुम्ही तुमची ओळख सत्यापित केल्यानंतर, तुम्ही GRT खरेदी करू शकता. तुम्ही होमपेज बॅनरवरील "Buy Now" बटणावर क्लिक करून हे करू शकता. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. 4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. -5. तुमची पसंतीची पेमेंट पद्धत निवडा. तुम्ही युरो, यूएस डॉलर्स आणि बरेच काही यांसारख्या विविध फियाट चलनांसह देय देण्यास सक्षम असाल. +5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. 6. Select the amount of GRT you want to purchase. 7. Review your purchase and click "Buy GRT". -8. तुमच्या खरेदीची पुष्टी करा आणि तुम्ही तुमच्या Binance Spot Wallet मध्ये तुमचा GRT पाहण्यास सक्षम असाल. -9. तुम्ही तुमच्या खात्यातून तुमच्या क्रिप्टो वॉलेटमध्ये GRT काढू शकता जसे की [MetaMask](https://metamask.io/). - - तुमच्या क्रिप्टो वॉलेटमधील GRT [मागे घेण्यासाठी](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570), पैसे काढण्याच्या श्वेतसूचीमध्ये तुमचा क्रिप्टो वॉलेट पत्ता जोडा. +8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. - Click on the "wallet" button, click withdraw, and select GRT. - - तुम्हाला पाठवायची असलेली GRT ची रक्कम आणि तुम्हाला तो पाठवायचा असलेला व्हाइटलिस्ट केलेला वॉलेट पत्ता एंटर करा. + - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. - Click "Continue" and confirm your transaction. You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). @@ -149,19 +125,19 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Go to [Uniswap](https://app.uniswap.org/#/swap) and connect your wallet. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. 2. Select the token you want to swap from. Select ETH. 3. Select the token you want to swap to. Select GRT. - - तुम्ही योग्य टोकनसाठी स्वॅप करत असल्याची खात्री करा. GRT स्मार्ट करार पत्ता आहे: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) 4. Enter the amount of ETH you want to swap. 5. Click "Swap". 6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase @@ -175,10 +151,11 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 9a222687d5c34be66e3ad3a4be2d07972aefc5ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:53 -0400 Subject: [PATCH 0679/2326] New translations billing.mdx (Hindi) --- website/pages/hi/billing.mdx | 232 +++++++++++++++++------------------ 1 file changed, 110 insertions(+), 122 deletions(-) diff --git a/website/pages/hi/billing.mdx b/website/pages/hi/billing.mdx index 1b81a32005de..87f749be14ad 100644 --- a/website/pages/hi/billing.mdx +++ b/website/pages/hi/billing.mdx @@ -2,126 +2,102 @@ title: बिलिंग --- -> चालान साप्ताहिक आधार पर उत्पन्न होते हैं। +## Subgraph Billing Plans -आपके प्रश्न शुल्क के भुगतान के लिए दो विकल्प हैं: +There are two plans to use when querying subgraphs on The Graph Network. -- [बंक्सा के साथ फिएट करेंसी से भुगतान करना](#billing-with-banxa) -- [क्रिप्टो वॉलेट से भुगतान करना](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Billing with Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -बंक्सा आपको एक्सचेंज की आवश्यकता को बायपास करने और अपनी पसंद की फिएट मुद्रा का उपयोग करके अपनी क्वेरी फीस का भुगतान करने में सक्षम बनाता है। फिएट करेंसी को जीआरटी में बदला जाएगा, बिलिंग अनुबंध पर आपके खाते की शेष राशि में जोड़ा जाएगा, और आपकी एपीआई कुंजियों से संबंधित प्रश्नों के भुगतान के लिए उपयोग किया जाएगा। + -आपके देश में नियमों के आधार पर केवाईसी आवश्यकताएं हो सकती हैं। KYC के बारे में अधिक जानकारी के लिए, कृपया [Banxa's FAQ पेज](https://docs.banxa.com/docs/faqs) पर जाएं। +## Query Payments with credit card -आप उन्हें पढ़कर बंक्सा के बारे में और जान सकते हैं [documentation](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. पृष्ठ के ऊपरी दाएं कोने पर "कनेक्ट वॉलेट" बटन पर क्लिक करें। आपको बटुआ चयन पृष्ठ पर पुनर्निर्देशित किया जाएगा। अपना बटुआ चुनें और "कनेक्ट" पर क्लिक करें। + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Paying for query fees with Banxa +## Query Payments with GRT -1. Select “Pay with Card” option in [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. अपने खाते की शेष राशि में जोड़ने के लिए जीआरटी की राशि दर्ज करें। -3. 'बन्क्सा के साथ जारी रखें' बटन पर क्लिक करें। -4. भुगतान विधि और सहित बंक्सा पर आवश्यक बैंकिंग जानकारी दर्ज करें; पसंद की फिएट मुद्रा। -5. लेन-देन समाप्त करें। - -लेन-देन पूरा होने में 10 मिनट तक का समय लग सकता है। एक बार लेन-देन की पुष्टि हो जाने के बाद, खरीदी गई जीआरटी स्वचालित रूप से आर्बिट्रम पर आपके खाते की शेष राशि में जुड़ जाएगी। - -## विवेक पर बिलिंग - -जबकि ग्राफ़ प्रोटोकॉल एथेरियम मेननेट पर संचालित होता है, [बिलिंग अनुबंध](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) लेन-देन के समय और लागत को कम करने के लिए [मध्यस्थता](https://arbitrum.io/) नेटवर्क पर रहता है। आपको अपनी API कुंजियों से उत्पन्न क्वेरी शुल्क का भुगतान करना होगा। बिलिंग अनुबंध का उपयोग करके, आप निम्न में सक्षम होंगे: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - अपने खाते की शेष राशि से जीआरटी जोड़ें और निकालें। - आपने अपने खाते की शेष राशि में कितना GRT जोड़ा है, आपने कितना निकाला है, और अपने चालानों के आधार पर अपनी शेष राशि का ट्रैक रखें। - जब तक आपके खाते की शेष राशि में पर्याप्त GRT है, उत्पन्न क्वेरी शुल्क के आधार पर स्वचालित रूप से चालान का भुगतान करें। -### क्रिप्टो वॉलेट का उपयोग करके जीआरटी जोड़ना +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> यह खंड यह मानते हुए लिखा गया है कि आपके क्रिप्टो वॉलेट में पहले से ही जीआरटी है, और आप एथेरियम मेननेट पर हैं। यदि आपके पास जीआरटी नहीं है, तो आप [यहां](#getting-grt) जीआरटी प्राप्त करने का तरीका सीख सकते हैं। +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. [सबग्राफ स्टूडियो बिलिंग पेज](https://thegraph.com/studio/billing/) पर जाएं। +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. पृष्ठ के ऊपरी दाएं कोने पर "कनेक्ट वॉलेट" बटन पर क्लिक करें। आपको बटुआ चयन पृष्ठ पर पुनर्निर्देशित किया जाएगा। अपना बटुआ चुनें और "कनेक्ट" पर क्लिक करें। - -3. पृष्ठ के मध्य में 'जीआरटी जोड़ें' बटन पर क्लिक करें। एक साइड पैनल दिखाई देगा। - -4. जीआरटी की वह राशि दर्ज करें जिसे आप अपने खाते की शेष राशि में जोड़ना चाहते हैं। आप "अधिकतम" बटन पर क्लिक करके जीआरटी की वह अधिकतम राशि भी चुन सकते हैं जिसे आप अपने खाते की शेष राशि में जोड़ना चाहते हैं। - -5. सबग्राफ स्टूडियो को अपने जीआरटी तक पहुंचने की अनुमति देने के लिए 'जीआरटी एक्सेस की अनुमति दें' पर क्लिक करें। अपने बटुए में संबद्ध लेन-देन पर हस्ताक्षर करें। इससे कोई गैस खर्च नहीं होगी। - -6. अपने खाते की शेष राशि में जीआरटी जोड़ने के लिए 'खाता शेष में जीआरटी जोड़ें' पर क्लिक करें। अपने बटुए में संबद्ध लेन-देन पर हस्ताक्षर करें। इससे गैस खर्च होगी। - -7. एक बार लेन-देन की पुष्टि हो जाने के बाद, आप एक घंटे के भीतर अपने खाते की शेष राशि में जोड़ा गया जीआरटी देखेंगे। - -### क्रिप्टो वॉलेट का उपयोग करके जीआरटी निकालना - -> यह खंड यह मानते हुए लिखा गया है कि आपने [सबग्राफ स्टूडियो](https://thegraph.com/studio/billing/) पर अपने खाते की शेष राशि में GRT जमा कर दिया है और आप आर्बिट्रम नेटवर्क पर हैं। - -1. [सबग्राफ स्टूडियो बिलिंग पेज](https://thegraph.com/studio/billing/) पर जाएं। - -2. पृष्ठ के ऊपरी दाएं कोने पर "कनेक्ट वॉलेट" बटन पर क्लिक करें। अपना बटुआ चुनें और "कनेक्ट" पर क्लिक करें। - -3. पृष्ठ के मध्य में 'जीआरटी जोड़ें' बटन के बगल में स्थित ड्रॉपडाउन पर क्लिक करें। जीआरटी वापस लें चुनें। एक साइड पैनल दिखाई देगा। - -4. जीआरटी की वह राशि दर्ज करें जिसे आप निकालना चाहते हैं। - -5. अपने खाते की शेष राशि से जीआरटी निकालने के लिए 'जीआरटी निकालें' पर क्लिक करें। अपने बटुए में संबद्ध लेन-देन पर हस्ताक्षर करें। इससे गैस खर्च होगी। जीआरटी आपके आर्बिट्रम वॉलेट में भेजा जाएगा। - -6. एक बार लेन-देन की पुष्टि हो जाने के बाद, आप देखेंगे कि आपके आर्बिट्रम वॉलेट में आपके खाते की शेष राशि से जीआरटी निकाला गया है। +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. +4. Enter the amount of GRT you would like to withdraw. +5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. +6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### मल्टीसिग वॉलेट का उपयोग करके जीआरटी जोड़ना - +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. -1. [सबग्राफ स्टूडियो बिलिंग पेज](https://thegraph.com/studio/billing/) पर जाएं। +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. -2. पृष्ठ के ऊपरी दाएं कोने पर "कनेक्ट वॉलेट" बटन पर क्लिक करें। अपना बटुआ चुनें और "कनेक्ट" पर क्लिक करें। यदि आप [Gnosis-Safe](https://gnosis-safe.io/) का उपयोग कर रहे हैं, तो आप अपने मल्टीसिग के साथ-साथ अपने साइनिंग वॉलेट को भी कनेक्ट कर सकेंगे। फिर, संबंधित संदेश पर हस्ताक्षर करें। इससे कोई गैस खर्च नहीं होगी। - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. एक बार लेन-देन की पुष्टि हो जाने के बाद, आप एक घंटे के भीतर अपने खाते की शेष राशि में जोड़ा गया जीआरटी देखेंगे। - -### मल्टीसिग वॉलेट का उपयोग करके जीआरटी निकालना - -> यह खंड यह मानते हुए लिखा गया है कि आपने [सबग्राफ स्टूडियो](https://thegraph.com/studio/billing/) पर अपने खाते की शेष राशि में GRT जमा कर दिया है और आप एथेरियम मेननेट पर हैं। - -1. [सबग्राफ स्टूडियो बिलिंग पेज](https://thegraph.com/studio/billing/) पर जाएं। - -2. पृष्ठ के ऊपरी दाएं कोने पर "कनेक्ट वॉलेट" बटन पर क्लिक करें। अपना बटुआ चुनें और "कनेक्ट" पर क्लिक करें। - -3. पृष्ठ के मध्य में 'जीआरटी जोड़ें' बटन के बगल में स्थित ड्रॉपडाउन पर क्लिक करें। जीआरटी वापस लें चुनें। एक साइड पैनल दिखाई देगा। - -4. जीआरटी की वह राशि दर्ज करें जिसे आप निकालना चाहते हैं। प्राप्त करने वाले वॉलेट को निर्दिष्ट करें जो इस लेनदेन से जीआरटी प्राप्त करेगा। जीआरटी आर्बिट्रम पर रिसीविंग वॉलेट में भेजा जाएगा। - -5. अपने खाते की शेष राशि से जीआरटी निकालने के लिए 'जीआरटी निकालें' पर क्लिक करें। अपने बटुए में संबद्ध लेन-देन पर हस्ताक्षर करें। इससे गैस खर्च होगी। - -6. Once the transaction is confirmed, you'll see the GRT added to your Arbitrum wallet within an hour. - -## क्रिप्टो वॉलेट का उपयोग करके जीआरटी निकालना +## Getting GRT This section will show you how to get GRT to pay for query fees. -### कॉइनबेस +### Coinbase This will be a step by step guide for purchasing GRT on Coinbase. 1. Go to [Coinbase](https://www.coinbase.com/) and create an account. -2. एक बार जब आप एक खाता बना लेते हैं, तो आपको केवाईसी (या अपने ग्राहक को जानें) नामक एक प्रक्रिया के माध्यम से अपनी पहचान सत्यापित करने की आवश्यकता होगी। यह सभी केंद्रीकृत या कस्टोडियल क्रिप्टो एक्सचेंजों के लिए एक मानक प्रक्रिया है। -3. एक बार जब आप अपनी पहचान सत्यापित कर लेते हैं, तो आप जीआरटी खरीद सकते हैं। आप पृष्ठ के शीर्ष दाईं ओर "खरीदें/बेचें" बटन पर क्लिक करके ऐसा कर सकते हैं। -4. वह मुद्रा चुनें जिसे आप खरीदना चाहते हैं। जीआरटी का चयन करें। -5. भुगतान विधि का चयन करें। अपनी पसंदीदा भुगतान विधि चुनें। -6. जीआरटी की वह राशि चुनें जिसे आप खरीदना चाहते हैं। -7. अपनी खरीदारी की समीक्षा करें। अपनी खरीद की समीक्षा करें और "जीआरटी खरीदें" पर क्लिक करें। -8. अपनी खरीद की पुष्टि करें। अपनी खरीदारी की पुष्टि करें और आपने सफलतापूर्वक GRT खरीद लिया होगा। -9. आप अपने खाते से जीआरटी को [MetaMask](https://metamask.io/) जैसे अपने क्रिप्टो वॉलेट में स्थानांतरित कर सकते हैं। - - जीआरटी को अपने क्रिप्टो वॉलेट में स्थानांतरित करने के लिए, पृष्ठ के शीर्ष दाईं ओर "खाता" बटन पर क्लिक करें। - - GRT खाते के आगे "भेजें" बटन पर क्लिक करें। - - आप जिस जीआरटी को भेजना चाहते हैं उसकी राशि दर्ज करें और जिस वॉलेट पते पर आप इसे भेजना चाहते हैं। - - "जारी रखें" पर क्लिक करें और अपने लेन-देन की पुष्टि करें। -कृपया ध्यान दें कि बड़ी खरीद राशि के लिए, कॉइनबेस को क्रिप्टो वॉलेट में पूरी राशि स्थानांतरित करने से पहले आपको 7-10 दिनों तक प्रतीक्षा करने की आवश्यकता हो सकती है। +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. +4. Select the currency you want to purchase. Select GRT. +5. Select the payment method. Select your preferred payment method. +6. Select the amount of GRT you want to purchase. +7. Review your purchase. Review your purchase and click "Buy GRT". +8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. + - Click on the "Send" button next to the GRT account. + - Enter the amount of GRT you want to send and the wallet address you want to send it to. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -129,19 +105,19 @@ You can learn more about getting GRT on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing GRT on Binance. -1. [Binance](https://www.binance.com/en) पर जाएं और एक खाता बनाएं। -2. एक बार जब आप एक खाता बना लेते हैं, तो आपको केवाईसी (या अपने ग्राहक को जानें) नामक एक प्रक्रिया के माध्यम से अपनी पहचान सत्यापित करने की आवश्यकता होगी। यह सभी केंद्रीकृत या कस्टोडियल क्रिप्टो एक्सचेंजों के लिए एक मानक प्रक्रिया है। -3. एक बार जब आप अपनी पहचान सत्यापित कर लेते हैं, तो आप जीआरटी खरीद सकते हैं। आप होमपेज बैनर पर "अभी खरीदें" बटन पर क्लिक करके ऐसा कर सकते हैं। -4. आपको एक पृष्ठ पर ले जाया जाएगा जहां आप उस मुद्रा का चयन कर सकते हैं जिसे आप खरीदना चाहते हैं। जीआरटी का चयन करें। -5. अपनी पसंदीदा भुगतान विधि चुनें। आप यूरो, यूएस डॉलर और अन्य जैसी विभिन्न फिएट मुद्राओं के साथ भुगतान करने में सक्षम होंगे। -6. जीआरटी की वह राशि चुनें जिसे आप खरीदना चाहते हैं। -7. अपनी खरीद की समीक्षा करें और "जीआरटी खरीदें" पर क्लिक करें। -8. अपनी खरीद की पुष्टि करें और आप अपने जीआरटी को अपने बिनेंस स्पॉट वॉलेट में देख पाएंगे। -9. आप अपने खाते से जीआरटी को अपने क्रिप्टो वॉलेट जैसे [मेटामास्क](https://metamask.io/) से निकाल सकते हैं। - - अपने क्रिप्टो वॉलेट में जीआरटी को [वापस लेने के लिए](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570), निकासी श्वेतसूची में अपना क्रिप्टो वॉलेट पता जोड़ें। - - "वॉलेट" बटन पर क्लिक करें, निकासी पर क्लिक करें और जीआरटी चुनें। - - आप जिस जीआरटी को भेजना चाहते हैं उसकी राशि दर्ज करें और जिस श्वेतसूची वाले वॉलेट पते पर आप इसे भेजना चाहते हैं। - - "जारी रखें" पर क्लिक करें और अपने लेन-देन की पुष्टि करें। +1. Go to [Binance](https://www.binance.com/en) and create an account. +2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. +4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. +5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. +6. Select the amount of GRT you want to purchase. +7. Review your purchase and click "Buy GRT". +8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. + - Click on the "wallet" button, click withdraw, and select GRT. + - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. + - Click "Continue" and confirm your transaction. You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). @@ -149,21 +125,21 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. [Uniswap](https://app.uniswap.org/#/swap) पर जाएं और अपना वॉलेट कनेक्ट करें। -2. उस टोकन का चयन करें जिससे आप स्वैप करना चाहते हैं। ईटीएच का चयन करें। -3. उस टोकन का चयन करें जिसे आप स्वैप करना चाहते हैं। जीआरटी का चयन करें। - - सुनिश्चित करें कि आप सही टोकन के लिए अदला-बदली कर रहे हैं। GRT स्मार्ट अनुबंध का पता है: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` -4. आप स्वैप करना चाहते हैं ETH की राशि दर्ज करें। -5. "स्वैप" पर क्लिक करें। -6. अपने वॉलेट में लेन-देन की पुष्टि करें और आप लेन-देन के संसाधित होने की प्रतीक्षा करें। +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. +2. Select the token you want to swap from. Select ETH. +3. Select the token you want to swap to. Select GRT. + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +4. Enter the amount of ETH you want to swap. +5. Click "Swap". +6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. -### कॉइनबेस +### Coinbase This will be a step by step guide for purchasing ETH on Coinbase. @@ -175,11 +151,12 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. - - "जारी रखें" पर क्लिक करें और अपने लेन-देन की पुष्टि करें। + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -187,7 +164,7 @@ You can learn more about getting ETH on Coinbase [here](https://help.coinbase.co This will be a step by step guide for purchasing ETH on Binance. -1. [Binance](https://www.binance.com/en) पर जाएं और एक खाता बनाएं। +1. Go to [Binance](https://www.binance.com/en) and create an account. 2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Once you have verified your identity, purchase ETH by clicking on the "Buy Now" button on the homepage banner. 4. Select the currency you want to purchase. Select ETH. @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. - - "जारी रखें" पर क्लिक करें और अपने लेन-देन की पुष्टि करें। + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From f06ae8f3595bbe2e3c5ad62fdc8c1af490403517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:54 -0400 Subject: [PATCH 0680/2326] New translations billing.mdx (Yoruba) --- website/pages/yo/billing.mdx | 160 ++++++++++++++++------------------- 1 file changed, 74 insertions(+), 86 deletions(-) diff --git a/website/pages/yo/billing.mdx b/website/pages/yo/billing.mdx index 34a1ed7a8ce0..a4b8d3f03de2 100644 --- a/website/pages/yo/billing.mdx +++ b/website/pages/yo/billing.mdx @@ -2,104 +2,80 @@ title: Billing --- -> Invoices are generated on a weekly basis. +## Subgraph Billing Plans -There are two options for paying for your query fees: +There are two plans to use when querying subgraphs on The Graph Network. -- [Paying with fiat currency with Banxa](#billing-with-banxa) -- [Paying with crypto wallet](#billing-on-arbitrum) +- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. -## Billing with Banxa +- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. -Banxa enables you to bypass the need for an exchange and pay for your query fees using the fiat currency of your choice. The fiat currency will be converted to GRT, added to your account balance on the billing contract, and used to pay for queries associated with your API keys. + -There may be KYC requirements depending on the regulations in your country. For more information about KYC, please visit [Banxa's FAQ page](https://docs.banxa.com/docs/faqs). +## Query Payments with credit card -You can learn more about Banxa by reading their [documentation](https://docs.banxa.com/docs). +- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) + 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). + 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". + 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. +- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. -### Paying for query fees with Banxa +## Query Payments with GRT -1. Select “Pay with Card” option in [Subgraph Studio](https://thegraph.com/studio/billing/?show=Deposit). -2. Enter the amount of GRT to be added to your account balance. -3. Click the 'Continue with Banxa' button. -4. Enter necessary banking information on Banxa including payment method & fiat currency of choice. -5. Finish the transaction. - -It may take up to 10 minutes to complete the transaction. Once the transaction is confirmed, the purchased GRT will automatically be added to your account balance on Arbitrum. - -## Billing on Arbitrum - -While The Graph protocol operates on Ethereum Mainnet, [the billing contract](https://arbiscan.io/address/0x1b07d3344188908fb6deceac381f3ee63c48477a) lives on the [Arbitrum](https://arbitrum.io/) network to reduce transaction times and cost. You'll be required to pay the query fees generated from your API keys. Using the billing contract, you'll be able to: +Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: - Add and withdraw GRT from your account balance. - Keep track of your balances based on how much GRT you have added to your account balance, how much you have removed, and your invoices. - Automatically pay invoices based on query fees generated, as long as there is enough GRT in your account balance. -### Adding GRT using a crypto wallet +### GRT on Arbitrum or Ethereum - +The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. -> This section is written assuming you already have GRT in your crypto wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). -For a video walkthrough of adding GRT to your billing balance using a crypto wallet, watch this [video](https://youtu.be/4Bw2sh0FxCg). - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +### Adding GRT using a wallet +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. You'll be redirected to the wallet selection page. Select your wallet and click on "Connect". - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Enter the amount of GRT you want to add to your account balance. You can also select the maximum amount of GRT you want to add to your account balance by clicking on the "Max" button. - -5. Click 'Allow GRT Access' to allow the Subgraph Studio to access your GRT. Sign the associated transaction in your wallet. This will not cost any gas. - -6. Click 'Add GRT to account balance' to add the GRT to your account balance. Sign the associated transaction in your wallet. This will cost gas. - -7. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a crypto wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on the Arbitrum network. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. +8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. + +### Withdrawing GRT using a wallet + +1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - +3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. 4. Enter the amount of GRT you would like to withdraw. - 5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. - 6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. ### Adding GRT using a multisig wallet - - 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. - -3. Click the 'Add GRT' button at the center of the page. A side panel will appear. - -4. Once the transaction is confirmed, you'll see the GRT added to your account balance within an hour. - -### Withdrawing GRT using a multisig wallet - -> This section is written assuming you have deposited GRT into your account balance on [Subgraph Studio](https://thegraph.com/studio/billing/) and that you're on Ethereum mainnet. - -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). - -2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". - -3. Click the dropdown next to the 'Add GRT' button at the center of the page. Select withdraw GRT. A side panel will appear. - -4. Enter the amount of GRT you would like to withdraw. Specify the receiving wallet which will receive the GRT from this transaction. The GRT will be sent to the receiving wallet on Arbitrum. - -5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. - -6. Once the transaction is confirmed, you'll see the GRT added to your Arbitrum wallet within an hour. +3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". +4. Use the slider to estimate the number of queries you expect to make on a monthly basis. + - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. +5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. +6. Select the number of months you would like to prepay. + - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. +7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. +8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + +- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. ## Getting GRT @@ -117,11 +93,11 @@ This will be a step by step guide for purchasing GRT on Coinbase. 6. Select the amount of GRT you want to purchase. 7. Review your purchase. Review your purchase and click "Buy GRT". 8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. -9. You can transfer the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the GRT to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the GRT account. - Enter the amount of GRT you want to send and the wallet address you want to send it to. - - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a crypto wallet. + - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -137,8 +113,8 @@ This will be a step by step guide for purchasing GRT on Binance. 6. Select the amount of GRT you want to purchase. 7. Review your purchase and click "Buy GRT". 8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. -9. You can withdraw the GRT from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your crypto wallet, add your crypto wallet's address to the withdrawel whitelist. +9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). + - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. - Click on the "wallet" button, click withdraw, and select GRT. - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. - Click "Continue" and confirm your transaction. @@ -149,19 +125,19 @@ You can learn more about getting GRT on Binance [here](https://www.binance.com/e This is how you can purchase GRT on Uniswap. -1. Go to [Uniswap](https://app.uniswap.org/#/swap) and connect your wallet. +1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. 2. Select the token you want to swap from. Select ETH. 3. Select the token you want to swap to. Select GRT. - - Make sure you're swapping for the correct token. The GRT smart contract address is: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7` + - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) 4. Enter the amount of ETH you want to swap. 5. Click "Swap". 6. Confirm the transaction in your wallet and you wait for the transaction to process. You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ethereum +## Getting Ether -This section will show you how to get Ethereum (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. ### Coinbase @@ -175,10 +151,11 @@ This will be a step by step guide for purchasing ETH on Coinbase. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your crypto wallet, click on the "Accounts" button on the top right of the page. +9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). + - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - Click on the "Send" button next to the ETH account. - Enter the amount of ETH you want to send and the wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -195,14 +172,25 @@ This will be a step by step guide for purchasing ETH on Binance. 6. Enter the amount of ETH you want to purchase. 7. Review your purchase and click "Buy ETH". 8. Confirm your purchase and you will see your ETH in your Binance Spot Wallet. -9. You can withdraw the ETH from your account to your crypto wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your crypto wallet, add your crypto wallet's address to the withdrawal whitelist. +9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). + - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. - Click on the "wallet" button, click withdraw, and select ETH. - Enter the amount of ETH you want to send and the whitelisted wallet address you want to send it to. + - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - Click "Continue" and confirm your transaction. You can learn more about getting ETH on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Arbitrum Bridge +## Billing FAQs + +### How many queries will I need? + +You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. + +We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. + +Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. + +### Can I withdrawal GRT from my billing balance? -The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). From 96fb2c894b8d85159dbaf3831c6f2f7772a680e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:55 -0400 Subject: [PATCH 0681/2326] New translations developing.mdx (Romanian) --- website/pages/ro/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ro/network/developing.mdx b/website/pages/ro/network/developing.mdx index 9c543348259d..1b76eb94ccca 100644 --- a/website/pages/ro/network/developing.mdx +++ b/website/pages/ro/network/developing.mdx @@ -14,9 +14,9 @@ As with all subgraph development, it starts with local development and testing. > There are certain constraints on The Graph Network, in terms of feature and network support. Only subgraphs on [supported networks](/developing/supported-networks) will earn indexing rewards, and subgraphs which fetch data from IPFS are also not eligible. -### Deploy to the Subgraph Studio +### Deploy to Subgraph Studio -Once defined, the subgraph can be built and deployed to the [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). 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. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publish to the Network @@ -30,13 +30,13 @@ Published subgraphs are unlikely to be picked up by Indexers without the additio 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. -In order to make queries, developers must generate an API key, which can be done in the Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. The Subgraph Studio provides developers with data on their API key usage over time. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -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. +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 Subgraph Studio. ### Updating Subgraphs -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. +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 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. From 8c7caa790b9399695690e26fca9b584fb50fbc4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:56 -0400 Subject: [PATCH 0682/2326] New translations developing.mdx (French) --- website/pages/fr/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/fr/network/developing.mdx b/website/pages/fr/network/developing.mdx index a29832a45afa..9379c97ea334 100644 --- a/website/pages/fr/network/developing.mdx +++ b/website/pages/fr/network/developing.mdx @@ -14,9 +14,9 @@ Comme pour tout développement de subgraphs, cela commence par le développement > Le réseau de graphes est soumis à certaines contraintes, en termes de fonctionnalités et de réseaux pris en charge. Seuls les subgraphs des [réseaux pris en charge](/developing/supported-networks) obtiendront des récompenses en matière d'indexation, et les subgraphs qui récupèrent des données à partir d'IPFS ne sont pas non plus éligibles. -### Déployer sur Subgraph Studio +### Deploy to Subgraph Studio -Une fois défini, le subgraph peut être construit et déployé dans [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). Subgraph Studio est un environnement sandbox qui indexera le subgraph déployé et le rendra disponible pour un développement et des tests à débit limité. Cela donne aux développeurs la possibilité de vérifier que leur subgraph ne rencontre aucune erreur d'indexation et fonctionne comme prévu. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publier sur le réseau @@ -30,13 +30,13 @@ Les subgraphs publiés ont peu de chances d'être repérés par les indexeurs sa Une fois qu'un subgraph a été traité par les indexeurs et est disponible pour l'interrogation, les développeurs peuvent commencer à utiliser le subgraph dans leurs applications. Les développeurs interrogent les subgraphs via une passerelle, qui transmet leurs requêtes à un indexeur qui a traité le subgraph, en payant les frais de requête en GRT. -Pour effectuer des requêtes, les développeurs doivent générer une clé API, ce qui peut être fait dans le Subgraph Studio. Cette clé API doit être financée par le GRT, afin de payer les frais de requête. Les développeurs peuvent fixer un montant maximum pour les requêtes, afin de contrôler leurs coûts, et limiter leur clé API à un subgraph ou à un domaine d'origine donné. Le Subgraph Studio fournit aux développeurs des données sur l'utilisation de leur clé API au fil du temps. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -Les développeurs peuvent également exprimer une préférence d'indexeur envers la passerelle, en préférant par exemple les indexeurs dont la réponse aux requêtes est plus rapide ou dont les données sont les plus à jour. Ces contrôles sont définis dans Subgraph Studio. +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 Subgraph Studio. ### Mise à jour des subgraphs -Au bout d'un certain temps, un développeur de subgraphs peut souhaiter mettre à jour son subgraph, par exemple en corrigeant un bogue ou en ajoutant de nouvelles fonctionnalités. Le développeur de subgraphs peut déployer une ou plusieurs nouvelles versions de son subgraph dans le Subgraph Studio pour un développement et des tests à cadence limitée. +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 Subgraph Studio for rate-limited development and testing. Une fois que le développeur de subgraph est prêt à mettre à jour, il peut lancer une transaction pour pointer son subgraph vers la nouvelle version. La mise à jour du subgraph migre tout signal vers la nouvelle version (en supposant que l'utilisateur qui a appliqué le signal a sélectionné "migrer automatiquement"), ce qui entraîne également une taxe de migration. Cette migration de signal devrait inciter les indexeurs à commencer à indexer la nouvelle version du subgraph, elle devrait donc bientôt être disponible pour les interrogations. From 120220881322e656200a9a00ce376033db975550 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:56 -0400 Subject: [PATCH 0683/2326] New translations developing.mdx (Spanish) --- website/pages/es/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/es/network/developing.mdx b/website/pages/es/network/developing.mdx index e7442827eeed..223472818228 100644 --- a/website/pages/es/network/developing.mdx +++ b/website/pages/es/network/developing.mdx @@ -14,9 +14,9 @@ Al igual que con todo el desarrollo de subgrafos, se comienza con el desarrollo > Existen ciertas limitaciones en The Graph Network, en términos de características y soporte de red. Solo los subgrafos en [redes suportadas](/developing/supported-networks) obtienen recompensas de indexación, y los subgrafos que obtienen datos de IPFS tampoco son elegibles. -### Deploya en Subgraph Studio +### Deploy to Subgraph Studio -Una vez definido, el subgrafo puede construirse y deployarse en el [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). El Subgraph Studio es un entorno sandbox que indexará el subgrafo deployado y lo hará disponible para el desarrollo y pruebas con tarifas limitadas. Esto da a los desarrolladores la oportunidad de verificar que su subgrafo no encuentra ningún error de indexación, y funciona como se espera. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publicar a la red @@ -30,13 +30,13 @@ Es poco probable que los subgrafos publicados sean recogidos por los Indexadores Una vez que un subgrafo ha sido procesado por los Indexadores y está disponible para su consulta, los desarrolladores pueden empezar a utilizar el subgrafo en sus aplicaciones. Los desarrolladores consultan los subgrafos a través de una Gateway, que reenvía sus consultas a un Indexador que haya procesado el subgrafo, pagando las tarifas de consulta en GRT. -Para poder realizar consultas, los developers deben generar una clave API, lo que puede hacerse en Subgraph Studio. Esta clave API debe poseer fondos en GRT, para poder pagar las tarifas de consulta. Los desarrolladores pueden establecer una tarifa máxima de consulta, con el fin de controlar sus costes, y limitar su clave API a un determinado subgrafo o dominio de origen. Subgraph Studio proporciona a los developers datos sobre el uso de su clave API a lo largo del tiempo. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -Los desarrolladores también pueden expresar al Gateway una preferencia de Indexador, por ejemplo, prefiriendo los Indexadores cuya respuesta a la consulta es más rápida, o cuyos datos están más actualizados. Estos controles se establecen en el Subgraph Studio. +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 Subgraph Studio. ### Updating Subgraphs -Después de un tiempo, un developer de subgrafos puede querer actualizar su subgrafo, quizás corrigiendo un error o añadiendo nuevas funcionalidades. El developer de subgrafos puede deployar una o varias nuevas versiones de sus subgrafos en el Subgraph Studio para el desarrollo y las pruebas con tarifas limitadas. +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 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. From b52772bfd99267e4cab4df7b4dbdecc004d74ad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:57 -0400 Subject: [PATCH 0684/2326] New translations developing.mdx (Arabic) --- website/pages/ar/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ar/network/developing.mdx b/website/pages/ar/network/developing.mdx index 3ee32c2df2e6..638f2b5af282 100644 --- a/website/pages/ar/network/developing.mdx +++ b/website/pages/ar/network/developing.mdx @@ -14,9 +14,9 @@ As with all subgraph development, it starts with local development and testing. > There are certain constraints on The Graph Network, in terms of feature and network support. Only subgraphs on [supported networks](/developing/supported-networks) will earn indexing rewards, and subgraphs which fetch data from IPFS are also not eligible. -### Deploy to the Subgraph Studio +### Deploy to Subgraph Studio -Once defined, the subgraph can be built and deployed to the [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). 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. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publish to the Network @@ -30,13 +30,13 @@ Published subgraphs are unlikely to be picked up by Indexers without the additio 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. -In order to make queries, developers must generate an API key, which can be done in the Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. The Subgraph Studio provides developers with data on their API key usage over time. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -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. +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 Subgraph Studio. ### Updating Subgraphs -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. +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 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. From 09d03057ef1f16a7d95938886fa9504215be920c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:58 -0400 Subject: [PATCH 0685/2326] New translations developing.mdx (Czech) --- website/pages/cs/network/developing.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/cs/network/developing.mdx b/website/pages/cs/network/developing.mdx index dd671220d0d6..6d508e4a3b7a 100644 --- a/website/pages/cs/network/developing.mdx +++ b/website/pages/cs/network/developing.mdx @@ -14,9 +14,9 @@ Stejně jako při vývoji všech podgrafů se začíná lokálním vývojem a te > Síť Graf má určitá omezení, pokud jde o funkce a podporu sítě. Odměny za indexaci získají pouze podgrafy na [podporovaných sítích](/developing/supported-networks) a odměny za indexaci nemohou získat ani podgrafy, které načítají data z IPFS. -### Nasazení do Studio Podgraf +### Deploy to Subgraph Studio -Jakmile je podgraf definován, lze jej sestavit a nasadit do [Studio podgrafů](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). podgraf Studio je prostředí sandboxu, které indexuje nasazený subgraf a zpřístupní jej pro vývoj a testování s omezenou rychlostí. Vývojáři tak mají možnost ověřit, zda se jejich podgraf nesetkává s žádnými chybami indexování a zda funguje podle očekávání. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publikovat v síti @@ -30,13 +30,13 @@ Publikované podgrafy pravděpodobně nebudou zachyceny indexátory bez přidán Jakmile je podgraf zpracován indexery a je k dispozici pro dotazování, mohou jej vývojáři začít používat ve svých aplikacích. Vývojáři se dotazují na podgrafy prostřednictvím brány, která jejich dotazy předává indexeru, jenž podgraf zpracoval, a platí poplatky za dotazy v GRT. -Aby mohli vývojáři provádět dotazy, musí si vygenerovat klíč API, což lze provést v aplikaci podgraf Studio. Tento klíč API musí být financován pomocí GRT, aby bylo možné platit poplatky za dotazy. Vývojáři mohou nastavit maximální poplatek za dotaz, aby měli pod kontrolou své náklady, a omezit svůj klíč API na daný podgraf nebo doménu původu. Subgraph Studio poskytuje vývojářům údaje o využití jejich klíče API v průběhu času. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -Vývojáři mohou bráně také vyjádřit preferenci indexátoru, například preferovat indexátory, jejichž odezva na dotaz je rychlejší nebo jejichž data jsou nejaktuálnější. Tyto ovládací prvky se nastavují ve studiu Podgraf Studio. +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 Subgraph Studio. ### Updating Subgraphs -Po nějaké době může chtít vývojář podgrafu svůj podgraf aktualizovat, třeba opravit chybu nebo přidat novou funkci. Vývojář subgrafu může nasadit novou verzi/verze svého podgrafu do studio Podgraf Studio pro vývoj a testování s omezenou rychlostí. +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 Subgraph Studio for rate-limited development and testing. Jakmile je vývojář podgrafu připraven k aktualizaci, může iniciovat transakci, která jeho podgraf nasměruje na novou verzi. Aktualizace podgrafu migruje jakýkoli signál na novou verzi (za předpokladu, že uživatel, který signál aplikoval, zvolil "automatickou migraci"), čímž také vzniká migrační daň. Tato migrace signálu by měla přimět indexátory, aby začaly indexovat novou verzi podgrafu, takže by měl být brzy k dispozici pro dotazování. @@ -46,8 +46,8 @@ V určitém okamžiku se vývojář může rozhodnout, že publikovaný podgraf ### Různorodé role vývojáře -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. +Někteří vývojáři se zapojí do celého životního cyklu podgrafů v síti, publikují, dotazují se a iterují své vlastní podgrafy. Někteří se mohou zaměřit na vývoj podgrafů a vytvářet otevřené API, na kterém mohou stavět ostatní. Někteří se mohou zaměřit na aplikace a dotazovat se na podgrafy, které nasadili jiní. -### Developers and Network Economics +### Vývojáři a síťová ekonomika -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. +Vývojáři jsou v síti klíčovým ekonomickým subjektem, který blokuje GRT, aby podpořil indexování, a hlavně se dotazuje na podgrafy, což je hlavní výměna hodnot v síti. Vývojáři podgrafů také spalují GRT, kdykoli je podgraf aktualizován. From 1b766a119f956439cca85815243fdfebcd56ace2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:37:59 -0400 Subject: [PATCH 0686/2326] New translations developing.mdx (German) --- website/pages/de/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/de/network/developing.mdx b/website/pages/de/network/developing.mdx index 9c543348259d..1b76eb94ccca 100644 --- a/website/pages/de/network/developing.mdx +++ b/website/pages/de/network/developing.mdx @@ -14,9 +14,9 @@ As with all subgraph development, it starts with local development and testing. > There are certain constraints on The Graph Network, in terms of feature and network support. Only subgraphs on [supported networks](/developing/supported-networks) will earn indexing rewards, and subgraphs which fetch data from IPFS are also not eligible. -### Deploy to the Subgraph Studio +### Deploy to Subgraph Studio -Once defined, the subgraph can be built and deployed to the [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). 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. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publish to the Network @@ -30,13 +30,13 @@ Published subgraphs are unlikely to be picked up by Indexers without the additio 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. -In order to make queries, developers must generate an API key, which can be done in the Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. The Subgraph Studio provides developers with data on their API key usage over time. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -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. +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 Subgraph Studio. ### Updating Subgraphs -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. +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 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. From 763d7e1c1e3e8f8d149a8a7c4480518c637f033c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:00 -0400 Subject: [PATCH 0687/2326] New translations developing.mdx (Italian) --- website/pages/it/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/it/network/developing.mdx b/website/pages/it/network/developing.mdx index 1db9ab61061d..55dba24dc9a1 100644 --- a/website/pages/it/network/developing.mdx +++ b/website/pages/it/network/developing.mdx @@ -14,9 +14,9 @@ Come per lo sviluppo di tutti i subgraph, si inizia con lo sviluppo e il test in > Ci sono alcuni vincoli su The Graph Network, in termini di funzionalità e supporto di rete. Solo i subgraph su [reti supportate](/developing/supported-networks) otterranno ricompense per l'indicizzazione e i subgraph che recuperano dati da IPFS non sono ammissibili. -### Distribuzione nel Subgraph Studio +### Deploy to Subgraph Studio -Una volta definito, il subgraph può essere costruito e distribuito nel [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). Subgraph Studio è un ambiente sandbox che indicizza il subgraph distribuito e lo rende disponibile per lo sviluppo e il test a velocità limitata. In questo modo gli sviluppatori hanno la possibilità di verificare che il loro subgraph non presenti errori di indicizzazione e che funzioni come previsto. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Pubblicare nella rete @@ -30,13 +30,13 @@ Quando lo sviluppatore è soddisfatto del suo subgraph, può pubblicarlo su The Una volta che un subgraph è stato elaborato dagli Indexer ed è disponibile per fare query, gli sviluppatori possono iniziare a utilizzare il subgraph nelle loro applicazioni. Gli sviluppatori fanno query di subgraph tramite un gateway, che inoltra le loro queries a un Indexer che ha elaborato il subgraph, pagando le tariffe di query in GRT. -Per effettuare le query, gli sviluppatori devono generare una chiave API, che può essere creata nel Subgraph Studio. Questa chiave API deve essere finanziata con GRT, per pagare le tariffe di query. Gli sviluppatori possono impostare una tariffa massima di query, per controllare i costi, e limitare la loro chiave API a un determinato subgraph o dominio di origine. Subgraph Studio fornisce agli sviluppatori dati sull'utilizzo della chiave API nel tempo. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -Gli sviluppatori possono anche esprimere una preferenza per gli Indexer al gateway, ad esempio preferendo gli Indexer la cui risposta alle query è più veloce o i cui dati sono più aggiornati. Questi controlli vengono impostati nel Subgraph Studio. +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 Subgraph Studio. ### Aggiornare i subgraph -Dopo un certo periodo di tempo, uno sviluppatore di subgraph potrebbe voler aggiornare il proprio subgraph, magari correggendo un bug o aggiungendo nuove funzionalità. Lo sviluppatore del subgraph può distribuire le nuove versioni del suo subgraph nel Subgraph Studio per lo sviluppo e il test a velocità limitata. +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 Subgraph Studio for rate-limited development and testing. Una volta che lo sviluppatore del sottografo è pronto per l'aggiornamento, può avviare una transazione per puntare il suo subgraph alla nuova versione. L'aggiornamento del subgraph migra qualsiasi segnale alla nuova versione (supponendo che l'utente che ha applicato il segnale abbia selezionato "auto-migrate"), il che comporta anche una tassa di migrazione. La migrazione del segnale dovrebbe indurre gli Indexer a iniziare l'indicizzazione della nuova versione del subgraph, che dovrebbe quindi diventare presto disponibile per le query. From 475ead9a55e30ed97b28d0a571e35147d350c37f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:01 -0400 Subject: [PATCH 0688/2326] New translations developing.mdx (Japanese) --- website/pages/ja/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ja/network/developing.mdx b/website/pages/ja/network/developing.mdx index c1f29bf6dbdd..beca8747424f 100644 --- a/website/pages/ja/network/developing.mdx +++ b/website/pages/ja/network/developing.mdx @@ -14,9 +14,9 @@ title: 現像 > The Graph Network には、機能とネットワーク サポートに関して一定の制約があります。 [サポートされているネットワーク](/developing/supported-networks)のサブグラフのみがインデックス作成の報酬を獲得できます。また、IPFS からデータを取得するサブグラフも資格がありません。 -### Subgraph Studio にデプロイする +### Deploy to Subgraph Studio -サブグラフを定義すると、[Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/) に構築して展開できます。展開されたサブグラフにインデックスを付け、レート制限された開発とテストに使用できるようにするサンドボックス環境。これにより、開発者は、サブグラフでインデックス エラーが発生せず、期待どおりに動作することを確認する機会が得られます。 +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### ネットワークに公開 @@ -30,13 +30,13 @@ title: 現像 サブグラフがインデクサーによって処理され、クエリに使用できるようになると、開発者はアプリケーションでサブグラフの使用を開始できます。開発者は、サブグラフを処理したインデクサーにクエリを転送するゲートウェイを介してサブグラフにクエリを実行し、GRT でクエリ料金を支払います。 -クエリを実行するためには、Subgraph StudioでAPIキーを生成する必要があります。このAPIキーは、クエリフィーを支払うためにGRTで資金を調達する必要があります。開発者は、コストを抑えるために、クエリ料金の上限を設定したり、APIキーを特定のサブグラフやオリジン・ドメインに限定することができます。サブグラフ・スタジオは、開発者のAPIキー使用量に関するデータを提供します。 +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -例えば、クエリのレスポンスが速いインデックスを優先したり、データが最新であるインデックスを優先したりすることができます。これらの制御は、Subgraph Studio で設定します。 +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 Subgraph Studio. ### サブグラフの更新 -サブグラフ開発者は、バグを修正したり、新しい機能を追加したりして、サブグラフを更新することができます。サブグラフの開発者は、サブグラフの新しいバージョンを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 Subgraph Studio for rate-limited development and testing. サブグラフ開発者は、更新の準備が完了すると、トランザクションを開始してサブグラフを新しいバージョンに向けることができます。サブグラフを更新すると、すべてのシグナルが新しいバージョンに移行されます (シグナルを適用したユーザーが「自動移行」を選択したと仮定します)。これには移行税もかかります。このシグナルの移行により、インデクサーは新しいバージョンのサブグラフのインデックス作成を開始するよう促されるため、すぐにクエリに使用できるようになるはずです。 From 8eb7546e5a7ba32d87fdffc97a475f191f1b2a2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:02 -0400 Subject: [PATCH 0689/2326] New translations developing.mdx (Korean) --- website/pages/ko/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ko/network/developing.mdx b/website/pages/ko/network/developing.mdx index 9c543348259d..1b76eb94ccca 100644 --- a/website/pages/ko/network/developing.mdx +++ b/website/pages/ko/network/developing.mdx @@ -14,9 +14,9 @@ As with all subgraph development, it starts with local development and testing. > There are certain constraints on The Graph Network, in terms of feature and network support. Only subgraphs on [supported networks](/developing/supported-networks) will earn indexing rewards, and subgraphs which fetch data from IPFS are also not eligible. -### Deploy to the Subgraph Studio +### Deploy to Subgraph Studio -Once defined, the subgraph can be built and deployed to the [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). 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. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publish to the Network @@ -30,13 +30,13 @@ Published subgraphs are unlikely to be picked up by Indexers without the additio 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. -In order to make queries, developers must generate an API key, which can be done in the Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. The Subgraph Studio provides developers with data on their API key usage over time. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -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. +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 Subgraph Studio. ### Updating Subgraphs -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. +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 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. From f21322ee3c170b89fefab173a2bd851d8e75e75b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:03 -0400 Subject: [PATCH 0690/2326] New translations developing.mdx (Dutch) --- website/pages/nl/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/nl/network/developing.mdx b/website/pages/nl/network/developing.mdx index 8bfbe8a1f011..351296bb6d9d 100644 --- a/website/pages/nl/network/developing.mdx +++ b/website/pages/nl/network/developing.mdx @@ -14,9 +14,9 @@ Net als bij alle subgraph-ontwikkeling, begint het met lokaal ontwikkelen en tes > Er zijn bepaalde beperkingen op The Graph-netwerk, qua functies en netwerkondersteuning. Alleen subgraphs op [ondersteunde netwerken](/developing/supported-networks) komen in aanmerking voor indexeringsbeloningen, en subgraphs die data ophalen uit IPFS komen niet in aanmerking. -### Implementeren op de Subgraph Studio +### Deploy to Subgraph Studio -Eenmaal gedefinieerd, kan de subgraph worden gebouwd en geïmplementeerd naar de [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). De Subgraph Studio is een sandbox-omgeving die de geïmplementeerde subgraph indexeert en beschikbaar maakt voor ontwikkeling en testen met een beperkte hoeveelheid query's. Dit geeft ontwikkelaars de kans om te verifiëren dat hun subgraph geen indexeerfouten tegenkomt en werkt zoals verwacht. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publiceren op het netwerk @@ -30,13 +30,13 @@ Gepubliceerde subgraphs worden waarschijnlijk niet opgepikt door Indexers zonder Zodra een subgraph is verwerkt door Indexers en beschikbaar is voor bevraging, kunnen ontwikkelaars de subgraph in hun applicaties gaan gebruiken. Ontwikkelaars bevragen subgraphs via een gateway, die hun queries doorstuurt naar een Indexer die de subgraph heeft verwerkt, en betalen querykosten in GRT. -Om query's te maken, moeten ontwikkelaars een API-sleutel genereren, wat kan worden gedaan in de Subgraph Studio. Deze API-sleutel moet worden gefinancierd met GRT om querykosten te betalen. Ontwikkelaars kunnen een maximale queryvergoeding instellen om hun kosten te beheersen en hun API-sleutel beperken tot een bepaalde subgraph of oorsprongsdomein. De Subgraph Studio geeft ontwikkelaars gegevens over het gebruik van hun API-sleutel in de loop van de tijd. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -Ontwikkelaars kunnen ook een Indexer-voorkeur aan de gateway geven, bijvoorbeeld de voorkeur geven aan Indexer wiens queryrespons sneller is, of wiens gegevens het meest actueel zijn. Deze voorkeuren worden ingesteld in de Subgraph Studio. +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 Subgraph Studio. ### Subgraphs Bijwerken -Na verloop van tijd wil een subgraph-ontwikkelaar mogelijk hun subgraph bijwerken, bijvoorbeeld om een bug te repareren of nieuwe functionaliteit toe te voegen. De subgraph-ontwikkelaar kan nieuwe versie(s) van hun subgraph implementeren naar de Subgraph Studio voor ontwikkeling en testen met beperkte snelheid. +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 Subgraph Studio for rate-limited development and testing. Zodra de Subgraph-ontwikkelaar klaar is om bij te werken, kunnen ze een transactie starten om hun subgraph naar de nieuwe versie te wijzen. Het bijwerken van de subgraph migreert elk signaal naar de nieuwe versie (ervan uitgaande dat de gebruiker die het signaal heeft toegepast, "auto-migrate" heeft geselecteerd), wat ook een migratiebelasting met zich meebrengt. Deze signaalmigratie zou Indexers moeten aanzetten om de nieuwe versie van de subgraph te gaan indexeren, dus deze zou snel beschikbaar moeten zijn voor queries. From 82c257497749d0d509e74ee3ab7f169d020b197a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:04 -0400 Subject: [PATCH 0691/2326] New translations developing.mdx (Polish) --- website/pages/pl/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/pl/network/developing.mdx b/website/pages/pl/network/developing.mdx index 9c543348259d..1b76eb94ccca 100644 --- a/website/pages/pl/network/developing.mdx +++ b/website/pages/pl/network/developing.mdx @@ -14,9 +14,9 @@ As with all subgraph development, it starts with local development and testing. > There are certain constraints on The Graph Network, in terms of feature and network support. Only subgraphs on [supported networks](/developing/supported-networks) will earn indexing rewards, and subgraphs which fetch data from IPFS are also not eligible. -### Deploy to the Subgraph Studio +### Deploy to Subgraph Studio -Once defined, the subgraph can be built and deployed to the [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). 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. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publish to the Network @@ -30,13 +30,13 @@ Published subgraphs are unlikely to be picked up by Indexers without the additio 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. -In order to make queries, developers must generate an API key, which can be done in the Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. The Subgraph Studio provides developers with data on their API key usage over time. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -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. +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 Subgraph Studio. ### Updating Subgraphs -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. +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 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. From f478d8221217536e1d845988b655f6e5716eca0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:05 -0400 Subject: [PATCH 0692/2326] New translations developing.mdx (Portuguese) --- website/pages/pt/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/pt/network/developing.mdx b/website/pages/pt/network/developing.mdx index bdfcb6c801d5..66c208f1b628 100644 --- a/website/pages/pt/network/developing.mdx +++ b/website/pages/pt/network/developing.mdx @@ -14,9 +14,9 @@ Assim como toda programação de subgraph, ela começa com desenvolvimento e tes > Há alguns limites de apoio a recursos e redes na Graph Network. Só subgraphs em [redes apoiadas](/developing/supported-networks) ganharão recompensas de indexação, e subgraphs que retiram dados do IPFS também não têm direito a estas. -### Lançamento no Subgraph Studio +### Deploy to Subgraph Studio -Uma vez definido, o subgraph pode ser construído e lançado ao [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). Este é um ambiente sandbox que indexará o subgraph lançado e o disponibilizará para programação e testes com rate limit. Com isto, os programadores têm a oportunidade de verificar que o seu subgraph não encontrou qualquer erro na indexação, e funciona como esperado. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Edição na rede @@ -30,13 +30,13 @@ Subgraphs editados têm poucas chances de ser detectados por Indexadores sem a a Quando um subgraph for processado pelos Indexadores e aberto a queries, os programadores podem começar a usar o subgraph nos seus aplicativos. Os programadores consultam subgraphs através de um gateway, que encaminha as suas consultas a um Indexador que processou o subgraph com uma taxa de query em GRT. -Para poder fazer queries, os programadores devem gerar uma chave de API no Subgraph Studio. Esta chave deve ser bancada com GRT, para poder pagar taxas de query. Dá para configurar uma taxa máxima de query, para poder controlar os seus custos e limitar sua chave de API a um único subgraph ou domínio de origem. O Subgraph Studio fornece dados aos programadores sobre seu uso temporal de chaves de API. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -Os programadores também podem expressar uma preferência de Indexador ao gateway, por exemplo, ao preferir Indexadores com resposta de query mais rápida, ou cujos dados são mais atualizados. Estes controlos são programados no Subgraph Studio. +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 Subgraph Studio. ### Atualização de Subgraphs -Após um tempo, um programador de subgraphs pode querer atualizar o seu subgraph, talvez para consertar um erro ou adicionar funcionalidades. O programador pode lançar novas versões do seu subgraph ao Subgraph Studio, para fins de programação e testes com rate limit. +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 Subgraph Studio for rate-limited development and testing. Quando o Programador de Subgraph estiver pronto, ele pode iniciar uma transação para apontar seu subgraph à nova versão. Atualizar o subgraph migra qualquer sinal à versão nova (presumindo que o utilizador que aplicou o sinal selecionou "migrar automaticamente"), o que também incorre uma taxa de migração. Este sinal de migração deve incentivar os Indexadores a começar a indexar a nova versão do subgraph, para que ele logo fique aberto a queries. From 3c7d70b404d969de518864cda5267e5c29005b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:05 -0400 Subject: [PATCH 0693/2326] New translations developing.mdx (Russian) --- website/pages/ru/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ru/network/developing.mdx b/website/pages/ru/network/developing.mdx index 32469455bf43..9e4ae18cd0f5 100644 --- a/website/pages/ru/network/developing.mdx +++ b/website/pages/ru/network/developing.mdx @@ -14,9 +14,9 @@ As with all subgraph development, it starts with local development and testing. > There are certain constraints on The Graph Network, in terms of feature and network support. Only subgraphs on [supported networks](/developing/supported-networks) will earn indexing rewards, and subgraphs which fetch data from IPFS are also not eligible. -### Deploy to the Subgraph Studio +### Deploy to Subgraph Studio -Once defined, the subgraph can be built and deployed to the [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). 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. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publish to the Network @@ -30,13 +30,13 @@ Published subgraphs are unlikely to be picked up by Indexers without the additio 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 с течением времени. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -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. +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 Subgraph Studio. ### Updating Subgraphs -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. +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 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. From d9b15be53695d03ec92bd09e6d26066a025b0094 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:06 -0400 Subject: [PATCH 0694/2326] New translations developing.mdx (Swedish) --- website/pages/sv/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/sv/network/developing.mdx b/website/pages/sv/network/developing.mdx index 75a9740f2ad3..7509edd5cffb 100644 --- a/website/pages/sv/network/developing.mdx +++ b/website/pages/sv/network/developing.mdx @@ -14,9 +14,9 @@ Precis som med all subgrafutveckling börjar det med lokal utveckling och testni > Det finns vissa begränsningar på The Graf Nätverk, i termer av funktioner och nätverksstöd. Endast subgrafer på [stödda nätverk](/developing/supported-networks) kommer att tjäna indexbelöningar, och subgrafer som hämtar data från IPFS är heller inte kvalificerade. -### Distribuera till Subgraf Studio +### Deploy to Subgraph Studio -När subgrafen är definierad kan den byggas och distribueras till [Subgraf Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). Subgraph Studio är en sandlådemiljö som kommer att indexera den distribuerade subgrafen och göra den tillgänglig för utveckling och testning med begränsad hastighet. Detta ger utvecklare möjlighet att verifiera att deras subgraf inte stöter på några indexeringsfel och fungerar som förväntat. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publicera till Nätverket @@ -30,13 +30,13 @@ Publicerade subgrafer kommer troligen inte att plockas upp av Indexers utan till När en subgraf har bearbetats av Indexers och är tillgänglig för frågor kan utvecklare börja använda subgrafen i sina applikationer. Utvecklare frågar subgrafer via en gateway, som vidarebefordrar deras frågor till en Indexer som har bearbetat subgrafen och betalar frågeavgifter i GRT. -För att kunna göra frågor måste utvecklare generera en API-nyckel, vilket kan göras i Subgraf Studio. Denna API-nyckel måste finansieras med GRT för att betala frågeavgifter. Utvecklare kan ange en maximal frågeavgift för att kontrollera sina kostnader och begränsa sin API-nyckel till en given subgraf eller ursprungsdomän. Subgraf Studio ger utvecklare data om deras API-nyckelanvändning över tiden. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -Utvecklare kan också uttrycka ett Indexer-förslag till gatewayen, till exempel att föredra Indexers vars frågesvar är snabbare eller vars data är mest aktuell. Dessa kontroller är inställda i Subgraf Studio. +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 Subgraph Studio. ### Uppdatering av Subgrafer -Efter en tid kan en subgrafutvecklare vilja uppdatera sin subgraf, kanske fixa en bugg eller lägga till ny funktionalitet. Subgrafutvecklaren kan deploya nya versioner av sin subgraf till Subgraf Studio för utveckling och testning med begränsad hastighet. +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 Subgraph Studio for rate-limited development and testing. När Subgrafutvecklaren är redo att uppdatera kan de initiera en transaktion för att peka sin subgraf till den nya versionen. Att uppdatera subgrafen migrerar all signal till den nya versionen (förutsatt att användaren som tillämpade signalen valde "auto-migrera"), vilket också medför en migrationsavgift. Denna signalmigration bör få Indexers att börja indexera den nya versionen av subgrafen, så den borde snart bli tillgänglig för frågor. From 4d7af434280092a063bdce86426f03a107c3a0cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:07 -0400 Subject: [PATCH 0695/2326] New translations developing.mdx (Turkish) --- website/pages/tr/network/developing.mdx | 30 ++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/website/pages/tr/network/developing.mdx b/website/pages/tr/network/developing.mdx index cd3f95a246af..46b76f6632b6 100644 --- a/website/pages/tr/network/developing.mdx +++ b/website/pages/tr/network/developing.mdx @@ -2,51 +2,51 @@ title: Geliştirme --- -Geliştiriciler, Graph ekosisteminin üreten tarafıdır. Geliştiriciler subgraph'ler inşa eder ve bunları Graph ağında yayınlar. Ardından, uygulamalarını güçlendirmek için aktif subgraph'leri GraphQL ile sorgularlar. +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. -## Subgraph Yaşam Döngüsü +## Subgraph Lifecycle -Ağa deploy edilen subgraph'ler tanımlanmış bir yaşam döngüsüne sahiptir. +Subgraphs deployed to the network have a defined lifecycle. ### Yerel olarak geliştirme -Tüm subgraph geliştirmelerinde olduğu gibi, süreç yerel geliştirme ve test etme ile başlar. Geliştiriciler, subgraph'lerini oluşturmak için `graph-cli` ve `graph-ts`'den yararlanarak Graph Network, barındırılan hizmet veya yerel bir Graph node'u için aynı yerel kurulumu kullanabilirler. Geliştiricilerin, subgraph'lerinin sağlamlığını artırmak için birim testi için [Matchstick](https://github.com/LimeChain/matchstick) gibi araçları kullanmaları önerilir. +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](https://github.com/LimeChain/matchstick) for unit testing to improve the robustness of their subgraphs. -> Graph Network'te özellik ve ağ desteği açısından belirli kısıtlamalar vardır. Yalnızca [desteklenen ağlar](/developing/supported-networks) üzerindeki subgraph'ler indeksleme ödülleri kazanır ve IPFS'den veri getiren subgraph'ler uygun değildir. +> There are certain constraints on The Graph Network, in terms of feature and network support. Only subgraphs on [supported networks](/developing/supported-networks) will earn indexing rewards, and subgraphs which fetch data from IPFS are also not eligible. -### Subgraph Stüdyo'ya dağıtma +### Deploy to Subgraph Studio -Tanımlandıktan sonra subgraph inşa edilebilir ve [Subgraph Stüdyo](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/)'ya deploy edilebilir. Subgraph Studio, deploy edilen subgraph'i indeksleyip belirli oranda geliştirme ve test için uygun hale getirecek sanal bir ortamıdır. Bu, geliştiricilere subgraph'lerinin herhangi bir indeksleme hatasıyla karşılaşmadığını ve beklendiği gibi çalıştığını doğrulama fırsatı verir. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Ağda Yayınlama -Geliştirici subgraph'inden memnun kaldığında, onu Graph ağında yayınlayabilir. Bu, indeksleyiciler tarafından keşfedilebilmesi için subgraph'i kaydeden zincir üstü bir eylemdir. Yayınlanan subgraph'lere karşılık gelen ve kolayca transfer edilebilen bir NFT mevcuttur. Yayınlanan subgraph, diğer ağ katılımcılarına yararlı bağlam ve bilgiler sağlayan ilişkili meta verilere sahiptir. +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. ### İndekslemeyi Teşvik Eden Sinyal -Yayınlanan subgraph'lerin, sinyal eklenmeden indeksleyiciler tarafından dikkate alınması olası değildir. Sinyal, belirli bir subgraph'le ilişkili kilitli GRT'dir; bu, indeksleyicilere belirli bir subgraph'in sorgu hacmi alacağını belirtir ve ayrıca onu işlemek için mevcut indeksleme ödüllerine katkıda bulunur. Subgraph geliştiricileri, indekslemeyi teşvik etmek için genellikle subgraph'lerine sinyal ekler. Diğer yandan küratörler, bir subgraph'in sorgu hacminin artıracağını düşünürlerse, belirli bir subgraph'te de sinyal verebilirler. +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. ### Sorgulama & Uygulama Geliştirme -Bir subgraph indeksleyiciler tarafından işlenip sorgulama için uygun hale geldikten sonra, geliştiriciler subgraph'i uygulamalarında kullanmaya başlayabilir. Geliştiriciler, sorgularını GRT cinsinden sorgu ücretleri ödeyerek subgraph'i işleyen indeksleyiciye ileten bir ağ geçidi aracılığıyla subgraph'leri sorgular. +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. -Sorgu için geliştiricilerin, Subgraph Stüdyo'da yapılabilecek bir API anahtarı oluşturması gerekir. Sorgu ücretlerinin ödenmesi için bu API anahtarının GRT ile finanse edilmesi gerekir. Geliştiriciler, maliyetlerini kontrol etmek için bir maksimum sorgu ücreti belirleyebilir ve API anahtarlarını belirli bir subgraph veya kaynak alan adı ile sınırlayabilir. Subgraph Stüdyo, geliştiricilere zaman içinde API anahtarı kullanımlarıyla ilgili veriler sağlar. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -Geliştiriciler ayrıca ağ geçidine bir indeksleyici tercihlerini iletebilirler. Örneğin, sorgu yanıtı daha hızlı olan veya verileri en güncel olan indeksleyicileri tercih edebilirler. Bu kontroller ise Subgraph Stüdyo'da ayarlanır. +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 Subgraph Studio. ### Subgraphları Güncelleme -Bir süre sonra bir subgraph geliştiricisi, belki bir hatayı düzelterek veya yeni işlevler ekleyerek subgraph'ini güncellemek isteyebilir. Subgraph geliştiricisi, belirli oranda geliştirme ve test için kendi subgraph'inin yeni sürüm/sürümlerini Subgraph Stüdyo'ya deploy edebilir. +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 Subgraph Studio for rate-limited development and testing. Subgraph Geliştiricisi yükseltmeye hazır olduğunda, subgraphlarını yeni sürüme yönlendirmek için bir işlem başlatabilir. Subgraph'ın güncellenmesi, her sinyali yeni sürüme geçirir (sinyali uygulayan kullanıcının "otomatik geçiş" seçeneğini seçtiğini varsayarsak) ve bu da bir geçiş kesintisine neden olur. Bu sinyal geçişi, İndeksleyicilerin subgraph'ı yeni sürümünü indekslemeye başlamasını sağlamalıdır, böylece yakında sorgulama için kullanılabilir hale gelecektir. ### Subgraphları Kullanımdan Kaldırma -Bir noktada bir geliştirici, artık yayınlanmış bir subgraph'e ihtiyaç duymadığına karar verebilir. Bu noktada, herhangi bir sinyal verilmiş GRT'yi küratörlere döndüren subgraph'i kullanımdan kaldırabilirler. +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. ### Çeşitli Geliştirici Rolleri -Bazı geliştiriciler, kendi subgraph'lerini yayınlayarak, sorgulayarak ve yineleyerek ağdaki tam subgraph yaşam döngüsüyle ilgileneceklerdir. Bazıları, diğerlerinin üzerine inşa edebileceği açık API'lar oluşturarak subgraph geliştirmeye odaklanabilir. Bazıları uygulama odaklı olabilir, başkaları tarafından deploy edilen subgraph'leri sorgulayabilir. +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. ### Geliştiriciler ve Ağ Ekonomisi From bef3c9cce702e20e64deabec2314042353a9f084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:08 -0400 Subject: [PATCH 0696/2326] New translations developing.mdx (Ukrainian) --- website/pages/uk/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/uk/network/developing.mdx b/website/pages/uk/network/developing.mdx index 614c12e53977..867bcb966f11 100644 --- a/website/pages/uk/network/developing.mdx +++ b/website/pages/uk/network/developing.mdx @@ -14,9 +14,9 @@ title: Розробка > Існують певні обмеження для мережі The Graph з точки зору можливостей і підтримки різних мереж. Тільки підграфи у [мережах, які підтримуються](/developing/supported-networks) отримають винагороду за індексацію, а підграфи, які отримують дані з IPFS, не мають права на отримання винагороди. -### Deploy to the Subgraph Studio +### Deploy to Subgraph Studio -Після ідентифікації підграф може бути побудований і запущений в [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). Subgraph Studio - це віртуальна платформа, призначена для індексації підграфа та забезпечує його доступність для обмеженого за швидкістю використання і тестування. Це дає розробникам можливість переконатися, що їх підграф не зазнає жодних помилок при індексації й працює так, як потрібно. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publish to the Network @@ -30,13 +30,13 @@ title: Розробка Після того, як підграф підтримується індексаторами та доступний для запитів, розробники можуть починати використовувати підграф у своїх додатках. Розробники запитують підграфи через шлюз, який перенаправляє їхні запити до індексатора, який підтримує підграф, оплачуючи збір за запити в GRT. -Для того, щоб робити запити, розробники повинні згенерувати ключ API, що можна зробити в Subgraph Studio. Цей API-ключ має бути профінансований шляхом GRT, щоб сплачувати збори за запити. Розробники можуть встановити максимальну плату за запит, щоб контролювати свої витрати, і обмежити свій API-ключ певним підграфом або доменом походження. Subgraph Studio надає розробникам дані про використання ключів API з плином часу. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -Розробники також можуть надати перевагу індексатору перед шлюзом, наприклад, надаючи перевагу індексаторам, які швидше реагують на запити, або чиї дані є найсвіжішими. Ці елементи управління налаштовуються в Subgraph Studio. +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 Subgraph Studio. ### Updating Subgraphs -Через деякий час розробник підграфа може захотіти оновити свій підграф, можливо, виправивши помилку або додавши нову функціональність. Розробник підграфа може запустити нову(і) версію(ї) свого підграфа в 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 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. From 9a4a3aaca4be2a7a3ea8ea47f4118a425efc80b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:09 -0400 Subject: [PATCH 0697/2326] New translations developing.mdx (Chinese Simplified) --- website/pages/zh/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/zh/network/developing.mdx b/website/pages/zh/network/developing.mdx index 132d89590735..97b241bcb081 100644 --- a/website/pages/zh/network/developing.mdx +++ b/website/pages/zh/network/developing.mdx @@ -14,9 +14,9 @@ title: 开发 > Graph网络在功能和网络支持方面存在一定限制。只有[支持的网络](/developing/supported-networks)上的子图才能获得索引奖励,从IPFS获取数据的子图也不符合条件。 -### 部署到子图工作室 +### Deploy to Subgraph Studio -一旦定义了子图,就可以构建子图并将其部署到[Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/)。子图工作室是一个沙箱环境,它将对已部署的子图进行索引,并使其可用于速率受限的开发和测试。这使得开发人员有机会验证他们的子图没有遇到任何索引错误,并且正常工作。 +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### 发布到网络 @@ -30,13 +30,13 @@ title: 开发 一旦子图被索引者处理并用于查询,开发人员就可以开始在其应用程序中使用该子图。开发人员通过网关查询子图,该网关将他们的查询转发给处理子图的索引者,并以 GRT 支付查询费用。 -为了进行查询,开发人员必须生成一个 API 密钥,这可以在子图工作室完成。此 API 密钥必须由 GRT 资助,以支付查询费用。开发人员可以设置一个最大查询费用,以控制他们的成本,并限制他们到一个给定的子图或原点域的API 密钥。子图工作室为开发人员提供关于其 API 密钥使用时随时间变化的数据。 +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -开发人员还可以对网关表示索引人首选项,例如,首选查询响应更快或数据最新的索引者。这些控件在子图工作室中设置。 +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 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 Subgraph Studio for rate-limited development and testing. 一旦子图开发人员准备升级,他们就可以发起一个交易,将子图指向新版本。升级子图将任何信号迁移到新版本(假设应用该信号的用户选择了“自动迁移”) ,这也会带来迁移税。这种信号迁移应该会提示索引者开始为子图的新版本建立索引,因此它应该很快就可以用于查询。 From 42f76331915c7f33e3b6fc1eae2117aa441b1d5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:10 -0400 Subject: [PATCH 0698/2326] New translations developing.mdx (Urdu (Pakistan)) --- website/pages/ur/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ur/network/developing.mdx b/website/pages/ur/network/developing.mdx index 182c9a0dcc9c..68572a2ad8f9 100644 --- a/website/pages/ur/network/developing.mdx +++ b/website/pages/ur/network/developing.mdx @@ -14,9 +14,9 @@ title: ڈویلپنگ > گراف نیٹ ورک پر خصوصیت اور نیٹ ورک سپورٹ کے لحاظ سے کچھ رکاوٹیں ہیں۔ صرف [تعاون یافتہ نیٹ ورکس](/developing/supported-networks) پر سب گرافس ہی انڈیکسنگ انعامات حاصل کریں گے، اور وہ سب گراف جو IPFS سے ڈیٹا حاصل کرتے ہیں وہ بھی اہل نہیں ہیں. -### سب گراف سٹوڈیو پر تعینات کریں +### Deploy to Subgraph Studio -ایک بار وضاحت کرنے کے بعد، سب گراف کو بنایا جا سکتا ہے اور اسے [سب گراف اسٹوڈیو](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/) میں لگایا جا سکتا ہے۔سب گراف سٹوڈیو ایک سینڈ باکس ماحول جو تعینات سب گراف کو انڈیکس کرے گا اور اسے دستیاب بنائیں گۓ شرح محدود ترقی اور جانچ کے لیے. یہ ڈویلپر کوموقع دیتا ہے اس بات کو تصدیق کرنے کا کہ سب گراف کو کوئی انڈیکسنگ غلطی کا سامنا نہ ہو،اور توقع کے مطابق کام کریں. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### نیٹ ورک پر شائع کریں @@ -30,13 +30,13 @@ title: ڈویلپنگ یک بار جب انڈیکسرز کے ذریعہ سب گراف پر کارروائی ہو جائے اور کیوری کے لیے دستیاب ہو جائے،ڈویلپرز اپنی ایپلی کیشنز میں سب گراف استعمال کرنا شروع کرسکتے ہیں. ڈویلپرز ایک گیٹ وے کے ذریعے سب گرافس سے کیوری کرتے ہیں،جو ان کی کیوریز کو انڈیکسر کو بھیجتا ہے جس نے سب گراف پر کارروائی کی ہے،GRT میں کیوری کی فیس ادا کرنا. -کیوریز کرنے کے لیے، ڈویلپرز کو ایک API کلید تیار کرنی چاہیے، جو سب گراف اسٹوڈیو میں کی جا سکتی ہے۔ کیوری کی فیس ادا کرنے کے لیے، اس API کلید کو GRT کے ساتھ فنڈ کیا جانا چاہیے۔ ڈویلپرز اپنے اخراجات کو کنٹرول کرنے کے لیے، زیادہ سے زیادہ کیوری کی فیس مقرر کر سکتے ہیں، اور اپنی API کلید کو دیے گئے سب گراف یا اصل ڈومین تک محدود کر سکتے ہیں۔ سب گراف اسٹوڈیو ڈویلپرز کو وقت کے ساتھ ساتھ ان کے API کلیدی استعمال پر ڈیٹا فراہم کرتا ہے. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -ڈویلپرز گیٹ وے پر انڈیکسر ترجیح کا اظہار کرنے کے قابل بھی ہیں،مثال کے طور پر انڈیکسرز کو ترجیح دینا جن کے سوال کا جواب تیز ہے،یا جس کا ڈیٹا تازہ ترین ہے۔یہ کنٹرول سب گراف اسٹوڈیو میں سیٹ کیے گئے ہیں. +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 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 Subgraph Studio for rate-limited development and testing. ایک بار جب سب گراف ڈویلپر اپ گریڈ کرنے کے لیے تیار ہو جائے، وہ اپنےسب گراف کو نئے ورزن کی طرف اشارہ کرنے کے لیے ٹرانزیکشن شروع کر سکتے ہیں۔ سب گراف کو اپ ڈیٹ کرنے سے کسی بھی سگنل کو نئے ورزن میں منتقل کیا جاتا ہے (یہ فرض کرتے ہوئے کہ صارف جس نے سگنل کو "آٹو مائیگریٹ" منتخب کیا ہے)، جس پرمنتقلی ٹیکس بھی لاگو ہوتا ہے۔ اس سگنل کی منتقلی سے انڈیکسرز کو سب گراف کے نئے ورزن کی انڈیکسنگ شروع کرنے کا اشارہ کرنا چاہیے، اس لیے اسے جلد ہی کیوری کے لیے دستیاب ہونا چاہیے. From 0afff29254187b4ea898f573be9bcca4f668f42b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:11 -0400 Subject: [PATCH 0699/2326] New translations developing.mdx (Vietnamese) --- website/pages/vi/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/vi/network/developing.mdx b/website/pages/vi/network/developing.mdx index 9c543348259d..1b76eb94ccca 100644 --- a/website/pages/vi/network/developing.mdx +++ b/website/pages/vi/network/developing.mdx @@ -14,9 +14,9 @@ As with all subgraph development, it starts with local development and testing. > There are certain constraints on The Graph Network, in terms of feature and network support. Only subgraphs on [supported networks](/developing/supported-networks) will earn indexing rewards, and subgraphs which fetch data from IPFS are also not eligible. -### Deploy to the Subgraph Studio +### Deploy to Subgraph Studio -Once defined, the subgraph can be built and deployed to the [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). 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. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publish to the Network @@ -30,13 +30,13 @@ Published subgraphs are unlikely to be picked up by Indexers without the additio 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. -In order to make queries, developers must generate an API key, which can be done in the Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. The Subgraph Studio provides developers with data on their API key usage over time. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -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. +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 Subgraph Studio. ### Updating Subgraphs -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. +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 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. From 7004d8693e32fdef8dd5e42c14cc8041a155a906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:12 -0400 Subject: [PATCH 0700/2326] New translations developing.mdx (Marathi) --- website/pages/mr/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/mr/network/developing.mdx b/website/pages/mr/network/developing.mdx index 6ada412cd3ab..9206b99c72cf 100644 --- a/website/pages/mr/network/developing.mdx +++ b/website/pages/mr/network/developing.mdx @@ -14,9 +14,9 @@ title: विकसनशील > ग्राफ नेटवर्कवर वैशिष्ट्य आणि नेटवर्क समर्थनाच्या बाबतीत काही मर्यादा आहेत. केवळ [समर्थित नेटवर्क](/developing/supported-networks) वरील सबग्राफ अनुक्रमित पुरस्कार मिळवतील आणि IPFS कडून डेटा आणणारे सबग्राफ देखील पात्र नाहीत. -### सबग्राफ स्टुडिओमध्ये तैनात करा +### Deploy to Subgraph Studio -एकदा परिभाषित केल्यानंतर, सबग्राफ तयार केला जाऊ शकतो आणि [सबग्राफ स्टुडिओ](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/) मध्ये तैनात केला जाऊ शकतो. सबग्राफ स्टुडिओ हे सँडबॉक्स वातावरण आहे जे उपयोजित सबग्राफ अनुक्रमित करेल आणि दर-मर्यादित विकास आणि चाचणीसाठी उपलब्ध करेल. हे विकसकांना त्यांच्या सबग्राफमध्ये कोणत्याही अनुक्रमणिकेतील त्रुटी आढळत नाहीत आणि अपेक्षेप्रमाणे कार्य करते हे सत्यापित करण्याची संधी देते. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### नेटवर्कवर प्रकाशित करा @@ -30,13 +30,13 @@ title: विकसनशील इंडेक्सर्सद्वारे सबग्राफवर प्रक्रिया केल्यानंतर आणि क्वेरीसाठी उपलब्ध झाल्यानंतर, विकासक त्यांच्या अनुप्रयोगांमध्ये सबग्राफ वापरण्यास प्रारंभ करू शकतात. विकासक गेटवेद्वारे सबग्राफ्सची क्वेरी करतात, जे त्यांच्या क्वेरी GRT मध्ये क्वेरी शुल्क भरून सबग्राफवर प्रक्रिया केलेल्या इंडेक्सरकडे पाठवतात. -क्वेरी करण्यासाठी, विकसकांनी API की व्युत्पन्न करणे आवश्यक आहे, जे सबग्राफ स्टुडिओमध्ये केले जाऊ शकते. क्वेरी फी भरण्यासाठी या API कीला GRT द्वारे निधी उपलब्ध करून देणे आवश्यक आहे. डेव्हलपर त्यांच्या खर्चावर नियंत्रण ठेवण्यासाठी कमाल क्वेरी फी सेट करू शकतात आणि त्यांची API की दिलेल्या सबग्राफ किंवा मूळ डोमेनवर मर्यादित करू शकतात. सबग्राफ स्टुडिओ विकासकांना त्यांच्या API की वापरावर वेळोवेळी डेटा प्रदान करतो. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -डेव्हलपर गेटवेवर इंडेक्सर प्राधान्य व्यक्त करण्यास देखील सक्षम आहेत, उदाहरणार्थ ज्यांचे क्वेरी प्रतिसाद जलद आहे किंवा ज्यांचा डेटा सर्वात अद्ययावत आहे अशा इंडेक्सर्सना प्राधान्य देणे. ही नियंत्रणे सबग्राफ स्टुडिओमध्ये सेट केली जातात. +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 Subgraph Studio. ### Updating Subgraphs -काही वेळानंतर सबग्राफ डेव्हलपरला त्यांचा सबग्राफ अपडेट करायचा असेल, कदाचित बग फिक्स करायचा असेल किंवा नवीन कार्यक्षमता जोडायची असेल. सबग्राफ डेव्हलपर रेट-मर्यादित विकास आणि चाचणीसाठी त्यांच्या सबग्राफची नवीन आवृत्ती सबग्राफ स्टुडिओमध्ये तैनात करू शकतो. +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 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. From d8db11185062b638914d9e570699ea6513d64378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:13 -0400 Subject: [PATCH 0701/2326] New translations developing.mdx (Hindi) --- website/pages/hi/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/hi/network/developing.mdx b/website/pages/hi/network/developing.mdx index 3f43f162a9cf..bb2091a777df 100644 --- a/website/pages/hi/network/developing.mdx +++ b/website/pages/hi/network/developing.mdx @@ -14,9 +14,9 @@ title: विकसित होना > फीचर और नेटवर्क सपोर्ट के मामले में द ग्राफ नेटवर्क पर कुछ बाधाएं हैं। केवल [समर्थित नेटवर्क](/developing/supported-networks) पर सबग्राफ इंडेक्सिंग पुरस्कार अर्जित करेंगे, और IPFS से डेटा प्राप्त करने वाले सबग्राफ भी योग्य नहीं हैं। -### सबग्राफ स्टूडियो में तैनात करें +### Deploy to Subgraph Studio -एक बार परिभाषित होने के बाद, सबग्राफ को [सबग्राफ स्टूडियो](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/) में बनाया और तैनात किया जा सकता है। सबग्राफ स्टूडियो एक सैंडबॉक्स वातावरण है जो तैनात सबग्राफ को अनुक्रमित करेगा और इसे दर-सीमित विकास और परीक्षण के लिए उपलब्ध कराएगा। यह डेवलपर्स को यह सत्यापित करने का अवसर देता है कि उनके सबग्राफ में कोई इंडेक्सिंग त्रुटि नहीं है, और उम्मीद के मुताबिक काम करता है। +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### नेटवर्क पर प्रकाशित करें @@ -30,13 +30,13 @@ title: विकसित होना एक बार एक सबग्राफ इंडेक्सर्स द्वारा संसाधित किया गया है और पूछताछ के लिए उपलब्ध है, डेवलपर्स अपने अनुप्रयोगों में सबग्राफ का उपयोग करना शुरू कर सकते हैं। विकासकर्ता एक गेटवे के माध्यम से सबग्राफ को क्वेरी करते हैं, जो उनके प्रश्नों को एक इंडेक्सर को अग्रेषित करता है जिसने सबग्राफ को संसाधित किया है, जीआरटी में क्वेरी शुल्क का भुगतान करता है। -प्रश्न पूछने के लिए, डेवलपर्स को एक एपीआई कुंजी उत्पन्न करनी होगी, जिसे सबग्राफ स्टूडियो में किया जा सकता है। क्वेरी शुल्क का भुगतान करने के लिए, इस API कुंजी को GRT द्वारा वित्तपोषित किया जाना चाहिए. डेवलपर्स अपनी लागत को नियंत्रित करने के लिए अधिकतम क्वेरी शुल्क निर्धारित कर सकते हैं, और अपनी एपीआई कुंजी को किसी दिए गए सबग्राफ या मूल डोमेन तक सीमित कर सकते हैं। सबग्राफ स्टूडियो समय के साथ डेवलपर्स को उनके एपीआई कुंजी उपयोग पर डेटा प्रदान करता है। +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -विकासकर्ता गेटवे के लिए एक इंडेक्सर वरीयता व्यक्त करने में भी सक्षम हैं, उदाहरण के लिए उन इंडेक्सर्स को प्राथमिकता देना जिनकी क्वेरी प्रतिक्रिया तेज है, या जिनका डेटा सबसे अद्यतित है। ये नियंत्रण सबग्राफ स्टूडियो में सेट किए गए हैं। +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 Subgraph Studio. ### Updating Subgraphs -एक समय के बाद एक सबग्राफ डेवलपर अपने सबग्राफ को अपडेट करना चाह सकता है, शायद बग को ठीक करना या नई कार्यक्षमता जोड़ना। सबग्राफ डेवलपर दर-सीमित विकास और परीक्षण के लिए सबग्राफ स्टूडियो में अपने सबग्राफ के नए संस्करण (ओं) को तैनात कर सकता है। +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 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. From be90381ab2024b4506291276ea45288812ffc1f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:14 -0400 Subject: [PATCH 0702/2326] New translations developing.mdx (Yoruba) --- website/pages/yo/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/yo/network/developing.mdx b/website/pages/yo/network/developing.mdx index 9c543348259d..1b76eb94ccca 100644 --- a/website/pages/yo/network/developing.mdx +++ b/website/pages/yo/network/developing.mdx @@ -14,9 +14,9 @@ As with all subgraph development, it starts with local development and testing. > There are certain constraints on The Graph Network, in terms of feature and network support. Only subgraphs on [supported networks](/developing/supported-networks) will earn indexing rewards, and subgraphs which fetch data from IPFS are also not eligible. -### Deploy to the Subgraph Studio +### Deploy to Subgraph Studio -Once defined, the subgraph can be built and deployed to the [Subgraph Studio](https://thegraph.com/docs/en/deploying/subgraph-studio-faqs/). 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. +Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. ### Publish to the Network @@ -30,13 +30,13 @@ Published subgraphs are unlikely to be picked up by Indexers without the additio 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. -In order to make queries, developers must generate an API key, which can be done in the Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. The Subgraph Studio provides developers with data on their API key usage over time. +In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. -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. +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 Subgraph Studio. ### Updating Subgraphs -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. +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 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. From ada928671e615aa2928a29d9e23ee67dc9e97a4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:15 -0400 Subject: [PATCH 0703/2326] New translations grafting.mdx (Romanian) --- website/pages/ro/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/ro/cookbook/grafting.mdx b/website/pages/ro/cookbook/grafting.mdx index 6d781a5f7e06..38bb7114851a 100644 --- a/website/pages/ro/cookbook/grafting.mdx +++ b/website/pages/ro/cookbook/grafting.mdx @@ -20,13 +20,13 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o For more information, you can check: -- [Grafting](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Grafting](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) In this tutorial, we will be covering a basic usecase. We will replace an existing contract with an identical contract (with a new address, but the same code). Then, graft the existing subgraph onto the "base" subgraph that tracks the new contract. ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## Building an Existing Subgraph -Building subgraphs is an essential part of The Graph, described more in depth [here](http://localhost:3000/en/cookbook/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` is a list of all used [feature names](developing/creating-a-subgraph/#experimental-features). +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` is a map of the `base` subgraph and the block to graft on to. The `block` is the block number to start indexing from. The Graph will copy the data of the base subgraph up to and including the given block and then continue indexing the new subgraph from that block on. The `base` and `block` values can be found by deploying two subgraphs: one for the base indexing and one with grafting ## Deploying the Base Subgraph -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in The Graph Studio UI. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -187,16 +187,16 @@ It should return the following: You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. -Congrats! You have succesfully grafted a subgraph onto another subgraph. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Additional Resources If you want more experience with grafting, here's a few examples for popular contracts: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](developing/creating-a-subgraph/#data-source-templates) can achieve similar results +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Note: A lot of material from this article was taken from the previously published [Arweave article](/cookbook/arweave/) From 092c7c2b7535d0d073bbf0de054b3cb7c564bd29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:16 -0400 Subject: [PATCH 0704/2326] New translations grafting.mdx (French) --- website/pages/fr/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/fr/cookbook/grafting.mdx b/website/pages/fr/cookbook/grafting.mdx index 1cb91372bb13..3f21434c43be 100644 --- a/website/pages/fr/cookbook/grafting.mdx +++ b/website/pages/fr/cookbook/grafting.mdx @@ -20,13 +20,13 @@ Le subgraph greffé peut utiliser un schema GraphQL qui n'est pas identique à c Pour plus d’informations, vous pouvez vérifier : -- [Greffage](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Greffage](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) Dans ce tutoriel, nous allons aborder un cas d'utilisation de base. Nous allons remplacer un contrat existant par un contrat identique (avec une nouvelle adresse, mais le même code). Ensuite, nous grefferons le subgraph existant sur le subgraph "de base" qui suit le nouveau contrat. ## Remarque importante sur le greffage lors de la mise à niveau vers le réseau -> **Attention** : si vous mettez à niveau votre subgraph depuis Subgraph Studio ou le service hébergé vers le réseau décentralisé, il est fortement recommandé d'éviter d'utiliser le greffage pendant le processus de mise à niveau. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Pourquoi est-ce important? @@ -42,7 +42,7 @@ En respectant ces lignes directrices, vous minimisez les risques et vous vous as ## Création d'un subgraph existant -La construction de subgraphs est une partie essentielle de The Graph, décrite plus en profondeur [ici](http://localhost:3000/en/cookbook/quick-start/). Pour pouvoir construire et déployer le subgraph existant utilisé dans ce tutoriel, le répertoire suivant est fourni : +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Exemple de subgraph repo](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # numéro du bloc ``` -- `features :` est une liste de tous les [noms de fonctionnalités](developing/creating-a-subgraph/#experimental-features) utilisés. +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft :` est une carte du subgraph `base` et du bloc sur lequel greffer. Le `block` est le numéro de bloc à partir duquel commencer l'indexation. Le graph copiera les données du subgraph de base jusqu'au bloc donné inclus, puis continuera à indexer le nouveau subgraph à partir de ce bloc. Les valeurs de `base` et de `bloc` peuvent être trouvées en déployant deux subgraphs : un pour l'indexation de base et un avec la méthode du greffage ## Déploiement du subgraph de base -1. Allez dans l'[interface Graph Studio](https://thegraph.com/studio/) et créez un subgraph sur Goerli testnet appelé `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Suivez les instructions de la section `AUTH& DEPLOY` sur la page de votre subgraph dans le dossier `graft-example` du dépôt 3. Une fois terminé, vérifiez que le subgraph s'indexe correctement. Si vous exécutez la commande suivante dans The Graph Playground @@ -144,8 +144,8 @@ Une fois que vous avez vérifié que le subgraph s'indexe correctement, vous pou Le subgraph.yaml de remplacement du greffon aura une nouvelle adresse de contrat. Cela peut arriver lorsque vous mettez à jour votre dapp, redéployez un contrat, etc. -1. Allez dans l'[interface Graph Studio](https://thegraph.com/studio/) et créez un subgraph sur le teste de Goerli appelé `graft-replacement` -2. Créez un nouveau manifeste. Le `subgraph.yaml` pour `graph-replacement` contient une adresse de contrat différente et de nouvelles informations sur la façon dont il doit se greffer. C'est le `bloc` du [dernier événement émis](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) qui a de l'intérêt par l'ancien contrat et la `base` de l'ancien subgraph. L'identification du subgraph de `base` est la même que l'`identifiant de déploiement` de votre subgraph d'origine `graph-example`. Vous pouvez la trouver dans l'interface utilisateur de Graph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Suivez les instructions de la section `AUTH& DEPLOY` sur la page de votre subgraph dans le dossier `graft-replacement` du répertoire 4. Une fois cette opération terminée, vérifiez que le subgraph est correctement indexé. Si vous exécutez la commande suivante dans The Graph Playground @@ -187,16 +187,16 @@ Le résultat devrait être le suivant : Vous pouvez voir que le `subgraph de remplacement` est indexé à partir des données plus anciennes du `graphe-exemple` et des données plus récentes de la nouvelle adresse du contrat. Le contrat original a émis deux événements de `retrait`, [événement 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) et [événement 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). Le nouveau contrat a émis un `retrait` après l'[événement 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). Les deux transactions précédemment indexées (événement 1 et événement 2) et la nouvelle transaction (événement 3) ont été combinées ensemble dans le subgraph de `graft-replacemen`. -Félicitations ! Vous avez réussi le greffage d'un subgraph sur un autre. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Ressources complémentaires Si vous souhaitez acquérir plus d'expérience en matière de greffes, voici quelques exemples de contrats populaires : -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -Pour devenir encore plus expert en Graph, envisagez de découvrir d’autres façons de gérer les modifications dans les sources de données sous-jacentes. Des alternatives telles que les [Modèles de source de données](developing/creating-a-subgraph/#data-source-templates) peuvent obtenir des résultats similaires +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Notez : Une grande partie de cet article a été reprise de l'[article Arweave](/cookbook/arweave/) publié précédemment From c24c3156cf0806e07b4534e87d74a34bd8f8e7e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:17 -0400 Subject: [PATCH 0705/2326] New translations grafting.mdx (Spanish) --- website/pages/es/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/es/cookbook/grafting.mdx b/website/pages/es/cookbook/grafting.mdx index 05f4203e46b7..9e7f7f437387 100644 --- a/website/pages/es/cookbook/grafting.mdx +++ b/website/pages/es/cookbook/grafting.mdx @@ -20,13 +20,13 @@ El subgrafo grafteado puede utilizar un esquema GraphQL que no es idéntico al d Para más información, puedes consultar: -- [Grafting](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Grafting](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) En este tutorial vamos a cubrir un caso de uso básico. Reemplazaremos un contrato existente con un contrato idéntico (con una nueva dirección, pero el mismo código). Luego, haremos grafting del subgrafo existente en el subgrafo "base" que rastrea el nuevo contrato. ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## Construcción de un subgrafo existente -La construcción de subgrafos es una parte esencial de The Graph, descrita más a fondo [aquí](http://localhost:3000/en/cookbook/quick-start/). Para poder construir y deployar el subgrafo existente utilizado en este tutorial, se proporciona el siguiente repo: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Repo de ejemplo de subgrafo](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features`: es una lista de todos los [nombres de features](developing/creating-a-subgraph/#experimental-features) utilizados. +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft`: es un mapa del subgrafo `base` y del bloque al que se va a realizar el grafting. El `bloque` es el número de bloque desde el que se empieza a indexar. The Graph copiará los datos del subgrafo base hasta el bloque dado, inclusive, y luego continuará indexando el nuevo subgrafo a partir de ese bloque. Los valores de la `base` y del `bloque` se pueden encontrar deployando dos subgrafos: uno para la indexación de la base y otro con grafting ## Deploy del subgrafo base -1. Ve a [The Graph Studio UI](https://thegraph.com/studio/) y crea un subgrafo en Goerli testnet llamado `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Sigue las instrucciones de la sección `AUTH & DEPLOY` en tu página de subgrafo en la carpeta `graft-example` del repo 3. Una vez que hayas terminado, verifica que el subgrafo se está indexando correctamente. Si ejecutas el siguiente comando en The Graph Playground @@ -144,8 +144,8 @@ Una vez que hayas verificado que el subgrafo se está indexando correctamente, p El subgraph.yaml de sustitución del graft tendrá una nueva dirección de contrato. Esto podría ocurrir cuando actualices tu dApp, vuelvas a deployar un contrato, etc. -1. Ve a [The Graph Studio UI](https://thegraph.com/studio/) y crea un subgrafo en Goerli testnet llamado `graft-replacement` -2. Crea un nuevo manifiesto. El `subgraph.yaml` para el `graph-replacement` contiene una dirección de contrato diferente y nueva información sobre cómo debe realizarse el grafting. Estos son el `bloque` del [último evento emitido](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) que te interesa por el antiguo contrato y la `base` del antiguo subgrafo. El ID del subgrafo `base` es el `ID de deploy` de tu `graph-example` subgrafo original. Puedes encontrarlo en la UI de The Graph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Sigue las instrucciones de la sección `AUTH & DEPLOY` en la página de tu subgrafo en la carpeta `graft-replacement` del repo 4. Una vez que hayas terminado, verifica que el subgrafo se está indexando correctamente. Si ejecutas el siguiente comando en The Graph Playground @@ -187,16 +187,16 @@ Debería devolver lo siguiente: Se puede ver que el subgrafo `graft-replacement` está indexando a partir de los datos más antiguos del `graph-example` y los datos más actuales de la dirección del contrato. El contrato original emitió dos eventos de `Withdrawal`, [Evento 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) y [Evento 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). El nuevo contrato emitió un evento de `Withdrawal` después, el [Evento 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). Las dos transacciones indexadas anteriormente (Evento 1 y 2) y la nueva transacción (Evento 3) se combinaron juntas en el subgrafo `graft-replacement`. -Felicidades. Has conseguido graftear un subgrafo en otro subgrafo exitosamente. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Recursos Adicionales Si quieres tener más experiencia con el grafting, aquí tienes algunos ejemplos de contratos populares: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -Para convertirte en un experto en Graph, considera la posibilidad de aprender otras formas de manejar los cambios en las fuentes de datos subyacentes. Alternativas como las [plantillas de fuentes de datos](developing/creating-a-subgraph/#data-source-templates) pueden lograr resultados similares +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Nota: Gran parte del material de este artículo se ha extraído del artículo publicado anteriormente por [Arweave](/cookbook/arweave/) From c69206887169132b453a2b42f720a768be146ac7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:18 -0400 Subject: [PATCH 0706/2326] New translations grafting.mdx (Arabic) --- website/pages/ar/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/ar/cookbook/grafting.mdx b/website/pages/ar/cookbook/grafting.mdx index 3ceb3758235c..ebc3a467c056 100644 --- a/website/pages/ar/cookbook/grafting.mdx +++ b/website/pages/ar/cookbook/grafting.mdx @@ -20,13 +20,13 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o For more information, you can check: -- [تطعيم(Grafting)](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [تطعيم(Grafting)](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) In this tutorial, we will be covering a basic usecase. We will replace an existing contract with an identical contract (with a new address, but the same code). Then, graft the existing subgraph onto the "base" subgraph that tracks the new contract. ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## Building an Existing Subgraph -Building subgraphs is an essential part of The Graph, described more in depth [here](http://localhost:3000/en/cookbook/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` is a list of all used [feature names](developing/creating-a-subgraph/#experimental-features). +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` is a map of the `base` subgraph and the block to graft on to. The `block` is the block number to start indexing from. The Graph will copy the data of the base subgraph up to and including the given block and then continue indexing the new subgraph from that block on. The `base` and `block` values can be found by deploying two subgraphs: one for the base indexing and one with grafting ## Deploying the Base Subgraph -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in The Graph Studio UI. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -187,16 +187,16 @@ It should return the following: You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. -Congrats! You have succesfully grafted a subgraph onto another subgraph. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## مصادر إضافية If you want more experience with grafting, here's a few examples for popular contracts: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](developing/creating-a-subgraph/#data-source-templates) can achieve similar results +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Note: A lot of material from this article was taken from the previously published [Arweave article](/cookbook/arweave/) From d3b1df892303f2631ee47d85e1b220d2278f5df6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:19 -0400 Subject: [PATCH 0707/2326] New translations grafting.mdx (Czech) --- website/pages/cs/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/cs/cookbook/grafting.mdx b/website/pages/cs/cookbook/grafting.mdx index c021c7da19ed..9d4f6ad6f622 100644 --- a/website/pages/cs/cookbook/grafting.mdx +++ b/website/pages/cs/cookbook/grafting.mdx @@ -20,13 +20,13 @@ Při roubování se znovu použijí data z existujícího podgrafu a začne se i Další informace naleznete na: -- [Roubování](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Roubování](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) V tomto tutoriálu se budeme zabývat základním případem použití. Nahradíme stávající smlouvu identickou smlouvou (s novou adresou, ale stejným kódem). Poté naroubujeme stávající podgraf na "základní" podgraf, který sleduje nový kontrakt. ## Důležité upozornění k roubování při aktualizaci na síť -> **Upozornění**: pokud upgradujete svůj subgraf ze služby Subgraph Studio nebo hostované služby na decentralizovanou síť, důrazně doporučujeme, abyste se během procesu upgradu vyhnuli použití roubování. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Proč je to důležité? @@ -42,7 +42,7 @@ Dodržováním těchto pokynů minimalizujete rizika a zajistíte hladší průb ## Vytvoření existujícího podgrafu -Vytváření podgrafů je podstatnou součástí Grafu, která je podrobněji popsána [zde](http://localhost:3000/en/cookbook/quick-start/). Aby bylo možné sestavit a nasadit existující subgraf použitý v tomto tutoriálu, je k dispozici následující repozitář: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Příklad repo subgrafu](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `funkce:` je seznam všech použitých [názvů funkcí](developing/creating-a-subgraph/#experimental-features). +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` je mapa subgrafu `base` a bloku, na který se má roubovat. `block` je číslo bloku, od kterého začít indexovat. Graph zkopíruje data základního subgrafu až k zadanému bloku včetně, a poté pokračuje v indexaci nového subgrafu od tohoto bloku dále. Hodnoty `base` a `block` lze nalézt nasazením dvou podgrafů: jednoho pro základní indexování a druhého s roubováním ## Nasazení základního podgrafu -1. Přejděte na [The Graph Studio UI](https://thegraph.com/studio/) a vytvořte subgraf na testovací síti Goerli s názvem `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Následujte pokyny v části `AUTH & DEPLOY` na stránce vašeho subgrafu v adresáři `graft-example` ve vašem repozitáři 3. Po dokončení ověřte, zda se podgraf správně indexuje. Pokud spustíte následující příkaz v The Graph Playground @@ -144,8 +144,8 @@ Jakmile ověříte, že se podgraf správně indexuje, můžete jej rychle aktua Náhradní podgraf.yaml bude mít novou adresu smlouvy. K tomu může dojít při aktualizaci dapp, novém nasazení kontraktu atd. -1. Přejděte na [The Graph Studio UI](https://thegraph.com/studio/) a vytvořte subgraf na testovací síti Goerli s názvem `graft-replacement` -2. Vytvořte nový manifest. Soubor `subgraph.yaml` pro `graph-replacement` obsahuje odlišnou adresu smlouvy a nové informace o tom, jak by měl probíhat proces roubování. Jedná se o `blok` [poslední událost vysílanou](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) starou smlouvou, na kterou se zaměřujete, a o `base` starého podgrafu. ID podgrafu `base` je `ID nasazení` vašeho původního podgrafu `graph-example`. Tuto informaci najdete v uživatelském rozhraní The Graph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Postupujte podle pokynů v části `AUTH & DEPLOY` na stránce podgrafu ve složce `graft-replacement` z repozitáře 4. Po dokončení ověřte, zda se podgraf správně indexuje. Pokud spustíte následující příkaz v The Graph Playground @@ -187,16 +187,16 @@ Měla by vrátit následující: Můžete vidět, že podgraf `graft-replacement` indexuje stará data z `graph-example` a nová data z nové adresy smlouvy. Původní smlouva vydala dvě události `Withdrawal`,[Událost 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) a [Událost 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). Nová smlouva vydala jednu událost `Withdrawal` poté,[Událost 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). Dvě předtím zaindexované transakce (Událost 1 a 2) a nová transakce (Událost 3) byly sloučeny dohromady v podgrafu `graft-replacement`. -Gratulujeme! Úspěšně jste naroubovali podgraf na jiný podgraf. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Další zdroje Pokud chcete získat více zkušeností s roubováním, zde je několik příkladů oblíbených smluv: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -Chcete-li se stát ještě více odborníkem na Graph, zvažte další způsoby, jak zvládnout změny v základních zdrojích dat. Alternativy jako [Šablony zdroje dat](developing/creating-a-subgraph/#data-source-templates) mohou dosáhnout podobných výsledků +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Poznámka: Mnoho materiálů z tohoto článku bylo převzato z dříve publikovaného [článku Arweave](/cookbook/arweave/) From 6dd41ed2b8ec173400ca3ffef22ece46abe810bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:19 -0400 Subject: [PATCH 0708/2326] New translations grafting.mdx (German) --- website/pages/de/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/de/cookbook/grafting.mdx b/website/pages/de/cookbook/grafting.mdx index 949f13ff0dc6..36750f0613d7 100644 --- a/website/pages/de/cookbook/grafting.mdx +++ b/website/pages/de/cookbook/grafting.mdx @@ -20,13 +20,13 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o For more information, you can check: -- [Grafting](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Grafting](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) In this tutorial, we will be covering a basic usecase. We will replace an existing contract with an identical contract (with a new address, but the same code). Then, graft the existing subgraph onto the "base" subgraph that tracks the new contract. ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## Building an Existing Subgraph -Building subgraphs is an essential part of The Graph, described more in depth [here](http://localhost:3000/en/cookbook/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` is a list of all used [feature names](developing/creating-a-subgraph/#experimental-features). +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` is a map of the `base` subgraph and the block to graft on to. The `block` is the block number to start indexing from. The Graph will copy the data of the base subgraph up to and including the given block and then continue indexing the new subgraph from that block on. The `base` and `block` values can be found by deploying two subgraphs: one for the base indexing and one with grafting ## Deploying the Base Subgraph -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in The Graph Studio UI. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -187,16 +187,16 @@ It should return the following: You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. -Congrats! You have succesfully grafted a subgraph onto another subgraph. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Additional Resources If you want more experience with grafting, here's a few examples for popular contracts: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](developing/creating-a-subgraph/#data-source-templates) can achieve similar results +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Note: A lot of material from this article was taken from the previously published [Arweave article](/cookbook/arweave/) From dc30c7303c901d14acfcf2a9cc7e512ed0955381 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:20 -0400 Subject: [PATCH 0709/2326] New translations grafting.mdx (Italian) --- website/pages/it/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/it/cookbook/grafting.mdx b/website/pages/it/cookbook/grafting.mdx index 088c1dcbd19d..997b50ae44c3 100644 --- a/website/pages/it/cookbook/grafting.mdx +++ b/website/pages/it/cookbook/grafting.mdx @@ -20,13 +20,13 @@ Il grafted subgraph può utilizzare uno schema GraphQL non identico a quello del For more information, you can check: -- [Grafting](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Grafting](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) In this tutorial, we will be covering a basic usecase. We will replace an existing contract with an identical contract (with a new address, but the same code). Then, graft the existing subgraph onto the "base" subgraph that tracks the new contract. ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## Building an Existing Subgraph -Building subgraphs is an essential part of The Graph, described more in depth [here](http://localhost:3000/en/cookbook/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` is a list of all used [feature names](developing/creating-a-subgraph/#experimental-features). +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` is a map of the `base` subgraph and the block to graft on to. The `block` is the block number to start indexing from. The Graph will copy the data of the base subgraph up to and including the given block and then continue indexing the new subgraph from that block on. The `base` and `block` values can be found by deploying two subgraphs: one for the base indexing and one with grafting ## Deploying the Base Subgraph -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in The Graph Studio UI. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -187,16 +187,16 @@ It should return the following: You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. -Congrats! You have succesfully grafted a subgraph onto another subgraph. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Additional Resources If you want more experience with grafting, here's a few examples for popular contracts: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](developing/creating-a-subgraph/#data-source-templates) can achieve similar results +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Note: A lot of material from this article was taken from the previously published [Arweave article](/cookbook/arweave/) From 7209903e3810e2893ea3fa4d3600df04a82620d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:21 -0400 Subject: [PATCH 0710/2326] New translations grafting.mdx (Japanese) --- website/pages/ja/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/ja/cookbook/grafting.mdx b/website/pages/ja/cookbook/grafting.mdx index c653adb13eda..e4368308badf 100644 --- a/website/pages/ja/cookbook/grafting.mdx +++ b/website/pages/ja/cookbook/grafting.mdx @@ -20,13 +20,13 @@ title: グラフティングでコントラクトを取り替え、履歴を残 詳しくは、こちらでご確認ください。 -- [Grafting](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Grafting](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) このチュートリアルでは、基本的なユースケースについて説明します。既存の契約を同一の契約に置き換えます(新しい住所ですが、コードは同じです)。次に、新しいコントラクトを追跡する「ベース」サブグラフに既存のサブグラフを移植します ## ネットワークにアップグレードする際の移植に関する重要な注意事項 -> **注意**: サブグラフを Subgraph Studio またはホストされたサービスから分散ネットワークにアップグレードする場合は、アップグレード プロセス中にグラフティングの使用を避けることを強くお勧めします。 +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### 何でこれが大切ですか? @@ -42,7 +42,7 @@ title: グラフティングでコントラクトを取り替え、履歴を残 ## 既存のサブグラフの構築 -サブグラフの構築は、The Graphの重要な部分であり、[こちら](http://localhost:3000/en/cookbook/quick-start/)でより詳しく説明されています。このチュートリアルで使用する既存のサブグラフをビルドしてデプロイできるようにするために、以下のレポを提供します。 +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [サブグラフ例文レポ](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ dataSources: block: 1502122 # ブロック番号 ``` -- `features`: 使用されるすべての[feature](developing/creating-a-subgraph/#experimental-features)名のリストです。 +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:`は`base`サブグラフとグラフティングをするブロックのマップです。`block`はインデックスを開始するブロック番号です。Graphは、指定されたブロックまでのベースサブグラフのデータをコピーし、そのブロックから新しいサブグラフのインデックスを作成し続けます。 `base`と`block`の値は、2つのサブグラフを展開することで求めることができます:一つはベースインデックス用、もう一つはグラフティング用です ## ベースサブグラフの起動 -1. [Graph Studio UI](https://thegraph.com/studio/)にアクセスし、Guerli testnet上に`graft-example`というサブグラフを作成します。 +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. レポの `graft-example` フォルダ内のサブグラフのページにある `AUTH & DEPLOY` セクションの指示にしたがってください。 3. 終了後、サブグラフが正しくインデックスされていることを確認します。The Graph Playgroundで以下のコマンドを実行すると、サブグラフが正常にインデックスされます。 @@ -144,8 +144,8 @@ dataSources: グラフト置換されたsubgraph.yamlは、新しいコントラクトのアドレスを持つことになります。これは、ダンプを更新したり、コントラクトを再デプロイしたりしたときに起こりうることです。 -1. [Graph Studio UI](https://thegraph.com/studio/)にアクセスし、Goerli testnet上に`graft-replacement`というサブグラフを作成します。 -2. 新しいマニフェストを作成します。`graph-replacement` の `subgraph.yaml` には、異なるコントラクト アドレスと、どのようにグラフティングするかについての新しい情報が含まれています。これらは、古いコントラクトで発生する[最後のイベント](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498)の`block`と古いサブグラフの`base`です。`base`サブグラフIDは、元の`graph-example`サブグラフの`Deployment ID`となります。これは、The Graph Studio UIで確認できます。 +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. レポの `graft-replacement` フォルダ内のサブグラフのページにある `AUTH & DEPLOY` セクションの指示にしたがってください。 4. 終了後、サブグラフが正しくインデックスされていることを確認します。The Graph Playgroundで以下のコマンドを実行すると、サブグラフが正常にインデックスされます。 @@ -187,16 +187,16 @@ dataSources: `graft-replacement`サブグラフは、古い`graph-example`データと新しいコントラクトアドレスからの新しいデータからインデックスを作成していることがわかります。元のコントラクトは、[Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498)と[Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493)という2つの`Withdrawal`イベントを発行しています。新しいコントラクトは、[イベント3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3)の後に、1つの`Withdrawal`を発行しました。2つの以前インデックスされたトランザクション(イベント1、2)と新しいトランザクション(イベント3)は`graft-replacement`サブグラフで一緒に結合されます。 -おめでとうございます。あなたは、サブグラフを別のサブグラフにグラフティングすることに成功しました。 +Congrats! You have successfully grafted a subgraph onto another subgraph. ## その他のリソース もっとグラフティングを体験したい方に、人気のあるコントラクトの例をご紹介します: -- [曲線](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [曲線](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -グラフの専門家になるには、基礎となるデータソースの変更を処理する他の方法について学ぶことを検討してください。[Data Source Templates](developing/creating-a-subgraph/#data-source-templates) のような代替手段で、同様の結果を得ることができます。 +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > 注:この記事の多くの資料は、以前公開された[アルウィーブの記事](/cookbook/arweave/)から引用したものです。 From d8be5122484ba774b9c9e59ab49bc0bd051be38b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:22 -0400 Subject: [PATCH 0711/2326] New translations grafting.mdx (Korean) --- website/pages/ko/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/ko/cookbook/grafting.mdx b/website/pages/ko/cookbook/grafting.mdx index 6d781a5f7e06..38bb7114851a 100644 --- a/website/pages/ko/cookbook/grafting.mdx +++ b/website/pages/ko/cookbook/grafting.mdx @@ -20,13 +20,13 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o For more information, you can check: -- [Grafting](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Grafting](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) In this tutorial, we will be covering a basic usecase. We will replace an existing contract with an identical contract (with a new address, but the same code). Then, graft the existing subgraph onto the "base" subgraph that tracks the new contract. ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## Building an Existing Subgraph -Building subgraphs is an essential part of The Graph, described more in depth [here](http://localhost:3000/en/cookbook/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` is a list of all used [feature names](developing/creating-a-subgraph/#experimental-features). +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` is a map of the `base` subgraph and the block to graft on to. The `block` is the block number to start indexing from. The Graph will copy the data of the base subgraph up to and including the given block and then continue indexing the new subgraph from that block on. The `base` and `block` values can be found by deploying two subgraphs: one for the base indexing and one with grafting ## Deploying the Base Subgraph -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in The Graph Studio UI. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -187,16 +187,16 @@ It should return the following: You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. -Congrats! You have succesfully grafted a subgraph onto another subgraph. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Additional Resources If you want more experience with grafting, here's a few examples for popular contracts: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](developing/creating-a-subgraph/#data-source-templates) can achieve similar results +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Note: A lot of material from this article was taken from the previously published [Arweave article](/cookbook/arweave/) From 54352e94fc3199cace676664974f8f050796d6e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:23 -0400 Subject: [PATCH 0712/2326] New translations grafting.mdx (Dutch) --- website/pages/nl/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/nl/cookbook/grafting.mdx b/website/pages/nl/cookbook/grafting.mdx index 6d781a5f7e06..38bb7114851a 100644 --- a/website/pages/nl/cookbook/grafting.mdx +++ b/website/pages/nl/cookbook/grafting.mdx @@ -20,13 +20,13 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o For more information, you can check: -- [Grafting](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Grafting](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) In this tutorial, we will be covering a basic usecase. We will replace an existing contract with an identical contract (with a new address, but the same code). Then, graft the existing subgraph onto the "base" subgraph that tracks the new contract. ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## Building an Existing Subgraph -Building subgraphs is an essential part of The Graph, described more in depth [here](http://localhost:3000/en/cookbook/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` is a list of all used [feature names](developing/creating-a-subgraph/#experimental-features). +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` is a map of the `base` subgraph and the block to graft on to. The `block` is the block number to start indexing from. The Graph will copy the data of the base subgraph up to and including the given block and then continue indexing the new subgraph from that block on. The `base` and `block` values can be found by deploying two subgraphs: one for the base indexing and one with grafting ## Deploying the Base Subgraph -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in The Graph Studio UI. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -187,16 +187,16 @@ It should return the following: You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. -Congrats! You have succesfully grafted a subgraph onto another subgraph. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Additional Resources If you want more experience with grafting, here's a few examples for popular contracts: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](developing/creating-a-subgraph/#data-source-templates) can achieve similar results +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Note: A lot of material from this article was taken from the previously published [Arweave article](/cookbook/arweave/) From c8c70127ba10770dfd66ff11b71f97b06d9a740e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:24 -0400 Subject: [PATCH 0713/2326] New translations grafting.mdx (Polish) --- website/pages/pl/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/pl/cookbook/grafting.mdx b/website/pages/pl/cookbook/grafting.mdx index 6d781a5f7e06..38bb7114851a 100644 --- a/website/pages/pl/cookbook/grafting.mdx +++ b/website/pages/pl/cookbook/grafting.mdx @@ -20,13 +20,13 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o For more information, you can check: -- [Grafting](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Grafting](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) In this tutorial, we will be covering a basic usecase. We will replace an existing contract with an identical contract (with a new address, but the same code). Then, graft the existing subgraph onto the "base" subgraph that tracks the new contract. ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## Building an Existing Subgraph -Building subgraphs is an essential part of The Graph, described more in depth [here](http://localhost:3000/en/cookbook/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` is a list of all used [feature names](developing/creating-a-subgraph/#experimental-features). +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` is a map of the `base` subgraph and the block to graft on to. The `block` is the block number to start indexing from. The Graph will copy the data of the base subgraph up to and including the given block and then continue indexing the new subgraph from that block on. The `base` and `block` values can be found by deploying two subgraphs: one for the base indexing and one with grafting ## Deploying the Base Subgraph -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in The Graph Studio UI. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -187,16 +187,16 @@ It should return the following: You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. -Congrats! You have succesfully grafted a subgraph onto another subgraph. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Additional Resources If you want more experience with grafting, here's a few examples for popular contracts: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](developing/creating-a-subgraph/#data-source-templates) can achieve similar results +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Note: A lot of material from this article was taken from the previously published [Arweave article](/cookbook/arweave/) From 92666be58943f3f8b9ffcb4ad0015655958ed8fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:25 -0400 Subject: [PATCH 0714/2326] New translations grafting.mdx (Portuguese) --- website/pages/pt/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/pt/cookbook/grafting.mdx b/website/pages/pt/cookbook/grafting.mdx index bcc5a99e21f3..4e6c7ce38c91 100644 --- a/website/pages/pt/cookbook/grafting.mdx +++ b/website/pages/pt/cookbook/grafting.mdx @@ -20,13 +20,13 @@ O subgraph enxertado pode usar um schema GraphQL que não é idêntico ao schema Para mais informações, confira: -- [Enxertos](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Enxertos](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) Neste tutorial, cobriremos um caso de uso básico. Substituiremos um contrato existente com um contrato idêntico (com um novo endereço, mas o mesmo código). Depois, enxertaremos o subgraph existente ao subgraph "base" que rastreará o novo contrato. ## Notas Importantes sobre Enxertos ao Migrar Para a Graph Network -> **Aviso**: Se atualizar o seu subgraph do Subgraph Studio, ou do serviço hospedado, à rede descentralizada, evite ao máximo usar enxertos durante o processo de migração. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Qual a Importância Disto? @@ -42,7 +42,7 @@ Ao aderir a estas diretrizes, dá para minimizar riscos e garantir um processo d ## Como Construir um Subgraph Existente -Construir subgraphs é uma parte essencial do Graph; o processo é descrito em mais detalhes [aqui](http://localhost:3000/en/cookbook/quick-start/). Para poder lançar o subgraph existente usado neste tutorial, há o seguinte repo: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Exemplo de repo de subgraph](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` uma lista de todos os [nomes de características](developing/creating-a-subgraph/#experimental-features) usados. +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` um mapa do subgraph `base` e o bloco que o enxertará. O `block` é o número do bloco de onde a indexação começará. O Graph então copiará os dados do subgraph base, até e incluindo o bloco dado, e então continuará a indexar o novo subgraph a partir daquele bloco. Os valores `base` e `block` podem ser encontrados ao lançar dois subgraphs: um para a indexação base e um com o enxerto ## Como Lançar o Subgraph Base -1. Vá para a [UI do Graph Studio](https://thegraph.com/studio/) e crie um subgraph na testnet Goerli chamado `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Siga as direções na seção `AUTH & DEPLOY` na página do seu subgraph, na pasta `graft-example` do repo 3. Ao terminar, verifique que o subgraph está a indexar corretamente. Se executar o seguinte comando no The Graph Playground @@ -144,8 +144,8 @@ Após verificar que o subgraph está a indexar corretamente, será possível atu O subgraph.yaml do substituto terá um novo endereço de contrato. Isto pode acontecer quando atualizar o seu dapp, relançar um contrato, etc. -1. Vá para a [UI do The Graph Studio](https://thegraph.com/studio/) e crie um subgraph na testnet Goerli chamado `graft-replacement` -2. Crie um novo manifest. O `subgraph.yaml` para o `graph-replacement` contém um endereço diferente de contrato e uma informação nova sobre como ele deve enxertar. Estes são o `block` do [último evento emitido](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) de seu interesse pelo contrato antigo, e o `base` do subgraph antigo. O ID do subgraph `base` é o `Deployment ID` do seu subgraph `graph-example`. Isto está disponível no UI do Graph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Siga as direções na seção `AUTH & DEPLOY` na página do seu subgraph, na pasta `graft-replacement` do repo 4. Ao terminar, verifique que o subgraph está a indexar corretamente. Se executar o seguinte comando no The Graph Playground @@ -187,16 +187,16 @@ Ele deve retornar algo como: Pode-se ver que o subgraph `graft-replacement` indexa de dados mais antigos do `graph-example` e dados mais recentes do endereço do novo contrato. O contrato original emitiu dois eventos `Withdrawal`, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) e [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). O novo contrato, em seguida, emitiu um código `Withdrawal`, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). As duas transações indexadas anteriormente, (Event 1 e 2) e a nova transação (Event 3) foram combinadas no subgraph `graft-replacement`. -Parabéns! Está enxertado um subgraph em outro subgraph. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Outros Recursos Caso queira mais experiência com enxertos, veja alguns exemplos de contratos populares: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml) +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -Para se tornar um especialista no Graph, considere aprender sobre outras maneiras de lidar com mudanças em fontes de dados subjacentes. Alternativas como [Templates de Fontes de Dados](developing/creating-a-subgraph/#data-source-templates) podem dar em resultados parecidos +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Nota: Grande parte do material deste artigo foi tirado do [artigo sobre o Arweave](/cookbook/arweave/) From 9b07d7c7ad06914a31744f39f16aa4708319e322 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:26 -0400 Subject: [PATCH 0715/2326] New translations grafting.mdx (Russian) --- website/pages/ru/cookbook/grafting.mdx | 94 +++++++++++++------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/website/pages/ru/cookbook/grafting.mdx b/website/pages/ru/cookbook/grafting.mdx index f4bb33a9cdd3..e74d9a5a084a 100644 --- a/website/pages/ru/cookbook/grafting.mdx +++ b/website/pages/ru/cookbook/grafting.mdx @@ -2,55 +2,55 @@ title: Замените контракт и сохраните его историю с помощью Grafting --- -В этом руководстве вы узнаете, как создавать и развертывать новые подграфы путем графтинга существующих подграфов. +Из этого руководства Вы узнаете, как создавать и развертывать новые субграфы путем графтинга (переноса) существующих субграфов. ## Что такое Grafting? -При графтинге повторно используются данные из существующего подграфа и начинается их индексация в более позднем блоке. Это может быть полезно в период разработки, чтобы быстро устранить простые ошибки в маппинге или временно восстановить работу существующего подграфа после его сбоя. Кроме того, его можно использовать при добавлении в подграф функции, индексация которой с нуля занимает много времени. +При графтинге (переносе) повторно используются данные из существующего субрафа и начинается их индексация в более позднем блоке. Это может быть полезно в период разработки, чтобы быстро устранить простые ошибки в мэппинге или временно восстановить работу существующего субграфа после его сбоя. Кроме того, его можно использовать при добавлении в субграф функции, индексация которой с нуля занимает много времени. -Подграф может использовать схему GraphQL, которая не идентична схеме базового подграфа, а просто совместима с ней. Это должна быть автономно действующая схема подграфа, но она может отличаться от схемы базового подграфа следующим образом: +Перенесённый субграф может использовать схему GraphQL, которая не идентична схеме базового субграфа, а просто совместима с ней. Это должна быть автономно действующая схема субграфа, но она может отличаться от схемы базового субграфа следующим образом: - Она добавляет или удаляет типы объектов - Она удаляет атрибуты из типов объектов -- Она добавляет nullable атрибуты к типам объектов -- Она превращает non-nullable атрибуты в nullable атрибуты -- Она добавляет определенные значения в энное число +- Она добавляет обнуляемые атрибуты к типам объектов +- Она превращает необнуляемые атрибуты в обнуляемые +- Она добавляет значения в перечисления - Она добавляет или удаляет интерфейсы - Она изменяется в зависимости от того, под какой тип объектов реализован интерфейс -Для получения дополнительной информации вы можете перейти: +Для получения дополнительной информации Вы можете перейти: -- [Grafting](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Grafting](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) -В этом руководстве мы рассмотрим базовый вариант использования. Мы заменим существующий договор на идентичный договор (с новым адресом, но тем же кодом). Затем привяжем существующий подграф к «базовому» подграфу, который отслеживает новый контракт. +В этом руководстве мы рассмотрим базовый вариант использования. Мы заменим существующий договор на идентичный договор (с новым адресом, но тем же кодом). Затем привяжем существующий субграф к «базовому» субграфу, который отслеживает новый контракт. -## Important Note on Grafting When Upgrading to the Network +## Важное примечание о Grafting при обновлении до сети -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Внимание**: Не рекомендуется использовать Grafting для субграфов, опубликованных в The Graph Network -### Why Is This Important? +### Почему это важно? -Grafting is a powerful feature that allows you to "graft" one subgraph onto another, effectively transferring historical data from the existing subgraph to a new version. While this is an effective way to preserve data and save time on indexing, grafting may introduce complexities and potential issues when migrating from a hosted environment to the decentralized network. It is not possible to graft a subgraph from The Graph Network back to the hosted service or Subgraph Studio. +Grafting является мощной функцией, которая позволяет Вам «прививать» один субграф на другой, эффективно передавая исторические данные существующего субграфа на новую версию. Хотя это эффективный способ сохранения данных и экономии времени на индексации, Grafting может создавать сложности и потенциальные проблемы при миграции из хостинговой среды в децентрализованную сеть. Невозможно произвести перенос субграфа из сети The Graph Network обратно в хостинговый сервис или Subgraph Studio. -### Best Practices +### Лучшие практики -**Initial Migration**: when you first deploy your subgraph to the decentralized network, do so without grafting. Ensure that the subgraph is stable and functioning as expected. +**Первоначальная миграция**: когда вы впервые развертываете свой субграф в децентрализованной сети, делайте это без Grafting. Убедитесь, что субграф стабилен и функционирует должным образом. -**Subsequent Updates**: once your subgraph is live and stable on the decentralized network, you may use grafting for future versions to make the transition smoother and to preserve historical data. +**Последующие обновления**: как только Ваш субграф станет активным и стабильным в децентрализованной сети, Вы сможете использовать Grafting для будущих версий, чтобы сделать переход более плавным и сохранить исторические данные. -By adhering to these guidelines, you minimize risks and ensure a smoother migration process. +Соблюдая эти рекомендации, Вы минимизируете риски и обеспечите более плавный процесс миграции. -## Создание существующего подграфа +## Создание существующего субграфа -Создание подграфов — важная часть The Graph, более подробно описанная [здесь](http://localhost:3000/en/cookbook/quick-start/). Чтобы иметь возможность создавать и развертывать существующий подграф, используемый в этом руководстве, предоставляется следующий репозиторий: +Создание субграфов — важная часть The Graph, более подробно описанная [здесь](/quick-start/). Чтобы иметь возможность создать и развернуть существующий субграф, используемый в этом руководстве, предоставляется следующий репозиторий: -- [Репозиторий в качестве примера](https://github.com/t-proctor/grafting-tutorial) +- [Репозиторий субграфа в качестве примера](https://github.com/t-proctor/grafting-tutorial) -> Примечание: контракт, использованный в подграфе, был взят отсюда [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). +> Примечание: контракт, использованный в субграфе, был взят из [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). -## Определение манифеста подграфа +## Определение манифеста субграфа -Манифест подграфа `subgraph.yaml` определяет источники данных для подграфа, релевантные триггеры и функции, которые должны выполняться в ответ на эти триггеры. Ниже приведен пример манифеста подграфа, который вы будете использовать: +Манифест субграфа `subgraph.yaml` определяет источники данных для субграфа, релевантные триггеры и функции, которые должны выполняться в ответ на эти триггеры. Ниже приведен пример манифеста субграфа, который Вы будете использовать: ```yaml specVersion: 0.0.4 @@ -83,29 +83,29 @@ dataSources: - Сеть должна соответствовать запрашиваемой индексированной сети. Поскольку мы работаем в тестовой сети Goerli, это сеть `goerli` - Раздел `mapping` определяет интересующие нас триггеры и функции, которые должны запускаться в ответ на эти триггеры. В этом случае мы уделяем внимание событию `Withdrawal` и вызываем функцию `handleWithdrawal` при его возникновении. -## Определение grafting манифеста +## Определение Манифеста Grafting -Графтинг требует добавления двух новых элементов в исходный манифест подграфа: +Grafting требует добавления двух новых элементов в исходный манифест субграфа: ```yaml --- features: - - grafting # feature name + - grafting # имя функции graft: - base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + base: Qm... # ID субграфа базового субграфа + block: 1502122 # номер блока ``` -- `features:` это список всех используемых [feature names](developing/creating-a-subgraph/#experimental-features). -- `graft:` это карта подграфа `base` и блока, к которому применяется графтинг. `block` - это номер блока, с которого начинается индексация. The Graph скопирует данные базового подграфа до указанного блока включительно, а затем продолжит индексацию нового подграфа, начиная с этого блока. +- `features` — это список всех используемых [названий функций](/developing/creating-a-subgraph/#experimental-features). +- `graft:` — это карта субграфа `base` и блока, к которому применяется графтинг (перенос). `block` — это номер блока, с которого начинается индексация. The Graph скопирует данные базового субграфа до указанного блока включительно, а затем продолжит индексацию нового субграфа, начиная с этого блока. -Значения `base` и `block` можно найти, развернув два подграфа: один для базовой индексации, а другой с grafting +Значения `base` и `block` можно найти, развернув два субграфа: один для базовой индексации, а другой с графтингом (переносом) -## Развертывание базового подграфа +## Развертывание базового субграфа -1. Перейдите в [пользовательский интерфейс The Graph Studio](https://thegraph.com/studio/) и создайте подграф в тестовой сети Goerli с именем `graft-example` -2. Следуйте инструкциям в `AUTH & DEPLOY` на странице подграфа в `graft-example` из репозитория -3. После завершения убедитесь, что подграф правильно индексируется. Если вы запустите следующую команду в тестовой среде The Graph +1. Перейдите в [Subgraph Studio](https://thegraph.com/studio/) и создайте в тестовой сети Goerli субграф под названием `graft-example` +2. Следуйте инструкциям в `AUTH & DEPLOY` на странице субграфа в `graft-example` из репо +3. После завершения убедитесь, что субграф правильно индексируется. Если Вы запустите следующую команду в The Graph Playground ```graphql { @@ -138,16 +138,16 @@ graft: } ``` -Убедившись, что подграф индексируется правильно, вы можете быстро обновить его с помощью графтинга. +Убедившись, что субграф индексируется правильно, Вы можете быстро обновить его с помощью графтинга. -## Развертывание grafting подграфа +## Развертывание grafting субграфа -Замененный subgraph.yaml будет иметь новый адрес контракта. Это может произойти, когда вы обновляете свое децентрализованное приложение, повторно развертываете контракт и т. д. +Замененный subgraph.yaml будет иметь новый адрес контракта. Это может произойти, когда Вы обновите свое децентрализованное приложение, повторно развернете контракт и т. д. -1. Перейдите в [пользовательский интерфейс The Graph Studio](https://thegraph.com/studio/) и создайте подграф в тестовой сети Goerli с именем `graft-replacement` -2. Создайте новый манифест. `subgraph.yaml` для `graph-replacement` содержит другой адрес контракта и новую информацию о том, как его следует переносить. Это `блок` [последнего события, созданного](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) старым контрактом и `base` старого подграфа. Идентификатор подграфа `base` — это `Deployment ID` исходного подграфа `graph-example`. Вы можете найти эту информацию в пользовательском интерфейсе The Graph Studio. -3. Следуйте инструкциям в `AUTH & DEPLOY` на странице подграфа в `graft-replacement` из репозитория -4. После завершения убедитесь, что подграф правильно индексируется. Если вы запустите следующую команду в тестовой среде The Graph +1. Перейдите в [Subgraph Studio](https://thegraph.com/studio/) и создайте в тестовой сети Goerli субграф под названием `graft-replacement` +2. Создайте новый манифест. `subgraph.yaml` для `graph-replacement` содержит другой адрес контракта и новую информацию о том, как его следует переносить. Это `block` [последнего события](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498), созданного старым контрактом, и `base` старого субграфа. Идентификатор субграфа `base` — это `Deployment ID` Вашего исходного субграфа `graph-example`. Вы можете найти эту информцию в Subgraph Studio. +3. Следуйте инструкциям в `AUTH & DEPLOY` на странице субграфа в `graft-replacement` из репозитория +4. После завершения убедитесь, что субграф правильно индексируется. Если Вы запустите следующую команду в The Graph Playground ```graphql { @@ -185,18 +185,18 @@ graft: } ``` -Вы можете видеть, что подграф `graft-replacement` индексируется из старых данных `graph-example` и более новых данных из нового адреса контракта. Исходный контракт генерировал два события `Withdrawal`: [Событие 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) и [Событие 2](https:/ /goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). Новый контракт выдал один `Withdrawal` после [События 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). Две ранее проиндексированные транзакции (События 1 и 2) и новая транзакция (Событие 3) были объединены в подграфе `graft-replacement`. +Вы можете видеть, что субграф `graft-replacement` индексируется из старых данных `graph-example` и более новых данных из нового адреса контракта. Исходный контракт генерировал два события `Withdrawal`: [Событие 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) и [Событие 2](https:/ /goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). Новый контракт выдал один `Withdrawal` после [События 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). Две ранее проиндексированные транзакции (События 1 и 2) и новая транзакция (Событие 3) были объединены в субграфе `graft-replacement`. -Поздравляем! Вы успешно перенесли один подграф в другой. +Поздравляем! Вы успешно перенесли один субграф в другой. ## Дополнительные ресурсы Если Вы хотите получить больше опыта в графтинге, вот несколько примеров популярных контрактов: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -Чтобы стать еще большим экспертом по Graph, рассмотрите возможность узнать о других способах обработки изменений в базовых источниках данных. Такие альтернативы, как [Data Source Templates](developing/creating-a-subgraph/#data-source-templates), могут дать аналогичные результаты +Чтобы стать еще большим экспертом по Graph, рассмотрите возможность узнать о других способах обработки изменений в базовых источниках данных. Такие альтернативы, как [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates), могут дать аналогичные результаты > Примечание: многие материалы этой статьи были взяты из ранее опубликованной [статьи по Arweave](/cookbook/arweave/) From 455664f143d64d9901a7a4c6ce3efb958afd20b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:27 -0400 Subject: [PATCH 0716/2326] New translations grafting.mdx (Swedish) --- website/pages/sv/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/sv/cookbook/grafting.mdx b/website/pages/sv/cookbook/grafting.mdx index c68416f8cebf..e3db2c187bd5 100644 --- a/website/pages/sv/cookbook/grafting.mdx +++ b/website/pages/sv/cookbook/grafting.mdx @@ -20,13 +20,13 @@ Den ympade subgrafen kan använda ett GraphQL-schema som inte är identiskt med För mer information kan du kontrollera: -- [Ympning](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Ympning](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) I den här handledningen kommer vi att täcka ett grundläggande användningsfall. Vi kommer att ersätta ett befintligt kontrakt med ett identiskt kontrakt (med en ny adress, men samma kod). Ympa sedan den befintliga subgrafen på "bas"-subgrafen som spårar det nya kontraktet. ## Viktig anmärkning om ympning vid uppgradering till nätverket -> **Akta dig**: Om du uppgraderar din subgraf från Subgraf Studio eller det hostade tjänsten till det decentraliserade nätverket, rekommenderas det starkt att undvika att använda grafting under uppgraderingsprocessen. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Varför är detta viktigt? @@ -42,7 +42,7 @@ Genom att följa dessa riktlinjer minimerar du riskerna och säkerställer en sm ## Bygga en befintlig subgraf -Att bygga subgrafer är en viktig del av The Graph, som beskrivs mer ingående [här](http://localhost:3000/en/cookbook/quick-start/). För att kunna bygga och distribuera den befintliga subgrafen som används i denna handledning tillhandahålls följande repo: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Subgraf exempel repo](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `funktioner:` är en lista över alla använda [funktionsnamn](developing/creating-a-subgraph/#experimental-features). +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` är en karta över subgrafen `base` och blocket att ympa på. `block` är blocknumret att börja indexera från. Grafen kopierar data från bas subgrafen till och med det givna blocket och fortsätter sedan att indexera den nya subgrafen från och med det blocket. Värdena `base` och `block` kan hittas genom att distribuera två subgrafer: en för basindexering och en med ympning ## Distribuera Bas Subgraf -1. Gå till [Graf Studio UI](https://thegraph.com/studio/) och skapa en subgraf på Goerli testnet som heter `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Följ anvisningarna i `AUTH & Sektionen DEPLOY` på din subgraf sida i mappen `graft-example` från repo 3. När du är klar kontrollerar du att subgrafen indexerar korrekt. Om du kör följande kommando i The Graph Playground @@ -144,8 +144,8 @@ När du har verifierat att subgrafen indexerar korrekt kan du snabbt uppdatera s Transplantatersättningen subgraph.yaml kommer att ha en ny kontraktsadress. Detta kan hända när du uppdaterar din dapp, omdisponerar ett kontrakt, etc. -1. Gå till [Graf Studio UI](https://thegraph.com/studio/) och skapa en subgraf på Goerli testnet som heter `graft-replacement` -2. Skapa ett nytt manifest. `subgraph.yaml` för `graph-replacement` innehåller en annan kontraktsadress och ny information om hur den ska ympa. Dessa är `block` av den [senaste händelsen](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) du bryr dig om det gamla kontraktet och `base` i den gamla subgrafen. `bas` subgraf-ID är `Implementerings-ID` för ditt ursprungliga `graph-example` subgraf. Du hittar detta i The Graph Studio UI. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Följ anvisningarna i `AUTH & DEPLOY`-avsnittet på din subgraf sida i mappen `graft-replacement` från repo 4. När du är klar kontrollerar du att subgrafen indexerar korrekt. Om du kör följande kommando i The Graph Lekplats @@ -187,16 +187,16 @@ Det bör returnera följande: Du kan se att subgrafen `graft-replacement` indexerar från äldre `graph-example` data och nyare data från den nya kontraktsadressen. Det ursprungliga kontraktet utsände två `Uttag`-händelser, [händelse 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) och [ händelse 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). Det nya kontraktet gav ett `Withdrawal` efter, [ händelse 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). De två tidigare indexerade transaktionerna (händelse 1 och 2) och den nya transaktionen (händelse 3) kombinerades tillsammans i subgrafen `graft-replacement`. -Grattis! Du har framgångsrikt ympat en subgraf på en annan subgraf. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Ytterligare resurser Om du vill ha mer erfarenhet av ympning, här är några exempel på populära kontrakt: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -För att bli ännu mer av en Graph-expert, överväg att lära dig om andra sätt att hantera förändringar i underliggande datakällor. Alternativ som [Datakällmallar](developing/creating-a-subgraph/#data-source-templates) kan ge liknande resultat +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Obs! Mycket material från den här artikeln togs från den tidigare publicerade [Arweave-artikeln](/cookbook/arweave/) From 5204e48c1bbb3ce2170d8ecc485e4203f8d8c5f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:28 -0400 Subject: [PATCH 0717/2326] New translations grafting.mdx (Turkish) --- website/pages/tr/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/tr/cookbook/grafting.mdx b/website/pages/tr/cookbook/grafting.mdx index 4ce145999b69..bc7881566d4f 100644 --- a/website/pages/tr/cookbook/grafting.mdx +++ b/website/pages/tr/cookbook/grafting.mdx @@ -20,13 +20,13 @@ Graftlanan subgraph, temel subgraphla tamamen aynı olmayan, ancak onunla uyumlu Daha fazla bilgi için kontrol edebilirsiniz: -- [Graftlama](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Graftlama](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) Bu eğitici içerikte, temel bir kullanım örneğini ele alacağız. Mevcut bir sözleşmeyi özdeş bir sözleşme ile değiştireceğiz (yeni bir adresle, ancak aynı kodla). Ardından, mevcut subgraph'ı yeni sözleşmeyi izleyen "base" subgraph'a graftlayacağız. ## Ağa Yükseltme Durumunda Graftlamaya İlişkin Önemli Not -> **Uyarı**: Eğer subgraph'ınızı Subgraph Stüdyo veya barındırılan hizmetten merkeziyetsiz ağa yükseltiyorsanız, yükseltme sürecinde graftlama kullanmaktan kaçınmanız şiddetle tavsiye edilir. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Bu Neden Önemli? @@ -42,7 +42,7 @@ Bu yönergelere uyarak riskleri en aza indirebilir ve daha sorunsuz bir taşıma ## Mevcut Bir Subgraph'ı Oluşturma -Subgraphlar oluşturmak Graph'ın önemli bir parçasıdır ve [burada](http://localhost:3000/en/cookbook/quick-start/) daha ayrıntılı olarak açıklanmıştır. Bu eğitici içerikte kullanılan mevcut subgraph'ı oluşturabilmek ve dağıtabilmek için aşağıdaki Github deposu sağlanmıştır: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Subgraph örnek deposu](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` kullanılan tüm [özellik adlarının](developing/creating-a-subgraph/#experimental-features) bir listesidir. +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` `base` subgraph'ın ve üzerine graftlanacak bloğun bir eşleştirmesidir. `block`, indekslemeye başlanacak blok numarasıdır. Graph, temel subgraph'ın verilerini verilen bloğa kadar ve bu blok dahil olmak üzere kopyalayacak ve ardından yeni subgraph'ı bu bloktan itibaren indekslemeye devam edecektir. `base` ve `block` değerler iki subgraph kullanılarak bulunabilir: biri temel indeksleme için ve diğeri graftlamalı ## Temel Subgraph'ı Dağıtma -1. [Graph Stüdyo kullanıcı arayüzüne](https://thegraph.com/studio/) gidin ve Göerli testnet üzerinde `graft-example` adında bir subgraph oluşturun +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Depoda bulunan `graft-example` klasöründeki subgraph sayfanızda bulunan `AUTH & DEPLOY` bölümündeki talimatları izleyin 3. Tamamlandığında, subgraph'ın doğru bir şekilde indekslendiğinden emin olun. Eğer aşağıdaki komutu Graph Test Alanında(Playground) çalıştırırsanız @@ -144,8 +144,8 @@ Subgraph'ın düzgün bir şekilde indekslendiğini doğruladıktan sonra, subgr Graft yerine geçen subgraph.yaml yeni bir sözleşme adresine sahip olacaktır. Bu, merkeziyetsiz uygulamanızı güncellediğinizde, bir sözleşmeyi yeniden dağıttığınızda vb. gerçekleşebilir. -1. [Graph Stüdyo kullanıcı arayüzüne](https://thegraph.com/studio/) gidin ve Göerli testnet üzerinde `graft-replacement` adında bir subgraph oluşturun -2. Yeni bir manifest oluşturun. `graph-replacement` için `subgraph.yaml` dosyası, farklı bir sözleşme adresi içerir ve nasıl graft edilmesi gerektiği hakkında yeni bilgiler içerir. Bunlar eski sözleşme tarafından gözlemlediğiniz [yayılan son olay bloğu](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) ve eski subgraph `base`'ini içeren `block`lardır. `base` subgraph ID'si, orijinal `graph-example` subgraph'ınızın `Deployment ID`'sidir. Bu bilgiyi Graph Stüdyo kullanıcı arayüzünde bulabilirsiniz. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Github deposunda bulunan `graft-replacement` klasöründeki subgraph sayfanızda bulunan `AUTH & DEPLOY` bölümündeki talimatları izleyin 4. Tamamlandığında, subgraph'ın doğru bir şekilde indekslendiğinden emin olun. Eğer aşağıdaki komutu Graph Test Alanında(Playground) çalıştırırsanız @@ -187,16 +187,16 @@ Aşağıdakileri döndürmelidir: `graft-replacement` subgraph'ının eski `graph-example` verilerinden ve yeni sözleşme adresinden gelen daha yeni verilerden indeksleme yaptığını görebilirsiniz. Orijinal sözleşme, [Olay 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) ve [Olay 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493) olmak üzere iki `Withdrawal` olayı yayınlamıştır. Yeni sözleşme, [Olay 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3)'ten sonra bir `Withdrawal` olayı yayınlamıştır. Önceden indekslenmiş iki işlem (Olay 1 ve 2) ve yeni işlem (Olay 3) `graft-replacement` subgraph'ında bir araya getirilmiştir. -Tebrikler! Bir subgraph'ı başka bir subgraph'a graftlamayı başardınız. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Ek Kaynaklar Graftlama konusunda daha fazla tecrübe edinmek istiyorsanız, işte popüler sözleşmeler için birkaç örnek: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -Graph uzmanlığında biraz daha ileri gitmek için, temel veri kaynaklarındaki değişiklikleri ele almanın diğer yollarını öğrenmeyi düşünün.[Veri Kaynağı Şablonları](developing/creating-a-subgraph/#data-source-templates) gibi alternatifler benzer sonuçlar elde etmenizi sağlayabilir +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Not: Bu makaledeki birçok materyal daha önce yayınlanan [Arweave makalesinden](/cookbook/arweave/) alınmıştır From aa274f6babf7625fc705198b0517247527f8cc89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:29 -0400 Subject: [PATCH 0718/2326] New translations grafting.mdx (Ukrainian) --- website/pages/uk/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/uk/cookbook/grafting.mdx b/website/pages/uk/cookbook/grafting.mdx index a61eabe8cb28..2ab2a44e0d76 100644 --- a/website/pages/uk/cookbook/grafting.mdx +++ b/website/pages/uk/cookbook/grafting.mdx @@ -20,13 +20,13 @@ title: Замініть контракт та збережіть його іст Для отримання додаткової інформації ви можете ознайомитися: -- [Grafting](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Grafting](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) У цьому матеріалі ми розглянемо базовий випадок використання. Ми замінимо наявний контракт на ідентичний (з новою адресою, але тим самим кодом). ## Важливе зауваження щодо графтингу при оновленні в мережі -> **Увага**: якщо ви оновлюєте свій підграф за допомогою Subgraph Studio або хостингового сервісу для децентралізованої мережі, настійно рекомендується уникати використання графтингу під час процесу оновлення. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Чому це так важливо? @@ -42,7 +42,7 @@ Grafting - це потужна функція, яка дозволяє " нак ## Побудова наявного підграфа -Побудова підграфів є важливою частиною The Graph, про яку ми розповімо докладніше [тут](http://localhost:3000/en/cookbook/quick-start/). Для того, щоб мати змогу побудувати та розгорнути наявний підграф, який використовується у цьому матеріалі, надається наступний репозиторій: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Репозиторій з прикладом та відповідним підграфом](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` це список всіх використаних [feature names](developing/creating-a-subgraph/#experimental-features). +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` це схема підграфа `base` і блоку, з яким відбудеться графтинг. `block` - це номер блоку, з якого починається індексування. The Graph скопіює дані базового підграфа до заданого блоку включно, а потім продовжить індексування нового підграфа, починаючи з цього блоку. `base` і `block` можна знайти, розгорнувши два підграфа: один для базової індексації та один для графтингу ## Розгортання базового підграфа -1. Перейдіть на [The Graph Studio UI](https://thegraph.com/studio/) і створіть підграф в тестовій мережі Goerli під назвою `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Дотримуйтесь інструкцій у розділах `AUTH & DEPLOY` на сторінці вашого підграфа в папці `graft-example` з репозиторію 3. Закінчивши, перевірте, чи правильно індексується підграф. Ви можете зробити це запустивши наступну команду у вікні The Graph Playground @@ -144,8 +144,8 @@ graft: При цьому процесі підрозділ subgraph.yaml матиме нову адресу контракту. Це може статися, коли ви оновлюєте децентралізований додаток, перерозподіляєте контракт тощо. -1. Перейдіть на [The Graph Studio UI](https://thegraph.com/studio/) і створіть підграф в тестовій мережі Goerli під назвою `graft-replacement` -2. Створіть новий маніфест. `subgraph.yaml` для `graph-replacement` який містить іншу контрактну адресу та нову інформацію про те, як має відбуватися графтинг. Це `block` [останньої події, що відбулася](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498), старого контракту і `base` старого підграфа `base` Subgraph ID це `Deployment ID` вашого оригінального `graph-example` підграфа. Ви можете побачити це в The Graph Studio UI. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Дотримуйтесь інструкцій у розділах `AUTH & DEPLOY` на вашій сторінці підграфа в папці `graft-replacement` з репозиторію 4. Закінчивши, перевірте, чи правильно індексується підграф. Ви можете зробити це запустивши наступну команду у вікні The Graph Playground @@ -187,16 +187,16 @@ graft: Ви можете помітити, що `graft-replacement` та підграф індексується за допомогою старих даних `graph-example` і нових даних з нової адреси контракту. Оригінальний контракт містив дві `Withdrawal` події [1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). Новий контракт, в свою чергу, містив одну `Withdrawal` подію [ 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). Дві раніше проіндексовані транзакції (Подія 1 і 2) і нова транзакція (Подія 3) були об'єднані в один підграф `graft-replacement`. -Вітаємо! Ви успішно здійснили графтинг одного підграфа з іншим. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Додаткові матеріали Якщо ви хочете отримати більше досвіду роботи зі процесом графтингу, ось кілька прикладів популярних контрактів: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -Щоб стати ще кращим експертом в The Graph, розгляньте інші способи обробки змін в основних джерелах даних. За допомогою альтернатив по типу [Data Source Templates](developing/creating-a-subgraph/#data-source-templates) можна досягти подібних результатів +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Примітка: Багато матеріалів для цієї статті було взято з раніше опублікованої [ статті від Arweave](/cookbook/arweave/) From 690e8dd55b6890129731fe33d091bac7b19793d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:30 -0400 Subject: [PATCH 0719/2326] New translations grafting.mdx (Chinese Simplified) --- website/pages/zh/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/zh/cookbook/grafting.mdx b/website/pages/zh/cookbook/grafting.mdx index 72b75587b4a4..aed4d23b2386 100644 --- a/website/pages/zh/cookbook/grafting.mdx +++ b/website/pages/zh/cookbook/grafting.mdx @@ -20,13 +20,13 @@ title: 用嫁接替换合约并保持合约的历史 有关详情,请参阅: -- [嫁接](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [嫁接](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) 在本教程中,我们将介绍一个基本用例。我们将用一个相同的合约(用一个新的地址,但相同的代码) 替换现有的合约。然后,将现有的子图移植到跟踪新合约的基本子图上。 ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## 构建现有子图 -构建子图是Graph的重要组成部分,我们在[此文](http://localhost:3000/en/cookbook/quick-start/)进行更深入的描述。为了能够构建和部署本教程中使用的现有子图,提供了以下存储库: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [子图示例存储库](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features`:是所有使用过的[特性名称](developing/creating-a-subgraph/#experimental-features)的列表。 +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft`:是`base`子图和要嫁接到的模块的映射。`block`是开始索引的区块号。Graph将把基本子图的数据复制到给定的区块并将其包括在内,然后从该区块开始继续索引新的子图。 通过部署两个子图可以找到`base`和`block`值:一个用于基索引,一个用于嫁接 ## 部署基子图 -1. 转到[Graph Studio UI](https://thegraph.com/studio/)并在Goerli 测试网上创建一个称为`嫁接示例`的子图 +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. 按照存储库中`graft-example`文件夹中子图页面的 `AUTH& DEPLOY `部分中的说明操作 3. 完成后,验证子图是否正确索引。如果在Graph Playground中运行下列指令。 @@ -144,8 +144,8 @@ graft: 嫁接替代Subgraph.yaml将获得一个新的合约地址。这可能发生在更新dapp、重新部署合约等时。 -1. 到[Graph Studio UI](https://thegraph.com/studio/)并在Goerli testnet上创建一个称为`graft-replacement`的子图 -2. 创建一个新的清单。`subgraph.yaml`用于`graph-replacement`,它包含一个不同的合约地址和关于如何移植的新信息。这些是旧合约[发出的最后一个事件](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498)的`block`和旧子图的`base`。`base` 子图ID是原始`graph-example`的`Deployment ID`。您可以在Graph Studio UI中找到它。 +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. 按照存储库中的`graft-replacement`文件夹中子图页面上的 `AUTH& DEPLOY `部分的说明操作。 4. 完成后,验证子图是否正确索引。如果在Graph Playground中运行下列指令。 @@ -187,16 +187,16 @@ graft: 您可以看到,`graft-replacement`子图索引来自旧的`graph-example`数据和来自新合约地址的新数据。原始合约发出了两个`Withdrawal`事件,即[事件1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498)和[事件2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493)。新合约在[事件3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3)之后发生一次`Withdrawal`。先前索引的两个交易(事件1和2)和新的交易(事件3)在`graft-replacement`子图中组合在一起。 -恭喜! 你成功地将一个子图嫁接到另一个子图上。 +Congrats! You have successfully grafted a subgraph onto another subgraph. ## 其他资源 如果你想要更多的嫁接经验,这里有一些流行合约的例子: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -要成为更专业的Graph专家,请考虑学习处理底层数据源更改的其他方法。像[数据源模板](developing/creating-a-subgraph/#data-source-templates)这样的替代方案可以实现类似的结果。 +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > 注意:这篇文章中的很多内容都来自之前发表的[Arweave文章](/cookbook/arweave/)。 From 1015028e46fb5c45b4a351c843044f71b6fa99cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:31 -0400 Subject: [PATCH 0720/2326] New translations grafting.mdx (Urdu (Pakistan)) --- website/pages/ur/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/ur/cookbook/grafting.mdx b/website/pages/ur/cookbook/grafting.mdx index b10b48f93b0d..3c960945a419 100644 --- a/website/pages/ur/cookbook/grafting.mdx +++ b/website/pages/ur/cookbook/grafting.mdx @@ -20,13 +20,13 @@ title: ایک کنٹریکٹ کو تبدیل کریں اور اس کی تاری مزید معلومات کے لۓ، آپ دیکہ سکتے ہیں: -- [گرافٹنگ](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [گرافٹنگ](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) اس ٹیوٹوریل میں، ہم استعمال کے ایک بنیادی کیس کا احاطہ کریں گے۔ ہم موجودہ معاہدے کو ایک جیسے کنٹریکٹ سے بدل دیں گے (ایک نئے پتہ کے ساتھ، لیکن ایک ہی کوڈ کے ساتھ)۔ اس کے بعد، موجودہ سب گراف کو "بیس" سب گراف پر گرافٹ کریں جو نئے کنٹریکٹ کو ٹریک کرتا ہے. ## نیٹ ورک میں اپ گریڈ کرتے وقت گرافٹنگ پر اہم نوٹ -> **احتیاط**: اگر آپ سب گراف اسٹوڈیو یا ہوسٹڈ سروس سے ڈیسینٹرلائزڈ نیٹ ورک پر اپنا سب گراف اپ گریڈ کر رہے ہیں، تو اپ گریڈ کے عمل کے دوران گرافٹنگ کے استعمال سے گریز کرنے کی سختی سے سفارش کی جاتی ہے. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### یہ کیوں اہم ہے؟ @@ -42,7 +42,7 @@ title: ایک کنٹریکٹ کو تبدیل کریں اور اس کی تاری ## ایک موجودہ سب گراف بنانا -سب گراف بنانا گراف کا ایک لازمی حصہ ہے، جس کی تفصیل [یہاں](http://localhost:3000/en/cookbook/quick-start/) ہے۔ اس ٹیوٹوریل میں استعمال شدہ موجودہ سب گراف کی تعمیر اور تعیناتی کے قابل ہونے کے لیے، درج ذیل ریپو فراہم کیا گیا ہے: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [سب گراف مثلی ریپو](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` تمام استعمال شدہ [خصوصیات کے ناموں](developing/creating-a-subgraph/#experimental-features) کی فہرست ہے. +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` `base` سب گراف کا نقشہ ہے اور اس پر گرافٹ کرنے کے لیے بلاک ہے۔ `block` وہ بلاک نمبر ہے جس سے انڈیکس کرنا شروع کیا جائے۔ گراف بیس سب گراف کے ڈیٹا کو دیے گئے بلاک تک اور اس سمیت کاپی کرے گا اور پھر اس بلاک سے نئے سب گراف کو انڈیکس کرنا جاری رکھے گا. `base` اور `block` اقدار کو دو سب گراف لگا کر تلاش کیا جا سکتا ہے: ایک بیس انڈیکسنگ کے لیے اور ایک گرافٹنگ کے ساتھ ہے ## بیس سب گراف تعینات کرنا -1. [گراف سٹوڈیو UI](https://thegraph.com/studio/) پر جائیں اور گوئرلی ٹیسٹ نیٹ پر ایک سب گراف بنائیں جسے `graft-example` کہتے ہیں +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. `AUTH & DEPLOY` سیکشن میں `graft-example` فولڈر میں اپنے سب گراف صفحہ پر دی گئی ہدایات پر عمل کریں ریپو سے 3. ایک دفعہ ختم ہو جاۓ، تصدیق کریں کے سب گراف صحیح سے انڈیکس ہو رہا ہے. اگر آپ درج کمانڈ گراف پلے گراونڈ میں چلائیں @@ -144,8 +144,8 @@ graft: گرافٹ متبادل subgraph.yaml کے پاس ایک نیا کنٹریکٹ ایڈریس ہوگا۔ یہ اس وقت ہو سکتا ہے جب آپ اپنے ڈیپ کو اپ ڈیٹ کرتے ہیں، کسی کنٹریکٹ کو دوبارہ استعمال کرتے ہیں، وغیر. -1. [گراف سٹوڈیو UI](https://thegraph.com/studio/) پر جائیں اور گوئرلی ٹیسٹ نیٹ پر ایک سب گراف بنائیں جسے `graft-replacement` کہتے ہیں -2. ایک نیا مینی فیسٹ بنائیں۔ `graph-replacement` کے لیے `subgraph.yaml` ایک مختلف کنٹریکٹ ایڈریس اور نئی معلومات پر مشتمل ہے کہ اسے کس طرح گرافٹ کرنا چاہیے۔ یہ `block` ہیں کے بارے میں جو آپ نے پرانے معاہدے کی طرف سے کیئر کیا ہے `base` پرانے سب گراف کا۔ `base` سب گراف ID آپ کے اصل `graph-example` سب گراف کی ` Deployment ID` ہے۔ آپ اسے گراف سٹوڈیو UI میں تلاش کر سکتے ہیں. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. `AUTH & DEPLOY` سیکشن میں `graft-example` فولڈر میں اپنے سب گراف صفحہ پر دی گئی ہدایات پر عمل کریں ریپو سے 4. ایک دفعہ ختم ہو جاۓ، تصدیق کریں کے سب گراف صحیح سے انڈیکس ہو رہا ہے. اگر آپ درج کمانڈ گراف پلے گراونڈ میں چلائیں @@ -187,16 +187,16 @@ graft: آپ دیکھ سکتے ہیں کہ `graft-replacement` سب گراف پرانے `graph-example` ڈیٹا اور نئے کنٹریکٹ کے پتے سے نئے ڈیٹا سے ترتیب دے رہا ہے۔ اصل کنٹریکٹ سے دو `Withdrawl` ایونٹس کا اخراج ہوا، [ایونٹ 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) اور [ایونٹ 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). نیا کنٹریکٹ ایک `Withdrawl` کے بعد، [ایونٹ 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). پہلے سے ترتیب دی گئی دو ٹرانزیکشنز (ایونٹ 1 اور 2) اور نئی ٹرانزیکشن (ایونٹ 3) کو ایک ساتھ `graft-replacement` سب گراف میں ملایا گیا تھا. -مبارک ہو! آپ نے کامیابی کے ساتھ ایک سب گراف کو دوسرے سب گراف پر گرافٹ کر لیا ہے. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## اضافی وسائل اگر آپ گرافٹنگ کے ساتھ مزید تجربہ چاہتے ہیں، تو یہاں مقبول کنٹریکٹس کے لیے چند مثالیں ہیں: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -مزید گراف ماہر بننے کے لیے، بنیادی ڈیٹا ذرائع میں تبدیلیوں کو سنبھالنے کے دوسرے طریقوں کے بارے میں سیکھنے پر غور کریں۔ متبادل جیسے [ڈیٹا سورس ٹیمپلیٹس](developing/creating-a-subgraph/#data-source-templates) اسی طرح کے نتائج حاصل کر سکتے ہیں +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > نوٹ: اس مضمون کا بہت سا مواد پہلے شائع شدہ [آرویو آرٹیکل](/cookbook/arweave/) سے لیا گیا ہے From 8bdf8e193fd585101297b8066443a1bd413dabdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:32 -0400 Subject: [PATCH 0721/2326] New translations grafting.mdx (Vietnamese) --- website/pages/vi/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/vi/cookbook/grafting.mdx b/website/pages/vi/cookbook/grafting.mdx index 342e468b5aac..66eb6ce4216b 100644 --- a/website/pages/vi/cookbook/grafting.mdx +++ b/website/pages/vi/cookbook/grafting.mdx @@ -20,13 +20,13 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o For more information, you can check: -- [Ghép](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Ghép](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) In this tutorial, we will be covering a basic usecase. We will replace an existing contract with an identical contract (with a new address, but the same code). Then, graft the existing subgraph onto the "base" subgraph that tracks the new contract. ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## Building an Existing Subgraph -Building subgraphs is an essential part of The Graph, described more in depth [here](http://localhost:3000/en/cookbook/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` is a list of all used [feature names](developing/creating-a-subgraph/#experimental-features). +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` is a map of the `base` subgraph and the block to graft on to. The `block` is the block number to start indexing from. The Graph will copy the data of the base subgraph up to and including the given block and then continue indexing the new subgraph from that block on. The `base` and `block` values can be found by deploying two subgraphs: one for the base indexing and one with grafting ## Deploying the Base Subgraph -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in The Graph Studio UI. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -187,16 +187,16 @@ It should return the following: You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. -Congrats! You have succesfully grafted a subgraph onto another subgraph. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Additional Resources If you want more experience with grafting, here's a few examples for popular contracts: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](developing/creating-a-subgraph/#data-source-templates) can achieve similar results +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Note: A lot of material from this article was taken from the previously published [Arweave article](/cookbook/arweave/) From ecc27edc15897bec069d7e3f1e719662749c475a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:33 -0400 Subject: [PATCH 0722/2326] New translations grafting.mdx (Marathi) --- website/pages/mr/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/mr/cookbook/grafting.mdx b/website/pages/mr/cookbook/grafting.mdx index 971f572af23e..975e0044ce7f 100644 --- a/website/pages/mr/cookbook/grafting.mdx +++ b/website/pages/mr/cookbook/grafting.mdx @@ -20,13 +20,13 @@ title: करार बदला आणि त्याचा इतिहास अधिक माहितीसाठी, तुम्ही तपासू शकता: -- [कलम करणे](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [कलम करणे](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) या ट्युटोरियलमध्ये, आपण मूलभूत वापराचे केस कव्हर करणार आहोत. आम्‍ही सध्‍याच्‍या कराराची जागा एकसमान कराराने (नवीन पत्‍त्‍यासह, परंतु समान कोडसह) बदलू. त्यानंतर, नवीन कराराचा मागोवा घेणाऱ्या "बेस" सबग्राफवर विद्यमान सबग्राफ कलम करा. ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## विद्यमान सबग्राफ तयार करणे -सबग्राफ तयार करणे हा आलेखाचा एक आवश्यक भाग आहे, ज्याचे [येथे](http://localhost:3000/en/cookbook/quick-start/) सखोल वर्णन केले आहे. या ट्यूटोरियलमध्ये वापरलेले विद्यमान सबग्राफ तयार आणि तैनात करण्यात सक्षम होण्यासाठी, खालील रेपो प्रदान केला आहे: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [सबग्राफ उदाहरण रेपो](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `वैशिष्ट्ये:` ही सर्व वापरलेल्या [वैशिष्ट्य नावांची](developing/creating-a-subgraph/#experimental-features) सूची आहे. +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `ग्राफ्ट:` हा `बेस` सबग्राफचा नकाशा आणि ग्राफ्ट ऑन ब्लॉक आहे. `block` हा ब्लॉक नंबर आहे ज्यावरून अनुक्रमणिका सुरू करायची आहे. आलेख बेस सबग्राफचा डेटा कॉपी करेल आणि दिलेल्या ब्लॉकपर्यंत आणि नंतर त्या ब्लॉकमधून नवीन सबग्राफ अनुक्रमित करणे सुरू ठेवेल. `बेस` आणि `ब्लॉक` व्हॅल्यू दोन सबग्राफ तैनात करून शोधता येतात: एक बेस इंडेक्सिंगसाठी आणि एक ग्राफ्टिंगसह ## बेस सबग्राफ तैनात करणे -1. [The Graph Studio UI](https://thegraph.com/studio/) वर जा आणि Goerli testnet वर `graft-example` नावाचा सबग्राफ तयार करा +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. एकदा पूर्ण झाल्यावर, सबग्राफ योग्यरित्या अनुक्रमित होत असल्याचे सत्यापित करा. जर तुम्ही ग्राफ प्लेग्राउंडमध्ये खालील आदेश चालवलात @@ -144,8 +144,8 @@ graft: कलम बदली subgraph.yaml मध्ये नवीन करार पत्ता असेल. जेव्हा तुम्ही तुमचा dapp अपडेट करता, करार पुन्हा लागू करता तेव्हा असे होऊ शकते. -1. [The Graph Studio UI](https://thegraph.com/studio/) वर जा आणि Goerli testnet वर `graft-replacement` नावाचा सबग्राफ तयार करा -2. नवीन मॅनिफेस्ट तयार करा. `ग्राफ-रिप्लेसमेंट` साठी `subgraph.yaml` मध्ये वेगळा करार पत्ता आणि तो कसा ग्राफ्ट करावा याबद्दल नवीन माहिती आहे. हे `ब्लॉक` आहेत [या इव्हेंट बद्दल ](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498). जुन्या सबग्राफचा `बेस`. `बेस` सबग्राफ आयडी हा तुमच्या मूळ `ग्राफ-उदाहरण` सबग्राफचा `डिप्लॉयमेंट आयडी` आहे. तुम्ही हे ग्राफ स्टुडिओ UI मध्ये शोधू शकता. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. एकदा पूर्ण झाल्यावर, सबग्राफ योग्यरित्या अनुक्रमित होत असल्याचे सत्यापित करा. जर तुम्ही ग्राफ प्लेग्राउंडमध्ये खालील आदेश चालवलात @@ -187,16 +187,16 @@ It should return the following: तुम्ही पाहू शकता की `ग्राफ्ट-रिप्लेसमेंट` सबग्राफ जुन्या `graph-example` डेटावरून आणि नवीन करार पत्त्यावरील नवीन डेटावरून अनुक्रमित होत आहे. मूळ कराराने दोन उत्सर्जित केले` पैसे काढणेl` घटना,[इव्हेंट 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498)आणि[इव्हेंट 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493).नवीन कराराने एक उत्सर्जित केला`पैसे काढणे` नंतर,[घटना 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3),दोन पूर्वी अनुक्रमित व्यवहार (इव्हेंट 1 आणि 2) आणि नवीन व्यवहार (इव्हेंट 3) एकत्रितपणे`कलम बदलणे`सबग्राफ. -अभिनंदन! तुम्ही दुसऱ्या सबग्राफवर एक सबग्राफ यशस्वीरित्या ग्राफ्ट केला आहे. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## अतिरिक्त संसाधने तुम्हाला ग्राफ्टिंगचा अधिक अनुभव हवा असल्यास, लोकप्रिय करारांसाठी येथे काही उदाहरणे आहेत: -- [वक्र](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [वक्र](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -आलेख तज्ञ बनण्यासाठी, अंतर्निहित डेटासोर्समधील बदल हाताळण्याच्या इतर मार्गांबद्दल शिकण्याचा विचार करा. [डेटा स्रोत टेम्पलेट्स](developing/creating-a-subgraph/#data-source-templates) सारखे पर्याय समान परिणाम प्राप्त करू शकतात +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > टीप: या लेखातील बरीच सामग्री पूर्वी प्रकाशित [Arweave लेख](/cookbook/arweave/) मधून घेतली गेली आहे From 6fba717aebe147cf4b5b3483f2d8694036265c71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:34 -0400 Subject: [PATCH 0723/2326] New translations grafting.mdx (Hindi) --- website/pages/hi/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/hi/cookbook/grafting.mdx b/website/pages/hi/cookbook/grafting.mdx index b1e3a33c3759..7d2bac46464e 100644 --- a/website/pages/hi/cookbook/grafting.mdx +++ b/website/pages/hi/cookbook/grafting.mdx @@ -20,13 +20,13 @@ title: एक कॉन्ट्रैक्ट बदलें और उसक अधिक जानकारी के लिए आप देख सकते हैं: -- [ग्राफ्टिंग](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [ग्राफ्टिंग](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) इस अनुशिक्षण में हम एक बुनियादी उदहारण देखेंगे| हम एक मौजूदा कॉन्ट्रैक्ट को एक समान कॉन्ट्रैक्ट से बदल देंगे( नए एड्रेस के साथ, मगर सामान कोड). उसके बाद हम एक मौजूदा सब-ग्राफ एक "बेस" सब-ग्राफ में ग्राफ्ट कर देंगे नए कॉन्ट्रैक्ट की निगरानी करेगा| ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## एक मौजूदा सब-ग्राफ बनाना -सब-ग्राफ बनाना द ग्राफ का एक अहम हिस्सा है, गहराई में [यहां](http://localhost:3000/en/cookbook/quick-start/)बताया गया है| इस अनुशिक्षां में दिए -ग्राफ को बनाने और डेप्लोये करने में सक्षम होने के लिए यह रेपो प्रदान की गयी है: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [सब-ग्राफ उदाहरण रेपो](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `विषेशताएँ:` सभी इस्तेमाल किये गए [विषेशताओं के नामों](developing/creating-a-subgraph/#experimental-features) की सूची है| +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:`: `base` सब-ग्राफ और उसके ऊपर ग्राफ्ट किये जाने वाले ब्लॉक का मैप है| `block` वह ब्लॉक संख्या है जहाँ से इंडेक्सिंग स्टार्ट करनी है| द ग्राफ बेस सब-ग्राफ तक के डाटा को कॉपी करके, जिसमे दिया हुआ ब्लॉक भी शामिल है, फिर आगे के नए सब-ग्राफ को उस ब्लॉक से इंडेक्स करना शुरू कर देता है| `base` और `block` मूल्यों को दो सब-ग्राफ्स को डेप्लॉय करके पता किया जा सकता है: एक बेस इंडेक्सिंग के लिए और एक ग्राफ्टिंग के लिए| ## बेस सब-ग्राफ को तैनात करना -1. [द ग्राफ स्टूडियो यू आई](https://thegraph.com/studio/) पर जायें और एक गोएर्ली टेस्ट नेट पर एक सब-ग्राफ बनाएं जिसका नाम `graft-example` होना चाहिए| +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. अपने सब-ग्राफ पेज पर `AUTH & DEPLOY` भाग में `graft-example` फोल्डर में दिए गए दिशा निर्देशों का पालन करें| 3. एक बार पूरा होने पर, सत्यापित करें की इंडेक्सिंग सही ढंग से हो गयी है| यदि आप निम्न कमांड ग्राफ प्लेग्राउंड में चलाते हैं @@ -144,8 +144,8 @@ graft: ग्राफ्ट प्रतिस्तापित subgraph.yaml में एक नया कॉन्ट्रैक्ट एड्रेस होगा| यह तब हो सकता है जब आप अपना डैप अपडेट करें, कॉन्ट्रैक्ट को दोबारा तैनात करें, इत्यादि| -1. [द ग्राफ स्टूडियो यू आई](https://thegraph.com/studio/) पर जायें और एक गोएर्ली टेस्ट नेट पर एक सब-ग्राफ बनाएं जिसका नाम `graft-replacement` होना चाहिए| -2. एक नया मैनिफेस्ट बनाएं| `subgraph.yaml`, `graph-replacement` के लिए एक अलग कॉन्ट्रैक्ट एड्रेस और नयी जानकारी, कि उसे कैसे ग्राफ्ट किया जाना चाहिए रखता है | यह `block` पुराने कॉन्ट्रैक्ट द्वारा [आखिरी बार मापी गयी गतिविधि](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) जिसकी फिलहाल हमें ज़रूरत है और पुराने कॉन्ट्रैक्ट का `बेस` हैं| `base` सब-ग्राफ आईडी मूल `graph-example` सब-ग्राफ उदहारण के लिए `डेप्लॉयमेंट आईडी` है| आप इसे द ग्राफ स्टूडियो यूआई में भी देख सकते है| +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. अपने सब-ग्राफ पेज पर `AUTH & DEPLOY` भाग में `graft-replacement` फोल्डर में दिए गए दिशा निर्देशों का पालन करें| 4. एक बार पूरा होने पर, सत्यापित करें की इंडेक्सिंग सही ढंग से हो गयी है| यदि आप निम्न कमांड ग्राफ प्लेग्राउंड में चलाते हैं @@ -187,16 +187,16 @@ graft: आप देख सकते हैं कि `graft-replacement`सब-ग्राफ पुराने `graph-example` डाटा और नए कॉन्ट्रैक्ट के नए डाटा से इंडेक्सिंग कर रहा है| मूल सामग्री से दो `Withdrawal` गतिविधियां प्राप्त हुई थी| [गतिविधि 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) और [गतिविधि 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493)| नए कॉन्ट्रैक्ट द्वारा एक `Withdrawal` गतिविधि [गतिविधि 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3) के बाद प्राप्त हुई| पहले के दो इंडेक्स किये हुए ट्रांसक्शन (गतिविधि 1 और 2) और नया ट्रांसक्शन(गतिबिधि 3) को साथ में `graft-replacement` सब-ग्राफ में मिला दिया गया| -बधाई हो! आपने सफलतापूर्वक एक सुब-ग्राफ को दूसरे में ग्राफ्ट कर लिया है| +Congrats! You have successfully grafted a subgraph onto another subgraph. ## अतिरिक्त संसाधन अगर आप ग्राफ्टिंग के साथ और अधिक अनुभव चाहते हैं तोह आपके लिए निम्न कुछ लोकप्रिय कॉन्ट्रैक्ट्स हैं: -- [कर्व](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [कर्व](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [इ आर सी - 721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [यूनीस्वैप](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml) +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -ग्राफ में और अधिक विशेषज्ञता पाने के लिए, डेटासोर्स में और अधिक बदलाव लाने के तरीको के बारे में सोचने किए कोशिश करिये। विकल्प जैसे कि [Data Source Templates](developing/creating-a-subgraph/#data-source-templates) भी कुछ इसी प्रकार के कार्य कर सकते हैं +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > नोट: इस आर्टिकल में काफी सामग्री पहले से प्रकाशित [आरवीव आर्टिकल](/cookbook/arweave/) से ली गयी है| From 08f83d09d1181a284a757d46c23abc1c126725f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:35 -0400 Subject: [PATCH 0724/2326] New translations grafting.mdx (Yoruba) --- website/pages/yo/cookbook/grafting.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/yo/cookbook/grafting.mdx b/website/pages/yo/cookbook/grafting.mdx index 6d781a5f7e06..38bb7114851a 100644 --- a/website/pages/yo/cookbook/grafting.mdx +++ b/website/pages/yo/cookbook/grafting.mdx @@ -20,13 +20,13 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o For more information, you can check: -- [Grafting](https://thegraph.com/docs/en/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) +- [Grafting](/developing/creating-a-subgraph#grafting-onto-existing-subgraphs) In this tutorial, we will be covering a basic usecase. We will replace an existing contract with an identical contract (with a new address, but the same code). Then, graft the existing subgraph onto the "base" subgraph that tracks the new contract. ## Important Note on Grafting When Upgrading to the Network -> **Caution**: if you are upgrading your subgraph from Subgraph Studio or the hosted service to the decentralized network, it is strongly recommended to avoid using grafting during the upgrade process. +> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network ### Why Is This Important? @@ -42,7 +42,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat ## Building an Existing Subgraph -Building subgraphs is an essential part of The Graph, described more in depth [here](http://localhost:3000/en/cookbook/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: +Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: - [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) @@ -96,14 +96,14 @@ graft: block: 1502122 # block number ``` -- `features:` is a list of all used [feature names](developing/creating-a-subgraph/#experimental-features). +- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). - `graft:` is a map of the `base` subgraph and the block to graft on to. The `block` is the block number to start indexing from. The Graph will copy the data of the base subgraph up to and including the given block and then continue indexing the new subgraph from that block on. The `base` and `block` values can be found by deploying two subgraphs: one for the base indexing and one with grafting ## Deploying the Base Subgraph -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [The Graph Studio UI](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in The Graph Studio UI. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -187,16 +187,16 @@ It should return the following: You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. -Congrats! You have succesfully grafted a subgraph onto another subgraph. +Congrats! You have successfully grafted a subgraph onto another subgraph. ## Additional Resources If you want more experience with grafting, here's a few examples for popular contracts: -- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/templates/curve.template.yaml) +- [Curve](https://github.com/messari/subgraphs/blob/master/subgraphs/curve-finance/protocols/curve-finance/config/templates/curve.template.yaml) - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) -- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3/protocols/uniswap-v3/config/templates/uniswap.v3.template.yaml), +- [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](developing/creating-a-subgraph/#data-source-templates) can achieve similar results +To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results > Note: A lot of material from this article was taken from the previously published [Arweave article](/cookbook/arweave/) From 8d738ae8c76f0163b6bb84f72e0ad84387bfad99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:36 -0400 Subject: [PATCH 0725/2326] New translations firehose.mdx (Romanian) --- website/pages/ro/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ro/firehose.mdx b/website/pages/ro/firehose.mdx index 02f0d63c72db..0f0fdebbafd0 100644 --- a/website/pages/ro/firehose.mdx +++ b/website/pages/ro/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From ac96d2f82e21dd93bdcf0737e4c82374829ae188 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:37 -0400 Subject: [PATCH 0726/2326] New translations firehose.mdx (French) --- website/pages/fr/firehose.mdx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/website/pages/fr/firehose.mdx b/website/pages/fr/firehose.mdx index de3f978ae12b..75060e3682fa 100644 --- a/website/pages/fr/firehose.mdx +++ b/website/pages/fr/firehose.mdx @@ -2,13 +2,15 @@ title: Firehose --- -![Firehose Logo](/img/firehose-logo.png) +![Logo Firehose](/img/firehose-logo.png) Firehose est une nouvelle technologie développée par StreamingFast en collaboration avec The Graph Foundation. Le produit offre des **des capacités et des vitesses inédites pour l'indexation des données de la blockchain** en utilisant une approche basée sur les fichiers et axée sur le streaming. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extrait, transforme et enregistre les données de la blockchain dans une stratégie très performante basée sur des fichiers. Les développeurs de blockchain peuvent ensuite accéder aux données extraites par Firehose par le biais de flux de données binaires. Firehose est destiné à remplacer la couche d'extraction de données blockchain originale de The Graph. -## Firehose Documentation +## Documentation Firehose La documentation Firehose est actuellement maintenue par l'équipe StreamingFast [sur le site web de StreamingFast](https://firehose.streamingfast.io/). @@ -17,6 +19,6 @@ La documentation Firehose est actuellement maintenue par l'équipe StreamingFast - Lisez cette [introduction à Firehose](https://firehose.streamingfast.io/introduction/firehose-overview) pour avoir un aperçu de ce que c'est et pourquoi il a été construit. - Découvrez les [Prérequis](https://firehose.streamingfast.io/introduction/prerequisites) pour installer et déployer Firehose. -### Élargissez vos connaissances +### Approfondissez vos connaissances - Découvrez les différents [composants Firehose](https://firehose.streamingfast.io/architecture/components) disponibles. From e3dbdb4567f2b74ffd7393273f0690a6bba9f47a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:37 -0400 Subject: [PATCH 0727/2326] New translations firehose.mdx (Spanish) --- website/pages/es/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/es/firehose.mdx b/website/pages/es/firehose.mdx index 40528fbd0acc..3839c6178514 100644 --- a/website/pages/es/firehose.mdx +++ b/website/pages/es/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From 80ed9286b9fc9b2e4ad81e8e15e05c1111505d0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:38 -0400 Subject: [PATCH 0728/2326] New translations firehose.mdx (Arabic) --- website/pages/ar/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ar/firehose.mdx b/website/pages/ar/firehose.mdx index 02f0d63c72db..0f0fdebbafd0 100644 --- a/website/pages/ar/firehose.mdx +++ b/website/pages/ar/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From b4d19bf05338fcb2ae7d99d5bdecbd66cffc77cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:39 -0400 Subject: [PATCH 0729/2326] New translations firehose.mdx (Czech) --- website/pages/cs/firehose.mdx | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/website/pages/cs/firehose.mdx b/website/pages/cs/firehose.mdx index afcfd452145e..69d30d9a3fde 100644 --- a/website/pages/cs/firehose.mdx +++ b/website/pages/cs/firehose.mdx @@ -4,19 +4,21 @@ title: Firehose ![Firehose Logo](/img/firehose-logo.png) -Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +Firehose je nová technologie vyvinutá společností StreamingFast ve spolupráci s nadací Graf Foundation. Tento produkt poskytuje **dosud nevídané schopnosti a rychlosti pro indexaci dat blockchainu** pomocí přístupu založeného na souborech a prioritního streamování. -Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). -## Firehose Documentation +Firehose extrahuje, transformuje a ukládá data blockchainu ve vysoce výkonné strategii založené na souborech. Vývojáři blockchainu pak mohou k datům extrahovaným pomocí Firehose přistupovat prostřednictvím binárních datových proudů. Firehose má stát jako náhrada původní vrstvy pro extrakci blockchainových dat Graf. -The Firehose documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://firehose.streamingfast.io/). +## Dokumentace Firehose + +Dokumentaci ke službě Firehose v současné době spravuje tým společnosti StreamingFast [na webových stránkách StreamingFast](https://firehose.streamingfast.io/). ### Začínáme -- Read this [Firehose introduction](https://firehose.streamingfast.io/introduction/firehose-overview) to get an overview of what it is and why it was built. -- Learn about the [Prerequisites](https://firehose.streamingfast.io/introduction/prerequisites) to install and deploy Firehose. +- Přečtěte si tento [Úvod do systému Firehose](https://firehose.streamingfast.io/introduction/firehose-overview), abyste získali přehled o tom, co je to a proč byl vytvořen. +- Seznamte se s [Předpoklady](https://firehose.streamingfast.io/introduction/prerequisites) pro instalaci a nasazení služby Firehose. -### Expand Your Knowledge +### Rozšiřte své znalosti -- Learn about the different [Firehose components](https://firehose.streamingfast.io/architecture/components) available. +- Seznamte se s různými dostupnými [komponenty Firehose](https://firehose.streamingfast.io/architecture/components). From 5fbad2272f98d1dbd09c8c35e140f5097229a6dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:40 -0400 Subject: [PATCH 0730/2326] New translations firehose.mdx (German) --- website/pages/de/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/de/firehose.mdx b/website/pages/de/firehose.mdx index 02f0d63c72db..0f0fdebbafd0 100644 --- a/website/pages/de/firehose.mdx +++ b/website/pages/de/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From 5e16200c83aafa9296f844f9fb0ae6838aedfff5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:41 -0400 Subject: [PATCH 0731/2326] New translations firehose.mdx (Italian) --- website/pages/it/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/it/firehose.mdx b/website/pages/it/firehose.mdx index 02f0d63c72db..0f0fdebbafd0 100644 --- a/website/pages/it/firehose.mdx +++ b/website/pages/it/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From a94df946f8556c2c590f964f0e89a7f7800e12b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:42 -0400 Subject: [PATCH 0732/2326] New translations firehose.mdx (Japanese) --- website/pages/ja/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ja/firehose.mdx b/website/pages/ja/firehose.mdx index 5829d0f1408d..00fa111951e1 100644 --- a/website/pages/ja/firehose.mdx +++ b/website/pages/ja/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehoseは、StreamingFastがThe Graph Foundationと共同で開発した新技術です。この製品は、**ファイルベースとストリーミングファーストのアプローチを使って、ブロックチェーンデータ**をインデックス化するための、これまでにない機能と速度を提供します。 +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehoseはブロックチェーンのデータを抽出し、変換し、非常にパフォーマンスの高いファイルベースの戦略で保存します。ブロックチェーン開発者は、Firehoseによって抽出されたデータにバイナリ・データ・ストリームを通じてアクセスすることができる。Firehoseは、The Graphのオリジナルのブロックチェーンデータ抽出レイヤーの代替となることを意図しています。 ## Firehose ドキュメンテーション From e8c8b0409ee904977d8ea0ded2bd063ea785431f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:43 -0400 Subject: [PATCH 0733/2326] New translations firehose.mdx (Korean) --- website/pages/ko/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ko/firehose.mdx b/website/pages/ko/firehose.mdx index 02f0d63c72db..0f0fdebbafd0 100644 --- a/website/pages/ko/firehose.mdx +++ b/website/pages/ko/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From fc2781f3796cb455f870644f913f90f8ce88ba4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:44 -0400 Subject: [PATCH 0734/2326] New translations firehose.mdx (Dutch) --- website/pages/nl/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/nl/firehose.mdx b/website/pages/nl/firehose.mdx index 02f0d63c72db..0f0fdebbafd0 100644 --- a/website/pages/nl/firehose.mdx +++ b/website/pages/nl/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From f34e265f43092b280fa38dd3c4b77ccac5d63b2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:45 -0400 Subject: [PATCH 0735/2326] New translations firehose.mdx (Polish) --- website/pages/pl/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/pl/firehose.mdx b/website/pages/pl/firehose.mdx index 02f0d63c72db..0f0fdebbafd0 100644 --- a/website/pages/pl/firehose.mdx +++ b/website/pages/pl/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From 218444fa620d56997137b9d1f2ad993fe07744e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:45 -0400 Subject: [PATCH 0736/2326] New translations firehose.mdx (Portuguese) --- website/pages/pt/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/pt/firehose.mdx b/website/pages/pt/firehose.mdx index 7d3d191b0fc2..92ac1c88195d 100644 --- a/website/pages/pt/firehose.mdx +++ b/website/pages/pt/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose O Firehose é uma nova tecnologia desenvolvida pelo StreamingFast em colaboração com a Graph Foundation. O produto providencia **capacidades e velocidades inéditas para a indexação de dados em blockchain** com uma abordagem baseada em arquivos e focada no streaming em primeiro lugar. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + O Firehose extrai, transforma e salva dados de blockchain em uma estratégia baseada em arquivos e de alto desempenho. Os programadores de blockchain podem então acessar dados extraídos pelo Firehose através de streams de dados binários. A intenção do Firehose é substituir a camada original de extração de dados de blockchain do The Graph. ## Documentação do Firehose From de660483d2225ee5574e260dfe045877a7fa91a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:46 -0400 Subject: [PATCH 0737/2326] New translations firehose.mdx (Russian) --- website/pages/ru/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ru/firehose.mdx b/website/pages/ru/firehose.mdx index cba336e05bc9..1986d99aa807 100644 --- a/website/pages/ru/firehose.mdx +++ b/website/pages/ru/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From d3dbe7f5ba083f8cc4777eed95289fe12955da0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:47 -0400 Subject: [PATCH 0738/2326] New translations firehose.mdx (Swedish) --- website/pages/sv/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/sv/firehose.mdx b/website/pages/sv/firehose.mdx index 421d75a41a66..cb1de091c391 100644 --- a/website/pages/sv/firehose.mdx +++ b/website/pages/sv/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From 6d88278917d3c3dee832d8a2f571edf3d775035b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:48 -0400 Subject: [PATCH 0739/2326] New translations firehose.mdx (Turkish) --- website/pages/tr/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/tr/firehose.mdx b/website/pages/tr/firehose.mdx index 13641c5b57aa..108ad3ae8199 100644 --- a/website/pages/tr/firehose.mdx +++ b/website/pages/tr/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose, StreamingFast tarafından Graph Vakfı ile birlikte geliştirdiği yeni bir teknolojidir. Ürün, dosya tabanlı ve akış öncelikli bir yaklaşım kullanarak **blok zinciri verilerini indekslemek için daha önce görülmemiş olanaklar ve hızlar** sağlamaktadır. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose, blok zinciri verilerini yüksek performanslı dosya tabanlı bir stratejiyle çıkarır, dönüştürür ve kaydeder. Blok zinciri geliştiricileri daha sonra Firehose tarafından çıkarılan verilere ikili veri akışları üzerinden erişebilir. Firehose'un Graph'ın orijinal blok zinciri veri çıkarma katmanının yerine geçmesi amaçlanmıştır. ## Firehose Dökümantasyonu From 23c69a3ac2e73f3b7b6faa3ae4e096ef0e748461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:49 -0400 Subject: [PATCH 0740/2326] New translations firehose.mdx (Ukrainian) --- website/pages/uk/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/uk/firehose.mdx b/website/pages/uk/firehose.mdx index 02f0d63c72db..0f0fdebbafd0 100644 --- a/website/pages/uk/firehose.mdx +++ b/website/pages/uk/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From cd589701bfe901ba5b21da8bba34014e5dba18a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:50 -0400 Subject: [PATCH 0741/2326] New translations firehose.mdx (Chinese Simplified) --- website/pages/zh/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/zh/firehose.mdx b/website/pages/zh/firehose.mdx index eb0ecc6218da..6e8c9b46a23c 100644 --- a/website/pages/zh/firehose.mdx +++ b/website/pages/zh/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From 6dcc43a023cac615f76c32794d0a1f324c8b8d2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:51 -0400 Subject: [PATCH 0742/2326] New translations firehose.mdx (Urdu (Pakistan)) --- website/pages/ur/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ur/firehose.mdx b/website/pages/ur/firehose.mdx index b72345dabf9d..8b1591e1d015 100644 --- a/website/pages/ur/firehose.mdx +++ b/website/pages/ur/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From fbad8de690e7da9f0872d9120231baba31fa4870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:52 -0400 Subject: [PATCH 0743/2326] New translations firehose.mdx (Vietnamese) --- website/pages/vi/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/vi/firehose.mdx b/website/pages/vi/firehose.mdx index 02f0d63c72db..0f0fdebbafd0 100644 --- a/website/pages/vi/firehose.mdx +++ b/website/pages/vi/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From b1bcca4e7cd320ff1604e84c8035e88e47df94f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:52 -0400 Subject: [PATCH 0744/2326] New translations firehose.mdx (Marathi) --- website/pages/mr/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/mr/firehose.mdx b/website/pages/mr/firehose.mdx index ee293eed5e96..6b643f84a0e0 100644 --- a/website/pages/mr/firehose.mdx +++ b/website/pages/mr/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From 7b76886554dee5d742a48e8247ece6b4fafeab91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:53 -0400 Subject: [PATCH 0745/2326] New translations firehose.mdx (Hindi) --- website/pages/hi/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/hi/firehose.mdx b/website/pages/hi/firehose.mdx index 90ce965a8b69..199ab7661bb4 100644 --- a/website/pages/hi/firehose.mdx +++ b/website/pages/hi/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From fadc5e62adf66520cc19caa400f3a221ffb93905 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:54 -0400 Subject: [PATCH 0746/2326] New translations firehose.mdx (Yoruba) --- website/pages/yo/firehose.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/yo/firehose.mdx b/website/pages/yo/firehose.mdx index 02f0d63c72db..0f0fdebbafd0 100644 --- a/website/pages/yo/firehose.mdx +++ b/website/pages/yo/firehose.mdx @@ -6,6 +6,8 @@ title: Firehose Firehose is a new technology developed by StreamingFast working with The Graph Foundation. The product provides **previously unseen capabilities and speeds for indexing blockchain data** using a files-based and streaming-first approach. +The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). + Firehose extracts, transforms and saves blockchain data in a highly performant file-based strategy. Blockchain developers can then access data extracted by Firehose through binary data streams. Firehose is intended to stand as a replacement for The Graph’s original blockchain data extraction layer. ## Firehose Documentation From 0c395dd8e342a9289e387ff3b11abaa8dced526a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:55 -0400 Subject: [PATCH 0747/2326] New translations substreams.mdx (Romanian) --- website/pages/ro/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/ro/substreams.mdx b/website/pages/ro/substreams.mdx index 2a06de8ac868..e3baa60fb154 100644 --- a/website/pages/ro/substreams.mdx +++ b/website/pages/ro/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Getting Started -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 0f00eb25d4192d1a4f9256d3347110324e351854 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:56 -0400 Subject: [PATCH 0748/2326] New translations substreams.mdx (French) --- website/pages/fr/substreams.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/fr/substreams.mdx b/website/pages/fr/substreams.mdx index 530576e93e03..1cc04f73312d 100644 --- a/website/pages/fr/substreams.mdx +++ b/website/pages/fr/substreams.mdx @@ -2,7 +2,7 @@ title: Substreams --- -![Substreams Logo](/img/substreams-logo.png) +![Logo Substreams](/img/substreams-logo.png) Substreams est une puissante technologie d'indexation de blockchain, développée pour The Graph Network. Substreams permet aux développeurs d'écrire des modules Rust, composant des flux de données aux côtés de la communauté, et fournit une indexation extrêmement performante en vertu de la parallélisation, d'une manière "streaming-first". @@ -10,7 +10,7 @@ Avec Substreams, vous pouvez extraire des données de différentes blockchains ( ## Le fonctionnement de Substreams en 4 étapes -1. **You write a Rust program, which defines the transformations that you want to apply to the blockchain data.** For example, the following Rust function extracts relevant information from an Ethereum block (number, hash, and parent hash). +1. **Vous écrivez un programme Rust, qui définit les transformations que vous souhaitez appliquer aux données de la blockchain.** Par exemple, la fonction Rust suivante extrait les informations pertinentes d'un bloc Ethereum (numéro, hachage et hachage parent) . ```rust fn get_my_block(blk: Block) -> Result { @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **Le conteneur WASM est envoyé à un point de terminaison Substreams pour exécution.** Le fournisseur Substreams alimente le conteneur WASM avec les données blockchain et les transformations sont appliquées. -4. **Vous sélectionnez un [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), un endroit où vous voulez envoyer les données transformées** (une base de données Postgres ou un Subgraph, par exemple). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Documentation des Substreams @@ -36,9 +36,9 @@ La documentation officielle de Substreams est actuellement maintenue par l'équi ### Démarrage -- Pour développer et déployer un Substreams, [vous devez installer le CLI Substreams](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Ensuite, exécutez vos premiers Substreams en suivant le [Tutoriel de démarrage rapide](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Élargissez vos connaissances -- Jetez un œil au [Tutoriel Ethereum Explorer](https://substreams.streamingfast.io/tutorials/overview/) pour en savoir plus sur les transformations de base que vous pouvez créer avec Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From c3c947d6a805204165519a5055deb8e64705ccfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:57 -0400 Subject: [PATCH 0749/2326] New translations substreams.mdx (Spanish) --- website/pages/es/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/es/substreams.mdx b/website/pages/es/substreams.mdx index cc5953268eec..95f3f1751071 100644 --- a/website/pages/es/substreams.mdx +++ b/website/pages/es/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Empezando -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 63b9ec26a67da1c189438a7832174feec469ff4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:58 -0400 Subject: [PATCH 0750/2326] New translations substreams.mdx (Arabic) --- website/pages/ar/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/ar/substreams.mdx b/website/pages/ar/substreams.mdx index 267a7b3c92b6..14b466b0623b 100644 --- a/website/pages/ar/substreams.mdx +++ b/website/pages/ar/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Getting Started -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 13726d078c7831eaf9e6a846c7692e07a03a68f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:38:59 -0400 Subject: [PATCH 0751/2326] New translations substreams.mdx (Czech) --- website/pages/cs/substreams.mdx | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/cs/substreams.mdx b/website/pages/cs/substreams.mdx index 3d91bccb7e51..8cec0c3f529f 100644 --- a/website/pages/cs/substreams.mdx +++ b/website/pages/cs/substreams.mdx @@ -4,13 +4,13 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams je výkonná technologie indexování blockchainu vyvinutá pro síť Graf Substreams umožňuje vývojářům psát moduly Rust, skládat datové proudy spolu s komunitou a poskytuje extrémně výkonné indexování díky paralelizaci, a to způsobem streaming-first. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +Pomocí Substreams můžete extrahovat data z různých blockchainů (Ethereum, BNB, Solana...) velmi rychle! Poté můžete data odeslat na několik míst (do databáze Postgres, Mongo nebo Subgraph). -## How Substreams Works in 4 Steps +## Jak funguje Substreams ve 4 krocích -1. **You write a Rust program, which defines the transformations that you want to apply to the blockchain data.** For example, the following Rust function extracts relevant information from an Ethereum block (number, hash, and parent hash). +1. **Napíšete program v jazyce Rust, který definuje transformace, jež chcete aplikovat na data blockchainu.** Například následující funkce v jazyce Rust extrahuje relevantní informace z bloku Ethereum (číslo, hash a nadřazený hash). ```rust fn get_my_block(blk: Block) -> Result { @@ -24,21 +24,21 @@ fn get_my_block(blk: Block) -> Result { } ``` -2. **You wrap up your Rust program into a WASM module just by running a single CLI command.** +2. **Program Rust zabalíte do modulu WASM pouhým spuštěním jediného příkazu CLI.** -3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. +3. **Kontejner WASM je odeslán na koncový bod Substreams k provedení.** Poskytovatel Substreams dodá kontejneru WASM data blockchainu a jsou aplikovány transformace. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). -## Substreams Documentation +## Dokumentace Substreams -The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +Oficiální dokumentaci Substreams v současné době spravuje tým StreamingFast [na Webová stránka StreamingFast](https://substreams.streamingfast.io/). ### Začínáme -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). -### Expand Your Knowledge +### Rozšiřte své znalosti -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From dda8d306ffbf003bd42efe030570284d2fc9f94f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:00 -0400 Subject: [PATCH 0752/2326] New translations substreams.mdx (German) --- website/pages/de/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/de/substreams.mdx b/website/pages/de/substreams.mdx index 2a06de8ac868..e3baa60fb154 100644 --- a/website/pages/de/substreams.mdx +++ b/website/pages/de/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Getting Started -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From fe553b6efaeb286004c2acac9d1a6f85bf2ee7b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:01 -0400 Subject: [PATCH 0753/2326] New translations substreams.mdx (Italian) --- website/pages/it/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/it/substreams.mdx b/website/pages/it/substreams.mdx index 2a06de8ac868..e3baa60fb154 100644 --- a/website/pages/it/substreams.mdx +++ b/website/pages/it/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Getting Started -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 8c9bf82b138833a502f197f54873084b15c26001 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:01 -0400 Subject: [PATCH 0754/2326] New translations substreams.mdx (Japanese) --- website/pages/ja/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/ja/substreams.mdx b/website/pages/ja/substreams.mdx index 0ca4e021f17c..a31fb7527f5e 100644 --- a/website/pages/ja/substreams.mdx +++ b/website/pages/ja/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **WASMコンテナは実行のためにSubstreamsエンドポイントに送られます。** SubstreamsプロバイダはWASMコンテナにブロックチェーンデータを送り、変換が適用されます。 -4. **[sink](https://substreams.streamingfast.io/developers-guide/sink-targets)、つまり変換されたデータを送る場所**を選択します(例えば、PostgresデータベースやSubgraphなど)。 +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams ドキュメンテーション @@ -36,9 +36,9 @@ fn get_my_block(blk: Block) -> Result { ### はじめに -- サブストリームを開発および展開するには、[サブストリームCLI](https://substreams.streamingfast.io/getting-started/installing-the-cli)をインストールする必要があります。 -- その後、[Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart)に従って最初のサブストリームを実行します。 +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### 知識を広げよう -- [Ethereum Explorer チュートリアル](https://substreams.streamingfast.io/tutorials/overview/)を見て、サブストリームで作成できる基本的な変換について学んでください。 +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 54a663b3463cb0dc631dbaa425120056d865b804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:02 -0400 Subject: [PATCH 0755/2326] New translations substreams.mdx (Korean) --- website/pages/ko/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/ko/substreams.mdx b/website/pages/ko/substreams.mdx index 2a06de8ac868..e3baa60fb154 100644 --- a/website/pages/ko/substreams.mdx +++ b/website/pages/ko/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Getting Started -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 617e5e9315f1da15c54913255b5476365c2e212c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:03 -0400 Subject: [PATCH 0756/2326] New translations substreams.mdx (Dutch) --- website/pages/nl/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/nl/substreams.mdx b/website/pages/nl/substreams.mdx index 2a06de8ac868..e3baa60fb154 100644 --- a/website/pages/nl/substreams.mdx +++ b/website/pages/nl/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Getting Started -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 47f5e228986468bab4967f4c46c7372366e62d29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:04 -0400 Subject: [PATCH 0757/2326] New translations substreams.mdx (Polish) --- website/pages/pl/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/pl/substreams.mdx b/website/pages/pl/substreams.mdx index 2a06de8ac868..e3baa60fb154 100644 --- a/website/pages/pl/substreams.mdx +++ b/website/pages/pl/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Getting Started -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From fb7ab467e03c8e8e836a83ffea55d8053bea9c81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:05 -0400 Subject: [PATCH 0758/2326] New translations substreams.mdx (Portuguese) --- website/pages/pt/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/pt/substreams.mdx b/website/pages/pt/substreams.mdx index 17684b853dab..0b6bef1c0ed6 100644 --- a/website/pages/pt/substreams.mdx +++ b/website/pages/pt/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **O container WASM é enviado a um endpoint do Substreams para execução.** O provedor do Substreams alimenta o container WASM com os dados da blockchain e as transformações são aplicadas. -4. **Selecione um [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), um lugar onde queres enviar os dados transformados** (um banco de dados Postgres ou um Subgraph, por exemplo). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Documentação do Substreams @@ -36,9 +36,9 @@ A documentação oficial do Substreams é mantida atualmente pela equipa do Stre ### Como Começar -- Para poder programar e lançar um Substreams, [instale a CLI do Substreams](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Depois, execute o seu primeiro Substreams ao seguir o [Tutorial de Início Rápido](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expanda o Seu Conhecimento -- Confira o [Tutorial de Explorador de Ethereum](https://substreams.streamingfast.io/tutorials/overview/) para aprender as transformações básicas que podes criar com o Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 59afaf938174dcd293d18f7ec46f5146c6ba8dc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:06 -0400 Subject: [PATCH 0759/2326] New translations substreams.mdx (Russian) --- website/pages/ru/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/ru/substreams.mdx b/website/pages/ru/substreams.mdx index 9a9549833e85..469f92442033 100644 --- a/website/pages/ru/substreams.mdx +++ b/website/pages/ru/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Начало работы -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 53d5f3a8bc2136db17ef4dd86284c8bffbf34182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:07 -0400 Subject: [PATCH 0760/2326] New translations substreams.mdx (Swedish) --- website/pages/sv/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/sv/substreams.mdx b/website/pages/sv/substreams.mdx index 40d22e3c415d..45960ff91c13 100644 --- a/website/pages/sv/substreams.mdx +++ b/website/pages/sv/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Komma igång -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 2a62edb69eaa08c883ae5fb08ef147fe873eef7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:08 -0400 Subject: [PATCH 0761/2326] New translations substreams.mdx (Turkish) --- website/pages/tr/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/tr/substreams.mdx b/website/pages/tr/substreams.mdx index 62b743e1d684..f18fc5262b72 100644 --- a/website/pages/tr/substreams.mdx +++ b/website/pages/tr/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **WASM konteyneri, yürütme için bir Substreams uç noktasına gönderilir.** Substreams sağlayıcısı, WASM konteynerini blok zincir verileriyle besler ve dönüşümler uygulanır. -4. **Dönüştürülmüş verileri göndermek istediğiniz bir yer olan [hedef(sink)](https://substreams.streamingfast.io/developers-guide/sink-targets) seçersiniz** (örneğin bir Postgres veritabanı veya bir Subgraph). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Dökümantasyonu @@ -36,9 +36,9 @@ Resmi Substreams dökümantasyonu şu anda StreamingFast ekibi tarafından [Stre ### Buradan Başlayın -- Bir Substreams geliştirmek ve dağıtmak için [Substreams CLI'ını yüklemeniz gerekmektedir](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Ardından, [Hızlı Başlangıç Öğreticisini](https://substreams.streamingfast.io/getting-started/quickstart) takip ederek ilk Substreams'ınızı çalıştırın. +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Bilgi Dağarcığınızı Genişletin -- Substreams ile oluşturabileceğiniz temel dönüşümler hakkında bilgi edinmek için [Ethereum Gezgini Öğreticisine](https://substreams.streamingfast.io/tutorials/overview/) göz atın. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 1ae80cbe06891072aaac5bea465290f288d9638f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:09 -0400 Subject: [PATCH 0762/2326] New translations substreams.mdx (Ukrainian) --- website/pages/uk/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/uk/substreams.mdx b/website/pages/uk/substreams.mdx index 2a06de8ac868..e3baa60fb154 100644 --- a/website/pages/uk/substreams.mdx +++ b/website/pages/uk/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Getting Started -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From ba8e622d63722afaaea8cf8d88307c3ddcf562d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:10 -0400 Subject: [PATCH 0763/2326] New translations substreams.mdx (Chinese Simplified) --- website/pages/zh/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/zh/substreams.mdx b/website/pages/zh/substreams.mdx index e43e59f76ac8..efc5cd255afb 100644 --- a/website/pages/zh/substreams.mdx +++ b/website/pages/zh/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **WASM容器被发送到Substreams端点执行。** Substreams提供商将区块链数据传送给WASM容器,然后执行转换操作。 -4. **您选择一个[sink](https://substreams.streamingfast.io/developers-guide/sink-targets),即您希望将转换后的数据发送到的位置**(例如,一个Postgres数据库或一个Subgraph)。 +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## 子流文档 @@ -36,9 +36,9 @@ Substreams的官方文档目前由StreamingFast团队[在StreamingFast的网站 ### 开始 -- 要开发和部署Substreams,[您必须安装Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli)。 -- 接下来,您可以按照[快速入门教程](https://substreams.streamingfast.io/getting-started/quickstart). 中的步骤运行您的第一个子流。 +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### 知识拓展 -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 57b1a776c612cdf05129ce4d9bee8cae3ad77773 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:11 -0400 Subject: [PATCH 0764/2326] New translations substreams.mdx (Urdu (Pakistan)) --- website/pages/ur/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/ur/substreams.mdx b/website/pages/ur/substreams.mdx index eef9395d11d6..f183a0ce8485 100644 --- a/website/pages/ur/substreams.mdx +++ b/website/pages/ur/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **WASM کنٹینر کو چلانے کے لیے سب سٹریم اینڈ پوائنٹ پر بھیجا جاتا ہے۔** سب سٹریم فراہم کنندہ WASM کنٹینر کو بلاکچین ڈیٹا کے ساتھ فیڈ کرتا ہے اور تبدیلیاں لاگو ہوتی ہیں۔ -4. **آپ ایک [سنک](https://substreams.streamingfast.io/developers-guide/sink-targets) منتخب کرتے ہیں، وہ جگہ جہاں آپ بھیجنا چاہتے ہیں تبدیل شدہ ڈیٹا** (مثال کے طور پر پوسٹگریس ڈیٹا بیس یا سب گراف)۔ +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## سب سٹریمز دستاویزات @@ -36,9 +36,9 @@ fn get_my_block(blk: Block) -> Result { ### شروع ہوا چاہتا ہے -- سب سٹریمز کو تیار کرنے اور ان کو تعینات کرنے کے لیے، [آپ کو سب سٹریمز CLI انسٹال کرنا ہوگا](https://substreams.streamingfast.io/getting-started/installing-the-cli)۔ -- پھر، [کوئیک سٹارٹ ٹیوٹوریل](https://substreams.streamingfast.io/getting-started/quickstart) کی پیروی کرکے اپنے پہلے سب سٹریمز چلائیں۔ +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### اپنے علم کو وسعت دیں -- ان بنیادی تبدیلیوں کے بارے میں جاننے کے لیے جو آپ سب سٹریمز کے ساتھ تخلیق کر سکتے ہیں، [ایتھیریم ایکسپلورر ٹیوٹوریل](https://substreams.streamingfast.io/tutorials/overview/) پر ایک نظر ڈالیں۔ +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 0c37295e8054a1f2c165a08c0f4028752e1be785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:12 -0400 Subject: [PATCH 0765/2326] New translations substreams.mdx (Vietnamese) --- website/pages/vi/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/vi/substreams.mdx b/website/pages/vi/substreams.mdx index 2a06de8ac868..e3baa60fb154 100644 --- a/website/pages/vi/substreams.mdx +++ b/website/pages/vi/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Getting Started -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 83b7777261b79499a9e3fd937b416a3e4e5eb856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:12 -0400 Subject: [PATCH 0766/2326] New translations substreams.mdx (Marathi) --- website/pages/mr/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/mr/substreams.mdx b/website/pages/mr/substreams.mdx index b8bb1f38017e..788ac6ceec0b 100644 --- a/website/pages/mr/substreams.mdx +++ b/website/pages/mr/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### प्रारंभ करणे -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From a0dfd299a05fb10bbd313ebbd79a28da27ad4a8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:13 -0400 Subject: [PATCH 0767/2326] New translations substreams.mdx (Hindi) --- website/pages/hi/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/hi/substreams.mdx b/website/pages/hi/substreams.mdx index b43741f8a66a..fb55f23e8566 100644 --- a/website/pages/hi/substreams.mdx +++ b/website/pages/hi/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### शुरू करना -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 642ff33d0741484729ff5ba692e9aab2b42ad1e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:14 -0400 Subject: [PATCH 0768/2326] New translations substreams.mdx (Yoruba) --- website/pages/yo/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/yo/substreams.mdx b/website/pages/yo/substreams.mdx index 2a06de8ac868..e3baa60fb154 100644 --- a/website/pages/yo/substreams.mdx +++ b/website/pages/yo/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **The WASM container is sent to a Substreams endpoint for execution.** The Substreams provider feeds the WASM container with the blockchain data and the transformations are applied. -4. **You select a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). ## Substreams Documentation @@ -36,9 +36,9 @@ The official Substreams documentation is currently maintained by the StreamingFa ### Getting Started -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/getting-started/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/getting-started/quickstart). +- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expand Your Knowledge -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/overview/) to learn about the basic transformations you can create with Substreams. +- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. From 9846db7d22b066b76eeda8028b20c4f4213c033a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:15 -0400 Subject: [PATCH 0769/2326] New translations tokenomics.mdx (Romanian) --- website/pages/ro/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ro/tokenomics.mdx b/website/pages/ro/tokenomics.mdx index b87200dc6b04..6fa9686eec71 100644 --- a/website/pages/ro/tokenomics.mdx +++ b/website/pages/ro/tokenomics.mdx @@ -3,7 +3,7 @@ title: Tokenomics of The Graph Network description: The Graph Network is incentivized by powerful tokenomics. Here’s how GRT, The Graph’s native work utility token works. --- -- GRT Token Address: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - GRT Token Address on Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ If you're reading this, you're capable of becoming a Delegator right now by head Curators identify high-quality subgraphs, and "curate" them (i.e., signal GRT on them) to earn curation shares, which guarantee a percentage of all future query fees generated by the subgraph. While any independent network participant can be a Curator, typically subgraph developers are among the first Curators for their own subgraphs because they want to ensure their subgraph is indexed. -As of December 2022, subgraph developers are encouraged to curate their subgraph with at least 10,000 GRT. However, this number may be impacted by network activity and community participation. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Curators pay a 1% curation tax when they curate a new subgraph. This curation tax is burned, decreasing the supply of GRT. @@ -63,7 +63,7 @@ Once developers have built and tested their subgraph, they can [publish their su ### Querying an existing subgraph -Once a subgraph is [published](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. Subgraphs are [queried using GraphQL](/querying/querying-the-graph/), and the query fees are paid for with GRT in [Subgraph Studio](https://thegraph.com/studio/). Query fees are distributed to network participants based on their contributions to the protocol. From ca964a5eace79e2aa1916e0709d16d58be8844ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:16 -0400 Subject: [PATCH 0770/2326] New translations tokenomics.mdx (French) --- website/pages/fr/tokenomics.mdx | 82 ++++++++++++++++----------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/website/pages/fr/tokenomics.mdx b/website/pages/fr/tokenomics.mdx index f130160f2a2b..a504e03334ae 100644 --- a/website/pages/fr/tokenomics.mdx +++ b/website/pages/fr/tokenomics.mdx @@ -1,9 +1,9 @@ --- -title: Tokenomics of The Graph Network +title: Les tokenomiques du réseau The Graph description: Le réseau The Graph est encouragé par une puissante tokénomique. Voici comment fonctionne GRT, le jeton natif de l'utilitaire de travail du réseau The Graph. --- -- Adresse du jeton GRT: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - Adresse du jeton GRT sur Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -21,19 +21,19 @@ The Graph joue un rôle crucial en rendant les données blockchain plus accessib Les participants au réseau sont au nombre de quatre : -1. Delegators - Delegate GRT to Indexers & secure the network +1. Délégateurs - Déléguer les GRT aux indexeurs & sécuriser le réseau 2. Curateurs - Trouver les meilleurs subgraphs pour les indexeurs -3. Developers - Build & query subgraphs +3. Développeurs - Créer & interroger des subgraphs -4. Indexers - Backbone of blockchain data +4. Indexeurs - épine dorsale des données de la blockchain Les pêcheurs et les arbitres font également partie intégrante du succès du réseau à travers d’autres contributions, soutenant le travail des autres principaux participants. Pour plus d'informations sur les rôles réseau, [lisez cet article](https://thegraph.com/blog/the-graph-grt-token-activitys/). -![Tokenomics diagram](/img/updated-tokenomics-image.png) +![Diagramme des tokenomics](/img/updated-tokenomics-image.png) -## Delegators (Passively earn GRT) +## Délégués (gagnez passivement des GRT) Indexers are delegated GRT by Delegators increasing the Indexer’s stake in subgraphs on the network. In return, Delegators earn a percentage of all query fees and indexing rewards from the Indexer. Each Indexer sets the cut that will be rewarded to Delegators independently, creating competition among Indexers to attract Delegators. Most Indexers offer between 9-12% annually. @@ -41,70 +41,70 @@ For example, if a Delegator were to delegate 15k GRT to an Indexer offering 10%, There is a 0.5% delegation tax which is burned whenever a Delegator delegates GRT on the network. If a Delegator chooses to withdraw their delegated GRT, the Delegator must wait for the 28-epoch unbonding period. Each epoch is 6,646 blocks, which means 28 epochs ends up being approximately 26 days. -If you're reading this, you're capable of becoming a Delegator right now by heading to the [network participants page](https://thegraph.com/explorer/participants/indexers), and delegating GRT to an Indexer of your choice. +Si vous lisez ceci, vous pouvez devenir délégant dès maintenant en vous rendant sur la [page des participants au réseau](https://thegraph.com/explorer/participants/indexers), et déléguer GRT à un indexeur de votre choix. -## Curators (Earn GRT) +## Conservateurs (gagnez du GRT) -Curators identify high-quality subgraphs, and "curate" them (i.e., signal GRT on them) to earn curation shares, which guarantee a percentage of all future query fees generated by the subgraph. While any independent network participant can be a Curator, typically subgraph developers are among the first Curators for their own subgraphs because they want to ensure their subgraph is indexed. +Les curateurs identifient les subgraphs de haute qualité et les "curent" (c'est-à-dire qu'ils signalent le GRT sur eux) pour gagner des parts de curation, qui garantissent un pourcentage de tous les frais de requête futurs générés par le subgraph. Bien que tout participant indépendant au réseau puisse être un curateur, les développeurs de subgraphs sont généralement parmi les premiers curateurs de leurs propres subgraphs, car ils veulent s'assurer que leur subgraph est indexé. -À partir de décembre 2022, les développeurs de subgraphs sont encouragés à curer leur subgraph avec au moins 10 000 GRT. Toutefois, ce nombre peut être influencé par l'activité du réseau et la participation de la communauté. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. -Curators pay a 1% curation tax when they curate a new subgraph. This curation tax is burned, decreasing the supply of GRT. +Les conservateurs paient une taxe de conservation de 1 % lorsqu'ils organisent un nouveau subgraph. Cette taxe de conservation est brûlée, ce qui diminue l'offre de GRT. -## Developers +## Développeurs -Developers build and query subgraphs to retrieve blockchain data. Since subgraphs are open source, developers can query existing subgraphs to load blockchain data into their dapps. Developers pay for queries they make in GRT, which is distributed to network participants. +Les développeurs créent et interrogent des subgraphs pour récupérer les données de la blockchain. Étant donné que les subgraphs sont open source, les développeurs peuvent interroger les subgraphs existants pour charger des données blockchain dans leurs dapps. Les développeurs paient pour les requêtes qu'ils effectuent en GRT, qui est distribué aux participants du réseau. -### Creating a subgraph +### Création d'un subgraph -Developers can [create a subgraph](/developing/creating-a-subgraph/) to index data on the blockchain. Subgraphs are instructions for Indexers about which data should be served to consumers. +Les développeurs peuvent [créer un subgraph](/developing/creating-a-subgraph/) pour indexer des données sur la blockchain. Les subgraphs sont des instructions pour les indexeurs concernant les données qui doivent être servies aux consommateurs. -Once developers have built and tested their subgraph, they can [publish their subgraph](/publishing/publishing-a-subgraph/) on The Graph's decentralized network. +Une fois que les développeurs ont construit et testé leur subgraph, ils peuvent [publier leur subgraph](/publishing/publishing-a-subgraph/) sur le réseau décentralisé du graph. -### Querying an existing subgraph +### Interroger un subgraph existant -Once a subgraph is [published](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. -Subgraphs are [queried using GraphQL](/querying/querying-the-graph/), and the query fees are paid for with GRT in [Subgraph Studio](https://thegraph.com/studio/). Query fees are distributed to network participants based on their contributions to the protocol. +Les subgraphes sont [interrogés à l'aide de GraphQL](/querying/querying-the-graph/), et les frais de requête sont payés en GRT dans [Subgraph Studio](https://thegraph.com/studio/). Les frais de requête sont distribués aux participants du réseau en fonction de leurs contributions au protocole. -1% of the query fees paid to the network are burned. +1% des frais de recherche payés au réseau sont brûlés. -## Indexers (Earn GRT) +## Indexeurs (gagnez du GRT) -Indexers are the backbone of The Graph. They operate independent hardware and software powering The Graph’s decentralized network. Indexers serve data to consumers based on instructions from subgraphs. +Les indexeurs sont l’épine dorsale de The Graph. Ils exploitent du matériel et des logiciels indépendants qui alimentent le réseau décentralisé de The Graph. Les indexeurs fournissent des données aux consommateurs sur la base des instructions des subgraphs. -Indexers can earn GRT rewards in two ways: +Les indexeurs peuvent obtenir des récompenses en GRT de deux manières : -1. Query fees: GRT paid by developers or users for subgraph data queries. Query fees are directly distributed to Indexers according to the exponential rebate function (see GIP [here](https://forum.thegraph.com/t/gip-0051-exponential-query-fee-rebates-for-indexers/4162)). +1. Frais de requête : GRT payés par les développeurs ou les utilisateurs pour les requêtes de données de subgraphs. Les frais de requête sont directement distribués aux indexeurs selon la fonction de remise exponentielle (voir GIP [ici](https://forum.thegraph.com/t/gip-0051-exponential-query-fee-rebates-for-indexers/4162)). -2. Indexing rewards: the 3% annual issuance is distributed to Indexers based on the number of subgraphs they are indexing. These rewards incentivize Indexers to index subgraphs, occasionally before the query fees begin, to accrue and submit Proofs of Indexing (POIs) verifying that they have indexed data accurately. +2. Récompenses d'indexation : l'émission annuelle de 3 % est distribuée aux indexeurs en fonction du nombre de subgraphs qu'ils indexent. Ces récompenses incitent les indexeurs à indexer les subgraphs, parfois avant le début des frais de requête, pour accumuler et soumettre des preuves d'indexation (POI) vérifiant qu'ils ont indexé les données avec précision. -Each subgraph is allotted a portion of the total network token issuance, based on the amount of the subgraph’s curation signal. That amount is then rewarded to Indexers based on their allocated stake on the subgraph. +Chaque subgraph se voit attribuer une partie de l’émission totale de jetons de réseau, en fonction de la quantité de signal de curation du subgraph. Ce montant est ensuite récompensé aux indexeurs en fonction de leur participation allouée sur le subgraph. -In order to run an indexing node, Indexers must stake 100,000 GRT or more with the network. Indexers are incentivized to stake GRT in proportion to the amount of queries they serve. +Pour faire fonctionner un nœud d'indexation, les indexeurs doivent miser au moins 100 000 GRT sur le réseau. Les indexeurs sont incités à miser des GRT proportionnellement au nombre de requêtes qu'ils traitent. -Indexers can increase their GRT allocations on subgraphs by accepting GRT delegation from Delegators, and they can accept up to 16 times their initial stake. If an Indexer becomes "over-delegated" (i.e., more than 16 times their initial stake), they will not be able to use the additional GRT from Delegators until they increase their stake in the network. +Les indexeurs peuvent augmenter leurs allocations de GRT sur les subgraphes en acceptant la délégation de GRT des délégateurs, et ils peuvent accepter jusqu'à 16 fois leur mise initiale. Si un indexeur devient "sur-délégué" (c'est-à-dire plus de 16 fois sa mise initiale), il ne pourra pas utiliser le GRT supplémentaire des délégateurs tant qu'il n'aura pas augmenté sa mise dans le réseau. -The amount of rewards an Indexer receives can vary based on the initial stake, accepted delegation, quality of service, and many more factors. The following chart is publicly available data from an active Indexer on The Graph's decentralized network. +Le montant des récompenses qu'un indexeur reçoit peut varier en fonction de la mise initiale, de la délégation acceptée, de la qualité du service et bien d'autres facteurs. Le graphique suivant présente les données publiquement disponibles provenant d'un indexeur actif sur le réseau décentralisé de The Graph. -### The Indexer stake & reward of allnodes-com.eth +### La mise & récompense de l'indexeur allnodes-com.eth -![Indexing stake and rewards](/img/indexing-stake-and-income.png) +![Indexation des enjeux et des récompenses](/img/indexing-stake-and-income.png) -This data is from February 2021 to September 2022. +Ces données couvrent la période allant de février 2021 à septembre 2022. -> Please note, this will improve when the [Arbitrum migration](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551) is complete, making gas costs a significantly lower burden for participating on the network. +> Veuillez noter que cette situation s'améliorera lorsque la migration [Arbitrum](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551) sera terminée, ce qui réduira considérablement la charge liée aux coûts du gaz pour les participants au réseau. -## Token Supply: Burning & Issuance +## Approvisionnement en jetons: Destruction & Émission -The initial token supply is 10 billion GRT, with a target of 3% new issuance annually to reward Indexers for allocating stake on subgraphs. This means that the total supply of GRT tokens will increase by 3% each year as new tokens are issued to Indexers for their contribution to the network. +L'offre initiale de jetons est de 10 milliards de GRT, avec un objectif de 3 % de nouvelles émissions par an pour récompenser les indexeurs pour l'attribution de participations sur les subgraphs. Cela signifie que l'offre totale de jetons GRT augmentera de 3 % chaque année à mesure que de nouveaux jetons seront émis aux indexeurs pour leur contribution au réseau. -The Graph is designed with multiple burning mechanisms to offset new token issuance. Approximately 1% of the GRT supply is burned annually through various activities on the network, and this number has been increasing as network activity continues to grow. These burning activities include a 0.5% delegation tax whenever a Delegator delegates GRT to an Indexer, a 1% curation tax when Curators signal on a subgraph, and a 1% of query fees for blockchain data. +The Graph est conçu avec plusieurs mécanismes de gravure pour compenser l'émission de nouveaux jetons. Environ 1 % de l'approvisionnement en GRT est brûlé chaque année à travers diverses activités sur le réseau, et ce nombre augmente à mesure que l'activité du réseau continue de croître. Ces activités de gravure comprennent une taxe de délégation de 0,5 % chaque fois qu'un délégant délègue GRT à un indexeur, une taxe de conservation de 1 % lorsque les conservateurs signalent sur un subgraph et 1 % des frais de requête pour les données blockchain. -![Total burned GRT](/img/total-burned-grt.jpeg) +![Total de GRT détruits](/img/total-burned-grt.jpeg) -In addition to these regularly occurring burning activities, the GRT token also has a slashing mechanism in place to penalize malicious or irresponsible behavior by Indexers. If an Indexer is slashed, 50% of their indexing rewards for the epoch are burned (while the other half goes to the fisherman), and their self-stake is slashed by 2.5%, with half of this amount being burned. This helps to ensure that Indexers have a strong incentive to act in the best interests of the network and to contribute to its security and stability. +En plus de ces activités de brûlage régulières, le jeton GRT dispose également d'un mécanisme de réduction (slashing) pour pénaliser les comportements malveillants ou irresponsables des indexeurs. Lorsqu'un indexeur est sanctionné, 50 % de ses récompenses d'indexation pour l'époque sont brûlées (l'autre moitié allant au pêcheur), et sa participation personnelle est réduite de 2,5 %, la moitié de ce montant étant brûlée. Cela permet de s'assurer que les indexeurs sont fortement incités à agir dans l'intérêt du réseau et à contribuer à sa sécurité et à sa stabilité. -## Improving the Protocol +## Améliorer le protocole -The Graph Network is ever-evolving and improvements to the economic design of the protocol are constantly being made to provide the best experience for all network participants. The Graph Council oversees protocol changes and community members are encouraged to participate. Get involved with protocol improvements in [The Graph Forum](https://forum.thegraph.com/). +Le réseau The Graph est en constante évolution et des améliorations sont constamment apportées à la conception économique du protocole pour offrir la meilleure expérience à tous les participants du réseau. Le Conseil du graph supervise les changements de protocole et les membres de la communauté sont encouragés à participer. Impliquez-vous dans les améliorations du protocole dans [The Graph Forum](https://forum.thegraph.com/). From 2dbb46e5fe1c6e9a67d4714ab2c914eaa12cae80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:17 -0400 Subject: [PATCH 0771/2326] New translations tokenomics.mdx (Spanish) --- website/pages/es/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/es/tokenomics.mdx b/website/pages/es/tokenomics.mdx index 196fde9f6115..97a07883e8bf 100644 --- a/website/pages/es/tokenomics.mdx +++ b/website/pages/es/tokenomics.mdx @@ -3,7 +3,7 @@ title: Tokenomics de The Graph Network description: The Graph Network está incentivado por un poderoso tokenomics. Así es como funciona GRT, el token de utilidad de trabajo nativo de The Graph. --- -- Dirección del token GRT: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - Dirección del token GRT en Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ Si estás leyendo esto, eres capaz de convertirte en Delegador ahora mismo dirig Los Curadores identifican subgrafos de alta calidad y los "curan" (es decir, señalan GRT en ellos) para ganar cuotas de curación, que garantizan un porcentaje de todas las futuras tarifas de consulta generadas por el subgrafo. Aunque cualquier participante independiente de la red puede ser Curador, los desarrolladores de subgrafos suelen estar entre los primeros Curadores de sus propios subgrafos porque quieren asegurarse de que su subgrafo está indexado. -A partir de diciembre de 2022, se anima a los desarrolladores de subgrafos a curar sus subgrafos con al menos 10.000 GRT. Sin embargo, este número puede verse afectado por la actividad de la red y la participación de la comunidad. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Los Curadores pagan un impuesto de curación del 1% cuando curan un nuevo subgrafo. Este impuesto se quema, lo que reduce la oferta de GRT. @@ -63,7 +63,7 @@ Una vez que los desarrolladores han construido y probado su subgrafo, pueden [pu ### Consulta de un subgrafo existente -Una vez [publicado](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) un subgrafo en la red descentralizada de The Graph, cualquiera puede crear una clave API, añadir GRT a su saldo de facturación y consultar el subgrafo. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. Los subgrafos se [consultan utilizando GraphQL](/querying/querying-the-graph/), y las tarifas de consulta se pagan con GRT en [Subgraph Studio](https://thegraph.com/studio/). Las tarifas de consulta se distribuyen entre los participantes de la red en función de sus contribuciones al protocolo. From a3040edb5ef7edec580dc9049923a233a3cffe81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:18 -0400 Subject: [PATCH 0772/2326] New translations tokenomics.mdx (Arabic) --- website/pages/ar/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ar/tokenomics.mdx b/website/pages/ar/tokenomics.mdx index 009dccf5a950..ef7aee0871ec 100644 --- a/website/pages/ar/tokenomics.mdx +++ b/website/pages/ar/tokenomics.mdx @@ -3,7 +3,7 @@ title: اقتصاد التوكن (Tokenomics) لشبكة الغراف description: تعتمد شبكة The Graphعلى نظام إقتصادي قوي للتشجيع على المشاركة. إليك كيف يعمل GRT ، التوكن الأساسي للعمل في The Graph. --- -- عنوان توكن GRT: [ 0xc944e90c64b2c07662a292be6244bdf05cda44a7 ](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - عنوان توكن GRT على Arbitrum One: [ 0x9623063377AD1B27544C965cCd7342f7EA7e88C7 ](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ For example, if a Delegator were to delegate 15k GRT to an Indexer offering 10%, Curators identify high-quality subgraphs, and "curate" them (i.e., signal GRT on them) to earn curation shares, which guarantee a percentage of all future query fees generated by the subgraph. While any independent network participant can be a Curator, typically subgraph developers are among the first Curators for their own subgraphs because they want to ensure their subgraph is indexed. -اعتبارًا من ديسمبر 2022 ، يتم تشجيع مطوري الsubgrap على تنسيق الsubgrap الخاص بهم بما لا يقل عن 10000 GRT. ومع ذلك ، قد يتأثر هذا الرقم بنشاط الشبكة ومشاركة المجتمع. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Curators pay a 1% curation tax when they curate a new subgraph. This curation tax is burned, decreasing the supply of GRT. @@ -63,7 +63,7 @@ Curators pay a 1% curation tax when they curate a new subgraph. This curation ta ### الاستعلام عن subgraph موجود -بمجرد نشر الsubgraph [ ](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) في الشبكة اللامركزية لـ The Graph ، يمكن لأي شخص إنشاء مفتاح API وإضافة GRT إلى رصيد الفواتير الخاص بهم ، والاستعلام عن الsubgraph. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. يتم [ الاستعلام عن الSubgraph باستخدام GraphQL ](/querying/querying-the-graph/) ، ويتم دفع رسوم الاستعلام باستخدام GRT في [ Subgraph Studio ](https://thegraph.com/studio/). يتم توزيع رسوم الاستعلام على المشاركين في الشبكة بناءً على مساهماتهم في البروتوكول. From 37ce85bc7376f5b1bb34e78170f3bb8f7c5e6842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:19 -0400 Subject: [PATCH 0773/2326] New translations tokenomics.mdx (Czech) --- website/pages/cs/tokenomics.mdx | 110 ++++++++++++++++---------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/website/pages/cs/tokenomics.mdx b/website/pages/cs/tokenomics.mdx index b87200dc6b04..f884f2e3257a 100644 --- a/website/pages/cs/tokenomics.mdx +++ b/website/pages/cs/tokenomics.mdx @@ -1,110 +1,110 @@ --- -title: Tokenomics of The Graph Network -description: The Graph Network is incentivized by powerful tokenomics. Here’s how GRT, The Graph’s native work utility token works. +title: Tokenomics sítě grafů +description: Síť grafů je motivována výkonnou tokenomikou. Zde se dozvíte, jak funguje GRT, nativní token pracovní užitečnost grafu. --- -- GRT Token Address: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) -- GRT Token Address on Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +- Adresa tokenu GRT na Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) -The Graph is a decentralized protocol that enables easy access to blockchain data. +Graf je decentralizovaný protokol, který umožňuje snadný přístup k datům blockchainu. -It's similar to a B2B2C model, except it is powered by a decentralized network of participants. Network participants work together to provide data to end users in exchange for GRT rewards. GRT is the work utility token that coordinates data providers and consumers. GRT serves as a utility for coordinating data providers and consumers within the network and incentivizes protocol participants to organize data effectively. +Je to podobný model jako B2B2C, jen je poháněn decentralizovanou sítí účastníků. Účastníci sítě spolupracují na poskytování dat koncovým uživatelům výměnou za odměny GRT. GRT je token pracovní utility, který koordinuje poskytovatele a spotřebitele dat. GRT slouží jako utilita pro koordinaci poskytovatelů a spotřebitelů dat v rámci sítě a motivuje účastníky protokolu k efektivní organizaci dat. -By using The Graph, users can easily access data from the blockchain, paying only for the specific information they need. The Graph is used by many [popular dapps](https://thegraph.com/explorer) in the web3 ecosystem today. +Pomocí Graf mohou uživatelé snadno přistupovat k datům z blockchainu a platit pouze za konkrétní informace, které potřebují. Graf dnes využívá mnoho [populárních dapps](https://thegraph.com/explorer) v ekosystému web3. -The Graph indexes blockchain data similarly to how Google indexes the web. In fact, you may already be using The Graph without realizing it. If you've viewed the front end of a dapp that gets its data from a subgraph, you queried data from a subgraph! +Graf indexuje data blockchainu podobně jako Google indexuje web. Možná už Graf používáte, aniž byste si to uvědomovali. Pokud jste si prohlíželi front end dapp, která získává svá data z podgrafu, dotazovali jste se na data z podgrafu! -The Graph plays a crucial role in making blockchain data more accessible and enabling a marketplace for its exchange. +Graf hraje klíčovou roli při zpřístupňování blockchainových dat a umožnění trhu pro jejich výměnu. -## The Roles of Network Participants +## Role účastníků sítě -There are four primary network participants: +V síti jsou čtyři hlavní účastníci: -1. Delegators - Delegate GRT to Indexers & secure the network +1. Delegáti - delegování GRT na indexátory & zabezpečení sítě -2. Curators - Find the best subgraphs for Indexers +2. Kurátoři - nalezení nejlepších podgrafů pro indexátory -3. Developers - Build & query subgraphs +3. Vývojáři - Sestavení & dotazování podgrafů -4. Indexers - Backbone of blockchain data +4. Indexery - páteř blockchainových dat -Fishermen and Arbitrators are also integral to the network’s success through other contributions, supporting the work of the other primary participant roles. For more information about network roles, [read this article](https://thegraph.com/blog/the-graph-grt-token-economics/). +Fishermen a Arbitrátoři jsou také nedílnou součástí úspěchu sítě díky svým dalším příspěvkům, které podporují práci ostatních primárních rolí účastníků. Pro více informací o rolích v síti si přečtěte tento článek. -![Tokenomics diagram](/img/updated-tokenomics-image.png) +![Tokenomický diagram](/img/updated-tokenomics-image.png) -## Delegators (Passively earn GRT) +## Delegáti (pasivně vydělávají GRT) -Indexers are delegated GRT by Delegators increasing the Indexer’s stake in subgraphs on the network. In return, Delegators earn a percentage of all query fees and indexing rewards from the Indexer. Each Indexer sets the cut that will be rewarded to Delegators independently, creating competition among Indexers to attract Delegators. Most Indexers offer between 9-12% annually. +Delegáti delegují indexátorům GRT, čímž zvyšují podíl indexátorů na podgraf v síti. Delegáti na oplátku získávají od indexátorů procenta ze všech poplatků za dotazy a odměn za indexování. Každý indexátor si nezávisle na sobě stanoví podíl, který bude delegátům odměněn, čímž vzniká mezi indexátory soutěž o získání delegátů. Většina indexátorů nabízí 9-12% ročně. -For example, if a Delegator were to delegate 15k GRT to an Indexer offering 10%, the Delegator would receive ~1500 GRT in rewards annually. +Pokud by například delegát delegoval 15 tisíc GRT na indexátora nabízejícího 10%, obdržel by delegát ročně odměnu ~1500 GRT. -There is a 0.5% delegation tax which is burned whenever a Delegator delegates GRT on the network. If a Delegator chooses to withdraw their delegated GRT, the Delegator must wait for the 28-epoch unbonding period. Each epoch is 6,646 blocks, which means 28 epochs ends up being approximately 26 days. +Existuje 0.5% daň z delegování, která se spálí vždy, když delegát deleguje GRT v síti. Pokud se delegát rozhodne stáhnout své delegované GRT, musí počkat na 28-epoch lhůtu pro zrušení vazby. Každá epocha je 6 646 bloků, což znamená, že 28 epoch je přibližně 26 dní. -If you're reading this, you're capable of becoming a Delegator right now by heading to the [network participants page](https://thegraph.com/explorer/participants/indexers), and delegating GRT to an Indexer of your choice. +Pokud čtete tento článek, můžete se právě teď stát delegátem tak, že přejdete na stránku [účastníci sítě](https://thegraph.com/explorer/participants/indexers) a delegujete GRT na vybraného indexátora. -## Curators (Earn GRT) +## Kurátoři (Získat GRT) -Curators identify high-quality subgraphs, and "curate" them (i.e., signal GRT on them) to earn curation shares, which guarantee a percentage of all future query fees generated by the subgraph. While any independent network participant can be a Curator, typically subgraph developers are among the first Curators for their own subgraphs because they want to ensure their subgraph is indexed. +Kurátoři identifikují vysoce kvalitní podgrafy a "curate" je (tj. signalizují na nich GRT), aby získali kurátorské podíly, které zaručují procento ze všech budoucích poplatků za dotazy generované tímto podgraf. Ačkoli kurátorem může být každý nezávislý účastník sítě, obvykle jsou vývojáři podgrafů mezi prvními kurátory svých vlastních podgrafů, protože chtějí zajistit, aby byl jejich podgraf indexován. -As of December 2022, subgraph developers are encouraged to curate their subgraph with at least 10,000 GRT. However, this number may be impacted by network activity and community participation. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. -Curators pay a 1% curation tax when they curate a new subgraph. This curation tax is burned, decreasing the supply of GRT. +Kurátoři platí 1% kurátorskou daň, když vytvoří nový podgraf. Tato kurátorská daň se spálí, čímž se sníží nabídka GRT. -## Developers +## Vývojáři -Developers build and query subgraphs to retrieve blockchain data. Since subgraphs are open source, developers can query existing subgraphs to load blockchain data into their dapps. Developers pay for queries they make in GRT, which is distributed to network participants. +Vývojáři vytvářejí podgrafy a dotazují se na ně, aby získali data blockchainu. Vzhledem k tomu, že podgrafy jsou open source, mohou vývojáři dotazovat existující podgrafy a načítat data blockchainu do svých dapps. Vývojáři platí za dotazy, které provádějí v GRT a které jsou distribuovány účastníkům sítě. -### Creating a subgraph +### Vytvoření podgrafu -Developers can [create a subgraph](/developing/creating-a-subgraph/) to index data on the blockchain. Subgraphs are instructions for Indexers about which data should be served to consumers. +Vývojáři mohou [vytvořit subgraf](/developing/creating-a-subgraph/) pro indexování dat v blockchainu. Podgrafy jsou pokyny pro indexátory, která data mají být doručena spotřebitelům. -Once developers have built and tested their subgraph, they can [publish their subgraph](/publishing/publishing-a-subgraph/) on The Graph's decentralized network. +Jakmile vývojáři vytvoří a otestují svůj podgraf, mohou [zveřejnit svůj podgraf](/publishing/publishing-a-subgraph/) v decentralizované síti Graf. -### Querying an existing subgraph +### Dotazování na existující podgraf -Once a subgraph is [published](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. -Subgraphs are [queried using GraphQL](/querying/querying-the-graph/), and the query fees are paid for with GRT in [Subgraph Studio](https://thegraph.com/studio/). Query fees are distributed to network participants based on their contributions to the protocol. +Podgrafy jsou [vyhledávány pomocí GraphQL](/querying/querying-the-graph/) a poplatky za dotazy jsou hrazeny pomocí GRT v [Subgraph Studio](https://thegraph.com/studio/). Poplatky za dotazy se rozdělují mezi účastníky sítě na základě jejich příspěvků do protokolu. -1% of the query fees paid to the network are burned. +1 % poplatků za dotazy zaplacených síti se spálí. -## Indexers (Earn GRT) +## Indexéry (Získat GRT) -Indexers are the backbone of The Graph. They operate independent hardware and software powering The Graph’s decentralized network. Indexers serve data to consumers based on instructions from subgraphs. +Základem Graf jsou indexátoři. Provozují nezávislý hardware a software, který pohání decentralizovanou síť Graf. Indexery servírují data spotřebitelům na základě pokynů z dílčích grafů. -Indexers can earn GRT rewards in two ways: +Indexátoři mohou získat odměny GRT dvěma způsoby: -1. Query fees: GRT paid by developers or users for subgraph data queries. Query fees are directly distributed to Indexers according to the exponential rebate function (see GIP [here](https://forum.thegraph.com/t/gip-0051-exponential-query-fee-rebates-for-indexers/4162)). +1. Poplatky za dotazy: GRT, které platí vývojáři nebo uživatelé za dotazy na data podgrafu. Poplatky za dotazy jsou rozdělovány přímo indexátorům podle exponenciální funkce rabat (viz GIP [zde](https://forum.thegraph.com/t/gip-0051-exponential-query-fee-rebates-for-indexers/4162)). -2. Indexing rewards: the 3% annual issuance is distributed to Indexers based on the number of subgraphs they are indexing. These rewards incentivize Indexers to index subgraphs, occasionally before the query fees begin, to accrue and submit Proofs of Indexing (POIs) verifying that they have indexed data accurately. +2. Odměny za indexování: 3% roční odměna se rozděluje indexátorům podle počtu indexovaných podgrafů. Tyto odměny motivují indexátory k indexování podgrafů, občas před zahájením poplatků za dotazování, k akumulaci a předkládání důkazů o indexaci (POI), které ověřují, že indexovali data přesně. -Each subgraph is allotted a portion of the total network token issuance, based on the amount of the subgraph’s curation signal. That amount is then rewarded to Indexers based on their allocated stake on the subgraph. +Každému podgrafu je přidělena část z celkové emise síťových tokenů, a to na základě množství kurátorského signálu podgrafu. Tato částka je pak odměněna indexátorům na základě jejich přiděleného podílu na podgrafu. -In order to run an indexing node, Indexers must stake 100,000 GRT or more with the network. Indexers are incentivized to stake GRT in proportion to the amount of queries they serve. +Aby bylo možné spustit indexovací uzel, musí indexátory vsadit do sítě 100,000 GRT nebo více. Indexátoři jsou motivováni k tomu, aby sázeli GRT úměrně množství dotazů, které obsluhují. -Indexers can increase their GRT allocations on subgraphs by accepting GRT delegation from Delegators, and they can accept up to 16 times their initial stake. If an Indexer becomes "over-delegated" (i.e., more than 16 times their initial stake), they will not be able to use the additional GRT from Delegators until they increase their stake in the network. +Indexátoři mohou zvýšit své alokace GRT na podgrafy přijetím delegování GRT od delegátů a mohou přijmout až 16násobek svého původního podílu. Pokud se indexátor stane "nadměrně delegovaným" (tj. více než 16násobek svého původního podílu), nebude moci využít dodatečné GRT od delegátů, dokud nezvýší svůj podíl v síti. -The amount of rewards an Indexer receives can vary based on the initial stake, accepted delegation, quality of service, and many more factors. The following chart is publicly available data from an active Indexer on The Graph's decentralized network. +Výše odměny, kterou indexátor obdrží, se může lišit v závislosti na počátečním vkladu, přijatém delegování, kvalitě služeb a mnoha dalších faktorech. V následujícím grafu jsou veřejně dostupné údaje aktivního indexera v decentralizované síti Graf. -### The Indexer stake & reward of allnodes-com.eth +### Indexer podíl & odměna allnodes-com.eth -![Indexing stake and rewards](/img/indexing-stake-and-income.png) +![Indexování podílu a odměn](/img/indexing-stake-and-income.png) -This data is from February 2021 to September 2022. +Tyto údaje se týkají období od února 2021 do září 2022. -> Please note, this will improve when the [Arbitrum migration](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551) is complete, making gas costs a significantly lower burden for participating on the network. +> Upozorňujeme, že tato situace se zlepší, až bude dokončena [Arbitrum migrace](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551), takže náklady na plyn budou pro účastníky sítě výrazně nižší. -## Token Supply: Burning & Issuance +## Dodávka žetonů: Burning & Vydání -The initial token supply is 10 billion GRT, with a target of 3% new issuance annually to reward Indexers for allocating stake on subgraphs. This means that the total supply of GRT tokens will increase by 3% each year as new tokens are issued to Indexers for their contribution to the network. +Počáteční nabídka tokenů je 10 miliard GRT, přičemž cílem je vydávat 3 % nových tokenů ročně jako odměnu indexátorům za přidělování podílů na subgrafech. To znamená, že celková nabídka tokenů GRT se bude každý rok zvyšovat o 3 %, protože nové tokeny budou vydávány Indexerům za jejich příspěvek do sítě. -The Graph is designed with multiple burning mechanisms to offset new token issuance. Approximately 1% of the GRT supply is burned annually through various activities on the network, and this number has been increasing as network activity continues to grow. These burning activities include a 0.5% delegation tax whenever a Delegator delegates GRT to an Indexer, a 1% curation tax when Curators signal on a subgraph, and a 1% of query fees for blockchain data. +Graf je navržen s několika mechanismy spalování, které kompenzují vydávání nových tokenů. Přibližně 1 % zásoby GRT je ročně spáleno prostřednictvím různých aktivit v síti a toto číslo se zvyšuje s tím, jak aktivita sítě stále roste. Mezi tyto spalovací činnosti patří 0.5% daň z delegování, kdykoli delegátor deleguje GRT na indexátora, 1% daň z kurátorství, když kurátoři signalizují na subgrafu, a 1% poplatek za dotaz na data v blockchainu. -![Total burned GRT](/img/total-burned-grt.jpeg) +![Celková spálená GRT](/img/total-burned-grt.jpeg) -In addition to these regularly occurring burning activities, the GRT token also has a slashing mechanism in place to penalize malicious or irresponsible behavior by Indexers. If an Indexer is slashed, 50% of their indexing rewards for the epoch are burned (while the other half goes to the fisherman), and their self-stake is slashed by 2.5%, with half of this amount being burned. This helps to ensure that Indexers have a strong incentive to act in the best interests of the network and to contribute to its security and stability. +Kromě těchto pravidelně se vyskytujících činností vypalování má token GRT také mechanismus slashing, který má trestat zlomyslné nebo nezodpovědné chování indexátorů. Pokud je indexátor slashován, spálí se 50 % jeho odměny za indexaci v dané epoše (zatímco druhá polovina připadne rybáři) a jeho vlastní podíl se sníží o 2.5 %, přičemž polovina této částky se spálí. To pomáhá zajistit, aby indexátoři měli silnou motivaci jednat v nejlepším zájmu sítě a přispívat k její bezpečnosti a stabilitě. -## Improving the Protocol +## Zlepšení protokolu -The Graph Network is ever-evolving and improvements to the economic design of the protocol are constantly being made to provide the best experience for all network participants. The Graph Council oversees protocol changes and community members are encouraged to participate. Get involved with protocol improvements in [The Graph Forum](https://forum.thegraph.com/). +Síť Graf se neustále vyvíjí a ekonomický návrh protokolu se neustále vylepšuje, aby poskytoval co nejlepší služby všem účastníkům sítě. Na změny protokolu dohlíží Rada Graf a členové komunity jsou vyzýváni k účasti. Zapojte se do zlepšování protokolu v [Fórum Graf](https://forum.thegraph.com/). From e1803d5a090c73216e5a059c94a196b1fe5c729b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:20 -0400 Subject: [PATCH 0774/2326] New translations tokenomics.mdx (German) --- website/pages/de/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/de/tokenomics.mdx b/website/pages/de/tokenomics.mdx index 3f5c435e310b..2359a03db100 100644 --- a/website/pages/de/tokenomics.mdx +++ b/website/pages/de/tokenomics.mdx @@ -3,7 +3,7 @@ title: Tokenomics des The Graph Netzwerks description: The Graph Network wird durch leistungsstarke Tokenomics unterstützt. Hier ist, wie GRT, The Graph's eigener Work Utility Token funktioniert. --- -- GRT-Token-Adresse: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - GRT-Token-Adresse auf Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ Wenn Sie dies lesen, können Sie sofort Delegator werden, indem Sie auf die [Net Kuratoren identifizieren qualitativ hochwertige Untergraphen und "kuratieren" sie (d.h. signalisieren GRT auf ihnen), um Kurationsanteile zu verdienen, die einen Prozentsatz aller zukünftigen Abfragegebühren garantieren, die durch den Untergraphen generiert werden. Obwohl jeder unabhängige Netzwerkteilnehmer ein Kurator sein kann, gehören die Entwickler von Subgraphen in der Regel zu den ersten Kuratoren für ihre eigenen Subgraphen, da sie sicherstellen wollen, dass ihr Subgraph indiziert wird. -Ab Dezember 2022 werden die Entwickler von Subgraphen ermutigt, ihre Subgraphen mit mindestens 10.000 GRT zu kuratieren. Diese Zahl kann jedoch durch die Netzwerkaktivität und die Beteiligung der Community beeinflusst werden. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Kuratoren zahlen eine Kurationssteuer von 1%, wenn sie einen neuen Untergraphen kuratieren. Diese Kuratierungssteuer wird verbrannt, wodurch das Angebot an GRT sinkt. @@ -63,7 +63,7 @@ Sobald Entwickler ihren Subgraphen erstellt und getestet haben, können sie [ihr ### Abfrage eines vorhandenen Untergraphen -Sobald ein Subgraph [im dezentralen Netzwerk von The Graph veröffentlicht](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) wurde, kann jeder einen API-Schlüssel erstellen, GRT zu seinem Guthaben hinzufügen und den Subgraph abfragen. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. Subgraphen werden [mit GraphQL](/querying/querying-the-graph/) abgefragt, und die Abfragegebühren werden mit GRT in [Subgraph Studio](https://thegraph.com/studio/) bezahlt. Die Abfragegebühren werden an die Netzwerkteilnehmer auf der Grundlage ihrer Beiträge zum Protokoll verteilt. From e10e86ea1e76db4ab0f1e27540e59aef0a745a23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:21 -0400 Subject: [PATCH 0775/2326] New translations tokenomics.mdx (Italian) --- website/pages/it/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/it/tokenomics.mdx b/website/pages/it/tokenomics.mdx index 47597f1d5762..04e1f3f753b1 100644 --- a/website/pages/it/tokenomics.mdx +++ b/website/pages/it/tokenomics.mdx @@ -3,7 +3,7 @@ title: Tokenomics di The Graph Network description: The Graph Network è incentivato da una forte tokenomics. Ecco come funziona GRT, il token di utilità nativo di The Graph. --- -- Indirizzo del token GRT: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - Indirizzo del token GRT su Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ Se state leggendo queste righe, potete diventare Delegator fin da ora andando al I Curator identificano i subgraph di alta qualità e li "curano" (cioè segnalano il GRT su di essi) per guadagnare quote di curation, che garantiscono una percentuale di tutte le future tariffe di query generate dal subgraph. Anche se qualsiasi partecipante indipendente alla rete può essere un Curator, di solito gli sviluppatori di subgraph sono tra i primi Curator dei loro subgraph, perché vogliono assicurarsi che il loro subgraph sia indicizzato. -A partire dal dicembre 2022, gli sviluppatori di subgraph sono incoraggiati a fare curation di loro subgraph con almeno 10.000 GRT. Tuttavia, questo numero può essere influenzato dall'attività della rete e dalla partecipazione della comunità. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. I Curator pagano una tassa di curation dell'1% quando curano un nuovo subgraph. Questa tassa di curation viene bruciata, diminuendo l'offerta di GRT. @@ -63,7 +63,7 @@ Una volta che gli sviluppatori hanno costruito e testato il loro subgraph, posso ### Eseguire query di un subgraph esistente -Una volta che un subgraph è [pubblicato](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) sulla rete decentralizzata di The Graph, chiunque può creare una chiave API, aggiungere GRT al proprio saldo di fatturazione ed eseguire query nel subgraph. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. I subgraph [vengono interrogati utilizzando GraphQL](/querying/querying-the-graph/), e le tariffe di query vengono pagate con GRT nel [Subgraph Studio](https://thegraph.com/studio/). Le tariffe di query sono distribuite ai partecipanti alla rete in base ai loro contributi al protocollo. From aa9d82aa18d66a506a69accc485d5720e4f1bbbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:22 -0400 Subject: [PATCH 0776/2326] New translations tokenomics.mdx (Japanese) --- website/pages/ja/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ja/tokenomics.mdx b/website/pages/ja/tokenomics.mdx index 45a65663e103..9633dd7d13e1 100644 --- a/website/pages/ja/tokenomics.mdx +++ b/website/pages/ja/tokenomics.mdx @@ -3,7 +3,7 @@ title: グラフネットワークのトークノミクス description: The Graph Networkは、強力なトークノミクスでインセンティブを与えています。ここでは、The GraphのネイティブワークユーティリティトークンであるGRTの仕組みについて説明します。 --- -- GRT Token Address: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - GRT Token Address on Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ The Graphは、Googleがウェブをインデックスするのと同様に、 キュレーターは、高品質のサブグラフを特定し、それを「キュレーション」(GRTシグナルを送ること)することで、そのサブグラフから将来発生する全てのクエリ料の一定割合を保証するキュレーションシェアを獲得します。独立したネットワーク参加者であれば誰でもキュレーターになることができますが、通常、サブグラフの開発者は、自分のサブグラフがインデックスされることを保証したいため、自分のサブグラフの最初のキュレーターの一人になります。 -2022年12月現在、サブグラフ開発者は、少なくとも10,000GRTでサブグラフをキュレーションすることが推奨されています。ただし、この数値はネットワーク活動やコミュニティ参加によって影響を受ける可能性があります。 +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. キュレーターは、新しいサブグラフをキュレーションするときに1%のキュレーション税を支払います。このキュレーション税はバーンされ、GRTの供給量を減少させます。 @@ -63,7 +63,7 @@ The Graphは、Googleがウェブをインデックスするのと同様に、 ### 既存のサブグラフのクエリ -サブグラフが The Graph の分散型ネットワークに[公開](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/)されると、誰でも API キーを作成し、 GRT を請求残高に追加し、サブグラフをクエリします。 +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. サブグラフは[GraphQL](/querying/querying-the-graph/)でクエリされ、クエリ料は[Subgraph Studio](https://thegraph.com/studio/)でGRTで支払われます。クエリ料は、プロトコルへの貢献度に応じてネットワーク参加者に分配されます。 From b8422c4d58e23047267267914e7fdaa43b032007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:23 -0400 Subject: [PATCH 0777/2326] New translations tokenomics.mdx (Korean) --- website/pages/ko/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ko/tokenomics.mdx b/website/pages/ko/tokenomics.mdx index b87200dc6b04..6fa9686eec71 100644 --- a/website/pages/ko/tokenomics.mdx +++ b/website/pages/ko/tokenomics.mdx @@ -3,7 +3,7 @@ title: Tokenomics of The Graph Network description: The Graph Network is incentivized by powerful tokenomics. Here’s how GRT, The Graph’s native work utility token works. --- -- GRT Token Address: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - GRT Token Address on Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ If you're reading this, you're capable of becoming a Delegator right now by head Curators identify high-quality subgraphs, and "curate" them (i.e., signal GRT on them) to earn curation shares, which guarantee a percentage of all future query fees generated by the subgraph. While any independent network participant can be a Curator, typically subgraph developers are among the first Curators for their own subgraphs because they want to ensure their subgraph is indexed. -As of December 2022, subgraph developers are encouraged to curate their subgraph with at least 10,000 GRT. However, this number may be impacted by network activity and community participation. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Curators pay a 1% curation tax when they curate a new subgraph. This curation tax is burned, decreasing the supply of GRT. @@ -63,7 +63,7 @@ Once developers have built and tested their subgraph, they can [publish their su ### Querying an existing subgraph -Once a subgraph is [published](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. Subgraphs are [queried using GraphQL](/querying/querying-the-graph/), and the query fees are paid for with GRT in [Subgraph Studio](https://thegraph.com/studio/). Query fees are distributed to network participants based on their contributions to the protocol. From 9e60e031de2c17d95ecee387bbf8127f5ca7c214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:24 -0400 Subject: [PATCH 0778/2326] New translations tokenomics.mdx (Dutch) --- website/pages/nl/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/nl/tokenomics.mdx b/website/pages/nl/tokenomics.mdx index b87200dc6b04..6fa9686eec71 100644 --- a/website/pages/nl/tokenomics.mdx +++ b/website/pages/nl/tokenomics.mdx @@ -3,7 +3,7 @@ title: Tokenomics of The Graph Network description: The Graph Network is incentivized by powerful tokenomics. Here’s how GRT, The Graph’s native work utility token works. --- -- GRT Token Address: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - GRT Token Address on Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ If you're reading this, you're capable of becoming a Delegator right now by head Curators identify high-quality subgraphs, and "curate" them (i.e., signal GRT on them) to earn curation shares, which guarantee a percentage of all future query fees generated by the subgraph. While any independent network participant can be a Curator, typically subgraph developers are among the first Curators for their own subgraphs because they want to ensure their subgraph is indexed. -As of December 2022, subgraph developers are encouraged to curate their subgraph with at least 10,000 GRT. However, this number may be impacted by network activity and community participation. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Curators pay a 1% curation tax when they curate a new subgraph. This curation tax is burned, decreasing the supply of GRT. @@ -63,7 +63,7 @@ Once developers have built and tested their subgraph, they can [publish their su ### Querying an existing subgraph -Once a subgraph is [published](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. Subgraphs are [queried using GraphQL](/querying/querying-the-graph/), and the query fees are paid for with GRT in [Subgraph Studio](https://thegraph.com/studio/). Query fees are distributed to network participants based on their contributions to the protocol. From 16e31cdd22515cd20fd23d40e4aa70684014b157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:25 -0400 Subject: [PATCH 0779/2326] New translations tokenomics.mdx (Polish) --- website/pages/pl/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pl/tokenomics.mdx b/website/pages/pl/tokenomics.mdx index b87200dc6b04..6fa9686eec71 100644 --- a/website/pages/pl/tokenomics.mdx +++ b/website/pages/pl/tokenomics.mdx @@ -3,7 +3,7 @@ title: Tokenomics of The Graph Network description: The Graph Network is incentivized by powerful tokenomics. Here’s how GRT, The Graph’s native work utility token works. --- -- GRT Token Address: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - GRT Token Address on Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ If you're reading this, you're capable of becoming a Delegator right now by head Curators identify high-quality subgraphs, and "curate" them (i.e., signal GRT on them) to earn curation shares, which guarantee a percentage of all future query fees generated by the subgraph. While any independent network participant can be a Curator, typically subgraph developers are among the first Curators for their own subgraphs because they want to ensure their subgraph is indexed. -As of December 2022, subgraph developers are encouraged to curate their subgraph with at least 10,000 GRT. However, this number may be impacted by network activity and community participation. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Curators pay a 1% curation tax when they curate a new subgraph. This curation tax is burned, decreasing the supply of GRT. @@ -63,7 +63,7 @@ Once developers have built and tested their subgraph, they can [publish their su ### Querying an existing subgraph -Once a subgraph is [published](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. Subgraphs are [queried using GraphQL](/querying/querying-the-graph/), and the query fees are paid for with GRT in [Subgraph Studio](https://thegraph.com/studio/). Query fees are distributed to network participants based on their contributions to the protocol. From a8ac3cffd66018fd1b384acb93d2cdab5a47637f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:26 -0400 Subject: [PATCH 0780/2326] New translations tokenomics.mdx (Portuguese) --- website/pages/pt/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/tokenomics.mdx b/website/pages/pt/tokenomics.mdx index 4bc08685ab3a..45a70f6cd6ab 100644 --- a/website/pages/pt/tokenomics.mdx +++ b/website/pages/pt/tokenomics.mdx @@ -3,7 +3,7 @@ title: Tokenomia da Graph Network description: A Graph Network é incentivada por uma tokenomia (economia de token) poderosa. Aqui está como funciona o GRT, o token nativo de utilidades de trabalho no The Graph. --- -- Endereço do Token GRT: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - Endereço do Token GRT no Arbitrum One:[0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ Quem ler isto pode tornar-se um Delegante agora mesmo na [página de participant Os Curadores identificam subgraphs de alta qualidade e os "curam" (por ex., sinalizam GRT neles) para ganhar ações de curadoria, que garantem uma porção de todas as taxas de query futuras geradas pelo subgraph. Enquanto qualquer participante independente da rede pode ser um Curador, os programadores de subgraphs tendem a ser os primeiros Curadores dos seus próprios subgraphs, pois querem garantir que o seu subgraph seja indexado. -Em dezembro de 2022, os programadores de subgraph eram encorajados a curar o seu subgraph com, no mínimo, 10.000 GRT. Porém, este número pode depender da atividade da rede e participação da comunidade. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Os Curadores pagam uma taxa de curadoria de 1% ao curar um subgraph novo. Esta taxa de curadoria é queimada, de modo a reduzir a reserva de GRT. @@ -63,7 +63,7 @@ Quando os programadores tiverem construído e testado o seu subgraph, eles podem ### Como fazer queries um Subgraph existente -Quando um subgraph é [editado](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) na rede descentralizada do The Graph, qualquer um pode criar uma chave API, depositar GRT no seu saldo de cobrança, e consultar o subgraph em um query. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. Os Subgraphs recebem [queries pelo GraphQL](/querying/querying-the-graph/), e as taxas de query são pagas em GRT no [Subgraph Studio](https://thegraph.com/studio/). As taxas de query são distribuídas a participantes da rede com base nas suas contribuições ao protocolo. From 4dd602416d42989a2ab8f8cdebf9889d97b910ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:27 -0400 Subject: [PATCH 0781/2326] New translations tokenomics.mdx (Russian) --- website/pages/ru/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ru/tokenomics.mdx b/website/pages/ru/tokenomics.mdx index 6a245723f89a..d863f7c30612 100644 --- a/website/pages/ru/tokenomics.mdx +++ b/website/pages/ru/tokenomics.mdx @@ -3,7 +3,7 @@ title: Токеномика сети The Graph description: Сеть The Graph стимулируется мощной токеномикой. Вот как работает GRT, нативный токен The Graph. --- -- Адрес токена GRT: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - Адрес токена GRT в сети Arbitrum One [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ The Graph играет решающую роль в том, чтобы сдел Кураторы определяют высококачественные субграфы и "курируют" их (т. е. сигнализируют о них GRT), чтобы получать комиссии кураторства, которые гарантируют процент от всех будущих сборов за запросы, сгенерированные субграфом. В то время как Куратором может быть любой независимый участник сети, обычно разработчики субграфов являются одними из первых Кураторов своих собственных субграфов, потому что они хотят убедиться, что их субграф проиндексирован. -Начиная с декабря 2022 года, разработчикам субграфов рекомендуется выделять на их субграф не менее 10 000 GRT. Однако на это количество может повлиять сетевая активность и участие сообщества. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Кураторы платят комиссию за кураторство в размере 1%, когда они курируют новый субграф. Эта комиссия сжигается, уменьшая предложение GRT. @@ -63,7 +63,7 @@ The Graph играет решающую роль в том, чтобы сдел ### Запрос к существующему субграфу -Как только субграф будет [ опубликован](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) в децентрализованной сети The Graph, любой может создать ключ API, добавить GRT к своему платежному балансу и сделать запрос на субграф. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. Субграфы [запрашиваются с помощью GraphQL](/querying/querying-the-graph/), а плата за запрос производится с помощью GRT в [Subgraph Studio](https://thegraph.com/studio/). Плата за запрос распределяется между участниками сети на основе их вклада в протокол. From db42e267fbcde416b7e4e6476e54451b87757ad1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:27 -0400 Subject: [PATCH 0782/2326] New translations tokenomics.mdx (Swedish) --- website/pages/sv/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/sv/tokenomics.mdx b/website/pages/sv/tokenomics.mdx index a0c4bf28643e..e7b62371e367 100644 --- a/website/pages/sv/tokenomics.mdx +++ b/website/pages/sv/tokenomics.mdx @@ -3,7 +3,7 @@ title: Tokenomics för The Graf Nätverk description: The Graf Nätverk drivs av kraftfull tokenomics. Här är hur GRT, The Grafs nativa arbetsnyttighets-token, fungerar. --- -- GRT Tokenadress: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - GRT Tokenadress på Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ Om du läser detta kan du bli en Delegat just nu genom att gå till [nätverksde Kuratorer identifierar högkvalitativa subgrafter och "kuraterar" dem (dvs. signalerar GRT på dem) för att tjäna andelar av kurering, vilket garanterar en procentandel av alla framtida frågeavgifter som genereras av subgrafen. Även om vilken oberoende nätverksdeltagare som helst kan vara en Kurator är det vanligtvis subgrafsutvecklare som först blir Kuratorer för sina egna subgrafter eftersom de vill se till att deras subgraf indexerades. -Från och med december 2022 uppmuntras subgrafsutvecklare att kurera sin subgraf med minst 10 000 GRT. Men detta nummer kan påverkas av nätverksaktivitet och samhällsdeltagande. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Kuratorer betalar en kuratorskatt på 1% när de kurar en ny subgraf. Denna kuratorskatt bränns och minskar tillgången på GRT. @@ -63,7 +63,7 @@ När utvecklare har byggt och testat sin subgraf kan de [publicera sin subgraf]( ### Fråga en befintlig subgraf -När en subgraf är [publicerad](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) på The Graphs decentraliserade nätverk kan vem som helst skapa en API-nyckel, lägga till GRT i sin faktureringsbalans och fråga subgrafen. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. Subgrafter [frågas med GraphQL](/querying/querying-the-graph/) och frågeavgifterna betalas med GRT i [Subgraf Studio](https://thegraph.com/studio/). Frågeavgifterna distribueras till nätverksdeltagare baserat på deras bidrag till protokollet. From 5674180b09b357165d98c147732ab14e39f56192 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:28 -0400 Subject: [PATCH 0783/2326] New translations tokenomics.mdx (Turkish) --- website/pages/tr/tokenomics.mdx | 88 ++++++++++++++++----------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/website/pages/tr/tokenomics.mdx b/website/pages/tr/tokenomics.mdx index 06edf0b33c4f..1e5fbb1e0f39 100644 --- a/website/pages/tr/tokenomics.mdx +++ b/website/pages/tr/tokenomics.mdx @@ -1,110 +1,110 @@ --- -title: Graph Network'ün Token Ekonomisi -description: Graph Ağı, güçlü bir token ekonomisi tarafından teşvik edilmektedir. Graph'ın yerel çalışma yardımcı programı belirteci olan GRT şu şekilde çalışır. +title: Tokenomics of The Graph Network +description: The Graph Network is incentivized by powerful tokenomics. Here’s how GRT, The Graph’s native work utility token works. --- -- GRT Token Adresi: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) -- Arbitrum One Üzerinde GRT Token Adresi: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +- GRT Token Address on Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) -Graph, blockchain verilerine kolayca erişim sağlayan merkeziyetsiz bir protokoldür. +The Graph is a decentralized protocol that enables easy access to blockchain data. -Merkeziyetsiz bir katılımcı ağı tarafından desteklenmesi dışında B2B2C modeline benzer. Ağ katılımcıları, GRT ödülleri karşılığında son kullanıcılara veri sağlamak için birlikte çalışır. GRT, veri sağlayıcıları ve tüketicileri koordine eden iş aracı simgesidir. GRT, ağ içindeki veri sağlayıcıları ve tüketicileri koordine etmek için bir yardımcı program olarak hizmet ederken, protokol katılımcılarını verileri etkili bir şekilde düzenlemeye de teşvik eder. +It's similar to a B2B2C model, except it is powered by a decentralized network of participants. Network participants work together to provide data to end users in exchange for GRT rewards. GRT is the work utility token that coordinates data providers and consumers. GRT serves as a utility for coordinating data providers and consumers within the network and incentivizes protocol participants to organize data effectively. -Kullanıcılar The Graph'i kullanarak blok zincirindeki verilere kolayca erişebilir ve yalnızca ihtiyaç duydukları belirli bilgiler için ödeme yapabilirler. Graph, bugün web3 ekosistemindeki birçok [popular dapps](https://thegraph.com/explorer) tarafından kullanılmaktadır. +By using The Graph, users can easily access data from the blockchain, paying only for the specific information they need. The Graph is used by many [popular dapps](https://thegraph.com/explorer) in the web3 ecosystem today. -Graph, blockchain verilerini, Google'ın web'i indekslemesine benzer şekilde indeksler. Aslında, Graph'i farkında olmadan hali hazırda kullanıyor olabilirsiniz. Verilerini bir subgraph'ten alan merkeziyetsiz uygulamanın ön ucunu görüntülediyseniz, bu demek oluyor ki bir subgraph'ten veri sorgulamışsınız bile! +The Graph indexes blockchain data similarly to how Google indexes the web. In fact, you may already be using The Graph without realizing it. If you've viewed the front end of a dapp that gets its data from a subgraph, you queried data from a subgraph! -Graph, blok zinciri verilerini daha erişilebilir hale getirmede ve değiş tokuş için bir pazar yeri sağlamada çok önemli bir rol oynar. +The Graph plays a crucial role in making blockchain data more accessible and enabling a marketplace for its exchange. ## Ağ Katılımcılarının Rolleri -Dört birincil ağ katılımcısı vardır: +There are four primary network participants: -1. Delegatörler - GRT'yi indeksleyicilere stake eder & ağı güvenliğini sağlarlar +1. Delegators - Delegate GRT to Indexers & secure the network -2. Küratörler - İndeksleyiciler için en iyi subgraph'leri bulurlar +2. Curators - Find the best subgraphs for Indexers -3. Geliştiriciler - Subgraph'leri oluşturur & sorgular +3. Developers - Build & query subgraphs -4. İndeksleyiciler - Blockchain verilerinin omurgasıdır +4. Indexers - Backbone of blockchain data -Fishermen ve Arbitrator'ler, diğer birincil katılımcı rollerinin çalışmalarını destekleyen diğer katkılar yoluyla da ağın başarısının ayrılmaz bir parçasıdır. Ağ rolleri hakkında daha fazla bilgi için, [bu makaleye bir göz atın](https://thegraph.com/blog/the-graph-grt-token-economics/). +Fishermen and Arbitrators are also integral to the network’s success through other contributions, supporting the work of the other primary participant roles. For more information about network roles, [read this article](https://thegraph.com/blog/the-graph-grt-token-economics/). -![Tokenizasyon Diyagramı](/img/updated-tokenomics-image.png) +![Tokenomics diagram](/img/updated-tokenomics-image.png) ## Delegeler (Pasif olarak GRT kazanırlar) -İndeksleyicilere, delegatörler tarafından GRT token'lar stake edilir ve bu, indeksleyicinin ağda bulunan subgraph'lerdeki payını artırır. Buna karşılık, delegatörler, indeksleyici'den tüm sorgu ücretlerinin ve indeksleme ödüllerinin bir yüzdesini kazanır. Her indeksleyici, delegatörlere ödüllendirilecek kesintiyi bağımsız olarak belirleyerek, indeksleyiciler arasında delegatörleri çekmek için rekabet yaratır. Çoğu indeksleyici yılda %9-12 arasında teklif verir. +Indexers are delegated GRT by Delegators increasing the Indexer’s stake in subgraphs on the network. In return, Delegators earn a percentage of all query fees and indexing rewards from the Indexer. Each Indexer sets the cut that will be rewarded to Delegators independently, creating competition among Indexers to attract Delegators. Most Indexers offer between 9-12% annually. -Örneğin, bir delegatör, %10 teklif veren bir indeksleyiciye 15.000 GRT stake ederse, delegatör yılda ~1500 GRT ödül alacaktır. +For example, if a Delegator were to delegate 15k GRT to an Indexer offering 10%, the Delegator would receive ~1500 GRT in rewards annually. -Bir delegatör ağ üzerinde GRT stake ettiğinde, yakılan %0,5'lik bir delegasyon vergisi bulunmakta. Bir delegatör, stake edilen GRT'sini geri çekmek isterse, delegatör 28 dönemlik cooldown süresini beklemelidir. Her dönem 6.646 bloktur, bu da 28 dönemin yaklaşık 26 gün olduğu anlamına gelir. +There is a 0.5% delegation tax which is burned whenever a Delegator delegates GRT on the network. If a Delegator chooses to withdraw their delegated GRT, the Delegator must wait for the 28-epoch unbonding period. Each epoch is 6,646 blocks, which means 28 epochs ends up being approximately 26 days. -Bunu okuyorsanız, şu anda [network participants page](https://thegraph.com/explorer/participants/indexers)'e giderek ve GRT'yi seçtiğiniz bir indeksleyiciye stake ederek bir delegatör olabilirsiniz. +If you're reading this, you're capable of becoming a Delegator right now by heading to the [network participants page](https://thegraph.com/explorer/participants/indexers), and delegating GRT to an Indexer of your choice. ## Küratörler (GRT Kazanırlar) -Küratörler, yüksek kaliteli subgraph'leri belirler ve subgraph tarafından oluşturulan gelecekteki tüm sorgu ücretlerinin bir yüzdesini garanti eden kürasyon payları kazanmak için bunları "düzenler" (yani üzerlerinde GRT sinyali verir). Herhangi bir bağımsız ağ katılımcısı bir küratör olabilirken, genellikle subgraph geliştiricileri kendi subgraph'leri için ilk küratörler arasındadır çünkü subgraph'lerinin indekslendiğinden emin olmak isterler. +Curators identify high-quality subgraphs, and "curate" them (i.e., signal GRT on them) to earn curation shares, which guarantee a percentage of all future query fees generated by the subgraph. While any independent network participant can be a Curator, typically subgraph developers are among the first Curators for their own subgraphs because they want to ensure their subgraph is indexed. -Aralık 2022 itibariyle, subgraph geliştiricilerin subgraph'lerini en az 10.000 GRT ile kürasyon yapmaları teşvik edilmektedir. Ancak, bu sayı ağ etkinliğinden ve topluluk katılımından etkilenebilir. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. -Küratörler, yeni bir subgraph'in küratörlüğünü yaptıklarında %1 kürasyon vergisi öderler. Bu kürasyon vergisi yakılır ve GRT arzından düşer. +Curators pay a 1% curation tax when they curate a new subgraph. This curation tax is burned, decreasing the supply of GRT. ## Geliştiriciler -Geliştiriciler, blockchain verilerini almak için subgrpah'ler inşa eder ve sorgular. Subgraph'ler açık kaynak olduğundan, geliştiriciler blok zinciri verilerini kendi veri uygulamalarına yüklemek için mevcut subgraph'leri sorgulayabilir. Geliştiriciler, ağ katılımcılarına dağıtılan GRT'de yaptıkları sorgular için ödeme yaparlar. +Developers build and query subgraphs to retrieve blockchain data. Since subgraphs are open source, developers can query existing subgraphs to load blockchain data into their dapps. Developers pay for queries they make in GRT, which is distributed to network participants. ### Subgraph oluşturma -Geliştiriciler, blok zincirindeki verileri indekslemek için [buraya](/developing/creating-a-subgraph/) göz atabilir. Subgraph'ler, indeksleyiciler için tüketicilere hangi verilerin sunulması gerektiğine ilişkin talimatlardır. +Developers can [create a subgraph](/developing/creating-a-subgraph/) to index data on the blockchain. Subgraphs are instructions for Indexers about which data should be served to consumers. -Geliştiriciler subgraph'lerini inşa edip test ettikten sonra, Graph'in merkeziyetsiz ağında [subgraph'lerini yayınlayabilir](/publishing/publishing-a-subgraph/). +Once developers have built and tested their subgraph, they can [publish their subgraph](/publishing/publishing-a-subgraph/) on The Graph's decentralized network. ### Mevcut bir subgraph'ı sorgulama -Bir subgraph, Graph'in merkeziyetsiz ağında [yayınlandığında](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/), herkes bir API anahtarı oluşturabilir, GRT'yi fatura bakiyelerine ekleyebilir ve subgraph'i sorgulayabilir. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. -Subgraph'ler [GraphQL kullanılarak](/querying/querying-the-graph/) sorgulanır ve sorgu ücretleri [Subgraph Studio](https://thegraph.com/studio/)'da GRT ile ödenir. Sorgu ücretleri, ağ katılımcılarına katkılarına göre dağıtılır. protokol. +Subgraphs are [queried using GraphQL](/querying/querying-the-graph/), and the query fees are paid for with GRT in [Subgraph Studio](https://thegraph.com/studio/). Query fees are distributed to network participants based on their contributions to the protocol. -Ağa ödenen sorgu ücretlerinin %1'i yakılır. +1% of the query fees paid to the network are burned. ## İndeksleyiciler (GRT Kazanırlar) -İndeksleyiciler Graph'in omurgasıdır. Graph'in merkeziyetsiz ağına güç sağlayan bağımsız donanım ve yazılım kullanırlar. İndeksleyiciler, subgraph'lerden gelen talimatlara dayalı olarak tüketicilere veri sunar. +Indexers are the backbone of The Graph. They operate independent hardware and software powering The Graph’s decentralized network. Indexers serve data to consumers based on instructions from subgraphs. -İndeksleyiciler, GRT ödüllerini iki şekilde kazanabilir: +Indexers can earn GRT rewards in two ways: 1. Sorgu ücretleri: Subgraph veri sorguları için geliştiriciler veya kullanıcılar tarafından ödenen GRT'dir. Sorgu ücretleri, üstel indirim fonksiyonuna göre doğrudan İndeksleyicilere dağıtılır ([buradan](https://forum.thegraph.com/t/gip-0051-exponential-query-fee-rebates-for-indexers/4162) GIP'e ulaşın). -2. İndeksleme ödülleri: %3'lük yıllık ihraç, indeksleyicilere indeksledikleri subgraph sayısına göre dağıtılır. Bu ödüller, indeksleyicileri, verileri doğru bir şekilde dizine eklediklerini doğrulayan İndeksleme Kanıtlarını (POI'ler) tahakkuk ettirmek ve sunmak için ara sıra sorgu ücretleri başlamadan önce subgraphleri indekslemeye teşvik eder. +2. Indexing rewards: the 3% annual issuance is distributed to Indexers based on the number of subgraphs they are indexing. These rewards incentivize Indexers to index subgraphs, occasionally before the query fees begin, to accrue and submit Proofs of Indexing (POIs) verifying that they have indexed data accurately. -Her bir subgraph'e, subgraph'in kürasyon sinyalinin miktarına bağlı olarak toplam ağ belirteci düzenlemesinin bir kısmı tahsis edilir. Bu miktar daha sonra subgraph'te tahsis edilen paylarına göre indeksleyicilere ödül olarak gönderilir. +Each subgraph is allotted a portion of the total network token issuance, based on the amount of the subgraph’s curation signal. That amount is then rewarded to Indexers based on their allocated stake on the subgraph. -Bir indeksleme node'u çalıştırmak için, indeksleyicilerin ağ üzerinde 100.000 GRT veya daha fazlasını stake etmesi gerekir. İndeksleyiciler, hizmet ettikleri sorgu miktarıyla orantılı olarak GRT'yi paylaştırmaya teşvik edilir. +In order to run an indexing node, Indexers must stake 100,000 GRT or more with the network. Indexers are incentivized to stake GRT in proportion to the amount of queries they serve. -İndeksleyiciler, delegatörlerden GRT delegasyonunu kabul ederek subgraph'lerdeki GRT tahsislerini artırabilir ve ilk paylarının 16 katına kadar kabul edebilirler. Bir indeksleyici "aşırı yetkilendirilmiş" hale gelirse (yani, ilk paylarının 16 katından fazla), ağdaki paylarını artırana kadar delegatörlerden gelen ek GRT'yi kullanamazlar. +Indexers can increase their GRT allocations on subgraphs by accepting GRT delegation from Delegators, and they can accept up to 16 times their initial stake. If an Indexer becomes "over-delegated" (i.e., more than 16 times their initial stake), they will not be able to use the additional GRT from Delegators until they increase their stake in the network. -Bir indeksleyicinin aldığı ödüllerin miktarı, ilk stake'e, kabul edilen delegasyona, hizmet kalitesine ve daha birçok faktöre göre değişebilir. Aşağıdaki tablo, Graph'in merkeziyetsiz ağındaki etkin bir indeksleyiciden alınan, halka açık verilerdir. +The amount of rewards an Indexer receives can vary based on the initial stake, accepted delegation, quality of service, and many more factors. The following chart is publicly available data from an active Indexer on The Graph's decentralized network. ### allnodes-com.eth'nin İndeksleyici stake ve ödülü -![İndeksleme stake ve ödülleri](/img/indexing-stake-and-income.png) +![Indexing stake and rewards](/img/indexing-stake-and-income.png) -Bu veriler Şubat 2021'den Eylül 2022'ye kadardır. +This data is from February 2021 to September 2022. -> Lütfen unutmayın, [Arbitrum migration](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551) tamamlandığında bu durum düzelecek ve gaz maliyetlerini ağa katılım için önemli ölçüde daha düşük bir yük haline getirecektir. +> Please note, this will improve when the [Arbitrum migration](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551) is complete, making gas costs a significantly lower burden for participating on the network. ## Token Arzı: Yakma & İhraç -İlk token arzı 10 milyar GRT'dir ve indeksleyiciler subgraph'lere pay ayırdıkları için ödüllendirmek adına yıllık %3 yeni ihraç hedefi vardır. Bu, ağa katkılarından dolayı indeksleyicilere yeni tokenlar verildikçe, GRT tokenlarının toplam arzının her yıl %3 artacağı anlamına gelir. +The initial token supply is 10 billion GRT, with a target of 3% new issuance annually to reward Indexers for allocating stake on subgraphs. This means that the total supply of GRT tokens will increase by 3% each year as new tokens are issued to Indexers for their contribution to the network. -Graph, yeni token ihracını dengelemek için çoklu yazma mekanizmalarıyla tasarlanmıştır. GRT arzının yaklaşık %1'i her yıl ağdaki çeşitli faaliyetler yoluyla yakılmaktadır ve bu sayı, ağ etkinliği artmaya devam ettikçe artmaktadır. Bu yakma faaliyetleri, bir delegatör GRT'yi bir indeksleyiciye stake ettiğinde %0,5'lik bir delegasyon vergisi, küratörler bir subgraph'te sinyal verdiğinde %1'lik bir kürasyon vergisi ve blok zinciri verileri için %1'lik bir sorgulama ücreti içerir. +The Graph is designed with multiple burning mechanisms to offset new token issuance. Approximately 1% of the GRT supply is burned annually through various activities on the network, and this number has been increasing as network activity continues to grow. These burning activities include a 0.5% delegation tax whenever a Delegator delegates GRT to an Indexer, a 1% curation tax when Curators signal on a subgraph, and a 1% of query fees for blockchain data. -![Toplam Yakılmış GRT](/img/total-burned-grt.jpeg) +![Total burned GRT](/img/total-burned-grt.jpeg) -Düzenli olarak meydana gelen bu yakma faaliyetlerine ek olarak, GRT tokenı ayrıca indeksleyicilerin kötü niyetli veya sorumsuz davranışlarını cezalandırmak için yürürlükte olan bir kesme mekanizmasına sahiptir. Bir indeksleyici kesilirse, dönem için indeksleme ödüllerinin %50'si yakılır (diğer yarısı fisherman'e gider) ve öz payı %2,5 oranında azaltılır ve bu miktarın da yarısı yakılır. Bu, indeksleyicilerin ağın çıkarları doğrultusunda hareket etme ve güvenlik ve istikrarına katkıda bulunma yönünde güçlü bir teşvike sahip olmasını sağlamaya yardımcı olur. +In addition to these regularly occurring burning activities, the GRT token also has a slashing mechanism in place to penalize malicious or irresponsible behavior by Indexers. If an Indexer is slashed, 50% of their indexing rewards for the epoch are burned (while the other half goes to the fisherman), and their self-stake is slashed by 2.5%, with half of this amount being burned. This helps to ensure that Indexers have a strong incentive to act in the best interests of the network and to contribute to its security and stability. ## Protokolün Geliştirilmesi -Graph ağı sürekli gelişmektedir ve tüm ağ katılımcılarına en iyi deneyimi sağlamak için protokolün ekonomik tasarımında sürekli iyileştirmeler yapılmaktadır. Graph Konseyi, protokol değişikliklerini denetler ve topluluk üyelerinin katılmaya teşvik edilir. [Graph Forum](https://forum.thegraph.com/)'daki protokol iyileştirmelerine dahil olmayı unutmayın. +The Graph Network is ever-evolving and improvements to the economic design of the protocol are constantly being made to provide the best experience for all network participants. The Graph Council oversees protocol changes and community members are encouraged to participate. Get involved with protocol improvements in [The Graph Forum](https://forum.thegraph.com/). From b60f1d494c0522d8b597545ec7b5b02c1edafe11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:29 -0400 Subject: [PATCH 0784/2326] New translations tokenomics.mdx (Ukrainian) --- website/pages/uk/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/uk/tokenomics.mdx b/website/pages/uk/tokenomics.mdx index afb0f5d46943..0720187917e8 100644 --- a/website/pages/uk/tokenomics.mdx +++ b/website/pages/uk/tokenomics.mdx @@ -3,7 +3,7 @@ title: Токеноміка мережі The Graph description: Мережа The Graph стимулюється потужною токеномікою. Ось як працює GRT, нативний токен мережі The Graph. --- -- Адреса GRT токена: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - Адреса GRT токена в мережі Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ Fishermen та Arbitrators також є невіднятною частиною Куратори визначають високоякісні підграфи та "курують" їх (тобто сигналізують про них за допомогою GRT), щоб отримати кураторські частки, які гарантують відсоток від усіх майбутніх комісій за запити, що генеруються підграфом. Попри те, що будь-який користувач мережі може бути куратором, зазвичай розробники підграфів є одними з перших кураторів власних підграфів, оскільки вони хочуть забезпечити індексацію свого підграфа. -Станом на грудень 2022 року розробники підграфів заохочуються до кураторства своїх підграфів з щонайменше 10 000 GRT. Однак на цю цифру може вплинути активність мережі та активна участь спільноти. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Куратори сплачують збір у розмірі 1%, коли вони починають курувати новий підграф. Цей % спалюється, зменшуючи загальну кількість токенів GRT. @@ -63,7 +63,7 @@ Fishermen та Arbitrators також є невіднятною частиною ### Querying an existing subgraph -З того моменту, коли підграф [опубліковано](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) в децентралізованій мережі The Graph, будь-хто може створити свій API ключ, поповнити свій платіжний баланс токеном GRT і зробити запит до підграфа. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. Запити до підграфів роблять за допомогою [GraphQL](/querying/querying-the-graph/), а оплата комісій здійснюється за допомогою GRT в [Subgraph Studio](https://thegraph.com/studio/). Ці комісії розподіляються між користувачами мережі на основі їх внесків у роботу протоколу. From ad5174c2784679fbefa30b5f3545ae7233d45d14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:30 -0400 Subject: [PATCH 0785/2326] New translations tokenomics.mdx (Chinese Simplified) --- website/pages/zh/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/zh/tokenomics.mdx b/website/pages/zh/tokenomics.mdx index 5c3af861018c..dfb848f1ceee 100644 --- a/website/pages/zh/tokenomics.mdx +++ b/website/pages/zh/tokenomics.mdx @@ -3,7 +3,7 @@ title: Graph网络的代币经济学 description: Graph网络受到强大的代币经济学的激励。以下是GRT——Graph的原生工具代币的工作原理。 --- -- GRT代币地址:[0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - Arbitrum One上的GRT代币地址: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ Graph索引区块链数据的方式与Google索引web的方式类似。事实上 策展人识别高质量的子图,并对其进行“策展”(即向其发出GRT信号),以获得策展份额,这保证了子图产生的所有未来查询费用的一定比例。尽管任何独立的网络参与者都可以是策展人,但通常子图开发人员是他们自己子图的首批策展人之一,因为他们希望确保自己的子图被索引。 -截至2022年12月,子图开发人员被鼓励至少使用10000GRT策展他们的子图。然而,这一数字可能会受到网络活动和社区参与的影响。 +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. 策展人在策划新的子图时要缴纳1%的策展税。这种策展税被销毁了,减少了GRT的供应。 @@ -63,7 +63,7 @@ Graph索引区块链数据的方式与Google索引web的方式类似。事实上 ### 查询现存子图 -一旦子图[发布](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/)到Graph的去中心化网络,任何人都可以创建API密钥,将GRT添加到他们的账单余额中,并查询子图。 +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. 子图[使用GraphQL查询](/querying/querying-the-graph/),查询费用由[子图工作室](https://thegraph.com/studio/)中的GRT支付。查询费用根据网络参与者对协议的贡献分配给他们。 From 0c06b08a1293d636a78adfc1cdc19815f5df7daf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:31 -0400 Subject: [PATCH 0786/2326] New translations tokenomics.mdx (Urdu (Pakistan)) --- website/pages/ur/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ur/tokenomics.mdx b/website/pages/ur/tokenomics.mdx index 199ffa9ede9a..746823f815ea 100644 --- a/website/pages/ur/tokenomics.mdx +++ b/website/pages/ur/tokenomics.mdx @@ -3,7 +3,7 @@ title: گراف نیٹ ورک کے ٹوکنومکس description: گراف نیٹ ورک کو طاقتور ٹوکنومکس کے ذریعے ترغیب دی جاتی ہے۔ یہاں GRT، دی گراف کی مقامی ورک یوٹیلیٹی ٹوکن کام کرنے کا طریقہ ہے. --- -- GRT ٹوکن ایڈریس: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - آربٹرم ون پر GRT ٹوکن ایڈریس: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ description: گراف نیٹ ورک کو طاقتور ٹوکنومکس کے ذر کیوریٹرز اعلیٰ معیار کے سب گراف کی شناخت کرتے ہیں، اور کیوریشن شیئرز حاصل کرنے کے لیے ان کو "کیوریٹ" کرتے ہیں (یعنی ان پر GRT کا اشارہ دیتے ہیں)، جو سب گراف کے ذریعے پیدا ہونے والی مستقبل کی تمام کیوری کی فیسوں کے فیصد کی ضمانت دیتے ہیں۔ اگرچہ کوئی بھی آزاد نیٹ ورک حصہ دار کیوریٹر ہو سکتا ہے، عام طور پر سب گراف ڈویلپرز اپنے سب گراف کے لیے پہلے کیوریٹرز میں شامل ہوتے ہیں کیونکہ وہ اس بات کو یقینی بنانا چاہتے ہیں کہ ان کا سب گراف انڈیکس ہو. -دسمبر 2022 تک، سب گراف ڈویلپرز کی حوصلہ افزائی کی جاتی ہے کہ وہ اپنے سب گراف کو کم از کم 10,000 GRT کے ساتھ درست کریں۔ تاہم، یہ تعداد نیٹ ورک کی سرگرمی اور کمیونٹی کی شرکت سے متاثر ہو سکتی ہے. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. کیوریٹرز جب نیا سب گراف کیوریٹ کرتے ہیں تو 1% کیوریشن ٹیکس ادا کرتے ہیں۔ اس کیوریشن ٹیکس کو جلا دیا جاتا ہے، جس سے GRT کی سپلائی کم ہوتی ہے. @@ -63,7 +63,7 @@ description: گراف نیٹ ورک کو طاقتور ٹوکنومکس کے ذر ### موجودہ سب گراف کو کیوری کریں -ایک بار جب گراف کے ڈیسینٹرالائزڈ نیٹ ورک پر سب گراف [شائع](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) ہو جائے تو، کوئی بھی API کی بنا سکتا ہے، شامل کر سکتا ہے۔ ان کے بلنگ بیلنس پر GRT کریں، اور سب گراف سے کیوری کریں. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. سب گراف [GraphQL کا استعمال کرتے ہوئے کیوری کیے جاتے ہیں](/querying/querying-the-graph/)، اور کیوری کی فیس GRT کے ساتھ [سب گراف اسٹوڈیو](https://thegraph.com/studio میں ادا کی جاتی ہے۔ /)۔ پروٹوکول میں ان کے تعاون کی بنیاد پر نیٹ ورک کے شرکاء میں کیوری کی فیس تقسیم کی جاتی ہے. From b382a9990d133c6b4c8ef6120808011ed748a6fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:32 -0400 Subject: [PATCH 0787/2326] New translations tokenomics.mdx (Vietnamese) --- website/pages/vi/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/vi/tokenomics.mdx b/website/pages/vi/tokenomics.mdx index b87200dc6b04..6fa9686eec71 100644 --- a/website/pages/vi/tokenomics.mdx +++ b/website/pages/vi/tokenomics.mdx @@ -3,7 +3,7 @@ title: Tokenomics of The Graph Network description: The Graph Network is incentivized by powerful tokenomics. Here’s how GRT, The Graph’s native work utility token works. --- -- GRT Token Address: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - GRT Token Address on Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ If you're reading this, you're capable of becoming a Delegator right now by head Curators identify high-quality subgraphs, and "curate" them (i.e., signal GRT on them) to earn curation shares, which guarantee a percentage of all future query fees generated by the subgraph. While any independent network participant can be a Curator, typically subgraph developers are among the first Curators for their own subgraphs because they want to ensure their subgraph is indexed. -As of December 2022, subgraph developers are encouraged to curate their subgraph with at least 10,000 GRT. However, this number may be impacted by network activity and community participation. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Curators pay a 1% curation tax when they curate a new subgraph. This curation tax is burned, decreasing the supply of GRT. @@ -63,7 +63,7 @@ Once developers have built and tested their subgraph, they can [publish their su ### Querying an existing subgraph -Once a subgraph is [published](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. Subgraphs are [queried using GraphQL](/querying/querying-the-graph/), and the query fees are paid for with GRT in [Subgraph Studio](https://thegraph.com/studio/). Query fees are distributed to network participants based on their contributions to the protocol. From 4a0359cde2491b605d9db41a471a716092f99549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:33 -0400 Subject: [PATCH 0788/2326] New translations tokenomics.mdx (Marathi) --- website/pages/mr/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/mr/tokenomics.mdx b/website/pages/mr/tokenomics.mdx index faeeb0770cee..08698f8c5f7a 100644 --- a/website/pages/mr/tokenomics.mdx +++ b/website/pages/mr/tokenomics.mdx @@ -3,7 +3,7 @@ title: ग्राफ नेटवर्कचे टोकनॉमिक् description: ग्राफ नेटवर्क शक्तिशाली टोकनॉमिक्सद्वारे प्रोत्साहन दिले जाते. GET, The Graph चे नेटिव्ह वर्क युटिलिटी टोकन कसे कार्य करते ते येथे आहे. --- -- GRT टोकन पत्ता: [0xc944e90c64b2c07662a292be6244bdf07](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - आर्बिट्रम वन वर GRT टोकन पत्ता: [0x9623063377AD1B27544C965cCd738](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ Google वेब कसे अनुक्रमित करते त्या क्युरेटर्स उच्च-गुणवत्तेचे सबग्राफ ओळखतात आणि क्युरेशन शेअर्स मिळविण्यासाठी त्यांना "क्युरेट" करतात (म्हणजे त्यांच्यावर GRT सिग्नल करतात), जे सबग्राफद्वारे व्युत्पन्न केलेल्या भविष्यातील सर्व क्वेरी फीच्या टक्केवारीची हमी देतात. कोणताही स्वतंत्र नेटवर्क सहभागी क्युरेटर असू शकतो, सामान्यत: सबग्राफ डेव्हलपर त्यांच्या स्वत: च्या सबग्राफसाठी प्रथम क्युरेटर्समध्ये असतात कारण त्यांना त्यांचा सबग्राफ इंडेक्स केलेला असल्याची खात्री करायची असते. -डिसेंबर 2022 पर्यंत, सबग्राफ डेव्हलपरना किमान 10,000 GRT सह त्यांचे सबग्राफ क्युरेट करण्यासाठी प्रोत्साहित केले जाते. तथापि, ही संख्या नेटवर्क क्रियाकलाप आणि समुदायाच्या सहभागामुळे प्रभावित होऊ शकते. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. क्युरेटर जेव्हा नवीन सबग्राफ क्युरेट करतात तेव्हा 1% क्युरेशन कर भरतात. हा क्युरेशन कर बर्न केला जातो, जीआरटीचा पुरवठा कमी होतो. @@ -63,7 +63,7 @@ Google वेब कसे अनुक्रमित करते त्या ### विद्यमान सबग्राफची चौकशी करत आहे -एकदा सबग्राफ द ग्राफच्या विकेंद्रीकृत नेटवर्कवर [प्रकाशित](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) झाल्यावर, कोणीही API की तयार करू शकतो, जोडा त्यांच्या बिलिंग शिल्लकवर GRT करा आणि सबग्राफची क्वेरी करा. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. सबग्राफ [GraphQL वापरून विचारले जातात](/querying/querying-the-graph/), आणि क्वेरी शुल्कासाठी GRT सह [सबग्राफ स्टुडिओ](https://thegraph.com/studio मध्ये पैसे दिले जातात /). प्रोटोकॉलमधील त्यांच्या योगदानाच्या आधारावर नेटवर्क सहभागींना क्वेरी फी वितरित केली जाते. From 42be57115e0d77605b04bc6c5b08f3b2a9c52253 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:34 -0400 Subject: [PATCH 0789/2326] New translations tokenomics.mdx (Hindi) --- website/pages/hi/tokenomics.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/hi/tokenomics.mdx b/website/pages/hi/tokenomics.mdx index 0e7711aa0ba0..606a0519b1bb 100644 --- a/website/pages/hi/tokenomics.mdx +++ b/website/pages/hi/tokenomics.mdx @@ -3,7 +3,7 @@ title: ग्राफ नेटवर्क के टोकनोमिक् description: ग्राफ़ नेटवर्क को शक्तिशाली टोकन अर्थशास्त्र द्वारा प्रोत्साहित किया जाता है। यहां बताया गया है कि कैसे GET, ग्राफ़ का मूल कार्य उपयोगिता टोकन काम करता है। --- -- GRT Token Address: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - GRT Token Address on Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -11,11 +11,11 @@ description: ग्राफ़ नेटवर्क को शक्तिश ग्राफ़ एक विकेन्द्रीकृत प्रोटोकॉल है जो ब्लॉकचैन डेटा तक आसान पहुंच को सक्षम बनाता है। यह B2B2C मॉडल के समान है, सिवाय इसके कि यह प्रतिभागियों के विकेंद्रीकृत नेटवर्क द्वारा संचालित है। जीआरटी पुरस्कारों के बदले अंतिम उपयोगकर्ताओं को डेटा प्रदान करने के लिए नेटवर्क प्रतिभागी एक साथ काम करते हैं। जीआरटी कार्य उपयोगिता टोकन है जो डेटा प्रदाताओं और उपभोक्ताओं का समन्वय करता है। GRT नेटवर्क के भीतर डेटा प्रदाताओं और उपभोक्ताओं के समन्वय के लिए एक उपयोगिता के रूप में कार्य करता है और डेटा को प्रभावी ढंग से व्यवस्थित करने के लिए प्रोटोकॉल प्रतिभागियों को प्रोत्साहित करता है। -By using The Graph, users can easily access data from the blockchain, paying only for the specific information they need. The Graph is used by many [popular dapps](https://thegraph.com/explorer) in the web3 ecosystem today. +Graph का उपयोग करके, users आसानी से blockchain से data तक पहुँच सकते हैं, केवल उन specific information के लिए भुगतान करते हुए जो उन्हें आवश्यक होती है। आज web3 ecosystem में कई [popular dapps](https://thegraph.com/explorer) द्वारा Graph का उपयोग किया जाता है। -ग्राफ़ ब्लॉकचेन डेटा को उसी तरह अनुक्रमित करता है जैसे Google वेब को अनुक्रमित करता है। वास्तव में, हो सकता है कि आप पहले से ही ग्राफ़ का उपयोग बिना इसे जाने कर रहे हों। यदि आपने एक डैप के सामने के छोर को देखा है जो एक सबग्राफ से अपना डेटा प्राप्त करता है, तो आपने एक सबग्राफ से डेटा की क्वेरी की है! +Graph blockchain data को उसी तरह indexes करता है जैसे Google web को indexes करता है। In fact, हो सकता है कि आप पहले से ही Graph का उपयोग बिना इसे जाने कर रहे हों। यदि आपने एक dapp के front end को देखा है जो एक subgraph से अपना data प्राप्त करता है, तो आपने एक subgraph से data की query की है! -ब्लॉकचैन डेटा को अधिक सुलभ बनाने और इसके एक्सचेंज के लिए बाज़ार को सक्षम करने में ग्राफ़ एक महत्वपूर्ण भूमिका निभाता है। +Blockchain data को अधिक accessible बनाने और इसके exchange के लिए बाज़ार को सक्षम करने में Graph एक महत्वपूर्ण भूमिका निभाता है। ## नेटवर्क प्रतिभागियों की भूमिकाएँ @@ -23,7 +23,7 @@ By using The Graph, users can easily access data from the blockchain, paying onl 1. डेलिगेटर्स - इंडेक्सर्स और amp के लिए GRT डेलिगेट करें; नेटवर्क को सुरक्षित करें -2. क्यूरेटर - इंडेक्सर्स के लिए सर्वश्रेष्ठ सबग्राफ खोजें +2. Curators - Find the best subgraphs for Indexers 3. डेवलपर - निर्माण और amp; क्वेरी सबग्राफ @@ -35,7 +35,7 @@ By using The Graph, users can easily access data from the blockchain, paying onl ## Delegators (Passively earn GRT) -नेटवर्क पर सबग्राफ में इंडेक्सर की हिस्सेदारी बढ़ाने वाले डेलिगेटर्स द्वारा इंडेक्सर्स को GRT प्रत्यायोजित किया जाता है। बदले में, डेलिगेटर्स इंडेक्सर से सभी क्वेरी फीस और इंडेक्सिंग रिवार्ड्स का एक प्रतिशत अर्जित करते हैं। प्रत्येक इंडेक्सर कट सेट करता है जिसे डेलीगेटर्स को स्वतंत्र रूप से पुरस्कृत किया जाएगा, जिससे डेलिगेटरों को आकर्षित करने के लिए इंडेक्सर्स के बीच प्रतिस्पर्धा पैदा होगी। अधिकांश इंडेक्सर्स सालाना 9-12% के बीच की पेशकश करते हैं। +Network पर subgraphs में Indexers की हिस्सेदारी बढ़ाने वाले Delegators द्वारा Indexer’s को GRT प्रत्यायोजित किया जाता है। बदले में, Delegators Indexer से सभी query fees और indexing rewards का एक प्रतिशत अर्जित करते हैं। प्रत्येक Indexer cut set करता है जिसे Delegators को independent रूप से rewarded किया जाएगा, जिससे Delegators को attract करने के लिए Indexers के बीच competition पैदा होगी। Most Indexers सालाना 9-12% के बीच का offer करते हैं। उदाहरण के लिए, यदि एक डेलिगेटर को 10% की पेशकश करने वाले इंडेक्सर को 15k GRT प्रत्यायोजित करना होता है, तो डेलिगेटर को सालाना पुरस्कारों में ~1500 GRT प्राप्त होगा। @@ -47,7 +47,7 @@ By using The Graph, users can easily access data from the blockchain, paying onl क्यूरेटर उच्च-गुणवत्ता वाले सबग्राफ की पहचान करते हैं, और क्यूरेशन शेयर अर्जित करने के लिए उन्हें "क्यूरेट" करते हैं (यानी, उन पर जीआरटी का संकेत देते हैं), जो सबग्राफ द्वारा उत्पन्न सभी भविष्य की क्वेरी फीस के प्रतिशत की गारंटी देते हैं। जबकि कोई भी स्वतंत्र नेटवर्क प्रतिभागी क्यूरेटर हो सकता है, आमतौर पर सबग्राफ डेवलपर्स अपने स्वयं के सबग्राफ के लिए पहले क्यूरेटर में से होते हैं क्योंकि वे यह सुनिश्चित करना चाहते हैं कि उनका सबग्राफ अनुक्रमित हो। -दिसंबर 2022 तक, सबग्राफ डेवलपर्स को प्रोत्साहित किया जाता है कि वे अपने सबग्राफ को कम से कम 10,000 जीआरटी के साथ क्यूरेट करें। हालाँकि, यह संख्या नेटवर्क गतिविधि और सामुदायिक भागीदारी से प्रभावित हो सकती है। +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. जब क्यूरेटर एक नया सबग्राफ तैयार करते हैं तो क्यूरेटर 1% क्यूरेशन टैक्स का भुगतान करते हैं। इस क्यूरेशन टैक्स को जला दिया जाता है, जिससे जीआरटी की आपूर्ति घट जाती है। @@ -63,7 +63,7 @@ By using The Graph, users can easily access data from the blockchain, paying onl ### किसी मौजूदा सबग्राफ को क्वेरी करना -ग्राफ़ के विकेंद्रीकृत नेटवर्क पर एक बार सबग्राफ [प्रकाशित](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) हो जाने पर, कोई भी API कुंजी बना सकता है, जोड़ सकता है उनके बिलिंग बैलेंस में GRT, और सबग्राफ को क्वेरी करें। +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. सबग्राफ [GraphQL का उपयोग करके पूछताछ की जाती है](/querying/querying-the-graph/), और क्वेरी शुल्क का भुगतान [सबग्राफ स्टूडियो](https://thegraph.com/studio में जीआरटी के साथ किया जाता है /)। प्रोटोकॉल में उनके योगदान के आधार पर नेटवर्क प्रतिभागियों को क्वेरी शुल्क वितरित किया जाता है। From 00e4b1b83d540340b65a507f9ea7be6cb9eb7f2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:35 -0400 Subject: [PATCH 0790/2326] New translations tokenomics.mdx (Yoruba) --- website/pages/yo/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/yo/tokenomics.mdx b/website/pages/yo/tokenomics.mdx index b87200dc6b04..6fa9686eec71 100644 --- a/website/pages/yo/tokenomics.mdx +++ b/website/pages/yo/tokenomics.mdx @@ -3,7 +3,7 @@ title: Tokenomics of The Graph Network description: The Graph Network is incentivized by powerful tokenomics. Here’s how GRT, The Graph’s native work utility token works. --- -- GRT Token Address: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - GRT Token Address on Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ If you're reading this, you're capable of becoming a Delegator right now by head Curators identify high-quality subgraphs, and "curate" them (i.e., signal GRT on them) to earn curation shares, which guarantee a percentage of all future query fees generated by the subgraph. While any independent network participant can be a Curator, typically subgraph developers are among the first Curators for their own subgraphs because they want to ensure their subgraph is indexed. -As of December 2022, subgraph developers are encouraged to curate their subgraph with at least 10,000 GRT. However, this number may be impacted by network activity and community participation. +As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. Curators pay a 1% curation tax when they curate a new subgraph. This curation tax is burned, decreasing the supply of GRT. @@ -63,7 +63,7 @@ Once developers have built and tested their subgraph, they can [publish their su ### Querying an existing subgraph -Once a subgraph is [published](https://thegraph.com/docs/en/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. +Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. Subgraphs are [queried using GraphQL](/querying/querying-the-graph/), and the query fees are paid for with GRT in [Subgraph Studio](https://thegraph.com/studio/). Query fees are distributed to network participants based on their contributions to the protocol. From 7c7223c60319a938d1006385473f83086acb5e06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:36 -0400 Subject: [PATCH 0791/2326] New translations operating-graph-node.mdx (Romanian) --- website/pages/ro/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ro/operating-graph-node.mdx b/website/pages/ro/operating-graph-node.mdx index 4f0f856db111..933eaf860511 100644 --- a/website/pages/ro/operating-graph-node.mdx +++ b/website/pages/ro/operating-graph-node.mdx @@ -77,13 +77,13 @@ A complete Kubernetes example configuration can be found in the [indexer reposit When it is running Graph Node exposes the following ports: -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ----------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | > **Important**: Be careful about exposing ports publicly - **administration ports** should be kept locked down. This includes the the Graph Node JSON-RPC endpoint. @@ -114,7 +114,7 @@ Full documentation of `config.toml` can be found in the [Graph Node docs](https: #### Multiple Graph Nodes -Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestor), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Note that multiple Graph Nodes can all be configured to use the same database, which itself can be horizontally scaled via sharding. From 8b1a584a22ca4a4d0ce05e80bccef9565bfc4462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:37 -0400 Subject: [PATCH 0792/2326] New translations operating-graph-node.mdx (French) --- website/pages/fr/operating-graph-node.mdx | 40 +++++++++++------------ 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/fr/operating-graph-node.mdx b/website/pages/fr/operating-graph-node.mdx index 3f8f8b844054..d960da0a2335 100644 --- a/website/pages/fr/operating-graph-node.mdx +++ b/website/pages/fr/operating-graph-node.mdx @@ -18,15 +18,15 @@ Le magasin principal du nœud de graph, c'est là que les données des sous-grap ### Clients réseau -In order to index a network, Graph Node needs access to a network client via an EVM-compatible JSON-RPC API. This RPC may connect to a single client or it could be a more complex setup that load balances across multiple. +Pour indexer un réseau, Graph Node doit avoir accès à un client réseau via une API JSON-RPC compatible avec EVM. Cette RPC peut se connecter à un seul client ou à une configuration plus complexe qui équilibre la charge entre plusieurs clients. -While some subgraphs may just require a full node, some may have indexing features which require additional RPC functionality. Specifically subgraphs which make `eth_calls` as part of indexing will require an archive node which supports [EIP-1898](https://eips.ethereum.org/EIPS/eip-1898), and subgraphs with `callHandlers`, or `blockHandlers` with a `call` filter, require `trace_filter` support ([see trace module documentation here](https://openethereum.github.io/JSONRPC-trace-module)). +Si certains subgraphs ne nécessitent qu'un noed complet, d'autres présentent des caractéristiques d'indexation qui requièrent des fonctionnalités RPC supplémentaires. En particulier, les subgraphs qui effectuent des `eth_calls` dans le cadre de l'indexation nécessiteront un noed d'archive prenant en charge [EIP-1898](https://eips.ethereum.org/EIPS/eip-1898), et les subgraphs avec des `callHandlers`, ou des `blockHandlers` avec un filtre `call`, nécessitent la prise en charge de `trace_filter` ([voir la documentation du module de trace ici](https://openethereum.github.io/JSONRPC-trace-module)). -**Network Firehoses** - a Firehose is a gRPC service providing an ordered, yet fork-aware, stream of blocks, developed by The Graph's core developers to better support performant indexing at scale. This is not currently an Indexer requirement, but Indexers are encouraged to familiarise themselves with the technology, ahead of full network support. Learn more about the Firehose [here](https://firehose.streamingfast.io/). +**Network Firehoses** : un Firehose est un service gRPC fournissant un flux de blocs ordonné, mais compatible avec les fork, développé par les principaux développeurs de The Graph pour mieux prendre en charge une indexation performante à grande échelle. Ce n'est pas actuellement une exigence de l'indexeur, mais les indexeurs sont encouragés à se familiariser avec la technologie, avant la prise en charge complète du réseau. Apprenez-en davantage sur le Firehose [ici](https://firehose.streamingfast.io/). -### IPFS Nodes +### Nœuds IPFS -Les métadonnées de déploiement de subgraphs sont stockées sur le réseau IPFS. Le nœud Graph accède principalement au nœud IPFS pendant le déploiement du sous-graphe pour récupérer le manifeste du subgraph et tous les fichiers liés. Les indexeurs de réseau n'ont pas besoin d'héberger leur propre nœud IPFS. Un nœud IPFS pour le réseau est hébergé sur https://ipfs.network.thegraph.com. +Les métadonnées de déploiement de subgraphs sont stockées sur le réseau IPFS. The Graph Node accède principalement au noed IPFS pendant le déploiement du subgraph pour récupérer le manifeste du subgraph et tous les fichiers liés. Les indexeurs de réseau n'ont pas besoin d'héberger leur propre noed IPFS. Un noed IPFS pour le réseau est hébergé sur https://ipfs.network.thegraph.com. ### Serveur de métriques Prometheus @@ -34,7 +34,7 @@ Pour activer la surveillance et la création de rapports, Graph Node peut évent ### Commencer à partir des sources -#### Conditions préalables à l'installation +#### Installer les prérequis - **Rust** @@ -42,7 +42,7 @@ Pour activer la surveillance et la création de rapports, Graph Node peut évent - **IPFS** -- **Exigences supplémentaires pour les utilisateurs d'Ubuntu** - Pour exécuter un nœud graphique sur Ubuntu, quelques packages supplémentaires peuvent être nécessaires. +- **Exigences supplémentaires pour les utilisateurs d'Ubuntu** - Pour exécuter un Graph Node sur Ubuntu, quelques packages supplémentaires peuvent être nécessaires. ```sh sudo apt-get install -y clang libpg-dev libssl-dev pkg-config @@ -50,7 +50,7 @@ sudo apt-get install -y clang libpg-dev libssl-dev pkg-config #### Installation -1. Start a PostgreSQL database server +1. Démarrez un serveur de base de données PostgreSQL ```sh initdb -D .postgres @@ -69,7 +69,7 @@ cargo run -p graph-node --release -- \ --ipfs https://ipfs.network.thegraph.com ``` -### Getting started with Kubernetes +### Bien démarrer avec Kubernetes Un exemple complet de configuration de Kubernetes est disponible dans le [dépôt de l'indexeur](https://github.com/graphprotocol/indexer/tree/main/k8s). @@ -77,13 +77,13 @@ Un exemple complet de configuration de Kubernetes est disponible dans le [dépô Lorsqu'il est en cours d'exécution, Graph Node expose les ports suivants : -| Port | Objectif | Routes | Paramètre CLI | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphq | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Objectif | Routes | Argument CLI | Variable d'environnement | +| ---- | ---------------------------------------------------------------- | ---------------------------------------------------- | ----------------- | ------------------------ | +| 8000 | Serveur HTTP GraphQL
    (pour les requêtes de subgraphs) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (pour les abonnements aux subgraphs) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (pour gérer les déploiements) | / | --admin-port | - | +| 8030 | API de statut d'indexation des subgraphs | /graphq | --index-node-port | - | +| 8040 | Métriques Prometheus | /metrics | --metrics-port | - | > **Important** : Soyez prudent lorsque vous exposez les ports publiquement : les **ports d'administration** doivent rester verrouillés. Cela inclut le point de terminaison Graph Node JSON-RPC. @@ -114,7 +114,7 @@ La documentation complète de `config.toml` est disponible dans la [documentatio #### Multiple Graph Nodes -L'indexation de Graph Node peut évoluer horizontalement, en exécutant plusieurs instances de Graph Node pour diviser l'indexation et les requêtes sur différents nœuds. Cela peut être fait simplement en exécutant des nœuds graphs configurés avec un `node_id` différent au démarrage (par exemple dans le fichier Docker Compose), qui peut ensuite être utilisé dans le fichier `config.toml`. pour spécifier des [nœuds de requête dédiés](#dedicated-query-nodes), des [ingesteurs de blocs](#dedicated-block-ingestor) et diviser les subgraphs entre les nœuds avec des [règles de déploiement](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Notez que plusieurs nœuds de graph peuvent tous être configurés pour utiliser la même base de données, qui elle-même peut être mise à l'échelle horizontalement via le partitionnement. @@ -332,13 +332,13 @@ Pour les tables de type compte, `graph-node` peut générer des requêtes qui ti La commande `graphman stats show indique, pour chaque type/table d'entité dans un déploiement, le nombre d'entités distinctes et le nombre de versions d'entité que chaque table contient. Ces données sont basées sur des estimations internes à Postgres et sont donc nécessairement imprécises et peuvent être erronées d'un ordre de grandeur. Un `-1` dans la colonne `entités` signifie que Postgres estime que toutes les lignes contiennent une entité distincte. -In general, tables where the number of distinct entities are less than 1% of the total number of rows/entity versions are good candidates for the account-like optimization. When the output of `graphman stats show` indicates that a table might benefit from this optimization, running `graphman stats show ` will perform a full count of the table - that can be slow, but gives a precise measure of the ratio of distinct entities to overall entity versions. +En général, les tables dans lesquelles le nombre d'entités distinctes est inférieur à 1 % du nombre total de lignes/versions d'entités sont de bons candidats pour l'optimisation de type compte. Lorsque la sortie de `graphman stats show` indique qu'une table pourrait bénéficier de cette optimisation, l'exécution de `graphman stats show
    ` effectuera un décompte complet de la table - cela peut être lent, mais donne une mesure précise du rapport entre les entités distinctes et les versions globales de l'entité. -Once a table has been determined to be account-like, running `graphman stats account-like .
    ` will turn on the account-like optimization for queries against that table. The optimization can be turned off again with `graphman stats account-like --clear .
    ` It takes up to 5 minutes for query nodes to notice that the optimization has been turned on or off. After turning the optimization on, it is necessary to verify that the change does not in fact make queries slower for that table. If you have configured Grafana to monitor Postgres, slow queries would show up in `pg_stat_activity`in large numbers, taking several seconds. In that case, the optimization needs to be turned off again. +Une fois qu'il a été déterminé qu'une table ressemble à un compte, l'exécution de `graphman stats account-like .
    ` activera l'optimisation de type compte pour les requêtes sur cette table. L'optimisation peut être à nouveau désactivée avec `graphman stats account-like --clear .
    ` Il faut jusqu'à 5 minutes aux nœuds de requête pour remarquer que l'optimisation a été activée ou désactivée. . Après avoir activé l'optimisation, il est nécessaire de vérifier que le changement ne ralentit pas réellement les requêtes pour cette table. Si vous avez configuré Grafana pour surveiller Postgres, des requêtes lentes apparaîtraient dans `pg_stat_activity` en grand nombre, prenant plusieurs secondes. Dans ce cas, l’optimisation doit être à nouveau désactivée. Pour les subgraphs de type Uniswap, les tables `pair` et `token` sont les meilleurs candidats pour cette optimisation et peuvent avoir un effet considérable sur la charge de la base de données. -#### Removing subgraphs +#### Supprimer des subgraphs > Il s'agit d'une nouvelle fonctionnalité qui sera disponible dans Graph Node 0.29.x From 15aba248c74baa03ff323aa5695e6ef83e338f83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:38 -0400 Subject: [PATCH 0793/2326] New translations operating-graph-node.mdx (Spanish) --- website/pages/es/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/es/operating-graph-node.mdx b/website/pages/es/operating-graph-node.mdx index 759184d08cd7..c2547b96399a 100644 --- a/website/pages/es/operating-graph-node.mdx +++ b/website/pages/es/operating-graph-node.mdx @@ -77,13 +77,13 @@ Puedes encontrar un ejemplo completo de configuración de Kubernetes en el [Inde Cuando está funcionando, Graph Node muestra los siguientes puertos: -| Puerto | Objeto | Rutas | Argumento CLI | Variable de Entorno | -| --- | --- | --- | --- | --- | -| 8000 | Servidor HTTP GraphQL
    (para consultas de subgrafos) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (para suscripciones a subgrafos) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (para administrar implementaciones) | / | --admin-port | - | -| 8030 | API de estado de indexación de subgrafos | /graphql | --index-node-port | - | -| 8040 | Métricas de Prometheus | /metrics | --metrics-port | - | +| Puerto | Objeto | Rutas | Argumento CLI | Variable de Entorno | +| ------ | -------------------------------------------------------------- | ---------------------------------------------------- | ----------------- | ------------------- | +| 8000 | Servidor HTTP GraphQL
    (para consultas de subgrafos) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (para suscripciones a subgrafos) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (para administrar implementaciones) | / | --admin-port | - | +| 8030 | API de estado de indexación de subgrafos | /graphql | --index-node-port | - | +| 8040 | Métricas de Prometheus | /metrics | --metrics-port | - | > **Importante**: Ten cuidado con exponer puertos públicamente - los **puertos de administración** deben mantenerse bloqueados. Esto incluye el punto final JSON-RPC de Graph Node. @@ -114,7 +114,7 @@ La documentación completa de `config.toml` se puede encontrar en los [documento #### Graph Nodes múltiples -La indexación de Graph Node puede escalarse horizontalmente, ejecutando múltiples instancias de Graph Node para dividir la indexación y la consulta entre diferentes nodos. Esto se puede hacer simplemente ejecutando Graph Nodes configurados con un `node_id` diferente al inicio (por ejemplo, en el archivo Docker Compose), que luego se puede utilizar en el archivo `config.toml` para especificar [nodos de consulta dedicados](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestor) y división de subgrafos entre nodos con [reglas de deploy](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Ten en cuenta que varios Graph Nodes pueden configurarse para utilizar la misma base de datos, que a su vez puede escalarse horizontalmente mediante sharding. From 30031aa46ad6cca92aa5325f541bda30c1b7d344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:39 -0400 Subject: [PATCH 0794/2326] New translations operating-graph-node.mdx (Arabic) --- website/pages/ar/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ar/operating-graph-node.mdx b/website/pages/ar/operating-graph-node.mdx index 646ec2d5dffd..34b38d53283e 100644 --- a/website/pages/ar/operating-graph-node.mdx +++ b/website/pages/ar/operating-graph-node.mdx @@ -77,13 +77,13 @@ A complete Kubernetes example configuration can be found in the [indexer reposit When it is running Graph Node exposes the following ports: -| المنفذ | الغرض | المسار | CLI Argument | متغيرات البيئة | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...

    /subgraphs/name/.../... | http-port-- | - | -| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...

    /subgraphs/name/.../... | ws-port-- | - | -| 8020 | JSON-RPC
    (for managing deployments) | / | admin-port-- | - | -| 8030 | Subgraph indexing status API | /graphql | index-node-port-- | - | -| 8040 | Prometheus metrics | /metrics | metrics-port-- | - | +| المنفذ | الغرض | المسار | CLI Argument | متغيرات البيئة | +| ------ | ------------------------------------------------------- | ------------------------------------------------------------------- | ----------------- | -------------- | +| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...

    /subgraphs/name/.../... | http-port-- | - | +| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...

    /subgraphs/name/.../... | ws-port-- | - | +| 8020 | JSON-RPC
    (for managing deployments) | / | admin-port-- | - | +| 8030 | Subgraph indexing status API | /graphql | index-node-port-- | - | +| 8040 | Prometheus metrics | /metrics | metrics-port-- | - | > **Important**: Be careful about exposing ports publicly - **administration ports** should be kept locked down. This includes the the Graph Node JSON-RPC endpoint. @@ -114,7 +114,7 @@ Full documentation of `config.toml` can be found in the [Graph Node docs](https: #### Multiple Graph Nodes -Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestor), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Note that multiple Graph Nodes can all be configured to use the same database, which itself can be horizontally scaled via sharding. From a33a7a2dc90c0568598c8b9f944c9812e35d784b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:40 -0400 Subject: [PATCH 0795/2326] New translations operating-graph-node.mdx (Czech) --- website/pages/cs/operating-graph-node.mdx | 46 +++++++++++------------ 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/website/pages/cs/operating-graph-node.mdx b/website/pages/cs/operating-graph-node.mdx index 6b1190311ea1..7cb46aa29807 100644 --- a/website/pages/cs/operating-graph-node.mdx +++ b/website/pages/cs/operating-graph-node.mdx @@ -77,13 +77,13 @@ Kompletní příklad konfigurace Kubernetes naleznete v úložišti [indexer](ht Když je Graf Uzel spuštěn, zpřístupňuje následující ports: -| Port | Účel | Trasy | CLI Argument | Proměnná prostředí | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (pro dotazy podgrafy) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (pro odběry podgrafů) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (pro správu nasazení) | / | --admin-port | - | -| 8030 | Stav indexování podgrafů API | /graphql | --index-node-port | - | -| 8040 | Metriky Prometheus | /metrics | --metrics-port | - | +| Port | Účel | Trasy | CLI Argument | Proměnná prostředí | +| ---- | ---------------------------------------------------- | ---------------------------------------------------- | ----------------- | ------------------ | +| 8000 | GraphQL HTTP server
    (pro dotazy podgrafy) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (pro odběry podgrafů) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (pro správu nasazení) | / | --admin-port | - | +| 8030 | Stav indexování podgrafů API | /graphql | --index-node-port | - | +| 8040 | Metriky Prometheus | /metrics | --metrics-port | - | > **Důležité**: Dávejte pozor na veřejné vystavování portů - **administrační porty** by měly být uzamčeny. To se týká i koncového bodu JSON-RPC uzlu Graf. @@ -114,7 +114,7 @@ indexers = [ "<.. list of all indexing nodes ..>" ] #### Více uzlů graf -Indexování Graf Uzel lze horizontálně škálovat, přičemž lze spustit více instancí Graf Uzel a rozdělit indexování a dotazování mezi různé uzly. To lze provést jednoduše spuštěním uzlu Graf nakonfigurovaného s jiným `id uzlu` při spuštění (např. v souboru Docker Compose), který lze poté použít v souboru `config.toml` k určení [dedikovaných uzlů pro dotazování](#dedicated-query-nodes), [blokových ingestorů](#dedicated-block-ingestor) a rozdělení podgrafů mezi uzly pomocí [pravidel nasazení](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Všimněte si, že více graf uzlů lze nakonfigurovat tak, aby používaly stejnou databázi, kterou lze horizontálně škálovat pomocí sharding. @@ -314,32 +314,32 @@ Neexistuje jedna "stříbrná kulka", ale celá řada nástrojů pro prevenci, d Graf Uzel ve výchozím nastavení ukládá dotazy GraphQL do mezipaměti, což může výrazně snížit zatížení databáze. To lze dále konfigurovat pomocí nastavení `GRAPH_QUERY_CACHE_BLOCKS` a `GRAPH_QUERY_CACHE_MAX_MEM` - více informací [zde](https://github.com/graphprotocol/graph-node/blob/master/docs/environment-variables.md#graphql-caching). -##### Analysing queries +##### Analýza dotazů -Problematic queries most often surface in one of two ways. In some cases, users themselves report that a given query is slow. In that case the challenge is to diagnose the reason for the slowness - whether it is a general issue, or specific to that subgraph or query. And then of course to resolve it, if possible. +Problematické dotazy se nejčastěji objevují jedním ze dvou způsobů. V některých případech uživatelé sami hlásí, že daný dotaz je pomalý. V takovém případě je úkolem diagnostikovat příčinu pomalosti - zda se jedná o obecný problém, nebo o specifický problém daného podgrafu či dotazu. A pak ho samozřejmě vyřešit, pokud je to možné. -In other cases, the trigger might be high memory usage on a query node, in which case the challenge is first to identify the query causing the issue. +V jiných případech může být spouštěcím faktorem vysoké využití paměti v uzlu dotazu a v takovém případě je třeba nejprve identifikovat dotaz, který problém způsobuje. -Indexers can use [qlog](https://github.com/graphprotocol/qlog/) to process and summarize Graph Node's query logs. `GRAPH_LOG_QUERY_TIMING` can also be enabled to help identify and debug slow queries. +Indexery mohou používat [qlog](https://github.com/graphprotocol/qlog/) ke zpracování a shrnutí protokolů dotazů uzlu Graf. Lze také povolit funkci `GRAPH_LOG_QUERY_TIMING`, která pomáhá identifikovat a ladit pomalé dotazy. -Given a slow query, indexers have a few options. Of course they can alter their cost model, to significantly increase the cost of sending the problematic query. This may result in a reduction in the frequency of that query. However this often doesn't resolve the root cause of the issue. +Při pomalém dotazu mají indexátory několik možností. Samozřejmě mohou změnit svůj nákladový model a výrazně zvýšit náklady na odeslání problematického dotazu. To může vést ke snížení četnosti tohoto dotazu. To však často neřeší hlavní příčinu problému. -##### Account-like optimisation +##### Optimalizace podobná účtu -Database tables that store entities seem to generally come in two varieties: 'transaction-like', where entities, once created, are never updated, i.e., they store something akin to a list of financial transactions, and 'account-like' where entities are updated very often, i.e., they store something like financial accounts that get modified every time a transaction is recorded. Account-like tables are characterized by the fact that they contain a large number of entity versions, but relatively few distinct entities. Often, in such tables the number of distinct entities is 1% of the total number of rows (entity versions) +Zdá se, že databázové tabulky, které uchovávají entity, se obecně vyskytují ve dvou variantách: Jsou to tabulky "transakční", kde entity, jakmile jsou jednou vytvořeny, nejsou nikdy aktualizovány, tj. ukládají něco podobného seznamu finančních transakcí, a "účetní", kde jsou entity aktualizovány velmi často, tj. ukládají něco podobného finančním účtům, které se mění při každé zaznamenané transakci. Tabulky podobné účtům se vyznačují tím, že obsahují velké množství verzí entit, ale relativně málo odlišných entit. Často je v takových tabulkách počet odlišných entit 1 % z celkového počtu řádků (verzí entit) -For account-like tables, `graph-node` can generate queries that take advantage of details of how Postgres ends up storing data with such a high rate of change, namely that all of the versions for recent blocks are in a small subsection of the overall storage for such a table. +Pro tabulky podobné účtům může `graph-node` generovat dotazy, které využívají podrobnosti o tom, jak Postgres ukládá data s tak vysokou rychlostí změn, totiž že všechny verze pro poslední bloky jsou v malé podsekci celkového úložiště takové tabulky. -The command `graphman stats show shows, for each entity type/table in a deployment, how many distinct entities, and how many entity versions each table contains. That data is based on Postgres-internal estimates, and is therefore necessarily imprecise, and can be off by an order of magnitude. A `-1` in the `entities` column means that Postgres believes that all rows contain a distinct entity. +Příkaz `graphman stats show zobrazí pro každý typ entity/tabulku v nasazení, kolik různých entit a kolik verzí entit každá tabulka obsahuje. Tyto údaje jsou založeny na interních odhadech společnosti Postgres, a proto jsou nutně nepřesné a mohou se lišit o řád. Hodnota `-1` ve sloupci `entity` znamená, že Postgres se domnívá, že všechny řádky obsahují odlišnou entity. -In general, tables where the number of distinct entities are less than 1% of the total number of rows/entity versions are good candidates for the account-like optimization. When the output of `graphman stats show` indicates that a table might benefit from this optimization, running `graphman stats show
    ` will perform a full count of the table - that can be slow, but gives a precise measure of the ratio of distinct entities to overall entity versions. +Obecně platí, že tabulky, kde počet odlišných entit tvoří méně než 1 % celkového počtu řádků/verzí entit, jsou vhodnými kandidáty pro optimalizaci podobnou účtu. Pokud výstup `graphman stats show` naznačuje, že by tabulka mohla mít z této optimalizace prospěch, spuštění `graphman stats show
    ` provede úplné spočítání tabulky - to může být pomalé, ale poskytuje přesné měření poměru odlišných entit k celkovému počtu verzí entit. -Once a table has been determined to be account-like, running `graphman stats account-like .
    ` will turn on the account-like optimization for queries against that table. The optimization can be turned off again with `graphman stats account-like --clear .
    ` It takes up to 5 minutes for query nodes to notice that the optimization has been turned on or off. After turning the optimization on, it is necessary to verify that the change does not in fact make queries slower for that table. If you have configured Grafana to monitor Postgres, slow queries would show up in `pg_stat_activity`in large numbers, taking several seconds. In that case, the optimization needs to be turned off again. +Jakmile je tabulka určena jako tabulka typu account, spuštěním příkazu `graphman stats account-like .
    ` se zapne optimalizace typu account pro dotazy proti této tabulce. Optimalizaci lze opět vypnout příkazem `graphman stats account-like --clear .
    ` Trvá až 5 minut, než si uzly dotazů všimnou, že byla optimalizace zapnuta nebo vypnuta. Po zapnutí optimalizace je nutné ověřit, zda změna skutečně nezpůsobí zpomalení dotazů pro danou tabulku. Pokud jste nakonfigurovali Grafanu pro monitorování Postgresu, pomalé dotazy by se objevily v `pg_stat_activity` ve velkých číslech a trvaly by několik sekund. V takovém případě je třeba optimalizaci opět vypnout. -For Uniswap-like subgraphs, the `pair` and `token` tables are prime candidates for this optimization, and can have a dramatic effect on database load. +U podgrafů typu Uniswap jsou tabulky `pair` a `token` hlavními kandidáty na tuto optimalizaci a mohou mít výrazný vliv na zatížení databáze. -#### Removing subgraphs +#### Odstranění podgrafů -> This is new functionality, which will be available in Graph Node 0.29.x +> Jedná se o novou funkci, která bude k dispozici v uzlu Graf 0.29.x -At some point an indexer might want to remove a given subgraph. This can be easily done via `graphman drop`, which deletes a deployment and all it's indexed data. The deployment can be specified as either a subgraph name, an IPFS hash `Qm..`, or the database namespace `sgdNNN`. Further documentation is available [here](https://github.com/graphprotocol/graph-node/blob/master/docs/graphman.md#-drop). +V určitém okamžiku může indexátor chtít daný podgraf odstranit. To lze snadno provést pomocí `graphman drop`, který odstraní nasazení a všechna jeho indexovaná data. Nasazení lze zadat buď jako název podgrafu, nebo jako hash IPFS `Qm..`, nebo jako jmenný prostor databáze `sgdNNN`. Další dokumentace je k dispozici [zde](https://github.com/graphprotocol/graph-node/blob/master/docs/graphman.md#-drop). From 828baf605fcb3863c3e9604e33d1c368213647ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:41 -0400 Subject: [PATCH 0796/2326] New translations operating-graph-node.mdx (German) --- website/pages/de/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/de/operating-graph-node.mdx b/website/pages/de/operating-graph-node.mdx index 0e24f48252df..2d9a064d4810 100644 --- a/website/pages/de/operating-graph-node.mdx +++ b/website/pages/de/operating-graph-node.mdx @@ -77,13 +77,13 @@ Eine vollständige Kubernetes-Beispielkonfiguration finden Sie im [Indexer-Repos Wenn es ausgeführt wird, stellt Graph Node die folgenden Ports zur Verfügung: -| Port | Zweck | Routen | CLI-Argument | Umgebungsvariable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP-Server
    (für Subgraf-Abfragen) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (für Subgraf-Abonnements) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (zum Verwalten von Deployments) | / | --admin-port | - | -| 8030 | Subgraf-Indizierungsstatus-API | /graphql | --index-node-port | - | -| 8040 | Prometheus-Metriken | /metrics | --metrics-port | - | +| Port | Zweck | Routen | CLI-Argument | Umgebungsvariable | +| ---- | ----------------------------------------------------- | ---------------------------------------------------- | ----------------- | ----------------- | +| 8000 | GraphQL HTTP-Server
    (für Subgraf-Abfragen) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (für Subgraf-Abonnements) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (zum Verwalten von Deployments) | / | --admin-port | - | +| 8030 | Subgraf-Indizierungsstatus-API | /graphql | --index-node-port | - | +| 8040 | Prometheus-Metriken | /metrics | --metrics-port | - | > **Wichtig**: Seien Sie vorsichtig, wenn Sie Ports öffentlich zugänglich machen - **Administrationsports** sollten gesperrt bleiben. Dies schließt den JSON-RPC-Endpunkt des Graph-Knotens ein. @@ -114,7 +114,7 @@ Full documentation of `config.toml` can be found in the [Graph Node docs](https: #### Multiple Graph Nodes -Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestor), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Note that multiple Graph Nodes can all be configured to use the same database, which itself can be horizontally scaled via sharding. From 0cca710389a87746d2d4fd039896234865cd9368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:42 -0400 Subject: [PATCH 0797/2326] New translations operating-graph-node.mdx (Italian) --- website/pages/it/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/it/operating-graph-node.mdx b/website/pages/it/operating-graph-node.mdx index e81d14915e40..d841619814dd 100644 --- a/website/pages/it/operating-graph-node.mdx +++ b/website/pages/it/operating-graph-node.mdx @@ -77,13 +77,13 @@ Un esempio completo di configurazione Kubernetes si trova nel [repository indexe Quando è in funzione, Graph Node espone le seguenti porte: -| Porta | Obiettivo | Routes | Argomento CLI | Variabile d'ambiente | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (per le query di subgraph) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (per le sottoscrizioni ai subgraph) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (per la gestione dei deployment) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Metriche di Prometheus | /metrics | --metrics-port | - | +| Porta | Obiettivo | Routes | Argomento CLI | Variabile d'ambiente | +| ----- | --------------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
    (per le query di subgraph) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (per le sottoscrizioni ai subgraph) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (per la gestione dei deployment) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Metriche di Prometheus | /metrics | --metrics-port | - | > **Importante**: fare attenzione a esporre le porte pubblicamente - le porte di **amministrazione** devono essere tenute sotto chiave. Questo include l'endpoint JSON-RPC del Graph Node. @@ -114,7 +114,7 @@ La documentazione completa di `config.toml` si trova nei documenti di [Graph Nod #### Graph Node multipli -L'indicizzazione di Graph Node può scalare orizzontalmente, eseguendo più istanze di Graph Node per suddividere l'indicizzazione e l'interrogazione su diversi nodi. Questo può essere fatto semplicemente eseguendo i Graph Node configurati con un diverso `node_id` all'avvio (ad esempio nel file Docker Compose), che può essere usato nel file `config.toml` per specificare [nodi di interrogazione dedicati](#dedicated-query-nodes), [ingestori di blocchi](#dedicated-block-ingestor) e la suddivisione dei subgraph tra i nodi con [regole di distribuzione](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Si noti che più Graph Node possono essere configurati per utilizzare lo stesso database, che può essere scalato orizzontalmente tramite sharding. From 49bd26594bfe172cc4570caa0b8510892bd7ca3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:43 -0400 Subject: [PATCH 0798/2326] New translations operating-graph-node.mdx (Japanese) --- website/pages/ja/operating-graph-node.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/pages/ja/operating-graph-node.mdx b/website/pages/ja/operating-graph-node.mdx index 7b6aef1d16ba..8253df5a06eb 100644 --- a/website/pages/ja/operating-graph-node.mdx +++ b/website/pages/ja/operating-graph-node.mdx @@ -26,7 +26,7 @@ title: オペレーティンググラフノード ### IPFSノード -IPFS ノード(バージョン 未満) - サブグラフのデプロイメタデータは IPFS ネットワーク上に保存されます。 グラフノードは、サブグラフのデプロイ時に主に IPFS ノードにアクセスし、サブグラフマニフェストと全てのリンクファイルを取得します。 ネットワーク・インデクサーは独自の IPFS ノードをホストする必要はありません。 ネットワーク用の IPFS ノードは、https://ipfs.network.thegraph.com でホストされています。 +IPFS ノード(バージョン 未満) - サブグラフのデプロイメタデータは IPFS ネットワーク上に保存されます。 グラフノードは、サブグラフのデプロイ時に主に IPFS ノードにアクセスし、サブグラフマニフェストと全てのリンクファイルを取得します。 ネットワーク・インデクサーは独自の IPFS ノードをホストする必要はありません。 ネットワーク用の IPFS ノードは、https://ipfs.network.thegraph.com でホストされています。 ### Prometheus メトリクスサーバー @@ -77,13 +77,13 @@ Kubernetesの完全な設定例は、[indexerリポジトリ](https://github.com グラフノードは起動時に以下のポートを公開します。 -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ------------------------------------------------------- | ------------------------------------------------------ | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | > **重要**: ポートを公に公開する場合は注意してください。**管理ポート**はロックしておく必要があります。ノードの JSON-RPC エンドポイント @@ -114,7 +114,7 @@ indexers = [ "<.. list of all indexing nodes ..>" ] #### 複数のグラフノード -グラフ ノードのインデックス作成は水平方向にスケーリングでき、グラフ ノードの複数のインスタンスを実行してインデックス作成とクエリを異なるノードに分割します。これは、起動時に別の `node_id` で構成されたグラフ ノードを実行するだけで (たとえば、Docker Compose ファイルで)、それを `config.toml` ファイルで使用できます。 [専用クエリ ノード](#dedicated-query-nodes)、[ブロック インジェスター](#dedicated-block-ingestor)、[デプロイ ルール](#deployment-rules)を使用したノード間でのサブグラフの分割を指定します。 +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > なお、複数のGraph Nodeはすべて同じデータベースを使用するように設定することができ、Shardingによって水平方向に拡張することができます。 From 54f1fb0545e1d0be535189ef031e1e303de31e13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:44 -0400 Subject: [PATCH 0799/2326] New translations operating-graph-node.mdx (Korean) --- website/pages/ko/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ko/operating-graph-node.mdx b/website/pages/ko/operating-graph-node.mdx index 4f0f856db111..933eaf860511 100644 --- a/website/pages/ko/operating-graph-node.mdx +++ b/website/pages/ko/operating-graph-node.mdx @@ -77,13 +77,13 @@ A complete Kubernetes example configuration can be found in the [indexer reposit When it is running Graph Node exposes the following ports: -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ----------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | > **Important**: Be careful about exposing ports publicly - **administration ports** should be kept locked down. This includes the the Graph Node JSON-RPC endpoint. @@ -114,7 +114,7 @@ Full documentation of `config.toml` can be found in the [Graph Node docs](https: #### Multiple Graph Nodes -Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestor), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Note that multiple Graph Nodes can all be configured to use the same database, which itself can be horizontally scaled via sharding. From e6703d630bfca529c81f02246c93926b9d3e24f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:45 -0400 Subject: [PATCH 0800/2326] New translations operating-graph-node.mdx (Dutch) --- website/pages/nl/operating-graph-node.mdx | 28 +++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/nl/operating-graph-node.mdx b/website/pages/nl/operating-graph-node.mdx index 4f0f856db111..e16fc9f0a224 100644 --- a/website/pages/nl/operating-graph-node.mdx +++ b/website/pages/nl/operating-graph-node.mdx @@ -32,9 +32,9 @@ Subgraph deployment metadata is stored on the IPFS network. The Graph Node prima To enable monitoring and reporting, Graph Node can optionally log metrics to a Prometheus metrics server. -### Getting started from source +### Starten vanuit source -#### Install prerequisites +#### Installeer vereisten - **Rust** @@ -42,7 +42,7 @@ To enable monitoring and reporting, Graph Node can optionally log metrics to a P - **IPFS** -- **Additional Requirements for Ubuntu users** - To run a Graph Node on Ubuntu a few additional packages may be needed. +- **Aanvullende vereisten voor Ubuntu gebruikers** - Om een Graph Node op Ubuntu te laten werken, zijn mogelijke enkele aanvullende updates nodig. ```sh sudo apt-get install -y clang libpg-dev libssl-dev pkg-config @@ -50,7 +50,7 @@ sudo apt-get install -y clang libpg-dev libssl-dev pkg-config #### Setup -1. Start a PostgreSQL database server +1. Start een PostgreSQL database server ```sh initdb -D .postgres @@ -58,9 +58,9 @@ pg_ctl -D .postgres -l logfile start createdb graph-node ``` -2. Clone [Graph Node](https://github.com/graphprotocol/graph-node) repo and build the source by running `cargo build` +2. Kloon de [Graph Node](https://github.com/graphprotocol/graph-node) map en bouw de bron door `cargo build` uit te voeren -3. Now that all the dependencies are setup, start the Graph Node: +3. Nu alle afhankelijkheden zijn ingesteld, start de Graph Node: ```sh cargo run -p graph-node --release -- \ @@ -77,13 +77,13 @@ A complete Kubernetes example configuration can be found in the [indexer reposit When it is running Graph Node exposes the following ports: -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Poort | Doel | Routes | CLI-Argument | Omgevingsvariabele | +| ----- | --------------------------------------------------------- | ---------------------------------------------------- | ----------------- | ------------------ | +| 8000 | GraphQL HTTP server
    (voor subgraph query's) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (voor subgraph abonnementen) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (voor het beheren van implementaties) | / | --admin-port | - | +| 8030 | Subgraph indexeerstatus API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | > **Important**: Be careful about exposing ports publicly - **administration ports** should be kept locked down. This includes the the Graph Node JSON-RPC endpoint. @@ -114,7 +114,7 @@ Full documentation of `config.toml` can be found in the [Graph Node docs](https: #### Multiple Graph Nodes -Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestor), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Note that multiple Graph Nodes can all be configured to use the same database, which itself can be horizontally scaled via sharding. From 7616c88ec21b85e2cdf94e0cb7f79bfa8a4d95bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:46 -0400 Subject: [PATCH 0801/2326] New translations operating-graph-node.mdx (Polish) --- website/pages/pl/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/pl/operating-graph-node.mdx b/website/pages/pl/operating-graph-node.mdx index 4f0f856db111..933eaf860511 100644 --- a/website/pages/pl/operating-graph-node.mdx +++ b/website/pages/pl/operating-graph-node.mdx @@ -77,13 +77,13 @@ A complete Kubernetes example configuration can be found in the [indexer reposit When it is running Graph Node exposes the following ports: -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ----------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | > **Important**: Be careful about exposing ports publicly - **administration ports** should be kept locked down. This includes the the Graph Node JSON-RPC endpoint. @@ -114,7 +114,7 @@ Full documentation of `config.toml` can be found in the [Graph Node docs](https: #### Multiple Graph Nodes -Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestor), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Note that multiple Graph Nodes can all be configured to use the same database, which itself can be horizontally scaled via sharding. From cc6c46007e2060bc80cbe9f9de3ddd8f0bbc074e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:47 -0400 Subject: [PATCH 0802/2326] New translations operating-graph-node.mdx (Portuguese) --- website/pages/pt/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/pt/operating-graph-node.mdx b/website/pages/pt/operating-graph-node.mdx index c9684ffc559f..74377d649e23 100644 --- a/website/pages/pt/operating-graph-node.mdx +++ b/website/pages/pt/operating-graph-node.mdx @@ -77,13 +77,13 @@ Veja uma configuração de exemplo completa do Kubernetes no [repositório de in Durante a execução, o Graph Node expõe as seguintes portas: -| Porta | Propósito | Rotas | Argumento CLI | Variável de Ambiente | -| --- | --- | --- | --- | --- | -| 8000 | Servidor HTTP GraphQL
    (para queries de subgraph) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | WS GraphQL
    (para inscrições a subgraphs) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (para gerir lançamentos) | / | --admin-port | - | -| 8030 | API de status de indexamento do subgraph | /graphql | --index-node-port | - | -| 8040 | Métricas Prometheus | /metrics | --metrics-port | - | +| Porta | Propósito | Rotas | Argumento CLI | Variável de Ambiente | +| ----- | ----------------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | Servidor HTTP GraphQL
    (para queries de subgraph) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | WS GraphQL
    (para inscrições a subgraphs) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (para gerir lançamentos) | / | --admin-port | - | +| 8030 | API de status de indexamento do subgraph | /graphql | --index-node-port | - | +| 8040 | Métricas Prometheus | /metrics | --metrics-port | - | > **Importante:** Cuidado ao expor portas publicamente; as **portas de administração** devem ser trancadas a sete chaves. Isto inclui o endpoint JSON-RPC do Graph Node. @@ -114,7 +114,7 @@ Veja a documentação completa do `config.toml` na documentação do [Graph Node #### Múltiplos Graph Nodes -A indexação de Graph Nodes pode escalar horizontalmente, com a execução de várias instâncias de Graph Node para separar indexação de queries em nodes diferentes. Isto é facilmente possível com a execução de Graph Nodes, configurados com um `node_id` diferente na inicialização (por ex. no arquivo Docker Compose), que pode então ser usado no arquivo `config.toml` para especificar [nodes dedicados de consulta](#dedicated-query-nodes), [ingestores de blocos](#dedicated-block-ingestor) e separar subgraphs entre nódulos com [regras de lançamento](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Note que vários Graph Nodes podem ser configurados para usar o mesmo banco de dados — que, por conta própria, pode ser escalado horizontalmente através do sharding. From 0e1be47f78a0234daf4387e9645ad2969a0a7581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:48 -0400 Subject: [PATCH 0803/2326] New translations operating-graph-node.mdx (Russian) --- website/pages/ru/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ru/operating-graph-node.mdx b/website/pages/ru/operating-graph-node.mdx index dd51cc588968..675e6f271a78 100644 --- a/website/pages/ru/operating-graph-node.mdx +++ b/website/pages/ru/operating-graph-node.mdx @@ -77,13 +77,13 @@ cargo run -p graph-node --release -- \ Во время работы Graph Node предоставляет следующие порты: -| Порт | Назначение | Расположение | CLI-аргумент | Переменная среды | -| --- | --- | --- | --- | --- | -| 8000 | HTTP-сервер GraphQL
    (для запросов подграфов) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (для подписок на подграфы) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (для управления процессом развертывания) | / | --admin-port | - | -| 8030 | API для определения статуса индексирования подграфов | /graphql | --index-node-port | - | -| 8040 | Показатели Prometheus | /metrics | --metrics-port | - | +| Порт | Назначение | Расположение | CLI-аргумент | Переменная среды | +| ---- | ------------------------------------------------------------ | ---------------------------------------------------- | ----------------- | ---------------- | +| 8000 | HTTP-сервер GraphQL
    (для запросов подграфов) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (для подписок на подграфы) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (для управления процессом развертывания) | / | --admin-port | - | +| 8030 | API для определения статуса индексирования подграфов | /graphql | --index-node-port | - | +| 8040 | Показатели Prometheus | /metrics | --metrics-port | - | > **Важно**. Будьте осторожны, открывая порты для общего доступа — **порты администрирования** должны быть заблокированы. Это касается конечных точек Graph Node JSON-RPC. @@ -114,7 +114,7 @@ indexers = [ "<.. list of all indexing nodes ..>" ] #### Множественные Graph Node -Индексация Graph Node может масштабироваться по горизонтали за счет запуска нескольких экземпляров Graph Node для разделения индексации и запросов между разными нодами. Этого можно легко добиться, запустив Graph Node, сконфигурированные с другим `node_id` при запуске (например, в файле Docker Compose), который затем можно использовать в файле `config.toml`. Укажите [выделенные ноды запросов](#dedicated-query-nodes), [блокируйте приемники](#dedicated-block-ingestor) и разделите подграфы между нодами, применив [правила развертывания](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Обратите внимание, что несколько Graph Nodes могут быть настроены для использования одной и той же базы данных, которая сама по себе может масштабироваться по горизонтали с помощью сегментирования. From 54bab64bdd242193f5f171d43ee31249909566c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:49 -0400 Subject: [PATCH 0804/2326] New translations operating-graph-node.mdx (Swedish) --- website/pages/sv/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/sv/operating-graph-node.mdx b/website/pages/sv/operating-graph-node.mdx index 20fe3667765e..36ea93bb6711 100644 --- a/website/pages/sv/operating-graph-node.mdx +++ b/website/pages/sv/operating-graph-node.mdx @@ -77,13 +77,13 @@ En komplett exempelkonfiguration för Kubernetes finns i [indexer repository](ht När Graph Node är igång exponerar den följande portar: -| Port | Syfte | Rutter | Argument för CLI | Miljö Variabel | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP-server
    (för frågor om undergrafer) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (för prenumerationer på undergrafer) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (för hantering av distributioner) | / | --admin-port | - | -| 8030 | Status för indexering av undergrafer API | /graphql | --index-node-port | - | -| 8040 | Prometheus mätvärden | /metrics | --metrics-port | - | +| Port | Syfte | Rutter | Argument för CLI | Miljö Variabel | +| ---- | ---------------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------- | +| 8000 | GraphQL HTTP-server
    (för frågor om undergrafer) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (för prenumerationer på undergrafer) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (för hantering av distributioner) | / | --admin-port | - | +| 8030 | Status för indexering av undergrafer API | /graphql | --index-node-port | - | +| 8040 | Prometheus mätvärden | /metrics | --metrics-port | - | > **Viktigt**: Var försiktig med att exponera portar offentligt - **administrationsportar** bör hållas säkra. Detta inkluderar JSON-RPC-slutpunkten för Graph Node. @@ -114,7 +114,7 @@ Fullständig dokumentation av `config.toml` hittar du i [Graph Node-dokumentatio #### Flera Grafnoder -Indexering med Graph Node kan skalas horisontellt genom att köra flera instanser av Graph Node för att dela upp indexering och frågning över olika noder. Detta kan göras enkelt genom att köra Graph Nodes konfigurerade med olika `node_id` vid start (t.ex. i Docker Compose-filen), som sedan kan användas i `config.toml`-filen för att specificera [dedikerade frågenoder](#dedikerade-frågenoder), [block ingestors](#dedikerade-block-ingestor), och dela upp subgrafer över noder med [deployeringsregler](#deployeringsregler). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Observera att flera Graph Nodes alla kan konfigureras att använda samma databas, som i sig kan skalas horisontellt via sharding. From c682731c220c24a69aea893d30d0f90423a2cbe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:50 -0400 Subject: [PATCH 0805/2326] New translations operating-graph-node.mdx (Turkish) --- website/pages/tr/operating-graph-node.mdx | 32 +++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/website/pages/tr/operating-graph-node.mdx b/website/pages/tr/operating-graph-node.mdx index 41f96f2faec4..3872c8b16282 100644 --- a/website/pages/tr/operating-graph-node.mdx +++ b/website/pages/tr/operating-graph-node.mdx @@ -8,7 +8,7 @@ Bu, Graph Düğümü hakkında bağlamsal bir genel bakış ve indeksleyiciler i ## Graph Node -[Graph Düğümü](https://github.com/graphprotocol/graph-node),Subgraph'ları Graph Ağı üzerinde indeksleme, blok zinciri istemcilerine bağlanma ve indekslenen verileri sorgulanabilir hale getirimek için referans uygulamasıdır. +[Graph Düğümü](https://github.com/graphprotocol/graph-node),Subgraph'ları Graph Ağı üzerinde endeksleme, blok zinciri istemcilerine bağlanma ve indekslenen verileri sorgulanabilir hale getirimek için referans uygulamasıdır. Graph Düğümü(ve tüm endeksleyici yığını), bare metal veya bir bulut ortamında çalıştırılabilir. Bu merkezi indeksleme bileşeninin esnekliği, Graph Protokolü'nün dayanıklılığı için önemlidir. Benzer şekilde, Graph Düğümü [kaynaktan oluşturulabilir](https://github.com/graphprotocol/graph-node) veya indeksleyiciler [sağlanan Docker Görüntülerinden](https://hub.docker.com/r/graphprotocol/graph-node) birini kullanabilir. @@ -18,11 +18,11 @@ Graph Düğümü'nün ana deposu, burada subgraph verileri yanı sıra subgraphl ### Ağ istemcileri -Bir ağı dizine eklemek için Graph Node'un EVM uyumlu bir JSON-RPC API aracılığıyla bir ağ istemcisine erişmesi gerekir. Bu RPC, tek bir istemciye bağlanabilir veya birden çok istemci arasında yük dengelemesi yapan daha karmaşık bir kurulum olabilir. +In order to index a network, Graph Node needs access to a network client via an EVM-compatible JSON-RPC API. This RPC may connect to a single client or it could be a more complex setup that load balances across multiple. -Bazı subgraph'ler yalnızca tam bir node gerektirebilirken, bazıları ek RPC işlevselliği gerektiren indeksleme özelliklerine sahip olabilir. Spesifik olarak, indekslemenin bir parçası olarak `eth_calls` yapan subgraph'ler, [EIP-1898](https://eips.ethereum.org/EIPS/eip-1898)'yi destekleyen bir arşiv node'u gerektirir ve `callHandlers`'li subgraph'ler veya `call` filtreli `blockHandlers`, `trace_filter` desteği ([izleme modülü belgelerine buradan göz atın](https://openethereum.github.io/JSONRPC-trace-module)) gerektirir. +While some subgraphs may just require a full node, some may have indexing features which require additional RPC functionality. Specifically subgraphs which make `eth_calls` as part of indexing will require an archive node which supports [EIP-1898](https://eips.ethereum.org/EIPS/eip-1898), and subgraphs with `callHandlers`, or `blockHandlers` with a `call` filter, require `trace_filter` support ([see trace module documentation here](https://openethereum.github.io/JSONRPC-trace-module)). -**Network Firehoses** - Firehose, Graph'in çekirdek geliştiricileri tarafından büyük ölçekte performanslı indekslemeyi daha iyi desteklemek için geliştirilmiş, sıralı ancak çatal farkındalığı olan bir blok akışı sağlayan bir gRPC hizmetidir. Bu şu anda bir indeksleyici gereksinimi değildir, ancak indeksleyicilerin tam ağ desteğinden önce bu teknolojiyi tanımaları teşvik edilmektedir. Firehose [here](https://firehose.streamingfast.io/) hakkında daha fazla bilgi edinin. +**Network Firehoses** - a Firehose is a gRPC service providing an ordered, yet fork-aware, stream of blocks, developed by The Graph's core developers to better support performant indexing at scale. This is not currently an Indexer requirement, but Indexers are encouraged to familiarise themselves with the technology, ahead of full network support. Learn more about the Firehose [here](https://firehose.streamingfast.io/). ### IPFS Düğümleri @@ -42,7 +42,7 @@ Subgraph dağıtım üst verilerini IPFS ağında depolanır. Graph düğümü, - **IPFS** -- **Ubuntu kullanıcıları için Ek Gereksinimler** - Ubuntu üzerinde bir Graph Node'u çalıştırmak için birkaç ek paket gerekebilir. +- **Ubuntu kullanıcıları için Ek Gereksinimler** - Ubuntu üzerinde bir Graph Düğümü çalıştırmak için birkaç ek paket gerekebilir. ```sh sudo apt-get install -y clang libpg-dev libssl-dev pkg-config @@ -50,7 +50,7 @@ sudo apt-get install -y clang libpg-dev libssl-dev pkg-config #### Kurulum -1. Bir PostgreSQL veritabanı sunucusu başlatın +1. Bir PostgreSQL veritabanı sunucusu başlatma ```sh initdb -D .postgres @@ -58,9 +58,9 @@ pg_ctl -D .postgres -l logfile start createdb graph-node ``` -2. [Graph Node](https://github.com/graphprotocol/graph-node) deposunu klonlayın ve `cargo build`'i çalıştırarak kaynağı oluşturun +2. [Graph Düğümü](https://github.com/graphprotocol/graph-node) github deposunu klonlayın ve `cargo build` çalıştırarak kaynağı derleyin -3. Artık tüm herr şey hazır olduğuna göre, Graph node'unu başlatın: +3. Artık tüm bağımlılıklar ayarlandığına göre Graph Düğümü'nü başlatın: ```sh cargo run -p graph-node --release -- \ @@ -77,13 +77,13 @@ Tam Kubernetes örnek yapılandırması [indeksleyici Github deposunda](https:// Graph Düğümü çalışırken aşağıdaki portları açar: -| Port | Amaç | Routes | CLI Argümanı | Ortam Değişkeni | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP sunucusu
    (subgraph sorguları için) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (subgraph abonelikleri için) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (dağıtımları yönetmek için) | / | --admin-port | - | -| 8030 | Subgraph indeksleme durumu API'ı | /graphql | --index-node-port | - | -| 8040 | Prometheus ölçümleri | /metrics | --metrics-port | - | +| Port | Amaç | Rotalar | CLI Argümanı | Ortam Değişkeni | +| ---- | ----------------------------------------------------------- | ---------------------------------------------------- | ----------------- | --------------- | +| 8000 | GraphQL HTTP sunucusu
    ( subgraph sorguları için) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    ( subgraph abonelikleri için) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (dağıtımları yönetmek için) | / | --admin-port | - | +| 8030 | Subgraph indeksleme durum API'si | /graphql | --index-node-port | - | +| 8040 | Prometheus metrikleri | /metrics | --metrics-port | - | > **Önemli**: Bağlantı noktalarını herkese açık olarak açarken dikkatli olun - **yönetim portları** kilitli tutulmalıdır. Bu, Graph Düğümü JSON-RPC uç noktasını içerir. @@ -114,7 +114,7 @@ indexers = [ "<.. list of all indexing nodes ..>" ] #### Birden Fazla Graph Düğümü -Graph Düğümü indeksleme, indekslemeyi ve sorgulamayı farklı düğümler arasında bölmek için birden fazla Graph Düğümü örneğini çalıştırarak yatay olarak ölçeklenebilir. Bu, başlangıçta farklı bir `node_id` ile yapılandırılmış Graph Düğümlerini çalıştırarak (örneğin, Docker Compose dosyasında) yapılabilir; bu daha sonra `config.toml` dosyasında kullanılabilir. [özel sorgu düğümlerini](#dedicated-query-nodes) belirtmek, [besleyicileri engellemek](#dedicated-block-ingestor) ve alt grafikleri [dağıtım kuralları](#deployment-rules) ile düğümlere bölmek için. +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Birden fazla Graph Düğümü, aynı veritabanını kullanacak şekilde yapılandırılabilir ve veritabanı sharding kullanılarak yatay olarak ölçeklenebilir. From e4a65dc7bc2216496b777fa55718a749227da8f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:51 -0400 Subject: [PATCH 0806/2326] New translations operating-graph-node.mdx (Ukrainian) --- website/pages/uk/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/uk/operating-graph-node.mdx b/website/pages/uk/operating-graph-node.mdx index 7bcb6ac9dab6..723f0af72d6b 100644 --- a/website/pages/uk/operating-graph-node.mdx +++ b/website/pages/uk/operating-graph-node.mdx @@ -77,13 +77,13 @@ A complete Kubernetes example configuration can be found in the [indexer reposit When it is running Graph Node exposes the following ports: -| Порт | Призначення | Розташування | Аргумент CLI | Перемінна оточення | -| --- | --- | --- | --- | --- | -| 8000 | HTTP-сервер GraphQL
    (для запитів до підграфів) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-порт | - | -| 8001 | GraphQL WS
    (для підписок на підграфи) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (для керування розгортаннями) | / | --admin-port | - | -| 8030 | API стану індексації підграфів | /graphql | --index-node-port | - | -| 8040 | Метрики Prometheus | /metrics | --metrics-port | - | +| Порт | Призначення | Розташування | Аргумент CLI | Перемінна оточення | +| ---- | --------------------------------------------------------- | ---------------------------------------------------- | ----------------- | ------------------ | +| 8000 | HTTP-сервер GraphQL
    (для запитів до підграфів) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-порт | - | +| 8001 | GraphQL WS
    (для підписок на підграфи) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (для керування розгортаннями) | / | --admin-port | - | +| 8030 | API стану індексації підграфів | /graphql | --index-node-port | - | +| 8040 | Метрики Prometheus | /metrics | --metrics-port | - | > **Important**: Be careful about exposing ports publicly - **administration ports** should be kept locked down. This includes the the Graph Node JSON-RPC endpoint. @@ -114,7 +114,7 @@ Full documentation of `config.toml` can be found in the [Graph Node docs](https: #### Multiple Graph Nodes -Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestor), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Note that multiple Graph Nodes can all be configured to use the same database, which itself can be horizontally scaled via sharding. From f7ffb60a937ff7f754d86bf5e86c6d2d09c2817a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:52 -0400 Subject: [PATCH 0807/2326] New translations operating-graph-node.mdx (Chinese Simplified) --- website/pages/zh/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/zh/operating-graph-node.mdx b/website/pages/zh/operating-graph-node.mdx index 78fa738fcf22..9cc7036dfec3 100644 --- a/website/pages/zh/operating-graph-node.mdx +++ b/website/pages/zh/operating-graph-node.mdx @@ -77,13 +77,13 @@ cargo run -p graph-node --release -- \ 当运行Graph Node时,会暴露以下端口: -| 端口 | 用途 | 路径 | CLI 参数 | 环境 变量 | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP 服务
    (用于子图查询) | /subgraphs/id/...

    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (用于子图订阅) | /subgraphs/id/...

    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (用于管理部署) | / | --admin-port | - | -| 8030 | 子图索引状态 API | /graphql | --index-node-port | - | -| 8040 | Prometheus 指标 | /metrics | --metrics-port | - | +| 端口 | 用途 | 路径 | CLI 参数 | 环境 变量 | +| ---- | ------------------------------------ | ------------------------------------------------------------------- | ----------------- | ----- | +| 8000 | GraphQL HTTP 服务
    (用于子图查询) | /subgraphs/id/...

    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (用于子图订阅) | /subgraphs/id/...

    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (用于管理部署) | / | --admin-port | - | +| 8030 | 子图索引状态 API | /graphql | --index-node-port | - | +| 8040 | Prometheus 指标 | /metrics | --metrics-port | - | > **重要**: 公开暴露端口时要小心 - **管理端口** 应保持锁定。 这包括下面详述的 Graph 节点 JSON-RPC 和索引人管理端点。 @@ -114,7 +114,7 @@ indexers = [ "<.. list of all indexing nodes ..>" ] #### 多个 Graph 节点 -Graph节点索引可以水平扩展,运行Graph节点的多个实例以在不同节点之间拆分索引和查询。这只需在启动时运行配置有不同`node_id`的Graph Nodes(例如Docker Compose文件中)即可完成,然后可以在`config.toml`文件中使用该节点来[指定专用查询节点](#dedicated-query-nodes)、[区块摄取器](#dedicated-block-ingestor),并使用[部署规则](#deployment-rules)在节点之间拆分子图。 +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > 请注意,可以将多个Graph节点配置为使用同一个数据库,该数据库本身可以通过分片进行水平扩展。 From 89491d59d34a1adfe4a9ae3f95a6f203461c0e8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:53 -0400 Subject: [PATCH 0808/2326] New translations operating-graph-node.mdx (Urdu (Pakistan)) --- website/pages/ur/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ur/operating-graph-node.mdx b/website/pages/ur/operating-graph-node.mdx index ef22e83ab99b..9134b3d9cd92 100644 --- a/website/pages/ur/operating-graph-node.mdx +++ b/website/pages/ur/operating-graph-node.mdx @@ -77,13 +77,13 @@ cargo run -p graph-node --release -- \ جب یہ چل رہا ہوتا ہے گراف نوڈ مندرجہ ذیل پورٹس کو بے نقاب کرتا ہے: -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (سب گراف کی کیوریز کے لیے) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (سب گراف سبسکرپشنز کے لیے) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (تعیناتیوں کے انتظام کے لیے) | / | --admin-port | - | -| 8030 | سب گراف انڈیکسنگ اسٹیٹس API | /graphql | --index-node-port | - | -| 8040 | Prometheus میٹرکس | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | --------------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
    (سب گراف کی کیوریز کے لیے) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (سب گراف سبسکرپشنز کے لیے) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (تعیناتیوں کے انتظام کے لیے) | / | --admin-port | - | +| 8030 | سب گراف انڈیکسنگ اسٹیٹس API | /graphql | --index-node-port | - | +| 8040 | Prometheus میٹرکس | /metrics | --metrics-port | - | > **اہم**: پورٹس کو عوامی طور پر ظاہر کرنے میں محتاط رہیں - **انتظامی پورٹس** کو بند رکھا جانا چاہیے. اس میں گراف نوڈ کا JSON-RPC اینڈ پوائنٹ شامل ہے. @@ -114,7 +114,7 @@ indexers = [ "<.. list of all indexing nodes ..>" ] #### متعدد گراف نوڈس -گراف نوڈ انڈیکسنگ افقی طور پر اسکیل کر سکتی ہے، مختلف نوڈس میں انڈیکسنگ اور کیوریز کو تقسیم کرنے کے لیے گراف نوڈ کی متعدد انسٹینسز کو چلا کر. یہ آسانی سے شروع ہونے پر مختلف `node_id` کے ساتھ ترتیب شدہ گراف نوڈس کو چلا کر کیا جا سکتا ہے (مثال کے طور پر Docker کمپوز فائل میں)، جسے پھر `config.toml` فائل میں استعمال کیا جا سکتا ہے, [وقف شدہ کیوری نوڈس](#dedicated-query-nodes)، [بلاک انجسٹرز](#dedicated-block-ingestor) کی وضاحت کرنے کے لیے، اور نوڈس میں سب گراف کو [تعیناتی قواعد](#deployment-rules) کے ساتھ تقسیم کرنا. +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > نوٹ کریں کہ ایک سے زیادہ گراف نوڈس کو ایک ہی ڈیٹا بیس کو استعمال کرنے کے لیے کنفیگر کیا جا سکتا ہے، جسے خود کو شارڈنگ کے ذریعے افقی طور پر سکیل کیا جا سکتا ہے. From 53404c3e0bc753f044ebae92a61cea6063d17839 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:54 -0400 Subject: [PATCH 0809/2326] New translations operating-graph-node.mdx (Vietnamese) --- website/pages/vi/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/vi/operating-graph-node.mdx b/website/pages/vi/operating-graph-node.mdx index 7112da586680..730983a97ba2 100644 --- a/website/pages/vi/operating-graph-node.mdx +++ b/website/pages/vi/operating-graph-node.mdx @@ -77,13 +77,13 @@ A complete Kubernetes example configuration can be found in the [indexer reposit When it is running Graph Node exposes the following ports: -| Cổng | Mục đích | Tuyến | Đối số CLI | Biến môi trường | -| --- | --- | --- | --- | --- | -| 8000 | Máy chủ GraphQL HTTP
    (cho các truy vấn subgraph) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (cho các đăng ký subgraph) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (để quản lý triển khai) | / | --admin-port | - | -| 8030 | API trạng thái lập chỉ mục Subgraph | /graphql | --index-node-port | - | -| 8040 | Số liệu Prometheus | /metrics | --metrics-port | - | +| Cổng | Mục đích | Tuyến | Đối số CLI | Biến môi trường | +| ---- | ----------------------------------------------------------- | ---------------------------------------------------- | ----------------- | --------------- | +| 8000 | Máy chủ GraphQL HTTP
    (cho các truy vấn subgraph) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (cho các đăng ký subgraph) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (để quản lý triển khai) | / | --admin-port | - | +| 8030 | API trạng thái lập chỉ mục Subgraph | /graphql | --index-node-port | - | +| 8040 | Số liệu Prometheus | /metrics | --metrics-port | - | > **Important**: Be careful about exposing ports publicly - **administration ports** should be kept locked down. This includes the the Graph Node JSON-RPC endpoint. @@ -114,7 +114,7 @@ Full documentation of `config.toml` can be found in the [Graph Node docs](https: #### Multiple Graph Nodes -Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestor), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Note that multiple Graph Nodes can all be configured to use the same database, which itself can be horizontally scaled via sharding. From 2743677df3d24905f517ad946300da2aa83b88d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:55 -0400 Subject: [PATCH 0810/2326] New translations operating-graph-node.mdx (Marathi) --- website/pages/mr/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/mr/operating-graph-node.mdx b/website/pages/mr/operating-graph-node.mdx index fe9e6c5fb9f3..424a33ba4281 100644 --- a/website/pages/mr/operating-graph-node.mdx +++ b/website/pages/mr/operating-graph-node.mdx @@ -77,13 +77,13 @@ A complete Kubernetes example configuration can be found in the [indexer reposit When it is running Graph Node exposes the following ports: -| बंदर | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| बंदर | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ----------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | > **महत्त्वाचे**: पोर्ट सार्वजनिकपणे उघड करण्याबाबत सावधगिरी बाळगा - **प्रशासन पोर्ट** लॉक डाउन ठेवले पाहिजेत. यामध्ये ग्राफ नोड JSON-RPC एंडपॉइंटचा समावेश आहे. @@ -114,7 +114,7 @@ Full documentation of `config.toml` can be found in the [Graph Node docs](https: #### एकाधिक ग्राफ नोड्स -ग्राफ नोड इंडेक्सिंग क्षैतिजरित्या स्केल करू शकते, अनुक्रमणिका विभाजित करण्यासाठी ग्राफ नोडची अनेक उदाहरणे चालवते आणि वेगवेगळ्या नोड्समध्ये क्वेरी करणे. हे फक्त स्टार्टअपवर वेगळ्या `node_id` सह कॉन्फिगर केलेले आलेख नोड्स चालवून केले जाऊ शकते (उदा. डॉकर कंपोझ फाइलमध्ये), जे नंतर `config.toml` फाइलमध्ये वापरले जाऊ शकते. [समर्पित क्वेरी नोड्स](#dedicated-query-nodes) निर्दिष्ट करण्यासाठी, [इनजेस्टर अवरोधित करा](#dedicated-block-ingestor), आणि [उपयोजन नियम](#deployment-rules) सह नोड्सवर सबग्राफ विभाजित करा. +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Note that multiple Graph Nodes can all be configured to use the same database, which itself can be horizontally scaled via sharding. From 55735649b57cfa52f0c6130d9525c107898a1da8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:56 -0400 Subject: [PATCH 0811/2326] New translations operating-graph-node.mdx (Hindi) --- website/pages/hi/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/hi/operating-graph-node.mdx b/website/pages/hi/operating-graph-node.mdx index 5d53c0fe05a7..7481b9beccf3 100644 --- a/website/pages/hi/operating-graph-node.mdx +++ b/website/pages/hi/operating-graph-node.mdx @@ -77,13 +77,13 @@ cargo run -p graph-node --release -- \ जब यह चल रहा होता है तो ग्राफ़ नोड निम्नलिखित पोर्ट को उजागर करता है: -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (सबग्राफ प्रश्नों के लिए) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (सबग्राफ सब्सक्रिप्शन के लिए) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (तैनाती के प्रबंधन के लिए) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | -------------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
    (सबग्राफ प्रश्नों के लिए) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (सबग्राफ सब्सक्रिप्शन के लिए) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (तैनाती के प्रबंधन के लिए) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | > **महत्वपूर्ण**: बंदरगाहों को सार्वजनिक रूप से उजागर करने के बारे में सावधान रहें - **प्रशासन बंदरगाहों** को बंद रखा जाना चाहिए। इसमें ग्राफ़ नोड JSON-RPC समापन बिंदु शामिल है। @@ -114,7 +114,7 @@ indexers = [ "<.. list of all indexing nodes ..>" ] #### एकाधिक ग्राफ नोड्स -ग्राफ़ नोड इंडेक्सिंग क्षैतिज रूप से स्केल कर सकता है, अलग-अलग नोड्स में इंडेक्सिंग और क्वेरी को विभाजित करने के लिए ग्राफ़ नोड के कई उदाहरण चला रहा है। यह स्टार्टअप पर एक अलग `node_id` के साथ कॉन्फ़िगर किए गए ग्राफ़ नोड्स को चलाकर किया जा सकता है (उदाहरण के लिए Docker Compose फ़ाइल में), जिसे फिर `config.toml` फ़ाइल में इस्तेमाल किया जा सकता है [समर्पित क्वेरी नोड्स](#dedicated-query-nodes) निर्दिष्ट करने के लिए, [ब्लॉक इंजेस्टर्स](#dedicated-block-ingestor), और के साथ नोड्स में विभाजित सबग्राफ [परिनियोजन नियम](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > ध्यान दें कि एक ही डेटाबेस का उपयोग करने के लिए कई ग्राफ़ नोड्स को कॉन्फ़िगर किया जा सकता है, जिसे स्वयं शार्डिंग के माध्यम से क्षैतिज रूप से बढ़ाया जा सकता है। From cb2b2bb3d3b6391571df931eb9b836745e3a3c79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:57 -0400 Subject: [PATCH 0812/2326] New translations operating-graph-node.mdx (Yoruba) --- website/pages/yo/operating-graph-node.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/yo/operating-graph-node.mdx b/website/pages/yo/operating-graph-node.mdx index 4f0f856db111..933eaf860511 100644 --- a/website/pages/yo/operating-graph-node.mdx +++ b/website/pages/yo/operating-graph-node.mdx @@ -77,13 +77,13 @@ A complete Kubernetes example configuration can be found in the [indexer reposit When it is running Graph Node exposes the following ports: -| Port | Purpose | Routes | CLI Argument | Environment Variable | -| --- | --- | --- | --- | --- | -| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | -| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | -| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | -| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | -| 8040 | Prometheus metrics | /metrics | --metrics-port | - | +| Port | Purpose | Routes | CLI Argument | Environment Variable | +| ---- | ----------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | +| 8000 | GraphQL HTTP server
    (for subgraph queries) | /subgraphs/id/...
    /subgraphs/name/.../... | --http-port | - | +| 8001 | GraphQL WS
    (for subgraph subscriptions) | /subgraphs/id/...
    /subgraphs/name/.../... | --ws-port | - | +| 8020 | JSON-RPC
    (for managing deployments) | / | --admin-port | - | +| 8030 | Subgraph indexing status API | /graphql | --index-node-port | - | +| 8040 | Prometheus metrics | /metrics | --metrics-port | - | > **Important**: Be careful about exposing ports publicly - **administration ports** should be kept locked down. This includes the the Graph Node JSON-RPC endpoint. @@ -114,7 +114,7 @@ Full documentation of `config.toml` can be found in the [Graph Node docs](https: #### Multiple Graph Nodes -Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestor), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). +Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). > Note that multiple Graph Nodes can all be configured to use the same database, which itself can be horizontally scaled via sharding. From e39b71f4791e61ce466d5e10abd9eb808ee8344d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:58 -0400 Subject: [PATCH 0813/2326] New translations glossary.mdx (Romanian) --- website/pages/ro/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/ro/glossary.mdx b/website/pages/ro/glossary.mdx index cdd4e402240c..e3e23d383c4e 100644 --- a/website/pages/ro/glossary.mdx +++ b/website/pages/ro/glossary.mdx @@ -24,7 +24,7 @@ title: Glossary - **Indexer's Self Stake**: The amount of GRT that Indexers stake to participate in the decentralized network. The minimum is 100,000 GRT, and there is no upper limit. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegators**: Network participants who own GRT and delegate their GRT to Indexers. This allows Indexers to increase their stake in subgraphs on the network. In return, Delegators receive a portion of the Indexing Rewards that Indexers receive for processing subgraphs. @@ -38,11 +38,11 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) is an example. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations exist in one of four phases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Active**: An allocation is considered active when it is created on-chain. This is called opening an allocation, and indicates to the network that the Indexer is actively indexing and serving queries for a particular subgraph. Active allocations accrue indexing rewards proportional to the signal on the subgraph, and the amount of GRT allocated. @@ -54,7 +54,7 @@ title: Glossary - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Indexing Rewards**: The rewards that Indexers receive for indexing subgraphs. Indexing rewards are distributed in GRT. @@ -83,3 +83,5 @@ title: Glossary - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From d220609c46a117436172fbcc09bcfcce1581129c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:59 -0400 Subject: [PATCH 0814/2326] New translations glossary.mdx (French) --- website/pages/fr/glossary.mdx | 64 ++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/website/pages/fr/glossary.mdx b/website/pages/fr/glossary.mdx index 2859336295c5..b12c50512100 100644 --- a/website/pages/fr/glossary.mdx +++ b/website/pages/fr/glossary.mdx @@ -1,8 +1,8 @@ --- -title: Glossary +title: Glossaire --- -- **The Graph**: un protocole décentralisé pour l'indexation et la requête de données. +- **The Graph**: un protocole décentralisé pour l'indexation et l'interrogation des données. - **Query**: une requête de données. Dans le cas de The Graph, une requête est une demande de données provenant d'un subgraph qui sera traitée par un indexeur. @@ -14,72 +14,74 @@ title: Glossary - **Hosted service**: A temporary scaffold service for building and querying subgraphs as The Graph's decentralized network is maturing its cost of service, quality of service, and developer experience. -- **Indexers**: Network participants that run indexing nodes to index data from blockchains and serve GraphQL queries. +- **Indexeurs** : participants au réseau qui exécutent des nœuds d'indexation pour indexer les données des blockchains et servir des requêtes GraphQL. -- **Indexer Revenue Streams**: Indexers are rewarded in GRT with two components: query fee rebates and indexing rewards. +- **Flux de revenus des indexeurs** : Les indexeurs sont récompensés en GRT avec deux composantes : les remises sur les frais de requête et les récompenses d'indexation. - 1. **Query Fee Rebates**: Payments from subgraph consumers for serving queries on the network. + 1. **Remises sur les frais de requête** : paiements des consommateurs de subgraphs pour la réponse aux requêtes sur le réseau. - 2. **Indexing Rewards**: The rewards that Indexers receive for indexing subgraphs. Indexing rewards are generated via new issuance of 3% GRT annually. + 2. **Récompenses d'indexation** : les récompenses que les indexeurs reçoivent pour l'indexation des subgraphs. Les récompenses d'indexation sont générées par l'émission annuelle de 3 % de GRT. -- **Indexer's Self Stake**: The amount of GRT that Indexers stake to participate in the decentralized network. The minimum is 100,000 GRT, and there is no upper limit. +- **Participation personnelle de l'indexeur** : le montant de GRT que les indexeurs mettent en jeu pour participer au réseau décentralisé. Le minimum est de 100 000 GRT et il n’y a pas de limite supérieure. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. -- **Delegators**: Network participants who own GRT and delegate their GRT to Indexers. This allows Indexers to increase their stake in subgraphs on the network. In return, Delegators receive a portion of the Indexing Rewards that Indexers receive for processing subgraphs. +- **Mise à niveau de l'indexeur** : un indexeur temporaire conçu pour servir de solution de secours pour les requêtes de subgraphs non prises en charge par d'autres indexeurs du réseau. Il garantit une transition transparente pour la mise à niveau des subgraphs à partir du service hébergé en répondant facilement à leurs requêtes dès leur publication. L'indexeur de mise à niveau n'est pas compétitif par rapport aux autres indexeurs et prend en charge les chaînes qui étaient auparavant exclusives au service hébergé. -- **Delegation Tax**: A 0.5% fee paid by Delegators when they delegate GRT to Indexers. The GRT used to pay the fee is burned. +- **Taxe de délégation** : Une taxe de 0,5 % payée par les délégués lorsqu'ils délèguent des GRT aux indexeurs. Les GRT utilisés pour payer la taxe sont brûlés. -- **Curators**: Network participants that identify high-quality subgraphs, and “curate” them (i.e., signal GRT on them) in exchange for curation shares. When Indexers claim query fees on a subgraph, 10% is distributed to the Curators of that subgraph. Indexers earn indexing rewards proportional to the signal on a subgraph. We see a correlation between the amount of GRT signalled and the number of Indexers indexing a subgraph. +- **Curateurs** : participants au réseau qui identifient des subgraphs de haute qualité et les « organisent » (c'est-à-dire signalent GRT sur eux) en échange de partages de curation. Lorsque les indexeurs réclament des frais de requête sur un subgraph, 10 % sont distribués aux conservateurs de ce subgraph. Les indexeurs gagnent des récompenses d'indexation proportionnelles au signal sur un subgraph. Nous voyons une corrélation entre la quantité de GRT signalée et le nombre d'indexeurs indexant un subgraph. -- **Curation Tax**: A 1% fee paid by Curators when they signal GRT on subgraphs. The GRT used to pay the fee is burned. +- **Taxe de curation** : Une taxe de 1% payée par les curateurs lorsqu'ils signalent des GRT sur des subgraphs. Le GRT utilisé pour payer la taxe est brûlé. -- **Subgraph Consumer**: Any application or user that queries a subgraph. +- **Consommateur de subgraphs** : Toute application ou utilisateur qui interroge un subgraph. -- **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. +- **Développeur de subgraphs** : un développeur qui crée et déploie un subgraph sur le réseau décentralisé de The Graph. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) is an example. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations exist in one of four phases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: - 1. **Active**: An allocation is considered active when it is created on-chain. This is called opening an allocation, and indicates to the network that the Indexer is actively indexing and serving queries for a particular subgraph. Active allocations accrue indexing rewards proportional to the signal on the subgraph, and the amount of GRT allocated. + 1. **Actif** : Une allocation est considérée comme active lorsqu'elle est créée sur la chaîne. Cela s'appelle ouvrir une allocation, et indique au réseau que l'indexeur indexe et sert activement les requêtes pour un subgraph particulier. Les allocations actives accumulent des récompenses d'indexation proportionnelles au signal sur le subgraph et à la quantité de GRT allouée. 2. **Closed**: An Indexer may claim the accrued indexing rewards on a given subgraph by submitting a recent, and valid, Proof of Indexing (POI). This is known as closing an allocation. An allocation must have been open for a minimum of one epoch before it can be closed. The maximum allocation period is 28 epochs. If an indexer leaves an allocation open beyond 28 epochs, it is known as a stale allocation. When an allocation is in the **Closed** state, a Fisherman can still open a dispute to challenge an Indexer for serving false data. -- **Subgraph Studio**: A powerful dapp for building, deploying, and publishing subgraphs. +- **Subgraph Studio** : une application puissante pour créer, déployer et publier des subgraphs. - **Fishermen**: A role within The Graph Network held by participants who monitor the accuracy and integrity of data served by Indexers. When a Fisherman identifies a query response or a POI they believe to be incorrect, they can initiate a dispute against the Indexer. If the dispute rules in favor of the Fisherman, the Indexer is slashed. Specifically, the Indexer will lose 2.5% of their self-stake of GRT. Of this amount, 50% is awarded to the Fisherman as a bounty for their vigilance, and the remaining 50% is removed from circulation (burned). This mechanism is designed to encourage Fishermen to help maintain the reliability of the network by ensuring that Indexers are held accountable for the data they provide. - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. -- **Indexing Rewards**: The rewards that Indexers receive for indexing subgraphs. Indexing rewards are distributed in GRT. +- **Récompenses d'indexation** : les récompenses que les indexeurs reçoivent pour l'indexation des subgraphs. Les récompenses d'indexation sont distribuées en GRT. -- **Delegation Rewards**: The rewards that Delegators receive for delegating GRT to Indexers. Delegation rewards are distributed in GRT. +- **Récompenses de délégation** : Les récompenses que les délégués reçoivent pour avoir délégué des GRT aux indexeurs. Les récompenses de délégation sont distribuées dans les GRT. -- **GRT**: The Graph's work utility token. GRT provides economic incentives to network participants for contributing to the network. +- .**GRT** : le jeton d'utilité du travail de The Graph, le GRT offre des incitations économiques aux participants du réseau pour leur contribution au réseau. -- **POI or Proof of Indexing**: When an Indexer closes their allocation and wants to claim their accrued indexing rewards on a given subgraph, they must provide a valid and recent Proof of Indexing (POI). Fishermen may dispute the POI provided by an Indexer. A dispute resolved in the Fisherman's favor will result in slashing of the Indexer. +- **POI ou preuve d'indexation** : lorsqu'un indexeur clôture son allocation et souhaite réclamer ses récompenses d'indexation accumulées sur un subgraph donné, il doit fournir une preuve d'indexation valide et récente ( POI). Les pêcheurs peuvent contester le POI fourni par un indexeur. Un différend résolu en faveur du pêcheur entraînera la suppression de l'indexeur. -- **Graph Node**: Graph Node is the component which indexes subgraphs, and makes the resulting data available to query via a GraphQL API. As such it is central to the indexer stack, and correct operation of Graph Node is crucial to running a successful indexer. +- **Graph Node** : Graph Node est le composant qui indexe les subgraphs et rend les données résultantes disponibles pour interrogation via une API GraphQL. En tant que tel, il est au cœur de la pile de l’indexeur, et le bon fonctionnement de Graph Node est crucial pour exécuter un indexeur réussi. -- **Indexer agent**: The Indexer agent is part of the indexer stack. It facilitates the Indexer's interactions on-chain, including registering on the network, managing subgraph deployments to its Graph Node(s), and managing allocations. +- **Agent de l'indexeur** : l'agent de l'indexeur fait partie de la pile de l'indexeur. Il facilite les interactions de l'indexeur sur la chaîne, notamment l'enregistrement sur le réseau, la gestion des déploiements de subgraphs vers son ou son(ses) noed(s) de graph et la gestion des allocations. -- **The Graph Client**: A library for building GraphQL-based dapps in a decentralized way. +- **The Graph Client** : une bibliothèque pour créer des dapps basées sur GraphQL de manière décentralisée. -- **Graph Explorer**: A dapp designed for network participants to explore subgraphs and interact with the protocol. +- **Graph Explorer** : Une application conçue pour que les participants au réseau puissent explorer les subgraphs et interagir avec le protocole. -- **Graph CLI**: A command line interface tool for building and deploying to The Graph. +- **Graph CLI** : Un outil d'interface de ligne de commande pour construire et déployer sur The Graph. -- **Cooldown Period**: The time remaining until an Indexer who changed their delegation parameters can do so again. +- **Période de récupération** : le temps restant jusqu'à ce qu'un indexeur qui a modifié ses paramètres de délégation puisse le faire à nouveau. - **L2 Transfer Tools**: Smart contracts and UI that enable network participants to transfer network related assets from Ethereum mainnet to Arbitrum One. Network participants can transfer delegated GRT, subgraphs, curation shares, and Indexer's self stake. -- **_Upgrading_ a subgraph to The Graph Network**: The process of moving a subgraph from the hosted service to The Graph Network. +- **_Mise à niveau_ d'un subgraph vers The Graph Network** : processus de déplacement d'un subgraph du service hébergé vers The Graph Network . -- **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. +- **_Mise à jour_ d'un subgraph** : processus de publication d'une nouvelle version de subgraph avec des mises à jour du manifeste, du schéma ou du subgraph. cartographies. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 2869bf3d4c0c156ea8d245890e4288faf55283b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:39:59 -0400 Subject: [PATCH 0815/2326] New translations glossary.mdx (Spanish) --- website/pages/es/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/es/glossary.mdx b/website/pages/es/glossary.mdx index e77efc2a09b6..1f049866b5e5 100644 --- a/website/pages/es/glossary.mdx +++ b/website/pages/es/glossary.mdx @@ -24,7 +24,7 @@ title: Glosario - **Stake propio del Indexador (Indexer's Self Stake)**: La cantidad de GRT que los Indexadores depositan en stake para participar en la red descentralizada. El mínimo es de 100.000 GRT, y no hay límite superior. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegadores (Delegators)**: Participantes de la red que poseen GRT y delegan su GRT en Indexadores. Esto permite a los Indexadores aumentar su stake en los subgrafos de la red. A cambio, los Delegadores reciben una parte de las recompensas de indexación que reciben los Indexadores por procesar los subgrafos. @@ -38,11 +38,11 @@ title: Glosario - **Developer de subgrafos (Subgraph developer)**: Developer que construye y realiza el deploy de un subgrafo en la red descentralizada de The Graph. -- **Manifiesto del subgrafo (Subgraph Manifest)**: Un archivo JSON que describe el esquema GraphQL del subgrafo, las fuentes de datos y otros metadatos. [Aquí](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) tienes un ejemplo. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Asignación (Allocation)**: Un Indexador puede asignar su stake total de GRT (incluyendo el stake de los Delegadores) hacia subgrafos que hayan sido publicados en la red descentralizada de The Graph. Las allocations existen en una de cuatro fases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Activa (Active)**: Una allocation se considera activa cuando se crea on-chain. Esto se llama abrir una allocation, e indica a la red que el Indexador está indexando activamente y sirviendo consultas para un subgrafo en particular. Las allocations activas acumulan recompensas de indexación proporcionales a la señal del subgrafo y a la cantidad de GRT asignada. @@ -54,7 +54,7 @@ title: Glosario - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Recompensas de Indexación (Indexing Rewards)**: Las recompensas que reciben los Indexadores por indexar subgrafos. Las recompensas de indexación se distribuyen en GRT. @@ -83,3 +83,5 @@ title: Glosario - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 36cadae407185882cf5b07b3ae725dd9f7f7071c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:00 -0400 Subject: [PATCH 0816/2326] New translations glossary.mdx (Arabic) --- website/pages/ar/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/ar/glossary.mdx b/website/pages/ar/glossary.mdx index fea39cbbe23b..c44b2886ae23 100644 --- a/website/pages/ar/glossary.mdx +++ b/website/pages/ar/glossary.mdx @@ -24,7 +24,7 @@ title: قائمة المصطلحات - **Indexer's Self Stake**: The amount of GRT that Indexers stake to participate in the decentralized network. The minimum is 100,000 GRT, and there is no upper limit. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegators**: Network participants who own GRT and delegate their GRT to Indexers. This allows Indexers to increase their stake in subgraphs on the network. In return, Delegators receive a portion of the Indexing Rewards that Indexers receive for processing subgraphs. @@ -38,11 +38,11 @@ title: قائمة المصطلحات - **مطور السوبغراف**: هو المطور الذي يقوم ببناء ونشر السوبغراف على شبكة الغراف اللامركزية. -- **وصف السبغراف (Subgraph Manifest) **: هو ملف JSON يصف مخطط GraphQL للسبغراف ومصادر البيانات والبيانات الوصفية الأخرى. [هنا](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) مثال. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **الحقبة (Epoch)**: وحدة زمنية داخل الشبكة. حاليًا، تتألف الحقبة من 6,646 كتلة أو تقريبًا يوم واحد. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations exist in one of four phases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Active**: An allocation is considered active when it is created on-chain. This is called opening an allocation, and indicates to the network that the Indexer is actively indexing and serving queries for a particular subgraph. Active allocations accrue indexing rewards proportional to the signal on the subgraph, and the amount of GRT allocated. @@ -54,7 +54,7 @@ title: قائمة المصطلحات - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Indexing Rewards**: The rewards that Indexers receive for indexing subgraphs. Indexing rewards are distributed in GRT. @@ -83,3 +83,5 @@ title: قائمة المصطلحات - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 8cf3c072c5d20b3c79c92b28ed3ccaaa81341f9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:01 -0400 Subject: [PATCH 0817/2326] New translations glossary.mdx (Czech) --- website/pages/cs/glossary.mdx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/website/pages/cs/glossary.mdx b/website/pages/cs/glossary.mdx index 0de3579e3a9f..6911536894cf 100644 --- a/website/pages/cs/glossary.mdx +++ b/website/pages/cs/glossary.mdx @@ -24,7 +24,7 @@ title: Glosář - **Vlastní vklad indexátora**: Částka GRT, kterou indexátoři vkládají, aby se mohli účastnit decentralizované sítě. Minimum je 100,000 GRT a horní hranice není stanovena. -- **Upgrade indexeru**: Dočasný indexer určený jako záložní pro dotazy na podgrafy, které nejsou obsluhovány jinými indexery v síti. Zajišťuje bezproblémový přechod pro podgrafy aktualizované z hostované služby tím, že po zveřejnění snadno obslouží jejich dotazy. Upgrade Indexer není konkurenční vůči ostatním Indexerům. Podporuje řadu blokových řetězců, které byly dříve dostupné pouze v hostované službě. +- **Upgrade indexeru**: Dočasný indexer určený jako záložní pro dotazy na podgrafy, které nejsou obsluhovány jinými indexery v síti. Zajišťuje bezproblémový přechod pro podgrafy, které se upgradují z hostované služby na Síť Graf. Upgrade Indexer není konkurenční vůči ostatním Indexerům. Podporuje řadu blokových řetězců, které byly dříve dostupné pouze v hostované službě. - **Delegátoři**: Účastníci sítě, kteří vlastní GRT a delegují své GRT na indexátory. To umožňuje Indexerům zvýšit svůj podíl v podgrafech v síti. Delegáti na oplátku dostávají část odměn za indexování, které indexátoři dostávají za zpracování podgrafů. @@ -38,23 +38,23 @@ title: Glosář - **Vývojář podgrafů**: Vývojář, který vytváří a nasazuje subgraf do decentralizované sítě Grafu. -- **Manifest podgrafů**: Soubor JSON, který popisuje schéma podgrafu v GraphQL, zdroje dat a další metadata. [Tady](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) je příklad. +- **Manifest podgrafů**: Soubor JSON, který popisuje schéma podgrafu v jazyce GraphQL, zdroje dat a další metadata. [Tady](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) je příklad. - **Epoch**: Časová jednotka v rámci sítě. V současné době je jedna epocha 6,646 bloků nebo přibližně 1 den. -- **Přidělení**: Indexer může alokovat svůj celkový podíl GRT (včetně podílu delegátů) na podgrafy, které byly zveřejněny v decentralizované síti Graf. Alokace existují v jedné ze čtyř fází. +- **Alokace**: Indexátor může přidělit svůj celkový podíl GRT (včetně podílu delegátů) na podgrafy, které byly zveřejněny v decentralizované síti Graf. Alokace mohou mít různé stavy: 1. **Aktivní**: Alokace je považována za aktivní, když je vytvořena v řetězci. Tomu se říká otevření alokace a signalizuje síti, že indexátor aktivně indexuje a obsluhuje dotazy pro daný podgraf. Aktivní alokace získávají odměny za indexování úměrné signálu na podgrafu a množství alokovaného GRT. 2. **Zavřeno**: Indexátor si může nárokovat odměny za indexaci daného podgrafu předložením aktuálního a platného dokladu o indexaci (POI). Tomuto postupu se říká uzavření přídělu. Alokace musí být otevřena minimálně jednu epochu, aby mohla být uzavřena. Maximální doba přidělení je 28 epoch. Pokud indexátor ponechá alokaci otevřenou déle než 28 epoch, je tato alokace označována jako zastaralá. Když je alokace ve stavu **uzavřeno**, může rybář stále otevřít spor a napadnout indexátor za podávání falešných dat. -- **Subgraph Studio**: A powerful dapp for building, deploying, and publishing subgraphs. +- **Podgraf Studio**: Výkonná aplikace pro vytváření, nasazování a publikování podgrafů. - **Rybáři**: Úloha v rámci sítě Grafu, kterou zastávají účastníci, kteří sledují přesnost a integritu dat poskytovaných indexátory. Pokud Rybář identifikuje odpověď na dotaz nebo POI, o které se domnívá, že je nesprávná, může iniciovat spor s Indexátorem. Pokud spor rozhodne ve prospěch Rybáře, je Indexátor vyřazen. Konkrétně indexátor přijde o 2.5 % svého vlastního podílu na GRT. Z této částky je 50% přiznáno Rybáři jako odměna za jeho bdělost a zbývajících 50% je staženo z oběhu (spáleno). Tento mechanismus je navržen tak, aby Rybáře motivoval k tomu, aby pomáhali udržovat spolehlivost sítě tím, že zajistí, aby Indexátoři nesli odpovědnost za data, která poskytují. - **Rozhodčí**: Rozhodci jsou účastníci sítě jmenovaní v rámci procesu řízení. Úkolem arbitra je rozhodovat o výsledku sporů týkajících se indexace a dotazů. Jejich cílem je maximalizovat užitečnost a spolehlivost sítě Graf. -- **Slashing**: Indexerům může být sníženo jejich vlastní GRT za poskytnutí nesprávného POI nebo za poskytnutí nepřesných dat. nebo za poskytnutí nepřesných dat. Procento slashingu je parametr protokolu, který je v současné době nastaven na 2.5 % vlastního podílu indexátora. 50% z kráceného GRT připadne rybáři, který nepřesná data nebo nesprávné POI zpochybnil. Zbývajících 50% se spálí. +- **Slashing**: Indexerům může být snížen jejich vlastní GRT za poskytnutí nesprávného POI nebo za poskytnutí nepřesných dat. Procento slashingu je parametr protokolu, který je v současné době nastaven na 2.5% vlastního podílu indexátora. 5% z kráceného GRT připadne rybáři, který nepřesná data nebo nesprávné POI zpochybnil. Zbývajících 50% se spálí. - **Odměny za indexování**: Odměny, které indexátory obdrží za indexování podgrafů. Odměny za indexování se rozdělují v GRT. @@ -83,3 +83,5 @@ title: Glosář - **_Aktualizace_ podgrafu**: Proces vydání nové verze podgrafu s aktualizacemi manifestu, schématu nebo mapování podgrafu. - **Migrace**: Proces sdílení kurátorů, při kterém se přechází ze staré verze podgrafu na novou verzi podgrafu (např. při aktualizaci verze v0.0.1 na verzi v0.0.2). + +- **Okno aktualizace**: Odpočet, kdy mohou uživatelé hostovaných služeb aktualizovat své podgrafy na síť The Graph Network, začíná 11, dubna a končí 12, června 2024. From 2be027c5492ae6514090f1bc32384c44ad3d5d4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:02 -0400 Subject: [PATCH 0818/2326] New translations glossary.mdx (German) --- website/pages/de/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/de/glossary.mdx b/website/pages/de/glossary.mdx index cdd4e402240c..e3e23d383c4e 100644 --- a/website/pages/de/glossary.mdx +++ b/website/pages/de/glossary.mdx @@ -24,7 +24,7 @@ title: Glossary - **Indexer's Self Stake**: The amount of GRT that Indexers stake to participate in the decentralized network. The minimum is 100,000 GRT, and there is no upper limit. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegators**: Network participants who own GRT and delegate their GRT to Indexers. This allows Indexers to increase their stake in subgraphs on the network. In return, Delegators receive a portion of the Indexing Rewards that Indexers receive for processing subgraphs. @@ -38,11 +38,11 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) is an example. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations exist in one of four phases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Active**: An allocation is considered active when it is created on-chain. This is called opening an allocation, and indicates to the network that the Indexer is actively indexing and serving queries for a particular subgraph. Active allocations accrue indexing rewards proportional to the signal on the subgraph, and the amount of GRT allocated. @@ -54,7 +54,7 @@ title: Glossary - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Indexing Rewards**: The rewards that Indexers receive for indexing subgraphs. Indexing rewards are distributed in GRT. @@ -83,3 +83,5 @@ title: Glossary - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From cdbe55ccd38b41138cd878d2ab49322f5cd58e85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:03 -0400 Subject: [PATCH 0819/2326] New translations glossary.mdx (Italian) --- website/pages/it/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/it/glossary.mdx b/website/pages/it/glossary.mdx index cdd4e402240c..e3e23d383c4e 100644 --- a/website/pages/it/glossary.mdx +++ b/website/pages/it/glossary.mdx @@ -24,7 +24,7 @@ title: Glossary - **Indexer's Self Stake**: The amount of GRT that Indexers stake to participate in the decentralized network. The minimum is 100,000 GRT, and there is no upper limit. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegators**: Network participants who own GRT and delegate their GRT to Indexers. This allows Indexers to increase their stake in subgraphs on the network. In return, Delegators receive a portion of the Indexing Rewards that Indexers receive for processing subgraphs. @@ -38,11 +38,11 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) is an example. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations exist in one of four phases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Active**: An allocation is considered active when it is created on-chain. This is called opening an allocation, and indicates to the network that the Indexer is actively indexing and serving queries for a particular subgraph. Active allocations accrue indexing rewards proportional to the signal on the subgraph, and the amount of GRT allocated. @@ -54,7 +54,7 @@ title: Glossary - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Indexing Rewards**: The rewards that Indexers receive for indexing subgraphs. Indexing rewards are distributed in GRT. @@ -83,3 +83,5 @@ title: Glossary - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From e34a511b293a2b645571d52ac5db6f6fc14f7d66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:04 -0400 Subject: [PATCH 0820/2326] New translations glossary.mdx (Japanese) --- website/pages/ja/glossary.mdx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/website/pages/ja/glossary.mdx b/website/pages/ja/glossary.mdx index 167d4ed1fdcf..ffec3f05297d 100644 --- a/website/pages/ja/glossary.mdx +++ b/website/pages/ja/glossary.mdx @@ -24,7 +24,7 @@ title: 用語集 - **インデクサーのセルフステーク**:インデクサーが分散型ネットワークに参加するためにステークするGRTの金額です。最低額は100,000GRTで、上限はありません。 -- **アップグレード・インデクサー**: ネットワーク上の他のIndexerによってサービスされないサブグラフのクエリのフォールバックとして機能するように設計された一時的なインデクサーです。ホスティングサービスからアップグレードされたサブグラフが、公開されたときにそのクエリに対応することで、シームレスな移行を保証します。アップグレードインデクサーは他のインデクサーと競合しません。以前はホスティングサービスでのみ利用可能だった多数のブロックチェーンをサポートしています。 +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **デリゲーター**:GRTを所有し、そのGRTをインデクサーに委任するネットワーク参加者です。これにより、インデクサーはネットワーク上のサブグラフへの出資比率を高めることができます。デリゲーターは、インデクサーがサブグラフを処理する際に受け取るインデクサー報酬の一部を受け取ります。 @@ -38,11 +38,11 @@ title: 用語集 - **サブグラフ・デベロッパー**:The Graphの分散型ネットワークにサブグラフを構築し、デプロイする開発者のことです。 -- **Subgraph Manifest**:サブグラフの GraphQL スキーマ、データ ソース、およびその他のメタデータを記述する JSON ファイルです。[こちら](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf)がその例です。 +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **エポック**: ネットワーク内の時間の単位。現在、1エポックは6,646ブロック、または約1日です。 -- **アロケーション**:インデクサは、GRTのステーク(デリゲータのステークを含む)を、The Graphの分散型ネットワークで公開されているサブグラフに割り当てることができます。アロケーションは、4つの段階のうちの1つです。 +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **アクティブ**:アロケーションは、オンチェーンで作成されたときにアクティブとみなされます。これはアロケーションを開くと呼ばれ、インデクサーが特定のサブグラフのために積極的にインデックスを作成し、クエリを提供していることをネットワークに示しています。アクティブなアロケーションは、サブグラフ上のシグナルと割り当てられたGRTの量に比例してインデックス作成報酬を発生させます。 @@ -54,7 +54,7 @@ title: 用語集 - **アービトレーター(仲裁人)**: 仲裁人は、ガバナンスプロセスを通じて任命されるネットワーク参加者です。仲裁人の役割は、インデックス作成とクエリの論争の結果を決定することです。その目的は、グラフネットワークの実用性と信頼性を最大化することです。 -- **スラッシング**: インデクサーは、不正確な POI を提供したり、不正確なデータを提供したりした場合に、 自己ステークの GRT をスラッシングされることがあります。スラッシングのパーセンテージはプロトコルのパラメータで、 現在はインデクサーのセルフステークの2.5%に設定されています。削減されたGRTの50%は、不正確なデータや不正確なPOIに異議を唱えたフィッシャーマンに支払われます。残りの50%はバーンされます。 +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **インデックス作成報酬**:インデクサーがサブグラフのインデックス作成に対して受け取る報酬です。インデックス作成報酬はGRTで分配されます。 @@ -78,8 +78,10 @@ title: 用語集 - **L2転送ツール**:ネットワーク参加者がイーサリアムメインネットからArbitrum Oneにネットワーク関連資産を転送できるようにするスマートコントラクトとUIです。ネットワーク参加者は、委任されたGRT、サブグラフ、キュレーションシェア、およびインデクサーのセルフステークを転送できます。 -- サブグラフを Graph Network に***アップグレード*する**: サブグラフをホストされたサービスから Graph Network に移動するプロセス。 +- サブグラフを Graph Network に**_アップグレード_する**: サブグラフをホストされたサービスから Graph Network に移動するプロセス。 -- サブグラフ**の*更新***: サブグラフのマニフェスト、スキーマ、または更新を含む新しいサブグラフ バージョンをリリースするプロセス。マッピング。 +- サブグラフ**の_更新_**: サブグラフのマニフェスト、スキーマ、または更新を含む新しいサブグラフ バージョンをリリースするプロセス。マッピング。 - **移行**:サブグラフの古いバージョンから新しいバージョンに移行するキュレーション共有のプロセスです(例えば、v0.0.1がv0.0.2に更新される場合)。 + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 649140390f55f69d3b63fdf8d05dd1f5ebeff096 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:05 -0400 Subject: [PATCH 0821/2326] New translations glossary.mdx (Korean) --- website/pages/ko/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/ko/glossary.mdx b/website/pages/ko/glossary.mdx index cdd4e402240c..e3e23d383c4e 100644 --- a/website/pages/ko/glossary.mdx +++ b/website/pages/ko/glossary.mdx @@ -24,7 +24,7 @@ title: Glossary - **Indexer's Self Stake**: The amount of GRT that Indexers stake to participate in the decentralized network. The minimum is 100,000 GRT, and there is no upper limit. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegators**: Network participants who own GRT and delegate their GRT to Indexers. This allows Indexers to increase their stake in subgraphs on the network. In return, Delegators receive a portion of the Indexing Rewards that Indexers receive for processing subgraphs. @@ -38,11 +38,11 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) is an example. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations exist in one of four phases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Active**: An allocation is considered active when it is created on-chain. This is called opening an allocation, and indicates to the network that the Indexer is actively indexing and serving queries for a particular subgraph. Active allocations accrue indexing rewards proportional to the signal on the subgraph, and the amount of GRT allocated. @@ -54,7 +54,7 @@ title: Glossary - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Indexing Rewards**: The rewards that Indexers receive for indexing subgraphs. Indexing rewards are distributed in GRT. @@ -83,3 +83,5 @@ title: Glossary - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 29eed5e1faf9053bcee3086a1390fe794c269935 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:06 -0400 Subject: [PATCH 0822/2326] New translations glossary.mdx (Dutch) --- website/pages/nl/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/nl/glossary.mdx b/website/pages/nl/glossary.mdx index cdd4e402240c..e3e23d383c4e 100644 --- a/website/pages/nl/glossary.mdx +++ b/website/pages/nl/glossary.mdx @@ -24,7 +24,7 @@ title: Glossary - **Indexer's Self Stake**: The amount of GRT that Indexers stake to participate in the decentralized network. The minimum is 100,000 GRT, and there is no upper limit. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegators**: Network participants who own GRT and delegate their GRT to Indexers. This allows Indexers to increase their stake in subgraphs on the network. In return, Delegators receive a portion of the Indexing Rewards that Indexers receive for processing subgraphs. @@ -38,11 +38,11 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) is an example. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations exist in one of four phases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Active**: An allocation is considered active when it is created on-chain. This is called opening an allocation, and indicates to the network that the Indexer is actively indexing and serving queries for a particular subgraph. Active allocations accrue indexing rewards proportional to the signal on the subgraph, and the amount of GRT allocated. @@ -54,7 +54,7 @@ title: Glossary - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Indexing Rewards**: The rewards that Indexers receive for indexing subgraphs. Indexing rewards are distributed in GRT. @@ -83,3 +83,5 @@ title: Glossary - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 9d732d26d8567c3ad1abe64a123bc96cf8dfd119 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:07 -0400 Subject: [PATCH 0823/2326] New translations glossary.mdx (Polish) --- website/pages/pl/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/pl/glossary.mdx b/website/pages/pl/glossary.mdx index cdd4e402240c..e3e23d383c4e 100644 --- a/website/pages/pl/glossary.mdx +++ b/website/pages/pl/glossary.mdx @@ -24,7 +24,7 @@ title: Glossary - **Indexer's Self Stake**: The amount of GRT that Indexers stake to participate in the decentralized network. The minimum is 100,000 GRT, and there is no upper limit. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegators**: Network participants who own GRT and delegate their GRT to Indexers. This allows Indexers to increase their stake in subgraphs on the network. In return, Delegators receive a portion of the Indexing Rewards that Indexers receive for processing subgraphs. @@ -38,11 +38,11 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) is an example. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations exist in one of four phases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Active**: An allocation is considered active when it is created on-chain. This is called opening an allocation, and indicates to the network that the Indexer is actively indexing and serving queries for a particular subgraph. Active allocations accrue indexing rewards proportional to the signal on the subgraph, and the amount of GRT allocated. @@ -54,7 +54,7 @@ title: Glossary - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Indexing Rewards**: The rewards that Indexers receive for indexing subgraphs. Indexing rewards are distributed in GRT. @@ -83,3 +83,5 @@ title: Glossary - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 0552a1828769ca32ea5744ea0ec6c2e5964f6ac0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:08 -0400 Subject: [PATCH 0824/2326] New translations glossary.mdx (Portuguese) --- website/pages/pt/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/pt/glossary.mdx b/website/pages/pt/glossary.mdx index c94db7b95e0c..ed81c3fac678 100644 --- a/website/pages/pt/glossary.mdx +++ b/website/pages/pt/glossary.mdx @@ -24,7 +24,7 @@ title: Glossário - **Auto-Stake (Stake Próprio) do Indexador**: A quantia de GRT que os Indexadores usam para participar na rede descentralizada. A quantia mínima é 100.000 GRT, e não há limite máximo. -- **Indexador de Atualização**: Um Indexador temporário feito para agir como uma reserva para queries de subgraphs não servidos por outros Indexadores na rede. Ele garante uma transição suave para subgraphs que atualizam do serviço hospedado, para servir os seus queries ao ser editado. O Indexador de atualização não é competitivo com outros Indexadores. Ele apoia várias blockchains que antes estavam disponíveis apenas no serviço hospedado. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegantes**: Participantes na rede que são titulares de GRT, e delegam o seu GRT aos Indexadores. Isto permite aos Indexadores aumentar o seu stake nos subgraphs da rede. Em troca, os Delegantes recebem uma porção das Recompensas de Indexação que os Indexadores recebem por processar subgraphs. @@ -38,11 +38,11 @@ title: Glossário - **Programador de Subgraph**: Um programador que constrói e lança um subgraph à rede descentralizada do The Graph. -- **Manifest de Subgraph**: Um arquivo JSON que descreve o schema GraphQL, as fontes de dados, e outros metadados. [Veja um exemplo](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf). +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: Uma unidade de tempo na rede. Um epoch atualmente dura 6.646 blocos, ou cerca de um dia. -- **Alocação**: Um indexador pode alocar o seu stake total em GRT (incluindo o stake dos Delegantes) em subgraphs editados na rede descentralizada do The Graph. As alocações existem em uma de quatro fases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Ativa**: Uma alocação é considerada ativa quando é criada on-chain. Isto se chama abrir de uma alocação, e indica à rede que o Indexador está a indexar e servir consultas ativamente para um subgraph particular. Alocações ativas acumulam recompensas de indexação proporcionais ao sinal no subgraph, e à quantidade de GRT alocada. @@ -54,7 +54,7 @@ title: Glossário - **Árbitros**: Participantes da rede apontados por um processo de governança. O papel do Árbitro é decidir o resultado de disputas de indexação e consultas, e a sua meta é maximizar a utilidade e confiança da Graph Network. -- **Corte**: Os Indexadores podem tomar cortes em seu GRT em auto-stake por fornecer uma prova de indexação (POI) incorreta ou por servir dados imprecisos. A porcentagem de corte é um parâmetro do protocolo, atualmente configurado em 2.5% do auto-stake de um Indexador. 50% do GRT cortado vai ao Pescador que disputou os dados ou POI incorretos. Os outros 50% são queimados. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Recompensas de Indexação**: As recompensas que os Indexadores recebem por indexar subgraphs, distribuídas em GRT. @@ -83,3 +83,5 @@ title: Glossário - **_Atualização_ de um subgraph**: O processo de lançar uma nova versão de subgraph com atualizações ao manifest, schema e mapeamentos do subgraph. - **Migração**: O processo de movimentar ações de curadoria da versão antiga de um subgraph a uma versão nova de um subgraph (por ex., quando a v.0.0.1 é atualizada à v.0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From ee605ea7248b6f95408bb23b667318044c329095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:09 -0400 Subject: [PATCH 0825/2326] New translations glossary.mdx (Russian) --- website/pages/ru/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/ru/glossary.mdx b/website/pages/ru/glossary.mdx index cdd4e402240c..e3e23d383c4e 100644 --- a/website/pages/ru/glossary.mdx +++ b/website/pages/ru/glossary.mdx @@ -24,7 +24,7 @@ title: Glossary - **Indexer's Self Stake**: The amount of GRT that Indexers stake to participate in the decentralized network. The minimum is 100,000 GRT, and there is no upper limit. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegators**: Network participants who own GRT and delegate their GRT to Indexers. This allows Indexers to increase their stake in subgraphs on the network. In return, Delegators receive a portion of the Indexing Rewards that Indexers receive for processing subgraphs. @@ -38,11 +38,11 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) is an example. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations exist in one of four phases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Active**: An allocation is considered active when it is created on-chain. This is called opening an allocation, and indicates to the network that the Indexer is actively indexing and serving queries for a particular subgraph. Active allocations accrue indexing rewards proportional to the signal on the subgraph, and the amount of GRT allocated. @@ -54,7 +54,7 @@ title: Glossary - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Indexing Rewards**: The rewards that Indexers receive for indexing subgraphs. Indexing rewards are distributed in GRT. @@ -83,3 +83,5 @@ title: Glossary - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 016c3c528fec05b10c028cd2b5769f1e14904379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:10 -0400 Subject: [PATCH 0826/2326] New translations glossary.mdx (Swedish) --- website/pages/sv/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/sv/glossary.mdx b/website/pages/sv/glossary.mdx index b52948de2ce6..cc6b4386945f 100644 --- a/website/pages/sv/glossary.mdx +++ b/website/pages/sv/glossary.mdx @@ -24,7 +24,7 @@ title: Ordlista - **Indexer's Self Stake**: The amount of GRT that Indexers stake to participate in the decentralized network. The minimum is 100,000 GRT, and there is no upper limit. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegators**: Network participants who own GRT and delegate their GRT to Indexers. This allows Indexers to increase their stake in subgraphs on the network. In return, Delegators receive a portion of the Indexing Rewards that Indexers receive for processing subgraphs. @@ -38,11 +38,11 @@ title: Ordlista - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) is an example. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations exist in one of four phases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Aktiv**: En allokering anses vara aktiv när den skapas på kedjan. Detta kallas att öppna en allokering och indikerar för nätverket att Indexer aktivt indexerar och betjänar frågor för en särskild subgraf. Aktiva allokeringar ackumulerar indexbelöningar proportionellt mot signalen på subgrafen och mängden GRT som allokerats. @@ -54,7 +54,7 @@ title: Ordlista - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Indexbelöningar**: De belöningar som Indexers får för att indexera subgrafer. Indexbelöningar distribueras i GRT. @@ -83,3 +83,5 @@ title: Ordlista - **_Uppdatering_ av en subgraf**: Processen att släppa en ny subgrafversion med uppdateringar av subgrafens manifest, schema eller avbildning. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 18387f90a4b0189a3a139ce08149e61d45f0949f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:11 -0400 Subject: [PATCH 0827/2326] New translations glossary.mdx (Turkish) --- website/pages/tr/glossary.mdx | 40 ++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/website/pages/tr/glossary.mdx b/website/pages/tr/glossary.mdx index 2e3b1c2d74e0..ba5b159d1f35 100644 --- a/website/pages/tr/glossary.mdx +++ b/website/pages/tr/glossary.mdx @@ -1,22 +1,22 @@ --- -title: Sözlük +title: Glossary --- -- **Graph**: Verileri indekslemek ve sorgulamak için merkeziyetsiz bir protokol. +- **The Graph**: A decentralized protocol for indexing and querying data. -- **Sorgu**: Veri talebi. Graph söz konusu olduğunda, sorgu, indeksleyici tarafından yanıtlanacak olan bir subgraph'ten gelen veri talebidir. +- **Query**: A request for data. In the case of The Graph, a query is a request for data from a subgraph that will be answered by an Indexer. -- **GraphQL**: API'lar için bir sorgu dili ve bu sorguları mevcut verilerinizle yerine getirmek için bir çalışma zamanı. Graph, subgraph'leri sorgulamak için GraphQL kullanır. +- **GraphQL**: A query language for APIs and a runtime for fulfilling those queries with your existing data. The Graph uses GraphQL to query subgraphs. - **Uç Nokta**: Bir subgraph'ı sorgulamak için kullanılabilecek bir URL'dir. Subgraph Stüdyo için test uç noktası `https://api.studio.thegraph.com/query///` ve Graph Gezgini uç noktası `https://gateway.thegraph.com/api//subgraphs/id/` şeklindedir. Graph Gezgini uç noktası, Graph'ın merkeziyetsiz ağındaki subgraphları sorgulamak için kullanılır. -- **Subgraph**: Bir blok zincirden veri çıkaran, işleyen ve GraphQL aracılığıyla kolayca sorgulanabilecek şekilde saklayan açık bir API. Geliştiriciler, Graph Network'te subgraph'ler oluşturabilir, deploy edebilir ve yayınlayabilir. Daha sonra indeksleyiciler, subgraph'leri herkes tarafından sorgulanabilecek hale getirmek için indekslemeye başlayabilir. +- **Subgraph**: An open API that extracts data from a blockchain, processes it, and stores it so that it can be easily queried via GraphQL. Developers can build, deploy, and publish subgraphs to The Graph Network. Then, Indexers can begin indexing subgraphs to make them available to be queried by anyone. -- **Barındırılan Hizmet**: Graph'in merkeziyetsiz ağı hizmet maliyetini, hizmet kalitesini ve geliştirici deneyimini olgunlaştırırken subgraph'leri oluşturmak ve sorgulamak için geçici bir iskele hizmeti. +- **Hosted service**: A temporary scaffold service for building and querying subgraphs as The Graph's decentralized network is maturing its cost of service, quality of service, and developer experience. -- **İndeksleyiciler**: Blok zincirlerinden gelen verileri indekslemek ve GraphQL sorguları sunmak için indeksleme node'larını çalıştıran ağ katılımcıları. +- **Indexers**: Network participants that run indexing nodes to index data from blockchains and serve GraphQL queries. -- **İndeksleyici Gelir Akışları**: İndeksleyiciler, GRT'de iki bileşenle ödüllendirilir: Sorgu ücreti indirimleri ve İndeksleme ödülleri. +- **Indexer Revenue Streams**: Indexers are rewarded in GRT with two components: query fee rebates and indexing rewards. 1. **Sorgu Ücreti İadeleri**: Ağda sorgular sunmak için subgraph tüketicilerinden yapılan ödemelerdir. @@ -24,7 +24,7 @@ title: Sözlük - **İndeksleyicinin Kendi Stake'i**: İndeksleyicilerin merkeziyetsiz ağa katılmak için stake ettikleri GRT miktarıdır. Minimum 100.000 GRT'dir ve üst sınır yoktur. -- **Yükseltme İndeksleyicisi**: Ağdaki diğer indeksleyiciler tarafından hizmet verilmeyen subgraph sorguları için bir geri dönüş görevi görmek üzere tasarlanmış geçici bir indeksleyici. Yayınlandıktan sonra sorgularını kolayca sunarak, barındırılan hizmetten yükseltilen subgraph'ler için sorunsuz bir geçiş sağlar. Yükseltme indeksleyicisi diğer indeksleyiciler ile rekabet edemez. Daha önce yalnızca barındırılan hizmette mevcut olan çok sayıda blok zincirini destekler. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegatörler**: GRT'ye sahip olan ve GRT'lerini indeksleyicilere stake eden ağ katılımcıları. Bu, indeksleyicilerin ağdaki subgraph'lerde mevcut paylarını artırmalarına olanak tanır. Buna karşılık, delegatörler, indeksleyicilerin subgraph'leri işlemek için aldıkları indeksleme ödüllerinin bir kısmını alırlar. @@ -38,23 +38,23 @@ title: Sözlük - **Subgraph Geliştiricisi**: Graph'in merkeziyetsiz ağına bir subgraph inşa eden ve dağıtan bir geliştirici. -- **Subgraph Manifestosu**: Subgraph'in GraphQL şemasını, veri kaynaklarını ve diğer meta verileri açıklayan bir JSON dosyası. [Burada bir örneğini](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) bulabilirsiniz. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. -- **Dönem**: Ağ içinde bir zaman birimi. Şu anda bir epoch 6.646 blok veya yaklaşık 1 gündür. +- **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Tahsis**: Bir indeksleyici, toplam GRT payını (delegatörlerin payı dahil) Graph'in merkeziyetsiz ağında yayınlanan subgraph'lere tahsis edebilir. Tahsisler dört aşamadan birinde mevcuttur. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Aktif**: Bir tahsis, zincir üzerinde oluşturulduğunda aktif kabul edilir. Buna tahsis açma denir ve ağa, indeksleyicinin belirli bir subgraph için sorguları aktif olarak indekslediğini ve sunduğunu gösterir. Aktif tahsisler, subgraph'teki sinyal ve tahsis edilen GRT miktarı ile orantılı olarak indeksleme ödülleri tahakkuk ettirir. - 2. **Kapalı**: Bir indeksleyici, güncel ve geçerli bir İndeksleme Kanıtı (POI) göndererek belirli bir subgraph'te tahakkuk eden indeksleme ödüllerini talep edebilir. Buna tahsisin kapatılması denir. Bir tahsisin kapatılabilmesi için en az bir dönem boyunca açık olması gerekir. Maksimum tahsis süresi 28 dönemdir. İndeksleyicinin bir tahsisi 28 dönemin ötesinde açık bırakması, eski tahsis olarak bilinir. Bir tahsis **Kapalı** durumunda olduğunda, fishermen yine de yanlış veri sunduğu için indeksleyiciye itiraz etmek üzere bir anlaşmazlık açabilir. + 2. **Closed**: An Indexer may claim the accrued indexing rewards on a given subgraph by submitting a recent, and valid, Proof of Indexing (POI). This is known as closing an allocation. An allocation must have been open for a minimum of one epoch before it can be closed. The maximum allocation period is 28 epochs. If an indexer leaves an allocation open beyond 28 epochs, it is known as a stale allocation. When an allocation is in the **Closed** state, a Fisherman can still open a dispute to challenge an Indexer for serving false data. - **Subgraph Stüdyo**: Subgraph'ler oluşturmak, deploy etmek ve yayınlamak için güçlü bir merkeziyetsiz uygulamadır. -- **Fishermen**: İndeksleyiciler tarafından sunulan verilerin doğruluğunu ve bütünlüğünü izleyen katılımcılar tarafından Graph Network içinde üstlenilen bir rol. Bir fishermen, yanlış olduğuna inandığı bir sorgu yanıtı veya POI tespit ettiğinde indeksleyici karşı bir anlaşmazlık başlatabilir. İtiraz fishermen lehine sonuçlanırsa, indeksleyicinin puanı düşürülür. Spesifik olarak, indeksleyici kendi GRT payının %2,5'ini kaybedecektir. Bu miktarın %50'si fishermen'a uyanıklığı için bir ödül olarak verilir ve kalan %50'si dolaşımdan kaldırılır (yakılır). Bu mekanizma, indeksleyicilerin sağladıkları verilerden sorumlu tutulmalarını sağlayarak fishermen'ları ağın güvenilirliğini korumaya yardımcı olmaya teşvik etmek için tasarlanmıştır. +- **Fishermen**: A role within The Graph Network held by participants who monitor the accuracy and integrity of data served by Indexers. When a Fisherman identifies a query response or a POI they believe to be incorrect, they can initiate a dispute against the Indexer. If the dispute rules in favor of the Fisherman, the Indexer is slashed. Specifically, the Indexer will lose 2.5% of their self-stake of GRT. Of this amount, 50% is awarded to the Fisherman as a bounty for their vigilance, and the remaining 50% is removed from circulation (burned). This mechanism is designed to encourage Fishermen to help maintain the reliability of the network by ensuring that Indexers are held accountable for the data they provide. -- **Hakemler**: Hakemler, bir yönetişim süreci aracılığıyla atanan ağ katılımcılarıdır. Hakemin rolü, indeksleme ve sorgu anlaşmazlıklarının sonucuna karar vermektir. Amaçları Graph Network'ün faydasını ve güvenilirliğini en üst düzeye çıkarmaktır. +- **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: İndeksleyiciler, yanlış bir POI sağladıkları veya yanlış veri sundukları ya da yanlış veri sundukları için kendi paylarına düşen GRT'yi kesebilirler. Kesinti yüzdesi, şu anda bir indeksleyicinin kendi hissesinin %2,5'i olarak ayarlanmış bir protokol parametresidir. Kesilen GRT'nin %50'si yanlış veriye veya yanlış POI'ye itiraz eden fishermen'a gider. Diğer %50'si ise yakılır. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **İndeksleme Ödülleri**: İndeksleyicilerin subgraph'leri indeksleme karşılığında aldığı ödüllerdir. İndeksleme ödülleri GRT şeklinde dağıtılır. @@ -62,7 +62,7 @@ title: Sözlük - **GRT**: Graph'in çalışma yardımcı programı belirtecidir. GRT, ağ katılımcılarına ağa katkıda bulunmaları için ekonomik teşvikler sağlar. -- **POI veya İndeksleme Kanıtı**: Bir indeksleyici tahsisini kapattığında ve belirli bir subgraph'te tahakkuk eden indeksleme ödüllerini talep etmek istediğinde, geçerli ve güncel bir indeksleme kanıtı sağlamalıdır (POI). Fishermen, indeksleyici tarafından sağlanan POI'ye itiraz edebilir. Fishermen'in lehine çözülen bir anlaşmazlık, indeksleyicinin cezalandırılması ile sonuçlanacaktır. +- **POI or Proof of Indexing**: When an Indexer closes their allocation and wants to claim their accrued indexing rewards on a given subgraph, they must provide a valid and recent Proof of Indexing (POI). Fishermen may dispute the POI provided by an Indexer. A dispute resolved in the Fisherman's favor will result in slashing of the Indexer. - **Graph Node**: Graph Node, subgraph'leri indeksleyen ve elde edilen verileri bir GraphQL API aracılığıyla sorgulanabilir hale getiren bileşendir. Bu nedenle, indeksleyici yığınının merkezinde yer alır ve Graph node'unun doğru çalışması, başarılı bir indeksleyici olabilmek için çok önemlidir. @@ -76,10 +76,12 @@ title: Sözlük - **Soğuma Süresi**: Yetki parametrelerini değiştiren indeksleyicinin bunu tekrar yapabilmesi için kalan süre. -- **L2 Aktarım Araçları**: Ağ katılımcılarının ağla ilgili varlıkları Ethereum ana ağından Arbitrum One'a aktarmasına olanak tanıyan akıllı sözleşmeler ve kullanıcı arayüzü. Ağ katılımcıları, yetkilendirilmiş GRT'yi, subgraph'leri, kürasyon paylaşımlarını ve indeksleyicinin kendi payını aktarabilir. +- **L2 Transfer Tools**: Smart contracts and UI that enable network participants to transfer network related assets from Ethereum mainnet to Arbitrum One. Network participants can transfer delegated GRT, subgraphs, curation shares, and Indexer's self stake. - **Bir subgraph'ı Graph Ağı'na _yükseltme_**: Bir subgraph'ı barındırılan hizmetten Graph Ağı'na taşıma işlemi. - **Bir subgraph'ın _güncellenmesi_**: Subgraph manifestosunda, şemasında veya eşleştirmelerinde yapılan güncellemelerle yeni bir subgraph sürümü yayınlama işlemi. -- **Geçiş**: Bir subgraph'in eski bir sürümünden bir subgrap'in yeni bir sürümüne geçiş yapan kürasyon paylaşımları süreci (örneğin, v0.0.1, v0.0.2'ye güncellendiğinde). +- **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From e94ab71683de4c596ce1221a70b0ccfae1887a4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:12 -0400 Subject: [PATCH 0828/2326] New translations glossary.mdx (Ukrainian) --- website/pages/uk/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/uk/glossary.mdx b/website/pages/uk/glossary.mdx index 87557350629b..dc79d30d8c49 100644 --- a/website/pages/uk/glossary.mdx +++ b/website/pages/uk/glossary.mdx @@ -24,7 +24,7 @@ title: Глосарій - **Indexer's Self Stake**: Сума токенів GRT, яку Індексатори стейкають, щоб брати участь у децентралізації мережі. Мінімальна сума становить 100 000 GRT, без верхнього ліміту. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Делегати**: Користувачі мережі, які володіють токеном GRT та делегують його Індексаторам. Це дозволяє індексаторам збільшити кількість застейканих токенів на власних підграфах всередині мережі. Натомість делегати отримують частину винагороди за індексування, яку індексатори отримують за свою роботу. @@ -38,11 +38,11 @@ title: Глосарій - **Розробник підграфа**: Розробник, який створює та розгортає підграф у децентралізованій мережі The Graph. -- **Маніфест підграфів**: JSON-файл, який описує схему GraphQL підграфа, джерела даних та інші метадані. [Тут](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) ви можете побачити приклад. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Розподіл**: Індексатор може розподілити свою загальну частку застейканих GRT токенів (включаючи токени від делегатів) на підграфи, які були розміщені в децентралізованій мережі The Graph. Розподіл відбувається на одному з чотирьох етапів. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Активний**: Розподіл вважається активним, коли він створюється всередині мережі. Це називається відкриттям розподілу і вказує мережі на те, що індексатор активно індексує та обслуговує запити для конкретного підграфа. При активному розподілі нараховується винагорода за індексацію пропорційно до кількості сигналів на підграфі та суми розподілених GRT токенів. @@ -54,7 +54,7 @@ title: Глосарій - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Нагороди за індексацію**: Винагорода, яку отримують Індексатори за індексування підграфів. Винагороди за індексацію розподіляються в токенах GRT. @@ -83,3 +83,5 @@ title: Глосарій - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 9b0533f336bccdad244974fdc7ec07e7503e79e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:13 -0400 Subject: [PATCH 0829/2326] New translations glossary.mdx (Chinese Simplified) --- website/pages/zh/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/zh/glossary.mdx b/website/pages/zh/glossary.mdx index 3593974794f0..b0aea0cc50d1 100644 --- a/website/pages/zh/glossary.mdx +++ b/website/pages/zh/glossary.mdx @@ -24,7 +24,7 @@ title: 术语汇编 - **Indexer's Self Stake**: 索引人参与去中心化网络的 GRT 金额。最低为100000 GRT,并且没有上限。 -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegators**: 拥有 GRT 并将其 GRT 委托给索引人的网络参与者。这使得索引人可以增加它们在网络子图中的份额。作为回报,委托方将获得索引方为处理子图而获得的索引奖励的一部分。 @@ -38,11 +38,11 @@ title: 术语汇编 - **Subgraph Developer**: 构建并部署子图到 Graph 去中心化网络的开发人员。 -- **Subgraph Manifest**: 描述子图的 GraphQL 模式、数据源和其他元数据的 JSON 文件。[此处](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf)示例。 +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: 网络中的时间单位。一个时期目前为6,646个区块或大约1天。 -- **Allocation**: 一个索引人可以分配他们的总 GRT 份额(包括委托人的股份) 到已经部署在Graph去中心化网络的子图。分配存在于四个阶段之一。 +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Active**: 分配在链上创建时被认为是活动的。这称为打开一个分配,并向网络表明索引人正在为特定子图建立索引并提供查询服务。主动分配的增值索引奖励与子图上的信号以及分配的 GRT 的数量成比例。 @@ -54,7 +54,7 @@ title: 术语汇编 - **Arbitrators**: 仲裁员是通过治理设置的网络参与者。仲裁员的作用是决定索引和查询争议的结果。他们的目标是最大限度地提高Graph网络的效用和可靠性。 -- **Slashing**: 索引人可能因为提供了不正确的索引证明(POI) 或提供了不准确的数据而削减它们所占的 GRT。削减百分比是一个协议参数,目前设置为索引人自身权益的2.5% 。50% 的削减后的总注册税收归Fisherman,他们对不准确的数据或不正确的 POI 提出异议。剩下的50% 被消耗了。 +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Indexing Rewards**: 索引人因为索引子图而获得的奖励。索引奖励是通过GRT 来分配的。 @@ -83,3 +83,5 @@ title: 术语汇编 - **_更新_ 子图**: 发布新子图版本的过程,其中包含对子图的清单、模式或映射的更新。 - **Migrating**: 策展份额从子图的旧版本移动到子图的新版本的过程(例如,从 v0.0.1 更新到 v0.0.2)。 + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 398e34df8cec831b9d6489eb7218bae5474bff47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:14 -0400 Subject: [PATCH 0830/2326] New translations glossary.mdx (Urdu (Pakistan)) --- website/pages/ur/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/ur/glossary.mdx b/website/pages/ur/glossary.mdx index 813780fc2ae9..a793726d3b25 100644 --- a/website/pages/ur/glossary.mdx +++ b/website/pages/ur/glossary.mdx @@ -24,7 +24,7 @@ title: لغت - **انڈیکسر سیلف سٹیک**: GRT کی وہ مقدار جو انڈیکسرز ڈیسینٹرالائزڈ نیٹ ورک میں حصہ لینے کے لیے لگاتے ہیں۔ کم از کم 100,000 GRT ہے، اور کوئی اوپری حد نہیں ہے. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **ڈیلیگیٹرز**: نیٹ ورک کے شرکاء جو GRT کے مالک ہیں اور اپنی GRT انڈیکسرز کو تفویض کرتے ہیں۔ یہ انڈیکسرز کو نیٹ ورک پر سب گراف میں اپنا حصہ بڑھانے کی اجازت دیتا ہے۔ بدلے میں، ڈیلیگیٹرز کو انڈیکسنگ کے انعامات کا ایک حصہ ملتا ہے جو انڈیکسرز سب گراف پر کارروائی کرنے کے لیے وصول کرتے ہیں. @@ -38,11 +38,11 @@ title: لغت - **سب گراف ڈویلپر**: ایک ڈویلپر جو گراف کے ڈیسینٹرالائزڈ نیٹ ورک پر سب گراف بناتا اور تعینات کرتا ہے. -- **سب گراف مینی فیسٹ**: ایک JSON فائل جو سب گراف کے GraphQL اسکیما، ڈیٹا کے ذرائع اور دیگر میٹا ڈیٹا کو بیان کرتی ہے.[ یہاں](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) ایک مثال ہے. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **ایلوکیشن**: ایک انڈیکسر اپنا کل GRT حصص (بشمول ڈیلیگیٹرز کا حصہ) ان سب گرافوں کے لیے مختص کر سکتا ہے جو گراف کے ڈیسینٹرالائزڈ نیٹ ورک پر شائع کیے گئے ہیں۔ مختصات چار مراحل میں سے ایک میں موجود ہیں. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **فعال**: ایک مختص کو فعال سمجھا جاتا ہے جب اسے آن چین بنایا جاتا ہے۔ اسے ایلوکیشن کھولنا کہا جاتا ہے، اور یہ نیٹ ورک کی طرف اشارہ کرتا ہے کہ انڈیکسر کسی خاص سب گراف کے لیے فعال طور پر انڈیکس کر رہا ہے اور کیوریز پیش کر رہا ہے۔ فعال مختصات سب گراف پر سگنل کے متناسب انڈیکسنگ انعامات اور مختص کردہ GRT کی رقم جمع کرتی ہیں. @@ -54,7 +54,7 @@ title: لغت - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **انڈیکسنگ انعامات**: وہ انعامات جو انڈیکسرز کو انڈیکس کرنے والے سب گراف کے لیے موصول ہوتے ہیں۔ انڈیکسنگ کے انعامات GRT میں تقسیم کیے جاتے ہیں. @@ -83,3 +83,5 @@ title: لغت - **سب گراف کو _اپ ڈیٹ_ کرنا**: سب گراف کے مینی فیسٹ، سکیما، یا میپنگز میں اپ ڈیٹس کے ساتھ ایک نیا سب گراف ورزن جاری کرنے کا عمل۔ - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 44748bbb964a25ff006814e7a41441d2cf90a8b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:15 -0400 Subject: [PATCH 0831/2326] New translations glossary.mdx (Vietnamese) --- website/pages/vi/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/vi/glossary.mdx b/website/pages/vi/glossary.mdx index cdd4e402240c..e3e23d383c4e 100644 --- a/website/pages/vi/glossary.mdx +++ b/website/pages/vi/glossary.mdx @@ -24,7 +24,7 @@ title: Glossary - **Indexer's Self Stake**: The amount of GRT that Indexers stake to participate in the decentralized network. The minimum is 100,000 GRT, and there is no upper limit. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegators**: Network participants who own GRT and delegate their GRT to Indexers. This allows Indexers to increase their stake in subgraphs on the network. In return, Delegators receive a portion of the Indexing Rewards that Indexers receive for processing subgraphs. @@ -38,11 +38,11 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) is an example. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations exist in one of four phases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Active**: An allocation is considered active when it is created on-chain. This is called opening an allocation, and indicates to the network that the Indexer is actively indexing and serving queries for a particular subgraph. Active allocations accrue indexing rewards proportional to the signal on the subgraph, and the amount of GRT allocated. @@ -54,7 +54,7 @@ title: Glossary - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Indexing Rewards**: The rewards that Indexers receive for indexing subgraphs. Indexing rewards are distributed in GRT. @@ -83,3 +83,5 @@ title: Glossary - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 230a83f7c5677339fdff954d9e4eccf7a14bae5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:16 -0400 Subject: [PATCH 0832/2326] New translations glossary.mdx (Marathi) --- website/pages/mr/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/mr/glossary.mdx b/website/pages/mr/glossary.mdx index 33627e52b406..5ce03f957294 100644 --- a/website/pages/mr/glossary.mdx +++ b/website/pages/mr/glossary.mdx @@ -24,7 +24,7 @@ title: Glossary - **इंडेक्सरचा सेल्फ स्टेक**: विकेंद्रीकृत नेटवर्कमध्ये भाग घेण्यासाठी इंडेक्सर्सची जीआरटीची रक्कम. किमान 100,000 GRT आहे आणि कोणतीही उच्च मर्यादा नाही. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **प्रतिनिधी**: नेटवर्क सहभागी जे GRT चे मालक आहेत आणि त्यांचे GRT इंडेक्सर्सना सोपवतात. हे इंडेक्सर्सना नेटवर्कवरील सबग्राफमध्ये त्यांची भागीदारी वाढविण्यास अनुमती देते. त्या बदल्यात, प्रतिनिधींना अनुक्रमणिका बक्षिसेचा एक भाग प्राप्त होतो जो इंडेक्सर्सना सबग्राफवर प्रक्रिया करण्यासाठी प्राप्त होतो. @@ -38,11 +38,11 @@ title: Glossary - **सबग्राफ डेव्हलपर**: एक विकासक जो ग्राफच्या विकेंद्रीकृत नेटवर्कवर सबग्राफ तयार करतो आणि तैनात करतो. -- **सबग्राफ मॅनिफेस्ट**: एक JSON फाइल जी सबग्राफच्या GraphQL स्कीमा, डेटा स्रोत आणि इतर मेटाडेटाचे वर्णन करते. [येथे](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) एक उदाहरण आहे. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **वाटप**: एक इंडेक्सर त्यांचा एकूण GRT स्टेक (प्रतिनिधींच्या स्टेकसह) ग्राफच्या विकेंद्रीकृत नेटवर्कवर प्रकाशित झालेल्या सबग्राफसाठी वाटप करू शकतो. वाटप चार टप्प्यांपैकी एका टप्प्यात अस्तित्वात आहे. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **सक्रिय**: ऑन-चेन तयार केल्यावर वाटप सक्रिय मानले जाते. याला वाटप उघडणे म्हणतात, आणि नेटवर्कला सूचित करते की इंडेक्सर सक्रियपणे अनुक्रमित करत आहे आणि विशिष्ट सबग्राफसाठी क्वेरी सर्व्ह करत आहे. सक्रिय वाटप सबग्राफवरील सिग्नल आणि वाटप केलेल्या GRT रकमेच्या प्रमाणात अनुक्रमणिका बक्षिसे जमा करतात. @@ -54,7 +54,7 @@ title: Glossary - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **इंडेक्सिंग रिवॉर्ड्स**: इंडेक्सर्सना अनुक्रमणिका सबग्राफसाठी प्राप्त होणारे पुरस्कार. इंडेक्सिंग रिवॉर्ड्स GRT मध्ये वितरीत केले जातात. @@ -83,3 +83,5 @@ title: Glossary - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 41bcddce4cd7df0ec790b68421d6123ca3201e78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:16 -0400 Subject: [PATCH 0833/2326] New translations glossary.mdx (Hindi) --- website/pages/hi/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/hi/glossary.mdx b/website/pages/hi/glossary.mdx index f94753b65b8f..3b00ff0e4d96 100644 --- a/website/pages/hi/glossary.mdx +++ b/website/pages/hi/glossary.mdx @@ -24,7 +24,7 @@ title: शब्दकोष - **इंडेक्सर का सेल्फ स्टेक**: GRT की वह राशि जो इंडेक्सर्स विकेंद्रीकृत नेटवर्क में भाग लेने के लिए दांव पर लगाते हैं। न्यूनतम 100,000 जीआरटी है, और कोई ऊपरी सीमा नहीं है। -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **डेलीगेटर्स**: नेटवर्क प्रतिभागी जो GRT के मालिक हैं और अपने GRT को इंडेक्सर्स को सौंपते हैं। यह इंडेक्सर्स को नेटवर्क पर सबग्राफ में अपनी हिस्सेदारी बढ़ाने की अनुमति देता है। बदले में, डेलिगेटर्स को इंडेक्सिंग रिवॉर्ड्स का एक हिस्सा मिलता है जो इंडेक्सर्स को सबग्राफ प्रोसेसिंग के लिए मिलता है। @@ -38,11 +38,11 @@ title: शब्दकोष - **सबग्राफ डेवलपर**: एक डेवलपर जो ग्राफ़ के विकेंद्रीकृत नेटवर्क के लिए एक सबग्राफ़ बनाता और तैनात करता है। -- **सबग्राफ मेनिफेस्ट**: एक JSON फाइल जो सबग्राफ के ग्राफक्यूएल स्कीमा, डेटा स्रोत और अन्य मेटाडेटा का वर्णन करती है। [यहां](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) एक उदाहरण है। +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **आवंटन**: एक इंडेक्सर अपनी कुल जीआरटी हिस्सेदारी (प्रतिनिधियों की हिस्सेदारी सहित) सबग्राफ के लिए आवंटित कर सकता है जो कि ग्राफ के विकेंद्रीकृत नेटवर्क पर प्रकाशित किया गया है। आवंटन चार चरणों में से एक में मौजूद हैं। +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **सक्रिय**: एक आवंटन को तब सक्रिय माना जाता है जब इसे ऑन-चेन बनाया जाता है। इसे ओपनिंग आबंटन कहा जाता है, और यह नेटवर्क को इंगित करता है कि इंडेक्सर सक्रिय रूप से अनुक्रमण कर रहा है और किसी विशेष सबग्राफ के लिए प्रश्नों की सेवा कर रहा है। सक्रिय आबंटन उप-अनुच्छेद पर संकेत के अनुपात में अनुक्रमित पुरस्कार अर्जित करते हैं, और आवंटित जीआरटी की राशि। @@ -54,7 +54,7 @@ title: शब्दकोष - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **इंडेक्सिंग रिवार्ड्स**: वे पुरस्कार जो इंडेक्सर्स को सबग्राफ इंडेक्स करने के लिए मिलते हैं। इंडेक्सिंग पुरस्कार जीआरटी में वितरित किए जाते हैं। @@ -83,3 +83,5 @@ title: शब्दकोष - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From fc8ed5ccff069b102fcae8a40099b0c6ae0915e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:17 -0400 Subject: [PATCH 0834/2326] New translations glossary.mdx (Yoruba) --- website/pages/yo/glossary.mdx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/website/pages/yo/glossary.mdx b/website/pages/yo/glossary.mdx index cdd4e402240c..e3e23d383c4e 100644 --- a/website/pages/yo/glossary.mdx +++ b/website/pages/yo/glossary.mdx @@ -24,7 +24,7 @@ title: Glossary - **Indexer's Self Stake**: The amount of GRT that Indexers stake to participate in the decentralized network. The minimum is 100,000 GRT, and there is no upper limit. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service by readily serving their queries upon being published. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. - **Delegators**: Network participants who own GRT and delegate their GRT to Indexers. This allows Indexers to increase their stake in subgraphs on the network. In return, Delegators receive a portion of the Indexing Rewards that Indexers receive for processing subgraphs. @@ -38,11 +38,11 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://ipfs.io/ipfs/QmVQdzeGdPUiLiACeqXRpKAYpyj8Z1yfWLMUq7A7WundUf) is an example. +- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations exist in one of four phases. +- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: 1. **Active**: An allocation is considered active when it is created on-chain. This is called opening an allocation, and indicates to the network that the Indexer is actively indexing and serving queries for a particular subgraph. Active allocations accrue indexing rewards proportional to the signal on the subgraph, and the amount of GRT allocated. @@ -54,7 +54,7 @@ title: Glossary - **Arbitrators**: Arbitrators are network participants appointed through a governance process. The role of the Arbitrator is to decide the outcome of indexing and query disputes. Their goal is to maximize the utility and reliability of The Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. - **Indexing Rewards**: The rewards that Indexers receive for indexing subgraphs. Indexing rewards are distributed in GRT. @@ -83,3 +83,5 @@ title: Glossary - **_Updating_ a subgraph**: The process of releasing a new subgraph version with updates to the subgraph's manifest, schema, or mappings. - **Migrating**: The process of curation shares moving from an old version of a subgraph to a new version of a subgraph (e.g. when v0.0.1 is updated to v0.0.2). + +- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. From 6739714255e55937401066c42f2a19212f2ced4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:33 -0400 Subject: [PATCH 0835/2326] New translations base-testnet.mdx (Romanian) --- website/pages/ro/cookbook/base-testnet.mdx | 23 +++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/website/pages/ro/cookbook/base-testnet.mdx b/website/pages/ro/cookbook/base-testnet.mdx index b1e3a4fc7c6d..3a1d98a44103 100644 --- a/website/pages/ro/cookbook/base-testnet.mdx +++ b/website/pages/ro/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ This guide will quickly take you through how to initialize, create, and deploy y What you'll need: -- A Base testnet contract address +- A Base Sepolia testnet contract address - A crypto wallet (e.g. MetaMask or Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Create your subgraph in the Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Once connected, click "Create a Subgraph" and enter a name for your subgraph. - -Select "Base (testnet)" as the indexed blockchain and click Create Subgraph. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Initialize your Subgraph -> You can find specific commands for your subgraph in the Subgraph Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Make sure that the graph-cli is updated to latest (above 0.41.0) @@ -52,7 +50,8 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo - Protocol: ethereum - Subgraph slug: `` - Directory to create the subgraph in: `` -- Ethereum network: base-testnet \_ Contract address: `` +- Ethereum network: base-sepolia +- Contract address: `` - Start block (optional) - Contract name: `` - Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) @@ -63,7 +62,7 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-testnet` as the network name in manifest file to deploy your subgraph on Base testnet. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. - Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript Mappings (mapping.ts) - This is the code that translates data from your datasources to the entities defined in the schema. @@ -71,9 +70,9 @@ If you want to index additional data, you will need extend the manifest, schema For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Deploy to the Subgraph Studio +### 4. Deploy to Subgraph Studio -Before you can deploy your subgraph, you will need to authenticate with the Subgraph Studio. You can do this by running the following command: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: Authenticate the subgraph on studio @@ -105,7 +104,7 @@ graph deploy --studio ### 5. Query your subgraph -Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in the Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. Note - Studio API is rate-limited. Hence should preferably be used for development and testing. From 5c8cb77bc603e93b70a431dd7777d5fc16e39d4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:34 -0400 Subject: [PATCH 0836/2326] New translations base-testnet.mdx (French) --- website/pages/fr/cookbook/base-testnet.mdx | 55 +++++++++++----------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/website/pages/fr/cookbook/base-testnet.mdx b/website/pages/fr/cookbook/base-testnet.mdx index 51bb55cd3554..b06bcbd77f05 100644 --- a/website/pages/fr/cookbook/base-testnet.mdx +++ b/website/pages/fr/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ Ce guide vous montrera rapidement comment initialiser, créer et déployer votre Ce dont vous avez besoin : -- A Adresse du contrat de testnet de la base +- A Base Sepolia testnet contract address - Un portefeuille cryptographique (par exemple MetaMask ou Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Créez votre subgraph dans Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Accédez au [Subgraph Studio](https://thegraph.com/studio/) et connectez votre portefeuille crypto. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Une fois connecté, cliquez sur "Create my h a Subgraph" et saisissez un nom pour votre subgraph. - -Sélectionnez "Base (testnet)" comme blockchain indexée et cliquez sur Create Subgraph (Créer un subgraph). +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Initialiser votre subgraph -> Vous trouverez des commandes spécifiques pour votre subgraph dans le Studio des subgraphs. +> You can find specific commands for your subgraph in Subgraph Studio. Assurez-vous que le graph-cli est mis à jour vers la dernière version (supérieure à 0.41.0) @@ -52,42 +50,43 @@ Votre nom de subgraph est un identifiant pour votre subgraph. L'outil CLI vous g - Protocol: Ethereum - Subgraph slug: `` - Répertoire dans lequel créer le subgraph : `` -- Réseau Ethereum : base-testnet \_ Adresse du contrat : `` -- Bloc de départ (optionnel) -- Nom du contrat : `` -- Oui/non à l'indexation des événements (oui signifie que votre subgraph sera amorcé avec des entités dans le schéma et des mappings simples pour les événements émis) +- Ethereum network: base-sepolia +- Contract address: `` +- Start block (optional) +- Contract name: `` +- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. Rédigez votre subgraph +### 3. Write your Subgraph -> Si les événements émis sont la seule chose que vous souhaitez indexer, aucun travail supplémentaire n'est nécessaire et vous pouvez passer à l'étape suivante. +> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. -Si les événements émis sont la seule chose que vous souhaitez indexer, aucun travail supplémentaire n'est nécessaire et vous pouvez passer à l'étape suivante: +The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifeste (subgraph.yaml) - Le manifeste définit les sources de données que vos subgraphs indexeront. Assurez-vous d'ajouter « base-testnet » comme nom de réseau dans le fichier manifeste pour déployer votre subgraph sur Base testnet. -- Schéma (schema.graphql) : le schéma GraphQL définit les données que vous souhaitez extraire du subgraph. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - Mappages AssemblyScript (mapping.ts) - Il s'agit du code qui traduit les données de vos sources de données vers les entités définies dans le schéma. -Si vous souhaitez indexer des données supplémentaires, vous devrez étendre le manifeste, le schéma et les mappages. +If you want to index additional data, you will need extend the manifest, schema and mappings. -Pour plus d'informations sur la façon d'écrire votre subgraph, voir [Création d'un subgraph](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Déployer sur Subgraph Studio +### 4. Deploy to Subgraph Studio -Avant de pouvoir déployer votre subgraph, vous devrez vous authentifier auprès de Subgraph Studio. Vous pouvez le faire en exécutant la commande suivante : +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: -Authentifier le subgraph sur studio +Authenticate the subgraph on studio ``` graph auth --studio ``` -Ensuite, entrez le répertoire de votre subgraph. +Next, enter your subgraph's directory. ``` cd ``` -Construisez votre subgraph avec la commande suivante: +Build your subgraph with the following command: ```` ``` @@ -95,7 +94,7 @@ graph codegen && graph build ``` ```` -Enfin, vous pouvez déployer votre subgraph à l'aide de cette commande : +Finally, you can deploy your subgraph using this command: ```` ``` @@ -103,10 +102,10 @@ graph deploy --studio ``` ```` -### 5. Interrogez votre subgraph +### 5. Query your subgraph -Une fois votre subgraph déployé, vous pouvez l'interroger à partir de votre dapp en utilisant l'« URL de requête de développement » dans Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. -Remarque : L'API Studio est limitée en débit. Il doit donc être utilisé de préférence pour le développement et les tests. +Note - Studio API is rate-limited. Hence should preferably be used for development and testing. -Pour en savoir plus sur l'interrogation des données de votre subgraph, consultez la page [Interrogation d'un subgraph](/querying/querying-the-graph). +To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. From 9e820b7169c62c21b80aee4a571c57ebac6af710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:35 -0400 Subject: [PATCH 0837/2326] New translations base-testnet.mdx (Spanish) --- website/pages/es/cookbook/base-testnet.mdx | 55 +++++++++++----------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/website/pages/es/cookbook/base-testnet.mdx b/website/pages/es/cookbook/base-testnet.mdx index 0fdff9325e9e..d22f9310155e 100644 --- a/website/pages/es/cookbook/base-testnet.mdx +++ b/website/pages/es/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ Esta guía te conducirá rápidamente a través de cómo iniciar, crear e deploy Lo que necesitarás: -- Una dirección de contrato de Base testnet +- A Base Sepolia testnet contract address - Una wallet cripto (por ejemplo, MetaMask o Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Crea tu subgrafo en Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Ve a [Subgraph Studio](https://thegraph.com/studio/) y conecta tu wallet crypto. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Una vez conectado, haz clic en "Crear un subgrafo" e ingresa un nombre para tu subgrafo. - -Selecciona "Base (testnet)" como la cadena de bloques indexada y haz clic en Crear subgrafo. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Inicia tu subgrafo -> Puedes encontrar comandos específicos para su subgrafo en Subgraph Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Asegúrate de que el graph-cli esté actualizado a la última versión (superior a 0.41.0) @@ -52,42 +50,43 @@ Tu slug de subgrafo es un identificador para tu subgrafo. La herramienta CLI te - Protocolo: ethereum - Slug de subgrafo: `` - Directorio para crear el subgrafo en: `` -- Red Ethereum: base-testnet \_ Dirección del contrato: `` -- Bloque de inicio (opcional) -- Nombre del contrato: `` -- Sí/no a los eventos de indexación (sí significa que tu subgrafo se iniciará con entidades en el esquema y asignaciones simples para eventos emitidos) +- Ethereum network: base-sepolia +- Contract address: `` +- Start block (optional) +- Contract name: `` +- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. Escribe tu subgrafo +### 3. Write your Subgraph -> Si los eventos emitidos son lo único que deseas indexar, entonces no se requiere trabajo adicional y puedes pasar al siguiente paso. +> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. -El comando anterior crea un subgrafo de andamio que puedes usar como punto de partida para construir tu subgrafo. Al realizar cambios en el subgrafo, trabajarás principalmente con tres archivos: +The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifiesto (subgraph.yaml): el manifiesto define qué fuentes de datos indexarán tus subgrafos. Asegúrate de agregar `base-testnet` como el nombre de la red en el archivo de manifiesto para implementar tu subgrafo en Base testnet. -- Schema (schema.graphql) - El esquema GraphQL define los datos que deseas recuperar del subgrafo. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript Mappings (mapping.ts) - Este es el código que traduce los datos de tus fuentes de datos a las entidades definidas en el esquema. -Si deseas indexar datos adicionales, deberás ampliar el manifiesto, el esquema y los mappings. +If you want to index additional data, you will need extend the manifest, schema and mappings. -Para obtener más información sobre cómo escribir tu subgrafo, consulta [Crear un subgrafo](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Deploy en Subgraph Studio +### 4. Deploy to Subgraph Studio -Antes de que puedas deployar tu subgraph, deberás autenticarte con Subgraph Studio. Puedes hacer esto ejecutando el siguiente comando: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: -Autenticar el subgrafo en el estudio +Authenticate the subgraph on studio ``` graph auth --studio ``` -A continuación, ingresa el directorio de tu subgrafo. +Next, enter your subgraph's directory. ``` cd ``` -Construye tu subgrafo con el siguiente comando: +Build your subgraph with the following command: ```` ``` @@ -95,7 +94,7 @@ graph codegen && graph build ``` ```` -Finalmente, puedes deployar tu subgrafo usando este comando: +Finally, you can deploy your subgraph using this command: ```` ``` @@ -103,10 +102,10 @@ graph deploy --studio ``` ```` -### 5. Consulta tu subgrafo +### 5. Query your subgraph -Una vez que se deploya tu subgrafo, puedes consultarlo desde tu dapp utilizando la "URL de consulta de desarrollo" en Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. -Nota: la API de Studio tiene un límite de velocidad. Por lo tanto, debe usarse preferentemente para desarrollo y pruebas. +Note - Studio API is rate-limited. Hence should preferably be used for development and testing. -Para obtener más información sobre cómo consultar datos de tu subgrafo, consulta la página [Consultar un subgrafo](/consultar/consultar-the-graph). +To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. From cde2d1cc432187fe202e33eec8d01d9c0065cb6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:36 -0400 Subject: [PATCH 0838/2326] New translations base-testnet.mdx (Arabic) --- website/pages/ar/cookbook/base-testnet.mdx | 29 +++++++++++----------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/website/pages/ar/cookbook/base-testnet.mdx b/website/pages/ar/cookbook/base-testnet.mdx index 89c026c90979..a32276dd1875 100644 --- a/website/pages/ar/cookbook/base-testnet.mdx +++ b/website/pages/ar/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ This guide will quickly take you through how to initialize, create, and deploy y What you'll need: -- A Base testnet contract address +- A Base Sepolia testnet contract address - A crypto wallet (e.g. MetaMask or Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Create your subgraph in the Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Once connected, click "Create a Subgraph" and enter a name for your subgraph. - -Select "Base (testnet)" as the indexed blockchain and click Create Subgraph. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Initialize your Subgraph -> You can find specific commands for your subgraph in the Subgraph Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Make sure that the graph-cli is updated to latest (above 0.41.0) @@ -52,28 +50,29 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo - Protocol: ethereum - Subgraph slug: `` - Directory to create the subgraph in: `` -- Ethereum network: base-testnet \_ Contract address: `` +- Ethereum network: base-sepolia +- Contract address: `` - Start block (optional) - Contract name: `` - Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. اكتب الفرعية رسم بياني الخاص بك +### 3. Write your Subgraph > If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-testnet` as the network name in manifest file to deploy your subgraph on Base testnet. -- Schema (schema.graphql) - يحدد مخطط GraphQL البيانات التي ترغب في استردادها من الفرعية رسم بياني. -- (AssemblyScript Mappings (mapping.ts - هذا هو الكود الذي يترجم البيانات من مصادر البيانات الخاصة بك إلى الكيانات المحددة في المخطط. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. +- (AssemblyScript Mappings (mapping.ts هذا هو الكود الذي يترجم البيانات من مصادر البيانات الخاصة بك إلى الكيانات المحددة في المخطط. If you want to index additional data, you will need extend the manifest, schema and mappings. For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### النشر على الفرعية رسم بياني ستوديو +### 4. Deploy to Subgraph Studio -Before you can deploy your subgraph, you will need to authenticate with the Subgraph Studio. You can do this by running the following command: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: Authenticate the subgraph on studio @@ -105,7 +104,7 @@ graph deploy --studio ### 5. Query your subgraph -Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in the Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. Note - Studio API is rate-limited. Hence should preferably be used for development and testing. From 06de498f2425ed3b5a842e37fb8b867308a82195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:37 -0400 Subject: [PATCH 0839/2326] New translations base-testnet.mdx (Czech) --- website/pages/cs/cookbook/base-testnet.mdx | 55 +++++++++++----------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/website/pages/cs/cookbook/base-testnet.mdx b/website/pages/cs/cookbook/base-testnet.mdx index bfadb08bd30a..14370e3117da 100644 --- a/website/pages/cs/cookbook/base-testnet.mdx +++ b/website/pages/cs/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ Tento průvodce vás rychle provede inicializací, vytvořením a nasazením sub Požadavky: -- Základní adresa testovací sítě +- A Base Sepolia testnet contract address - Kryptopeněženka (např. MetaMask nebo Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Vytvořte podgraf ve Studiu podgrafů +### 2. Create your subgraph in Subgraph Studio -Přejděte do [Subgraph Studio](https://thegraph.com/studio/) a připojte svou kryptopeněženku. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Po připojení klikněte na tlačítko "Create a Subgraph" a zadejte název podgrafu. - -Jako indexovaný blockchain vyberte "Base (testnet)" a klikněte na tlačítko Create Subgraph. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Inicializujte podgraf -> Konkrétní příkazy pro svůj podgraf najdete ve Studiu podgrafů. +> You can find specific commands for your subgraph in Subgraph Studio. Ujistěte se, že graph-cli je aktualizován na nejnovější verzi (nad 0.41.0) @@ -52,42 +50,43 @@ Váš podgraf slug je identifikátor vašeho podgrafu. Nástroj CLI vás provede - Protokol: ethereum - Subgraph slug: `` - Adresář, ve kterém se má podgraf vytvořit: `` -- Síť Ethereum: base-testnet \_ Adresa smlouvy: \ -- Startovní blok (nepovinné) -- Název smlouvy: `` -- Ano/ne pro indexování událostí (ano znamená, že váš podgraf bude založen na entitách ve schématu a jednoduchých mapováních pro emitované události) +- Ethereum network: base-sepolia +- Contract address: `` +- Start block (optional) +- Contract name: `` +- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. Napište svůj podgraf +### 3. Write your Subgraph -> Pokud jsou emitované události jedinou věcí, kterou chcete indexovat, není třeba provádět žádnou další práci a můžete přejít k dalšímu kroku. +> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. -Předchozí příkaz vytvoří podgraf lešení, který můžete použít jako výchozí bod pro sestavení podgrafu. Při provádění změn v podgrafu budete pracovat především se třemi soubory: +The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - Manifest definuje, jaké datové zdroje budou vaše podgrafy indexovat. Nezapomeňte do souboru manifestu přidat jako název sítě `base-testnet`, abyste mohli svůj podgraf nasadit na Base testnet. -- Schéma (schema.graphql) - Schéma GraphQL definuje, jaká data chcete z podgrafu získat. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript Mapování (mapping.ts) - Jedná se o kód, který převádí data z datových zdrojů na entity definované ve schématu. -Pokud chcete indexovat další data, musíte rozšířit manifest, schéma a mapování. +If you want to index additional data, you will need extend the manifest, schema and mappings. -Další informace o zápisu podgrafu naleznete v části [Creating a Subgraph](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Nasazení do studia Subgraph Studio +### 4. Deploy to Subgraph Studio -Před nasazením subgrafu se musíte ověřit ve Studiu subgrafu. To provedete spuštěním následujícího příkazu: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: -Ověření podgrafu ve studiu +Authenticate the subgraph on studio ``` graph auth --studio ``` -Dále zadejte adresář podgrafu. +Next, enter your subgraph's directory. ``` cd ``` -Vytvořte podgraf pomocí následujícího příkazu: +Build your subgraph with the following command: ```` ``` @@ -95,7 +94,7 @@ graph codegen && graph build ``` ```` -Nakonec můžete subgraf nasadit pomocí tohoto příkazu: +Finally, you can deploy your subgraph using this command: ```` ``` @@ -103,10 +102,10 @@ graph deploy --studio ``` ```` -### 5. Dotaz na podgraf +### 5. Query your subgraph -Jakmile je podgraf nasazen, můžete se na něj ze své aplikace dotazovat pomocí `Development Query URL` v Subgraph Studiu. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. -Poznámka - rozhraní Studio API je omezeno rychlostí. Proto by mělo být přednostně používáno pro vývoj a testování. +Note - Studio API is rate-limited. Hence should preferably be used for development and testing. -Další informace o dotazování na data z podgrafu naleznete na stránce [Dotazování podgrafu](/querying/querying-the-graph). +To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. From 950884997e93e536bc6c77d34865bb1c8ad7343a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:38 -0400 Subject: [PATCH 0840/2326] New translations base-testnet.mdx (German) --- website/pages/de/cookbook/base-testnet.mdx | 23 +++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/website/pages/de/cookbook/base-testnet.mdx b/website/pages/de/cookbook/base-testnet.mdx index fd5481bbc752..cd96026d2596 100644 --- a/website/pages/de/cookbook/base-testnet.mdx +++ b/website/pages/de/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ This guide will quickly take you through how to initialize, create, and deploy y What you'll need: -- A Base testnet contract address +- A Base Sepolia testnet contract address - A crypto wallet (e.g. MetaMask or Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Create your subgraph in the Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Once connected, click "Create a Subgraph" and enter a name for your subgraph. - -Select "Base (testnet)" as the indexed blockchain and click Create Subgraph. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Initialize your Subgraph -> You can find specific commands for your subgraph in the Subgraph Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Make sure that the graph-cli is updated to latest (above 0.41.0) @@ -52,7 +50,8 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo - Protocol: ethereum - Subgraph slug: `` - Directory to create the subgraph in: `` -- Ethereum network: base-testnet \_ Contract address: `` +- Ethereum network: base-sepolia +- Contract address: `` - Start block (optional) - Contract name: `` - Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) @@ -63,7 +62,7 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-testnet` as the network name in manifest file to deploy your subgraph on Base testnet. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. - Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript Mappings (mapping.ts) - Dies ist der Code, der die Daten aus Ihren Datenquellen in die im Schema definierten Entitäten übersetzt. @@ -71,9 +70,9 @@ If you want to index additional data, you will need extend the manifest, schema For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Deploy to the Subgraph Studio +### 4. Deploy to Subgraph Studio -Before you can deploy your subgraph, you will need to authenticate with the Subgraph Studio. You can do this by running the following command: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: Authenticate the subgraph on studio @@ -105,7 +104,7 @@ graph deploy --studio ### 5. Query your subgraph -Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in the Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. Note - Studio API is rate-limited. Hence should preferably be used for development and testing. From 91fefb4316a63834891fa5320b1679be1403e1ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:39 -0400 Subject: [PATCH 0841/2326] New translations base-testnet.mdx (Italian) --- website/pages/it/cookbook/base-testnet.mdx | 23 +++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/website/pages/it/cookbook/base-testnet.mdx b/website/pages/it/cookbook/base-testnet.mdx index b1e3a4fc7c6d..3a1d98a44103 100644 --- a/website/pages/it/cookbook/base-testnet.mdx +++ b/website/pages/it/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ This guide will quickly take you through how to initialize, create, and deploy y What you'll need: -- A Base testnet contract address +- A Base Sepolia testnet contract address - A crypto wallet (e.g. MetaMask or Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Create your subgraph in the Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Once connected, click "Create a Subgraph" and enter a name for your subgraph. - -Select "Base (testnet)" as the indexed blockchain and click Create Subgraph. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Initialize your Subgraph -> You can find specific commands for your subgraph in the Subgraph Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Make sure that the graph-cli is updated to latest (above 0.41.0) @@ -52,7 +50,8 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo - Protocol: ethereum - Subgraph slug: `` - Directory to create the subgraph in: `` -- Ethereum network: base-testnet \_ Contract address: `` +- Ethereum network: base-sepolia +- Contract address: `` - Start block (optional) - Contract name: `` - Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) @@ -63,7 +62,7 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-testnet` as the network name in manifest file to deploy your subgraph on Base testnet. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. - Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript Mappings (mapping.ts) - This is the code that translates data from your datasources to the entities defined in the schema. @@ -71,9 +70,9 @@ If you want to index additional data, you will need extend the manifest, schema For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Deploy to the Subgraph Studio +### 4. Deploy to Subgraph Studio -Before you can deploy your subgraph, you will need to authenticate with the Subgraph Studio. You can do this by running the following command: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: Authenticate the subgraph on studio @@ -105,7 +104,7 @@ graph deploy --studio ### 5. Query your subgraph -Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in the Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. Note - Studio API is rate-limited. Hence should preferably be used for development and testing. From 9987e217b3e6d07c9061ab723d29b96e7d549d91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:40 -0400 Subject: [PATCH 0842/2326] New translations base-testnet.mdx (Japanese) --- website/pages/ja/cookbook/base-testnet.mdx | 51 +++++++++++----------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/website/pages/ja/cookbook/base-testnet.mdx b/website/pages/ja/cookbook/base-testnet.mdx index 62bee88066a4..be8f071f5c51 100644 --- a/website/pages/ja/cookbook/base-testnet.mdx +++ b/website/pages/ja/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ title: Baseでのサブグラフ構築 必要なもの: -- Baseテストネットコントラクトアドレス +- A Base Sepolia testnet contract address - 暗号ウォレット(例:MetaMaskまたはCoinbase Wallet) ## サブグラフスタジオ @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Subgraph Studioであなたのサブグラフを作成してください。」となります。 +### 2. Create your subgraph in Subgraph Studio -[Subgraph Studio](https://thegraph.com/studio/) に移動し、クリプト ウォレットを接続します。 +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -接続後「Create a Subgraph」をクリックし、サブグラフの名称を入力します。 - -インデックス付きブロックチェーンとして「Base (testnet)」を選択し、「Create Subgraph」をクリックします。 +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. サブグラフの初期化 -> サブグラフに固有のコマンドは、Subgraph Studioで確認することができます。 +> You can find specific commands for your subgraph in Subgraph Studio. Graph-cliが最新版(0.41.0以上)に更新されていることを確認します。 @@ -52,42 +50,43 @@ graph init --studio - Protocol: ethereum - Subgraph slug: `` - Directory to create the subgraph in: `` -- Ethereum network: base-testnet \_ Contract address: `` +- Ethereum network: base-sepolia +- Contract address: `` - Start block (optional) - Contract name: `` -- イベントのインデックス作成について、[はい]/[いいえ] を選択します ([はい] は、サブグラフがスキーマ エンティティと発行されたイベントの単純なマッピングでブートストラップされることを意味します)。 +- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. サブグラフの作成 +### 3. Write your Subgraph -> 排出されたイベントだけがインデックスになる場合は、追加の作業は必要なく、次のステップに進むことができます。 +> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. -前のコマンドは、scaffold subgraphを作成し、これを出発点としてサブグラフを構築することができます。サブグラフに変更を加える場合、主に3つのファイルを操作することになります: +The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- マニフェスト (subgraph.yaml) - マニフェストは、サブグラフがインデックスするデータソースを定義します。サブグラフをBase testnetにデプロイするには、マニフェストファイルのネットワーク名として`base-testnet`を必ず追加してください。 -- スキーマ (schema.graphql) - GraphQL スキーマは、サブグラフから取得したいデータを定義します。 +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript Mappings (mapping.ts) - データソースからのデータを、スキーマで定義されたエンティティに変換するコードです。 -追加のデータをインデックス化したい場合は、マニフェスト、スキーマ、マッピングの拡張が必要です。 +If you want to index additional data, you will need extend the manifest, schema and mappings. -サブグラフの書き方については、[サブグラフの作成](/developing/creating-a-subgraph) をご覧ください。 +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Subgraph Studio へのデプロイ +### 4. Deploy to Subgraph Studio -サブグラフをデプロイする前に、Subgraph Studioで認証する必要があります。これは、以下のコマンドを実行することで可能です: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: -「スタジオでサブグラフを認証する」 +Authenticate the subgraph on studio ``` graph auth --studio ``` -次に、サブグラフのディレクトリを入力します。 +Next, enter your subgraph's directory. ``` cd ``` -以下のコマンドでサブグラフを構築します: +Build your subgraph with the following command: ```` ``` @@ -95,7 +94,7 @@ graph codegen && graph build ``` ```` -最後に、このコマンドでサブグラフをデプロイすることができます: +Finally, you can deploy your subgraph using this command: ```` ``` @@ -103,10 +102,10 @@ graph deploy --studio ``` ```` -### 5. 「サブグラフをクエリする」 +### 5. Query your subgraph -サブグラフがデプロイされると、Subgraph Studioの`Development Query URL`を使用して、Dappからサブグラフをクエリすることができます。 +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. -注意:Studio APIは料金に制限があります。そのため、開発およびテストに使用することを推奨します。 +Note - Studio API is rate-limited. Hence should preferably be used for development and testing. -サブグラフからデータをクエリする方法については、[サブグラフのクエリ](/querying/querying-the-graph)のページを参照してください。 +To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. From beb0d8ef7fa1bd11f7625134b488037ae92f8055 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:40 -0400 Subject: [PATCH 0843/2326] New translations base-testnet.mdx (Korean) --- website/pages/ko/cookbook/base-testnet.mdx | 23 +++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/website/pages/ko/cookbook/base-testnet.mdx b/website/pages/ko/cookbook/base-testnet.mdx index b1e3a4fc7c6d..3a1d98a44103 100644 --- a/website/pages/ko/cookbook/base-testnet.mdx +++ b/website/pages/ko/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ This guide will quickly take you through how to initialize, create, and deploy y What you'll need: -- A Base testnet contract address +- A Base Sepolia testnet contract address - A crypto wallet (e.g. MetaMask or Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Create your subgraph in the Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Once connected, click "Create a Subgraph" and enter a name for your subgraph. - -Select "Base (testnet)" as the indexed blockchain and click Create Subgraph. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Initialize your Subgraph -> You can find specific commands for your subgraph in the Subgraph Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Make sure that the graph-cli is updated to latest (above 0.41.0) @@ -52,7 +50,8 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo - Protocol: ethereum - Subgraph slug: `` - Directory to create the subgraph in: `` -- Ethereum network: base-testnet \_ Contract address: `` +- Ethereum network: base-sepolia +- Contract address: `` - Start block (optional) - Contract name: `` - Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) @@ -63,7 +62,7 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-testnet` as the network name in manifest file to deploy your subgraph on Base testnet. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. - Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript Mappings (mapping.ts) - This is the code that translates data from your datasources to the entities defined in the schema. @@ -71,9 +70,9 @@ If you want to index additional data, you will need extend the manifest, schema For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Deploy to the Subgraph Studio +### 4. Deploy to Subgraph Studio -Before you can deploy your subgraph, you will need to authenticate with the Subgraph Studio. You can do this by running the following command: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: Authenticate the subgraph on studio @@ -105,7 +104,7 @@ graph deploy --studio ### 5. Query your subgraph -Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in the Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. Note - Studio API is rate-limited. Hence should preferably be used for development and testing. From 345142c4c633d7778e7f95ff19db9f64b58d79a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:41 -0400 Subject: [PATCH 0844/2326] New translations base-testnet.mdx (Dutch) --- website/pages/nl/cookbook/base-testnet.mdx | 57 +++++++++++----------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/website/pages/nl/cookbook/base-testnet.mdx b/website/pages/nl/cookbook/base-testnet.mdx index d96024e22531..3516b2551106 100644 --- a/website/pages/nl/cookbook/base-testnet.mdx +++ b/website/pages/nl/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ Deze handleiding leidt je snel door hoe je jouw subgraph op Base testnet kunt in Wat je nodig hebt: -- Een Base test contractadres +- A Base Sepolia testnet contract address - Een crypto wallet (bijvoorbeeld MetaMask of Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Creëer je subgraph in de Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Ga naar de [Subgraph Studio](https://thegraph.com/studio/) en verbind je crypto wallet. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Eenmaal verbonden, klik op "Create a Subgraph" en voer een naam in voor jouw subgraph. - -Selecteer "Base (testnet)" als de geïndexeerde blockchain en klik op Create Subgraph. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Initialiseer je Subgraph -> Specifieke commando's voor je subgraph kun je vinden in Subgraph Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Zorg ervoor dat de graph-cli is bijgewerkt naar de nieuwste versie (boven 0.41.0) @@ -52,42 +50,43 @@ Je subgraph slug is een identificator voor je subgraph. De CLI tool zal je door - Protocol: ethereum - Subgraph slug: `` - Directory om de subgraph in te creëren: `` -- Ethereum netwerk: base-testnet \_ Contractadres: `` -- Start block (optioneel) -- Contractnaam: `` -- Yes/No voor het indexeren van events (Yes betekent dat je subgraph zal worden opgezet met entiteiten in het schema en eenvoudige mappings voor uitgestuurde events) +- Ethereum network: base-sepolia +- Contract address: `` +- Start block (optional) +- Contract name: `` +- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. Schrijf je Subgraph +### 3. Write your Subgraph -> Als uitgezonden events het enige is wat je wilt indexeren, dan is er geen extra werk nodig en kun je naar de volgende stap. +> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. -Het vorige commando creëert een basis subgraph die je kunt gebruiken als startpunt voor het maken van je subgraph. Bij het aanbrengen van wijzigingen aan de subgraph zul je voornamelijk werken met drie bestanden: +The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - Het manifest definieert welke databron je subgraphs zullen indexeren. Zorg ervoor dat je `base-testnet` toevoegt als netwerknaam in het manifestbestand om je subgraph op Base testnet uit te brengen. -- Schema (schema.graphql) - Het GraphQL schema definieert welke gegevens je wilt ophalen met de subgraph. -- AssemblyScript Mappings (mapping.ts) - Dit is de code die gegevens van je databron vertaalt naar de entiteiten die in het schema zijn gedefinieerd. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. +- AssemblyScript Mappings (mapping.ts) - This is the code that translates data from your datasources to the entities defined in the schema. -Als je aanvullende gegevens wilt indexeren, moet je het manifest, schema en de mappings uitbreiden. +If you want to index additional data, you will need extend the manifest, schema and mappings. -Voor meer informatie over hoe je je subgraph kunt schrijven, zie [Creating a Subgraph](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Implementeren in Subgraph Studio +### 4. Deploy to Subgraph Studio -Voordat je je subgraph kunt uitbrengen, moet je je authenticeren bij de Subgraph Studio. Dit kun je doen door het volgende commando uit te voeren: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: -Authenticeer de subgraph in studio +Authenticate the subgraph on studio ``` graph auth --studio ``` -Ga vervolgens naar de directory van je subgraph. +Next, enter your subgraph's directory. ``` cd ``` -Bouw je subgraph met het volgende commando: +Build your subgraph with the following command: ```` ``` @@ -95,7 +94,7 @@ graph codegen && graph build ``` ```` -Ten slotte kun je je subgraph uitbrengen met dit commando: +Finally, you can deploy your subgraph using this command: ```` ``` @@ -103,10 +102,10 @@ graph deploy --studio ``` ```` -### 5. Een query versturen naar je subgraph +### 5. Query your subgraph -Zodra je subgraph is uitgebracht, kun je er query's naar sturen vanuit je dapp met behulp van de `Development Query URL` in de Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. -Opmerking - Studio API heeft een beperkte capaciteit. Het moet daarom bij voorkeur worden gebruikt voor ontwikkeling en testen. +Note - Studio API is rate-limited. Hence should preferably be used for development and testing. -Om meer te leren over het versturen van query's over gegevens uit je subgraph zie de [Querying a Subgraph](/querying/querying-the-graph) pagina. +To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. From 7e6d474fca4be1fc9ac8cba68ef86e95771df54e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:42 -0400 Subject: [PATCH 0845/2326] New translations base-testnet.mdx (Polish) --- website/pages/pl/cookbook/base-testnet.mdx | 23 +++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/website/pages/pl/cookbook/base-testnet.mdx b/website/pages/pl/cookbook/base-testnet.mdx index b1e3a4fc7c6d..3a1d98a44103 100644 --- a/website/pages/pl/cookbook/base-testnet.mdx +++ b/website/pages/pl/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ This guide will quickly take you through how to initialize, create, and deploy y What you'll need: -- A Base testnet contract address +- A Base Sepolia testnet contract address - A crypto wallet (e.g. MetaMask or Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Create your subgraph in the Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Once connected, click "Create a Subgraph" and enter a name for your subgraph. - -Select "Base (testnet)" as the indexed blockchain and click Create Subgraph. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Initialize your Subgraph -> You can find specific commands for your subgraph in the Subgraph Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Make sure that the graph-cli is updated to latest (above 0.41.0) @@ -52,7 +50,8 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo - Protocol: ethereum - Subgraph slug: `` - Directory to create the subgraph in: `` -- Ethereum network: base-testnet \_ Contract address: `` +- Ethereum network: base-sepolia +- Contract address: `` - Start block (optional) - Contract name: `` - Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) @@ -63,7 +62,7 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-testnet` as the network name in manifest file to deploy your subgraph on Base testnet. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. - Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript Mappings (mapping.ts) - This is the code that translates data from your datasources to the entities defined in the schema. @@ -71,9 +70,9 @@ If you want to index additional data, you will need extend the manifest, schema For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Deploy to the Subgraph Studio +### 4. Deploy to Subgraph Studio -Before you can deploy your subgraph, you will need to authenticate with the Subgraph Studio. You can do this by running the following command: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: Authenticate the subgraph on studio @@ -105,7 +104,7 @@ graph deploy --studio ### 5. Query your subgraph -Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in the Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. Note - Studio API is rate-limited. Hence should preferably be used for development and testing. From edda3a4fd45d73270aaa59320013410605eb394c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:43 -0400 Subject: [PATCH 0846/2326] New translations base-testnet.mdx (Portuguese) --- website/pages/pt/cookbook/base-testnet.mdx | 57 +++++++++++----------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/website/pages/pt/cookbook/base-testnet.mdx b/website/pages/pt/cookbook/base-testnet.mdx index 71853220ac24..d378bddaa1cd 100644 --- a/website/pages/pt/cookbook/base-testnet.mdx +++ b/website/pages/pt/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ Este guia dará-lhe uma explicação rápida sobre a inicialização, criação Serão necessários: -- Um endereço de contrato na testnet Base +- A Base Sepolia testnet contract address - Uma carteira de criptomoedas (por ex. MetaMask ou Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Criando o seu subgraph no Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Entre no [Subgraph Studio](https://thegraph.com/studio/) e conecte a sua carteira de criptomoedas. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Após conectada, clique em "Create a Subgraph" (Criar um Subgraph) e insira um nome para o seu subgraph. - -Selecione "Base (testnet)" como a blockchain indexada e clique em Create Subgraph (Criar Subgraph). +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Como Inicializar o seu Subgraph -> Podes encontrar comandos específicos para o seu subgraph no Subgraph Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Certifique-se que o graph-cli está atualizado para a sua versão mais recente (acima de 0.41.0) @@ -52,42 +50,43 @@ O seu subgraph slug é uma identidade para o seu subgraph. A ferramenta de CLI g - Protocolo: ethereum - Subgraph slug: `` - Diretório para a criação do subgraph: `` -- Rede Ethereum: base-testnet \_ Endereço do contrato: `` -- Bloco inicial (opcional) -- Nome do contrato: `` -- Sim/não para a indexação de eventos (sim significa que o seu subgraph será equipado com entidades no schema e mapeamentos simples para os eventos emitidos) +- Ethereum network: base-sepolia +- Contract address: `` +- Start block (optional) +- Contract name: `` +- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. Escrevendo seu Subgraph +### 3. Write your Subgraph -> Caso queira indexar apenas eventos emitidos, então não há mais nada a fazer, e é só pular para o próximo passo. +> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. -O comando anterior cria um subgraph de altura que pode ser usado como ponto inicial para a construção do seu subgraph. Ao fazer mudanças ao subgraph, o trabalho principal será com três arquivos: +The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) — O manifest define quais fontes de dados seus subgraphs indexarão. Certifique-se de adicionar `base-testnet` como o nome da rede no arquivo manifest, para lançar o seu subgraph na testnet Base. -- Schema (schema.graphql) — O schema GraphQL define quais dados desejas retirar do subgraph. -- Mapeamentos AssemblyScript (mapping.ts) — este é o código que traduz dados das suas fontes de dados às entidades definidas no schema. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. +- Mapeamentos em AssemblyScript (mapping.ts) — Este é o código que traduz dados das suas fontes de dados às entidades definidas no schema. -Se quiser indexar dados adicionais, precisa estender o manifest, o schema e os mapeamentos. +If you want to index additional data, you will need extend the manifest, schema and mappings. -Para mais informações sobre como escrever o seu subgraph, veja [Criando um Subgraph](/desenvolvimento/criando-um-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Lançamento ao Subgraph Studio +### 4. Deploy to Subgraph Studio -Antes de poder lançar o seu subgraph, deves autenticá-lo com o Subgraph Studio. Isto é possível ao executar o seguinte comando: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: -Autenticar o subgraph no Studio +Authenticate the subgraph on studio ``` graph auth --studio ``` -Em seguida, digite o diretório do seu subgraph. +Next, enter your subgraph's directory. ``` cd ``` -Construa o seu subgraph com o seguinte comando: +Build your subgraph with the following command: ```` ``` @@ -95,7 +94,7 @@ graph codegen && graph build ``` ```` -Finalmente, é possível lançar o seu subgraph usando este comando: +Finally, you can deploy your subgraph using this command: ```` ``` @@ -103,10 +102,10 @@ graph deploy --studio ``` ```` -### 5. Consultando o seu subgraph +### 5. Query your subgraph -Depois que o seu subgraph for lançado, você pode consultá-lo do seu dapp utilizando o 'Development Query URL' (URL de consulta de desenvolvimento) no Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. -Nota — A API do Studio tem um 'rate limit' (limite de ritmo). Vendo isto, é preferencial que ela seja usada para desenvolvimento e testes. +Note - Studio API is rate-limited. Hence should preferably be used for development and testing. -Para aprender mais sobre a consulta de dados do seu subgraph, veja a página [Consultando um Subgraph](consulta/consultando-o-graph). +To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. From b7d81224620ce96f65143f65c2299f86efe86248 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:44 -0400 Subject: [PATCH 0847/2326] New translations base-testnet.mdx (Russian) --- website/pages/ru/cookbook/base-testnet.mdx | 69 +++++++++++----------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/website/pages/ru/cookbook/base-testnet.mdx b/website/pages/ru/cookbook/base-testnet.mdx index 05136390288f..c4236de8cb44 100644 --- a/website/pages/ru/cookbook/base-testnet.mdx +++ b/website/pages/ru/cookbook/base-testnet.mdx @@ -1,19 +1,19 @@ --- -title: Создание подграфов на Base +title: Создание субграфов на Base --- -Это руководство быстро познакомит вас с тем, как инициализировать, создать и развернуть ваш подграф в тестовой сети Base. +Это руководство быстро познакомит Вас с тем, как инициализировать, создать и развернуть Ваш субграф в тестовой сети Base. Что вам понадобится: -- Адрес контракта в тестовой сети Base -- Криптокошелек (например, MetaMask или Coinbase) +- Адрес контракта тестовой сети Base Sepolia +- Криптокошелек (например, MetaMask или Coinbase Wallet) ## Subgraph Studio ### 1. Установка the Graph CLI -The Graph CLI (>=v0.41.0) написан на JavaScript, и для его использования вам потребуется установить либо `npm`, либо `yarn`. +The Graph CLI (>=v0.41.0) написан на JavaScript, и для его использования Вам потребуется установить либо `npm`, либо `yarn`. ```sh # NPM @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Создание подграфа в Subgraph Studio +### 2. Создание субграфа в Subgraph Studio -Перейдите в [Subgraph Studio](https://thegraph.com/studio/) и подключите ваш криптокошелек. +Перейдите в [Subgraph Studio](https://thegraph.com/studio/) и подключите свой криптокошелек. -После подключения, нажмите "Create a Subgraph" и введите имя вашего подграфа. +После подключения нажмите «Создать субграф», введите имя Вашего субграфа и нажмите «Создать субграф». -Выберите "Base (testnet)" в качестве индексируемого блокчейна и нажмите "Create Subgraph". +### 3. Инициализация Вашего Субграфа -### 3. Инициализация вашего Подграфа - -> Вы можете найти конкретные команды для вашего подграфа в Subgraph Studio. +> Вы можете найти конкретные команды для своего субграфа в Subgraph Studio. Убедитесь, что graph-cli обновлен до последней версии (выше 0.41.0) @@ -41,53 +39,54 @@ yarn global add @graphprotocol/graph-cli graph --version ``` -Инициализируйте свой подграф из существующего контракта. +Инициализируйте свой субграф из существующего контракта. ```sh graph init --studio ``` -Ваш подграф slug - это идентификатор для вашего подграфа. Инструмент CLI проведет вас по шагам создания подграфа, включая: +Ваш subgraph slug - это идентификатор для Вашего субграфа. Инструмент CLI проведет Вас по шагам создания субграфа, включая: - Протокол: ethereum -- Подграф slug: `` +- Subgraph slug: `` - Каталог для создания подграфа в: `` -- Сеть Ethereum: base-testnet \_ Contract address: `` -- Стартовый блок (необязательно) +- Ethereum network: base-sepolia +- Адрес контракта: `` +- Стартовый блок (необязателен) - Имя контракта: `` -- Да / нет для событий индексации (да означает, что ваш подграф будет bootstrapped объектами в схеме и простым маппингом для отправленных событий) +- Да/нет для индексирования событий ("да" означает, что Ваш субграф будет загружен объектами в схеме и простыми мэппингами для происходящих событий) -### 3. Создание вашего Подграфа +### 3. Создание Вашего субграфа -> Если исходящие события - это единственное, что вы хотите проиндексировать, то никакой дополнительной работы не требуется, и вы можете перейти к следующему шагу. +> Если происходящие события - это единственное, что Вы хотите проиндексировать, то никакой дополнительной работы не требуется, и Вы можете перейти к следующему шагу. -Предыдущая команда создает scaffold подграф, который вы можете использовать в качестве отправной точки для построения вашего подграфа. При внесении изменений в подграф вы будете в основном работать с тремя файлами: +Предыдущая команда создает каркас субграфа, который Вы можете использовать в качестве отправной точки для построения своего субграфа. При внесении изменений в субграф Вы будете в основном работать с тремя файлами: -- Манифест (subgraph.yaml) - Манифест определяет, какие источники данных будут индексироваться вашими подграфами. Обязательно добавьте `base-testnet` в качестве имени сети в файле манифеста, чтобы развернуть свой подграф в тестовой сети Base. -- Схема (schema.graphql) - Схема GraphQL определяет, какие данные вы хотите извлечь из подграфа. +- Манифест (subgraph.yaml) - Манифест определяет, какие источники данных будут индексироваться Вашими субграфами. Обязательно добавьте `base-sepolia` в качестве имени сети в файле манифеста, чтобы развернуть свой субграф в тестовой сети Base. +- Схема (schema.graphql) - Схема GraphQL определяет, какие данные Вы хотите извлечь из субграфа. - AssemblyScript Mappings (mapping.ts) - это код, который преобразует данные из ваших источников данных в объекты, определенные в схеме. -Если вы хотите проиндексировать дополнительные данные, вам нужно будет расширить манифест, схему и маппинг. +Если Вы хотите проиндексировать дополнительные данные, Вам нужно будет расширить манифест, схему и мэппинг. -Для получения дополнительной информации о том, как написать свой подграф, см. [Creating a Subgraph](/developing/creating-a-subgraph). +Для получения дополнительной информации о том, как создать свой субграф, см. [Creating a Subgraph](/developing/creating-a-subgraph). ### 4. Запуск в Subgraph Studio -Прежде чем вы сможете развернуть свой подграф, вам необходимо будет пройти аутентификацию в Subgraph Studio. Вы можете сделать это, выполнив следующую команду: +Прежде чем Вы сможете развернуть свой субграф, Вам необходимо будет пройти аутентификацию в Subgraph Studio. Вы можете сделать это, выполнив следующую команду: -Аутентифицируйте подграф в studio +Аутентифицируйте субграф в studio ``` graph auth --studio ``` -Затем войдите в свою директорию подграфа. +Затем войдите в свою директорию субграфа. ``` cd ``` -Создайте свой подграф с помощью следующей команды: +Создайте свой субграф с помощью следующей команды: ```` ``` @@ -95,16 +94,18 @@ graph codegen && graph build ``` ```` -Наконец, вы можете развернуть свой подграф с помощью этой команды: +В заключение Вы можете развернуть свой субграф с помощью этой команды: +```` ``` graph deploy --studio ``` +```` -### 5. Запрос к вашему подграфу +### 5. Запрос Вашего субграфа -Как только ваш подграф развернут, вы можете сделать запрос к нему из вашего dapp, используя `Development Query URL` в Subgraph Studio. +Как только Ваш субграф развернут, Вы можете сделать запрос к нему из своего dapp, используя `Development Query URL` в Subgraph Studio. -Примечание - Скорость работы Studio API ограничена. Следовательно, предпочтительно использовать для разработки и тестирования. +Примечание - Скорость работы Studio API ограничена. Следовательно, предпочтительно его использовать для разработки и тестирования. -Чтобы узнать больше о запросе данных из вашего подграфа, смотрите страницу [Querying a Subgraph](/querying/querying-the-graph). +Чтобы узнать больше о запросе данных из Вашего субграфа, посетите страницу [Querying a Subgraph](/querying/querying-the-graph). From d28250d3e9d67232d66cd29e0c179d9eef427ebb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:45 -0400 Subject: [PATCH 0848/2326] New translations base-testnet.mdx (Swedish) --- website/pages/sv/cookbook/base-testnet.mdx | 53 +++++++++++----------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/website/pages/sv/cookbook/base-testnet.mdx b/website/pages/sv/cookbook/base-testnet.mdx index 317821897fb3..87e4ccd8c8b4 100644 --- a/website/pages/sv/cookbook/base-testnet.mdx +++ b/website/pages/sv/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ Den här guiden tar dig snabbt igenom hur du initierar, skapar och distribuerar Vad du behöver: -- En Base testnet kontraktsadress +- A Base Sepolia testnet contract address - En krypto-plånbok (t.ex. MetaMask eller Coinbase Kallet) ## Subgraf Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Skapa din subgraf i Subgraf Studio +### 2. Create your subgraph in Subgraph Studio -Gå till [Subgraf Studio] (https://thegraph.com/studio/) och anslut din kryptoplånbok. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -När du är ansluten klickar du på "Skapa en subgraf" och anger ett namn för din subgraf. - -Välj "Bas (testnät)" som den indexerade blockkedjan och klicka på Skapa subgraf. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Initiera din subgraf -> Du kan hitta specifika kommandon för din subgraf i Subgraf Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Se till att graph-cli uppdateras till senast (över 0.41.0) @@ -52,42 +50,43 @@ Din subgraf snigel är en identifierare för din subgraf. CLI verktyget leder di - Protokoll: ethereum - Subgraf snigel: `` - Katalog för att skapa subgrafen i: `` -- Ethereum nätverk: base-testnet \_ Kontraktsadress: `` -- Start block(valfritt) -- Kontraktsnamn: `` -- Ja/nej Till indexeringshändelser (ja betyder att din subgraf kommer att vara bootstrappad med entiteter i schemat och enkla mappningar för emitterade händelser) +- Ethereum network: base-sepolia +- Contract address: `` +- Start block (optional) +- Contract name: `` +- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. Skriv din Subgraf +### 3. Write your Subgraph -> Om emitterade händelser är det enda du vill indexera, krävs inget ytterligare arbete, och du kan hoppa till nästa steg. +> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. -Det föregående kommandot skapa grundstruktur för subgraf 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: +The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - Manifestet definierar vilka datakällor dina subgrafer kommer att indexera. Se till att lägga till `base-testnet` som nätverksnamnet i manifest filen för att distribuera din subgraf på Base testnet. -- Schema (schema.graphql) - GraphQL schemat definierar vilken data du vill hämta från subgrafen. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript mappningar (mapping.ts) - Detta är koden som översätter data från dina datakällor till de enheter som definieras i schemat. -Om du vill indexera ytterligare data behöver du utöka manifestet, schemat och mappningarna. +If you want to index additional data, you will need extend the manifest, schema and mappings. -För mer information om hur du skriver din subgraf, se [Skapa en subgraf](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Distribuera till Subgraf Studio +### 4. Deploy to Subgraph Studio -Innan du kan distribuera din subgraf måste du autentisera dig med Subgraf Studio. Du kan göra detta genom att köra följande kommando: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: -Autentisera subgrafen på studion +Authenticate the subgraph on studio ``` graph auth --studio ``` -Ange sedan subgrafen katalog. +Next, enter your subgraph's directory. ``` cd ``` -Bygg din subgraf med följande kommando: +Build your subgraph with the following command: ```` ``` @@ -95,7 +94,7 @@ graph codegen && graph build ``` ```` -Slutligen kan du distribuera din subgraf med detta kommando: +Finally, you can deploy your subgraph using this command: ```` ``` @@ -103,10 +102,10 @@ graph deploy --studio ``` ```` -### 5. Fråga din subgraf +### 5. Query your subgraph -När din subgraf har distribuerats kan du fråga den från din app med hjälp av `Utvecklingsfråga URL` i Subgraf Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. -Obs - Studio API är hastighetsbegränsad. Bör därför helst användas för utveckling och testning. +Note - Studio API is rate-limited. Hence should preferably be used for development and testing. To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. From 0def32e62c2be11eb543ff92b95ebcef418d05c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:46 -0400 Subject: [PATCH 0849/2326] New translations base-testnet.mdx (Turkish) --- website/pages/tr/cookbook/base-testnet.mdx | 57 +++++++++++----------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/website/pages/tr/cookbook/base-testnet.mdx b/website/pages/tr/cookbook/base-testnet.mdx index b1f25d1cd84a..fa615597e6dc 100644 --- a/website/pages/tr/cookbook/base-testnet.mdx +++ b/website/pages/tr/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ Bu kılavuz, Base test ağı üzerinde subgraph'ınızı nasıl başlatacağın İhtiyacınız olanlar: -- Bir Base test ağı sözleşme adresi +- A Base Sepolia testnet contract address - Bir kripto cüzdanı (Örneğin, MetaMask veya Coinbase Cüzdanı) ## Subgraph Stüdyo @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### Subgraph'ınızı Subgraph Stüdyo'da oluşturun +### 2. Create your subgraph in Subgraph Studio -[Subgraph Stüdyo](https://thegraph.com/studio/) uygulamasına gidin ve kripto cüzdanınızı bağlayın. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Bağlandıktan sonra, "Bir Subgraph Oluştur" seçeneğine tıklayın ve subgraph'ınız için bir isim girin. - -İndekslenmiş blok zinciri olarak "Base (testnet)" seçeneğini seçin ve Subgraph Oluştur'a tıklayın. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Subgraph'ınızı başlatın -> Subgraph'ınız için özel komutları Subgraph Stüdyo'da bulabilirsiniz. +> You can find specific commands for your subgraph in Subgraph Studio. graph-cli'nin en son sürümüne (0.41.0 üzeri) güncellendiğinden emin olun @@ -52,42 +50,43 @@ Subgraph kısa adı, subgraph'ınız için bir tanımlayıcıdır. CLI aracı, s - Protokol: ethereum - Subgraph kısa adı: `` - Subgraph oluşturmak için dizin: `` -- Ethereum ağı: base-testnet \_ Kontrat adresi: `` -- Başlangıç bloğu (isteğe bağlı) -- Kontrat adı: `` -- Olayları indekslemek için evet/hayır (evet, subgraph'ınızın şema için varlıklarla ve yayımlanan olaylar için basit eşleştirmelerle başlatılacağı anlamına gelir) +- Ethereum network: base-sepolia +- Contract address: `` +- Start block (optional) +- Contract name: `` +- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. Subgraph'ınızı Yazın +### 3. Write your Subgraph -> Yayımlanan olaylar, indekslemek istediğiniz tek şeyse, ek bir işlem yapmanıza gerek yoktur, bir sonraki adıma geçebilirsiniz. +> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. -Önceki komut, subgraph'ınızı oluşturmak için bir başlangıç noktası olarak kullanabileceğiniz bir iskelet subgraph oluşturur. Subgraph üzerinde değişiklik yaparken, başlıca üç dosya üzerinde çalışacaksınız: +The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - Manifest, subgraph'ınızın hangi veri kaynaklarını indeksleyeceğini tanımlar. Subgraph'ınızı Base test ağına dağıtmak için manifest dosyasında \`base-testnet'i ağ adı olarak eklemeyi unutmayın. -- Şema (schema.graphql) - GraphQL şeması, subgraph'ınızdan hangi verileri almak istediğinizi tanımlar. -- AssemblyScript Eşleştirmeleri (mapping.ts) - Bu kod, veri kaynaklarınızdan şemada tanımlanan varlıklara veriyi çeviren kod parçacığıdır. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. +- AssemblyScript Eşleştirmeleri (mapping.ts) - Bu, veri kaynaklarınızdaki verileri şemada tanımlanan varlıklara çeviren koddur. -Ek veri indekslemek isterseniz, manifest, şema ve eşleştirmeleri genişletmeniz gerekecektir. +If you want to index additional data, you will need extend the manifest, schema and mappings. -Subgraph'ınızı nasıl yazacağınıza dair daha fazla bilgi için, [Subgraph Oluşturma](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Subgraph Stüdyo'da Yayımlayın +### 4. Deploy to Subgraph Studio -Subgraph'ınızı dağıtmadan önce, Subgraph Stüdyosu ile doğrulama yapmanız gerekecektir. Bunu aşağıdaki komutu çalıştırarak yapabilirsiniz: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: -Stüdyoda subgraph'ı doğrulayın +Authenticate the subgraph on studio ``` graph auth --studio ``` -Daha sonra subgraph'ınızın dizinine gidin. +Next, enter your subgraph's directory. ``` cd ``` -Aşağıdaki komutu kullanarak subgraph'ınızı oluşturun: +Build your subgraph with the following command: ```` ``` @@ -95,7 +94,7 @@ graph codegen && graph build ``` ```` -Son olarak, aşağıdaki komutu kullanarak subgraph'ınızı yayımlayabilirsiniz: +Finally, you can deploy your subgraph using this command: ```` ``` @@ -103,10 +102,10 @@ graph deploy --studio ``` ```` -### 5. Subgraph'ınızı sorgulayın +### 5. Query your subgraph -Subgraph'ınız dağıtıldıktan sonra, Subgraph Stüdyosu'ndaki `Development Query URL`i kullanarak merkeziyetsiz uygulamanızdan sorgulama yapabilirsiniz. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. -Not - Stüdyo API'si sınırlı bir hızda hizmet vermektedir. Bu nedenle, tercihen geliştirme ve test amacıyla kullanılmalıdır. +Note - Studio API is rate-limited. Hence should preferably be used for development and testing. -Subgraph'ınızdan veri sorgulamakla ilgili daha fazla bilgi için, [Subgraph Sorgulama](/querying/querying-the-graph) sayfasına bakın. +To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. From a0fb3484c3babf10055bb0c8046d571282918500 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:47 -0400 Subject: [PATCH 0850/2326] New translations base-testnet.mdx (Ukrainian) --- website/pages/uk/cookbook/base-testnet.mdx | 23 +++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/website/pages/uk/cookbook/base-testnet.mdx b/website/pages/uk/cookbook/base-testnet.mdx index b97efa5a9076..33d4dc7876af 100644 --- a/website/pages/uk/cookbook/base-testnet.mdx +++ b/website/pages/uk/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ This guide will quickly take you through how to initialize, create, and deploy y What you'll need: -- A Base testnet contract address +- A Base Sepolia testnet contract address - A crypto wallet (e.g. MetaMask or Coinbase Wallet) ## Субграф Студія @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Create your subgraph in the Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Once connected, click "Create a Subgraph" and enter a name for your subgraph. - -Select "Base (testnet)" as the indexed blockchain and click Create Subgraph. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Initialize your Subgraph -> You can find specific commands for your subgraph in the Subgraph Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Make sure that the graph-cli is updated to latest (above 0.41.0) @@ -52,7 +50,8 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo - Protocol: ethereum - Subgraph slug: `` - Directory to create the subgraph in: `` -- Ethereum network: base-testnet \_ Contract address: `` +- Ethereum network: base-sepolia +- Contract address: `` - Start block (optional) - Contract name: `` - Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) @@ -63,7 +62,7 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-testnet` as the network name in manifest file to deploy your subgraph on Base testnet. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. - Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript Mappings (mapping.ts) - Це код, який транслює дані з ваших джерел даних до елементів, визначених у схемі. @@ -71,9 +70,9 @@ If you want to index additional data, you will need extend the manifest, schema For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Deploy to the Subgraph Studio +### 4. Deploy to Subgraph Studio -Before you can deploy your subgraph, you will need to authenticate with the Subgraph Studio. You can do this by running the following command: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: Authenticate the subgraph on studio @@ -105,7 +104,7 @@ graph deploy --studio ### 5. Query your subgraph -Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in the Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. Note - Studio API is rate-limited. Hence should preferably be used for development and testing. From e596ba701614b1fad2e328d30213df63f0463a6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:48 -0400 Subject: [PATCH 0851/2326] New translations base-testnet.mdx (Chinese Simplified) --- website/pages/zh/cookbook/base-testnet.mdx | 59 +++++++++++----------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/website/pages/zh/cookbook/base-testnet.mdx b/website/pages/zh/cookbook/base-testnet.mdx index 9239fc067653..0158cdd95f3f 100644 --- a/website/pages/zh/cookbook/base-testnet.mdx +++ b/website/pages/zh/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ title: 在Base上构建子图 你将需要: -- 一个Base测试网上的合约地址 +- A Base Sepolia testnet contract address - 一个加密货币钱包(例如MetaMask或Coinbase钱包) ## 子图工作室 @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. 在子图工作室中创建子图 +### 2. Create your subgraph in Subgraph Studio -进入子图工作室 (https://thegraph.com/studio/)并连接加密货币钱包。 +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -连接后,单击“创建子图”并输入子图的名称。 - -选择“Base(testnet)”作为被索引的区块链,然后单击创建子图。 +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. 初始化子图 -> 您可以在子图工作室中找到子图的特定命令。 +> You can find specific commands for your subgraph in Subgraph Studio. 确保graph-cli 更新到最新版本 (0.41.0以上) @@ -52,48 +50,51 @@ graph init --studio - 协议:ethereum - 子图slug: `` - 创建子图的目录: `` -- 以太坊网络:base-testnet \_ Contract address: `` -- \-开始记录的区块号 (可选) -- \-合约名称:`` -- \-是/否索引事件(是表示子图将使用模式中的实体和发出事件的简单映射进行初始化创建) +- Ethereum network: base-sepolia +- Contract address: `` +- Start block (optional) +- Contract name: `` +- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. 编写子图 +### 3. Write your Subgraph -> > 如果发出的事件是你唯一想要索引的东西,那么不需要额外的工作,您可以跳到下一步。 +> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. -前面的命令创建了一个脚手架子图,你可以将其作为构建子图的起点。在对子图进行修改时,你将主要处理三个文件。 +The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- 清单 (subgraph.yaml) -清单定义了子图将索引的数据源。确保在清单文件中添加“base-testnet”作为网络名称,以便在base testnet上部署子图。 -- 模式 (schema.graphql) --GraphQL 模式定义你希望从子图中获取哪些数据。 +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript 映射(mapping.ts)--将数据源中的数据转换为模式中定义的实体的代码。 -如果要索引其他数据,则需要扩展清单、模式和映射。 +If you want to index additional data, you will need extend the manifest, schema and mappings. -想了解更多如何编写子图的信息,请参阅[创建子图](/development/Creating-a-subgraph)。 +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. 部署到子图工作室 +### 4. Deploy to Subgraph Studio -在部署子图之前,需要使用子图工作室进行身份验证。您可以通过运行以下命令来执行此操作: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: -在工作室中验证子图 +Authenticate the subgraph on studio ``` graph auth --studio ``` -接下来,切换到子图的目录。 +Next, enter your subgraph's directory. ``` cd ``` -使用以下命令构建子图: +Build your subgraph with the following command: ```` -```graph codegen && graph build``` +``` +graph codegen && graph build +``` ```` -最后,您可以使用以下命令部署子图: +Finally, you can deploy your subgraph using this command: ```` ``` @@ -101,10 +102,10 @@ graph deploy --studio ``` ```` -### 5. 查询子图 +### 5. Query your subgraph -部署子图后,可以从dapp中使用子图工作室中的“Development Query URL”查询它。 +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. -注意:Studio API受速率限制。因此,最好仅用于开发和测试。 +Note - Studio API is rate-limited. Hence should preferably be used for development and testing. -想了解更多有关从子图中查询数据的信息,请参阅[查询子图](/querying/querying the graph) 页面。 +To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. From c24e99e80d6e5bd0079f9e150b85a87783ca2016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:48 -0400 Subject: [PATCH 0852/2326] New translations base-testnet.mdx (Urdu (Pakistan)) --- website/pages/ur/cookbook/base-testnet.mdx | 57 +++++++++++----------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/website/pages/ur/cookbook/base-testnet.mdx b/website/pages/ur/cookbook/base-testnet.mdx index 62e038a24aa7..c68ed62c589c 100644 --- a/website/pages/ur/cookbook/base-testnet.mdx +++ b/website/pages/ur/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ title: سب گرافس کو بیس پر بنانا آپ کو کیا ضرورت ہو گی: -- ایک بیس ٹیسٹ نیٹ کنٹریکٹ ایڈریس +- A Base Sepolia testnet contract address - ایک کرپٹو والیٹ (مثلاً میٹاماسک یا کوائن بیس والیٹ) ## سب گراف اسٹوڈیو @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. اپنا سب گراف سب گراف سٹوڈیو میں بنائیں +### 2. Create your subgraph in Subgraph Studio -[سب گراف اسٹوڈیو](https://thegraph.com/studio/) پر جائیں اور اپنے کریپٹو والیٹ کو جوڑیں. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -ایک بار منسلک ہونے کے بعد، "سب گراف بنائیں" پر کلک کریں اور اپنے سب گراف کے لیے ایک نام درج کریں. - -"بیس (ٹیسٹ نیٹ)" کو بطور انڈیکس شدہ بلاکچین منتخب کریں اور سب گراف بنائیں پر کلک کریں. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. اپنا سب گراف شروع کریں -> آپ سب گراف سٹوڈیو میں اپنے سب گراف کے لیے مخصوص کمانڈز تلاش کر سکتے ہیں. +> You can find specific commands for your subgraph in Subgraph Studio. یقینی بنائیں کہ گراف-cli کو تازہ ترین (0.41.0 سے اوپر) پر اپ ڈیٹ کیا گیا ہے @@ -52,42 +50,43 @@ graph init --studio - پروٹوکول: ایتھریم - سب گراف سلگ: `` - سب گراف بنانے کے لیے ڈائرکٹری: `` -- ایتھریم نیٹ ورک: بیس-ٹیسٹ نیٹ \_ معاہدہ کا پتہ: `` -- اسٹارٹ بلاک (اختیاری) -- کنٹریکٹ کا نام: `` -- انڈیکسنگ کے واقعات کے لیے ہاں/نہیں (ہاں کا مطلب ہے کہ آپ کے سب گراف کو اسکیما میں موجود اداروں کے ساتھ بوٹسٹریپ کیا جائے گا اور خارج ہونے والے واقعات کے لیے سادہ نقشہ جات) +- Ethereum network: base-sepolia +- Contract address: `` +- Start block (optional) +- Contract name: `` +- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### ۳. اپنا سب گراف لکھیں +### 3. Write your Subgraph -> اگر خارج ہونے والے واقعات صرف وہی ہیں جو آپ انڈیکس کرنا چاہتے ہیں، پھر کسی اضافی کام کی ضرورت نہیں ہے، اور آپ اگلے مرحلے پر جا سکتے ہیں. +> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. -پچھلی کمانڈز ایک سکیفولڈ سب گراف بناتی ہیں جسے آپ اپنے سب گراف کی تعمیر کے لیے نقطہ آغاز کے طور پر استعمال کر سکتے ہیں۔ سب گراف میں تبدیلی کرتے وقت، آپ بنیادی طور پر تین فائلوں کے ساتھ کام کریں گے: +The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- مینی فیسٹ (subgraph.yaml) - مینی فیسٹ اس بات کی وضاحت کرتا ہے کہ آپ کے سب گراف کس ڈیٹا سورسز کو انڈیکس کریں گے۔ بیس ٹیسٹ نیٹ پر اپنا سب گراف لگانے کے لیے مینی فیسٹ فائل میں نیٹ ورک کے نام کے طور پر `base-testnet` شامل کرنا یقینی بنائیں. -- سکیما (schema.graphql) - GraphQL سکیما اس بات کی وضاحت کرتا ہے کہ آپ سب گراف سے کون سا ڈیٹا حاصل کرنا چاہتے ہیں. -- اسمبلی اسکرپٹ میپنگ (mapping.ts) - یہ وہ کوڈ ہے جو آپ کے ڈیٹا سورس سے ڈیٹا کو اسکیما میں بیان کردہ ہستیوں میں ترجمہ کرتا ہے. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. +- اسمبلی اسکرپٹ میپنگ (mapping.ts) - یہ وہ کوڈ ہے جو آپ کے ڈیٹا سورس سے ڈیٹا کو اسکیما میں بیان کردہ اداروں میں ترجمہ کرتا ہے. -اگر آپ اضافی ڈیٹا کو انڈیکس کرنا چاہتے ہیں، تو آپ کو مینی فیسٹ، اسکیما اور میپنگ میں توسیع کی ضرورت ہوگی. +If you want to index additional data, you will need extend the manifest, schema and mappings. -اپنا سب گراف لکھنے کے طریقے کے بارے میں مزید معلومات کے لیے، دیکھیں [سب گراف بنانا](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### ۴. سب گراف سٹوڈیو پر تعینات کریں +### 4. Deploy to Subgraph Studio -اس سے پہلے کہ آپ اپنا سب گراف تعینات کر سکیں، آپ کو سب گراف سٹوڈیو سے تصدیق کرنی ہوگی۔ آپ درج ذیل کمانڈ کو چلا کر ایسا کر سکتے ہیں: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: -سٹوڈیو پر سب گراف کی تصدیق کریں +Authenticate the subgraph on studio ``` graph auth --studio ``` -اگلا، اپنے سب گراف کی ڈائرکٹری درج کریں. +Next, enter your subgraph's directory. ``` cd ``` -مندرجہ ذیل کمانڈ کے ساتھ اپنا سب گراف بنائیں: +Build your subgraph with the following command: ```` ``` @@ -95,7 +94,7 @@ graph codegen && graph build ``` ```` -آخر میں، آپ اس کمانڈ کا استعمال کرتے ہوئے اپنے سب گراف کو تعینات کر سکتے ہیں: +Finally, you can deploy your subgraph using this command: ```` ``` @@ -103,10 +102,10 @@ graph deploy --studio ``` ```` -### ۶. اپنے سب گراف کو کیوری کریں +### 5. Query your subgraph -ایک بار آپ کا سب گراف تعینات ہو جانے کے بعد، آپ سب گراف سٹوڈیو میں `ترقیاتی سوال URL` کا استعمال کرتے ہوئے اپنے ڈیپ سے کیوری کر سکتے ہیں. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. -نوٹ - اسٹوڈیو API شرح محدود ہے۔ اس لیے ترجیحی طور پر ترقی اور جانچ کے لیے استعمال کیا جانا چاہیے. +Note - Studio API is rate-limited. Hence should preferably be used for development and testing. -اپنے سب گراف سے کیوری کرنے والے ڈیٹا کے بارے میں مزید جاننے کے لیے، [سب گراف سے کیوری کرنا](/querying/querying-the-graph) صفحہ دیکھیں. +To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. From a861d45b0445f3891170beac656d18f18e4bed85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:49 -0400 Subject: [PATCH 0853/2326] New translations base-testnet.mdx (Vietnamese) --- website/pages/vi/cookbook/base-testnet.mdx | 27 +++++++++++----------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/website/pages/vi/cookbook/base-testnet.mdx b/website/pages/vi/cookbook/base-testnet.mdx index 9b890255f26e..4aa3b662be8f 100644 --- a/website/pages/vi/cookbook/base-testnet.mdx +++ b/website/pages/vi/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ This guide will quickly take you through how to initialize, create, and deploy y What you'll need: -- A Base testnet contract address +- A Base Sepolia testnet contract address - A crypto wallet (e.g. MetaMask or Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Create your subgraph in the Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Once connected, click "Create a Subgraph" and enter a name for your subgraph. - -Select "Base (testnet)" as the indexed blockchain and click Create Subgraph. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Initialize your Subgraph -> You can find specific commands for your subgraph in the Subgraph Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Make sure that the graph-cli is updated to latest (above 0.41.0) @@ -52,28 +50,29 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo - Protocol: ethereum - Subgraph slug: `` - Directory to create the subgraph in: `` -- Ethereum network: base-testnet \_ Contract address: `` +- Ethereum network: base-sepolia +- Contract address: `` - Start block (optional) - Contract name: `` - Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. Viết Subgraph của bạn +### 3. Write your Subgraph > If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-testnet` as the network name in manifest file to deploy your subgraph on Base testnet. -- Lược đồ (schema.graphql) - Lược đồ GraphQL xác định dữ liệu nào bạn muốn lấy từ subgraph. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - Ánh xạ AssemblyScript (mapping.ts) - Đây là mã dịch dữ liệu từ các nguồn dữ liệu của bạn sang các thực thể được xác định trong lược đồ. If you want to index additional data, you will need extend the manifest, schema and mappings. For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Triển khai đến Subgraph Studio +### 4. Deploy to Subgraph Studio -Before you can deploy your subgraph, you will need to authenticate with the Subgraph Studio. You can do this by running the following command: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: Authenticate the subgraph on studio @@ -105,7 +104,7 @@ graph deploy --studio ### 5. Query your subgraph -Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in the Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. Note - Studio API is rate-limited. Hence should preferably be used for development and testing. From f32da56af0176fa2784456ff183c2a6202de763c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:50 -0400 Subject: [PATCH 0854/2326] New translations base-testnet.mdx (Marathi) --- website/pages/mr/cookbook/base-testnet.mdx | 61 ++++++++++++---------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/website/pages/mr/cookbook/base-testnet.mdx b/website/pages/mr/cookbook/base-testnet.mdx index fe64f06f33f9..d62bf749c571 100644 --- a/website/pages/mr/cookbook/base-testnet.mdx +++ b/website/pages/mr/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ title: बेसवर सबग्राफ तयार करणे आपल्याला काय आवश्यक असेल: -- बेस टेस्टनेट कराराचा पत्ता +- A Base Sepolia testnet contract address - एक क्रिप्टो वॉलेट (उदा. मेटामास्क किंवा कॉइनबेस वॉलेट) ## सबग्राफ स्टुडिओ @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli यार्न ग्लोबल @graphprotocol/graph-cli जोडा ``` -### 2. सबग्राफ स्टुडिओमध्ये तुमचा सबग्राफ तयार करा +### 2. Create your subgraph in Subgraph Studio -[सबग्राफ स्टुडिओ](https://thegraph.com/studio/) वर जा आणि तुमचे क्रिप्टो वॉलेट कनेक्ट करा. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -एकदा कनेक्ट झाल्यानंतर, "एक सबग्राफ तयार करा" क्लिक करा आणि तुमच्या सबग्राफसाठी नाव प्रविष्ट करा. - -अनुक्रमित ब्लॉकचेन म्हणून "बेस (टेस्टनेट)" निवडा आणि सबग्राफ तयार करा क्लिक करा. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. तुमचा सबग्राफ सुरू करा -> Subgraph subgraph मध्ये तुम्ही तुमच्या subgraph साठी specific commands शोधू शकता. +> You can find specific commands for your subgraph in Subgraph Studio. आलेख-क्ली नवीनतम (०.४१.० च्या वर) अद्यतनित केल्याची खात्री करा. @@ -52,57 +50,62 @@ graph init --studio - प्रोटोकॉल: इथरियम - सबग्राफ स्लग: `` - Directory to create the subgraph in: `` -- इथरियम नेटवर्क: बेस-टेस्टनेट \_ करार पत्ता: `` -- प्रारंभ ब्लॉक (पर्यायी) -- कराराचे नाव: `` -- इंडेक्सिंग इव्हेंटसाठी होय/नाही (होय म्हणजे तुमचा सबग्राफ स्कीमामधील घटकांसह बूटस्ट्रॅप केला जाईल आणि उत्सर्जित इव्हेंटसाठी साधे मॅपिंग केले जाईल) +- Ethereum network: base-sepolia +- Contract address: `` +- Start block (optional) +- Contract name: `` +- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. तुमचा सबग्राफ लिहा +### 3. Write your Subgraph -> जर उत्सर्जित इव्हेंट्स तुम्हाला अनुक्रमित करायचे असतील तर, कोणत्याही अतिरिक्त कामाची आवश्यकता नाही आणि तुम्ही पुढील चरणावर जाऊ शकता. +> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. -मागील कमांड एक स्कॅफोल्ड सबग्राफ तयार करते ज्याचा वापर तुम्ही तुमचा सबग्राफ तयार करण्यासाठी प्रारंभिक बिंदू म्हणून करू शकता. सबग्राफमध्ये बदल करताना, तुम्ही प्रामुख्याने तीन फाइल्ससह कार्य कराल: +The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- मॅनिफेस्ट (subgraph.yaml) - मॅनिफेस्ट हे परिभाषित करते की तुमचे सबग्राफ कोणते डेटास्रोत अनुक्रमित करतील. बेस टेस्टनेटवर तुमचा सबग्राफ उपयोजित करण्यासाठी मॅनिफेस्ट फाइलमध्ये नेटवर्क नाव म्हणून `बेस-टेस्टनेट` जोडण्याची खात्री करा. -- स्कीमा (schema.graphql) - ग्राफक्यूएल स्कीमा तुम्हाला सबग्राफमधून कोणता डेटा परत मिळवायचा आहे हे परिभाषित करते. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - असेंबलीस्क्रिप्ट मॅपिंग (mapping.ts) - हा असा कोड आहे जो तुमच्या डेटास्रोतमधील डेटाचे स्कीमामध्ये परिभाषित केलेल्या घटकांमध्ये भाषांतर करतो. -तुम्हाला अतिरिक्त डेटा इंडेक्स करायचा असल्यास, तुम्हाला मॅनिफेस्ट, स्कीमा आणि मॅपिंग वाढवावे लागतील. +If you want to index additional data, you will need extend the manifest, schema and mappings. -तुमचा सबग्राफ कसा लिहायचा याबद्दल अधिक माहितीसाठी, [एक सबग्राफ तयार करणे](/developing/creating-a-subgraph) पहा. +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. सबग्राफ स्टुडिओमध्ये तैनात करा +### 4. Deploy to Subgraph Studio -तुम्ही तुमचा सबग्राफ उपयोजित करण्यापूर्वी, तुम्हाला सबग्राफ स्टुडिओसह प्रमाणित करणे आवश्यक आहे. आपण खालील आदेश चालवून हे करू शकता: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: -स्टुडिओवरील सबग्राफ प्रमाणित करा +Authenticate the subgraph on studio ``` graph auth --studio ``` -पुढे, आपल्या सबग्राफची निर्देशिका प्रविष्ट करा. +Next, enter your subgraph's directory. ``` cd ``` -खालील आदेशासह तुमचा सबग्राफ तयार करा: +Build your subgraph with the following command: +```` ``` -आलेख कोडजेन आणि ग्राफ बिल्ड +graph codegen && graph build ``` +```` -शेवटी, तुम्ही ही आज्ञा वापरून तुमचा सबग्राफ उपयोजित करू शकता: +Finally, you can deploy your subgraph using this command: +```` ``` graph deploy --studio ``` +```` -### 5. तुमचा सबग्राफ क्वेरी करा +### 5. Query your subgraph -एकदा तुमचा सबग्राफ उपयोजित झाल्यानंतर, तुम्ही सबग्राफ स्टुडिओमधील `डेव्हलपमेंट क्वेरी URL` वापरून तुमच्या dapp वरून क्वेरी करू शकता. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. -टीप - स्टुडिओ API रेट-मर्यादित आहे. त्यामुळे शक्यतो विकास आणि चाचणीसाठी वापरावे. +Note - Studio API is rate-limited. Hence should preferably be used for development and testing. -तुमच्‍या सबग्राफमधून डेटा क्‍वेरी करण्‍याबद्दल अधिक जाणून घेण्‍यासाठी, [क्वेरीइंग अ सबग्राफ](/querying/querying-the-graph) पृष्‍ठ पहा. +To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. From 4715e8ab48d9b6b949005491b859becaf80bd8db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:51 -0400 Subject: [PATCH 0855/2326] New translations base-testnet.mdx (Hindi) --- website/pages/hi/cookbook/base-testnet.mdx | 57 +++++++++++----------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/website/pages/hi/cookbook/base-testnet.mdx b/website/pages/hi/cookbook/base-testnet.mdx index 4d31dc39037e..186dd9481c97 100644 --- a/website/pages/hi/cookbook/base-testnet.mdx +++ b/website/pages/hi/cookbook/base-testnet.mdx @@ -6,10 +6,10 @@ title: आधार पर सबग्राफ बनाना आपको किस चीज़ की ज़रूरत पड़ेगी: -- एक बेस टेस्टनेट अनुबंध पता +- A Base Sepolia testnet contract address - एक क्रिप्टो वॉलेट (जैसे मेटामास्क या कॉइनबेस वॉलेट) -## सबग्राफ स्टूडियो +## Subgraph Studio ### 1. ग्राफ़ सीएलआई इनस्टॉल करें @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. सबग्राफ स्टूडियो में अपना सबग्राफ बनाएं +### 2. Create your subgraph in Subgraph Studio -[सबग्राफ स्टूडियो](https://thegraph.com/studio/) पर जाएं और अपने क्रिप्टो वॉलेट को कनेक्ट करें। +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -कनेक्ट होने के बाद, "एक सबग्राफ बनाएं" पर क्लिक करें और अपने सबग्राफ के लिए एक नाम दर्ज करें। - -ब्लॉकचेनअनुक्रमित ब्लॉकचेन के रूप में "बेस (टेस्टनेट)" का चयन करें और क्रिएट सबग्राफ पर क्लिक करें। +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. अपना सबग्राफ इनिशियलाइज़ करें -> आप सबग्राफ स्टूडियो में अपने सबग्राफ के लिए विशिष्ट कमांड पा सकते हैं। +> You can find specific commands for your subgraph in Subgraph Studio. सुनिश्चित करें कि ग्राफ़-क्ली को नवीनतम (0.41.0 से ऊपर) में अपडेट किया गया है @@ -52,42 +50,43 @@ graph init --studio - प्रोटोकॉल: एथेरियम - सबग्राफ स्लग: `` - सबग्राफ बनाने के लिए निर्देशिका: `` -- एथेरियम नेटवर्क: बेस-टेस्टनेट \_ अनुबंध पता: `` -- स्टार्ट ब्लॉक (वैकल्पिक) -- अनुबंध का नाम: `` -- इंडेक्सिंग इवेंट्स के लिए हां/नहीं (हां का मतलब है कि आपका सबग्राफ स्कीमा में इकाइयों के साथ बूटस्ट्रैप किया जाएगा और उत्सर्जित घटनाओं के लिए सरल मैपिंग) +- Ethereum network: base-sepolia +- Contract address: `` +- Start block (optional) +- Contract name: `` +- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) -### 3. अपना सबग्राफ लिखें +### 3. Write your Subgraph -> यदि उत्सर्जित ईवेंट ही एकमात्र ऐसी चीज़ है जिसे आप अनुक्रमित करना चाहते हैं, तो किसी अतिरिक्त कार्य की आवश्यकता नहीं है, और आप अगले चरण पर जा सकते हैं। +> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. -पिछला कमांड एक स्कैफोल्ड सबग्राफ बनाता है जिसे आप अपना सबग्राफ बनाने के लिए शुरुआती बिंदु के रूप में उपयोग कर सकते हैं। सबग्राफ में बदलाव करते समय, आप मुख्य रूप से तीन फाइलों के साथ काम करेंगे: +The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- मेनिफेस्ट (subgraph.yaml) - मेनिफेस्ट परिभाषित करता है कि आपके सबग्राफ को कौन से डेटा स्रोत इंडेक्स करेंगे। बेस टेस्टनेट पर अपने सबग्राफ को तैनात करने के लिए मेनिफेस्ट फ़ाइल में नेटवर्क नाम के रूप में 'बेस-टेस्टनेट' जोड़ना सुनिश्चित करें। -- स्कीमा (schema.graphql) - ग्राफक्यूएल स्कीमा परिभाषित करता है कि आप सबग्राफ से कौन सा डेटा प्राप्त करना चाहते हैं। +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - असेंबलीस्क्रिप्ट मैपिंग (mapping.ts) - यह वह कोड है जो स्कीमा में परिभाषित इकाई के लिए आपके डेटा सोर्स से डेटा का अनुवाद करता है। -यदि आप अतिरिक्त डेटा को अनुक्रमित करना चाहते हैं, तो आपको मेनिफेस्ट, स्कीमा और मैपिंग का विस्तार करने की आवश्यकता होगी। +If you want to index additional data, you will need extend the manifest, schema and mappings. -अपना सबग्राफ कैसे लिखना है, इस बारे में अधिक जानकारी के लिए, [Creating a Subgraph](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. सबग्राफ स्टूडियो में तैनात करें +### 4. Deploy to Subgraph Studio -इससे पहले कि आप अपना सबग्राफ तैनात कर सकें, आपको सबग्राफ स्टूडियो से प्रमाणित करना होगा। आप निम्न आदेश चलाकर ऐसा कर सकते हैं: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: -स्टूडियो पर सबग्राफ को प्रमाणित करें +Authenticate the subgraph on studio ``` graph auth --studio ``` -अगला, अपने सबग्राफ की निर्देशिका दर्ज करें। +Next, enter your subgraph's directory. ``` cd ``` -निम्नलिखित कमांड के साथ अपना सबग्राफ बनाएं: +Build your subgraph with the following command: ```` ``` @@ -95,7 +94,7 @@ graph codegen && graph build ``` ```` -अंत में, आप इस आदेश का उपयोग करके अपना सबग्राफ तैनात कर सकते हैं: +Finally, you can deploy your subgraph using this command: ```` ``` @@ -103,10 +102,10 @@ graph deploy --studio ``` ```` -### 5. अपना सबग्राफ पूछें +### 5. Query your subgraph -एक बार आपका सबग्राफ तैनात हो जाने के बाद, आप सबग्राफ स्टूडियो में `डेवलपमेंट क्वेरी URL` का उपयोग करके इसे अपने डैप से क्वेरी कर सकते हैं। +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. -नोट - स्टूडियो एपीआई दर-सीमित है। इसलिए अधिमानतः विकास और परीक्षण के लिए उपयोग किया जाना चाहिए। +Note - Studio API is rate-limited. Hence should preferably be used for development and testing. -अपने सबग्राफ से डेटा क्वेरी करने के बारे में अधिक जानने के लिए, [क्वेरीइंग ए सबग्राफ](/क्वेरी/क्वेरी-द-ग्राफ) पेज देखें। +To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. From c65d5a19419727bc2bf735a5318fd1ad49b5e586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:52 -0400 Subject: [PATCH 0856/2326] New translations base-testnet.mdx (Yoruba) --- website/pages/yo/cookbook/base-testnet.mdx | 23 +++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/website/pages/yo/cookbook/base-testnet.mdx b/website/pages/yo/cookbook/base-testnet.mdx index b1e3a4fc7c6d..3a1d98a44103 100644 --- a/website/pages/yo/cookbook/base-testnet.mdx +++ b/website/pages/yo/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ This guide will quickly take you through how to initialize, create, and deploy y What you'll need: -- A Base testnet contract address +- A Base Sepolia testnet contract address - A crypto wallet (e.g. MetaMask or Coinbase Wallet) ## Subgraph Studio @@ -23,17 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Create your subgraph in the Subgraph Studio +### 2. Create your subgraph in Subgraph Studio -Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. +Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. -Once connected, click "Create a Subgraph" and enter a name for your subgraph. - -Select "Base (testnet)" as the indexed blockchain and click Create Subgraph. +Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. ### 3. Initialize your Subgraph -> You can find specific commands for your subgraph in the Subgraph Studio. +> You can find specific commands for your subgraph in Subgraph Studio. Make sure that the graph-cli is updated to latest (above 0.41.0) @@ -52,7 +50,8 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo - Protocol: ethereum - Subgraph slug: `` - Directory to create the subgraph in: `` -- Ethereum network: base-testnet \_ Contract address: `` +- Ethereum network: base-sepolia +- Contract address: `` - Start block (optional) - Contract name: `` - Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) @@ -63,7 +62,7 @@ Your subgraph slug is an identifier for your subgraph. The CLI tool will walk yo The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-testnet` as the network name in manifest file to deploy your subgraph on Base testnet. +- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. - Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript Mappings (mapping.ts) - This is the code that translates data from your datasources to the entities defined in the schema. @@ -71,9 +70,9 @@ If you want to index additional data, you will need extend the manifest, schema For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -### 4. Deploy to the Subgraph Studio +### 4. Deploy to Subgraph Studio -Before you can deploy your subgraph, you will need to authenticate with the Subgraph Studio. You can do this by running the following command: +Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: Authenticate the subgraph on studio @@ -105,7 +104,7 @@ graph deploy --studio ### 5. Query your subgraph -Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in the Subgraph Studio. +Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. Note - Studio API is rate-limited. Hence should preferably be used for development and testing. From 02c4cab567272469bb978bef9c41495e2634072c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:53 -0400 Subject: [PATCH 0857/2326] New translations mips-faqs.mdx (French) --- website/pages/fr/mips-faqs.mdx | 87 +++++++++++++++++----------------- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/website/pages/fr/mips-faqs.mdx b/website/pages/fr/mips-faqs.mdx index ad63ae49bdc8..c96c468eb2c1 100644 --- a/website/pages/fr/mips-faqs.mdx +++ b/website/pages/fr/mips-faqs.mdx @@ -4,59 +4,60 @@ title: MIPs FAQs ## Présentation -> Note: the MIPs program is closed as of May 2023. Thank you to all the Indexers who participated! +> Remarque : le programme MIPs est fermé depuis mai 2023. Merci à tous les indexeurs qui ont participé ! -It's an exciting time to be participating in The Graph ecosystem! During [Graph Day 2022](https://thegraph.com/graph-day/2022/) Yaniv Tal announced the [sunsetting of the hosted service](https://thegraph.com/blog/sunsetting-hosted-service/), a moment The Graph ecosystem has been working towards for many years. +C'est une période passionnante pour participer à l'écosystème The Graph ! Lors du [Graph Day 2022](https://thegraph.com/graph-day/2022/), Yaniv Tal a annoncé la [cessation du service hébergé](https://thegraph.com/blog/sunsetting-hosted-service/), un moment vers lequel l’écosystème Graph travaille depuis de nombreuses années. -To support the sunsetting of the hosted service and the migration of all of it's activity to the decentralized network, The Graph Foundation has announced the [Migration Infrastructure Providers (MIPs) program](https://thegraph.com/blog/mips-multi-chain-indexing-incentivized-program). +Pour prendre en charge la cessation du service hébergé et la migration de toutes ses activités vers le réseau décentralisé, la Graph Foundation a annoncé le \[programme de fournisseurs d'infrastructures de migration (MIP)(https://thegraph.com/blog/mips-multi -programme-d'incitation-à-indexation-en-chaîne). -The MIPs program is an incentivization program for Indexers to support them with resources to index chains beyond Ethereum mainnet and help The Graph protocol expand the decentralized network into a multi-chain infrastructure layer. +Le programme MIPs est un programme d'incitation destiné aux indexeurs pour les soutenir avec des ressources pour indexer les chaînes au-delà du mainnet Ethereum et aider le protocole The Graph à étendre le réseau décentralisé en une couche d'infrastructure multi-chaînes. -The MIPs program has allocated 0.75% of the GRT supply (75M GRT), with 0.5% to reward Indexers who contribute to bootstrapping the network and 0.25% allocated to Network Grants for subgraph developers using multi-chain subgraphs. +Le programme MIPs a alloué 0,75 % de l'offre de GRT (75 millions de GRT), dont 0,5 % pour récompenser les indexeurs qui contribuent au démarrage du réseau et 0,25 % alloués aux subventions de réseau pour les développeurs de sous-graphes utilisant des subgraphs multi-chaînes. -### Useful Resources +### Ressources utiles - [Indexer 2ools from Vincent (Victor) Taglia](https://indexer-2ools.vincenttaglia.com/#/) -- [How to Become an Effective Indexer on The Graph Network](https://thegraph.com/blog/how-to-become-indexer/) -- [Indexer Knowledge Hub](https://thegraph.academy/indexers/) +- [Comment devenir un indexeur efficace sur le réseau Graph](https://thegraph.com/blog/how-to-become-indexer/) +- [Centre de connaissances de l'indexeur](https://thegraph.academy/indexers/) - [Allocation Optimiser](https://github.com/graphprotocol/allocationopt.jl) - [Allocation Optimization Tooling](https://github.com/anyblockanalytics/thegraph-allocation-optimization/) -### 1. Is it possible to generate a valid proof of indexing (POI) even if a subgraph has failed? +### 1. Est-il possible de générer une preuve d'indexation (POI) valide même si un subgraph a échoué ? -Yes, it is indeed. +Oui, c'est effectivement le cas. +. -For context, the arbitration charter, [learn more about the charter here](https://hackmd.io/@4Ln8SAS4RX-505bIHZTeRw/BJcHzpHDu#Abstract), specifies the methodology for generating a POI for a failed subgraph. +Pour le contexte, la charte d'arbitrage, [en savoir plus sur la charte ici](https://hackmd.io/@4Ln8SAS4RX-505bIHZTeRw/BJcHzpHDu#Abstract), précise la méthodologie de génération d'un POI pour un subgraph défaillant. -A community member, [SunTzu](https://github.com/suntzu93), has created a script to automate this process in compliance with the arbitration charter's methodology. Check out the repo [here](https://github.com/suntzu93/get_valid_poi_subgraph). +Un membre de la communauté, [SunTzu](https://github.com/suntzu93), a créé un script pour automatiser ce processus conformément à la méthodologie de la charte d'arbitrage. Consultez le dépôt [ici](https://github.com/suntzu93/get_valid_poi_subgraph). -### 2. Which chain will the MIPs program incentivise first? +### 2. Quelle chaîne le programme MIPs encouragera-t-il en premier ? La première chaîne qui sera prise en charge sur le réseau décentralisé est Gnosis Chain ! Anciennement connue sous le nom de xDAI, Gnosis Chain est une chaîne basée sur EVM. Gnosis Chain a été sélectionnée comme la première en raison de sa convivialité d'exécution des nœuds, de sa préparation à l'indexeur, de son alignement avec The Graph et de son adoption dans web3. -### 3. How will new chains be added to the MIPs program? +### 3. Comment de nouvelles chaînes seront-elles ajoutées au programme MIPs ? -New chains will be announced throughout the MIPs program, based on Indexer readiness, demand, and community sentiment. Chains will firstly be supported on the testnet and, subsequently, a GIP will be passed to support that chain on mainnet. Indexers participating in the MIPs program will choose which chains they are interested in supporting and will earn rewards per chain, in addition to earning query fees and indexing rewards on the network for serving subgraphs. MIPs participants will be scored based on their performance, ability to serve network needs, and community support. +De nouvelles chaînes seront annoncées tout au long du programme MIP, en fonction de l'état de préparation de l'indexeur, de la demande et du sentiment de la communauté. Les chaînes seront d'abord prises en charge sur le testnet et, par la suite, un GIP sera transmis pour prendre en charge cette chaîne sur le réseau principal. Les indexeurs participant au programme MIPs choisiront les chaînes qu'ils souhaitent soutenir et gagneront des récompenses par chaîne, en plus de gagner des frais de requête et des récompenses d'indexation sur le réseau pour la fourniture de subgraphs. Les participants aux MIP seront notés en fonction de leurs performances, de leur capacité à répondre aux besoins du réseau et du soutien de la communauté. -### 4. How will we know when the network is ready for a new chain? +### 4. Comment saurons-nous quand le réseau sera prêt pour une nouvelle chaîne ? -The Graph Foundation will be monitoring QoS performance metrics, network performance and community channels to best assess readiness. The priority is ensuring the network meets performance needs for those multi-chain dapps to be able to migrate their subgraphs. +La Graph Foundation surveillera les mesures de performances QoS, les performances du réseau et les canaux communautaires pour mieux évaluer l'état de préparation. La priorité est de garantir que le réseau répond aux besoins de performances de ces dapps multi-chaînes afin de pouvoir migrer leurs subgraphs. -### 5. How are rewards divided per chain? +### La Graph Foundation surveillera les mesures de performances QoS, les performances du réseau et les canaux communautaires pour mieux évaluer l'état de préparation. La priorité est de garantir que le réseau répond aux besoins de performances de ces dapps multi-chaînes afin de pouvoir migrer leurs subgraphs? -Given that chains vary in their requirements for syncing nodes, and they differ in query volume and adoption, rewards per chain will be decided at the end of that chain's cycle to ensure that all feedback and learnings are captured. However, at all times Indexers will also be able to earn query fees and indexing rewards once the chain is supported on the network. +Étant donné que les chaînes varient dans leurs exigences en matière de synchronisation des nœuds, et qu'elles diffèrent en termes de volume de requêtes et d'adoption, les récompenses par chaîne seront décidées à la fin du cycle de cette chaîne pour garantir que tous les commentaires et apprentissags sont capturés. Cependant, à tout moment, les indexeurs pourront également gagner des frais de requête et des récompenses d'indexation une fois que la chaîne sera prise en charge sur le réseau. -### 6. Do we need to index all the chains in the MIPs program or can we pick just one chain and index that? +### 6. Devons-nous indexer toutes les chaînes du programme MIP ou pouvons-nous choisir une seule chaîne et l'indexer ? -You are welcome to index whichever chain you'd like! The goal of the MIPs program is to equip Indexers with the tools & knowledge to index the chains they desire and support the web3 ecosystems they are interested in. However, for every chain, there are phases from testnet to mainnet. Make sure to complete all the phases for the chains you are indexing. See [The MIPs notion page](https://thegraphfoundation.notion.site/MIPs-Home-911e1187f1d94d12b247317265f81059) to learn more about the phases. +Vous êtes invités à indexer la chaîne de votre choix ! L'objectif du programme MIPs est de doter les indexeurs des outils et des connaissances nécessaires pour indexer les chaînes qu'ils souhaitent et prendre en charge les écosystèmes Web3 qui les intéressent. Cependant, pour chaque chaîne, il existe des phases allant du testnet au mainnet. Assurez-vous de terminer toutes les phases des chaînes que vous indexez. Voir [La page de notion MIPs](https://thegraphfoundation.notion.site/MIPs-Home-911e1187f1d94d12b247317265f81059) pour en savoir plus sur les phases. -### 7. When will rewards be distributed? +### 7. Quand les récompenses seront-elles distribuées ? -MIPs rewards will be distributed per chain once performance metrics are met and migrated subgraphs are supported by those Indexers. Look out for info about the total rewards per chain mid-way through that chain's cycle. +Les récompenses MIP seront distribuées par chaîne une fois que les mesures de performances seront atteintes et que les subgraphs migrés seront pris en charge par ces indexeurs. Recherchez des informations sur les récompenses totales par chaîne à mi-chemin du cycle de cette chaîne. -### 8. How does scoring work? +### 8. Comment fonctionne la notation ? -Indexers will compete for rewards based on scoring throughout the program on the leaderboard. Program scoring will be based on: +Les indexeurs concourront pour des récompenses basées sur leurs scores tout au long du programme dans le classement. La notation du programme sera basée sur : **Subgraph Coverage** @@ -78,47 +79,47 @@ Is Indexer allocating efficiently, contributing to the overall health of the net - Is Indexer providing feedback to core devs throughout the program or sharing information with Indexers in the Forum? -### 9. How will the Discord role be assigned? +### 9. Comment les rôles Discord sont-ils assignés ? -Moderators will assign the roles in the next few days. +Les modérateurs assigneront les rôles dans les prochains jours. -### 10. Is it okay to start the program on a testnet and then switch to Mainnet? Will you be able to identify my node and take it into account while distributing rewards? +### 10. Est-il possible de démarrer le programme sur un réseau de test, puis de passer au réseau principal ? Serez-vous capable d'identifier mon nœud et d'en tenir compte lors de la distribution des récompenses ? -Yes, it is actually expected of you to do so. Several phases are on Görli and one is on the mainnet. +Oui, c’est effectivement ce que l’on attend de vous. Plusieurs phases sont sur Görli et une sur le mainnet. -### 11. At what point do you expect participants to add a mainnet deployment? +### 11. À quel moment attendez-vous des participants qu'ils ajoutent un déploiement de réseau principal ? -There will be a requirement to have a mainnet indexer during phase 3. More infomation on this will be [shared in this notion page soon.](https://thegraphfoundation.notion.site/MIPs-Home-911e1187f1d94d12b247317265f81059) +Il sera nécessaire d'avoir un indexeur de mainnet pendant la phase 3. Plus d'informations à ce sujet seront [partagées bientôt sur cette page de notion.](https://thegraphfoundation.notion.site/MIPs-Home-911e1187f1d94d12b247317265f81059) -### 12. Will rewards be subject to vesting? +### 12. Les récompenses seront-elles soumises à des conditions d'acquisition ? -The percentage to be distributed at the end of the program will be subject to vesting. More on this will be shared in the Indexer Agreement. +Le pourcentage qui sera distribué à la fin du programme sera soumis à l'acquisition des droits. Plus d’informations à ce sujet seront partagées dans l’accord d’indexation. -### 13. For teams with more than one member, will all the team members be given a MIPs Discord role? +### 13. Pour les équipes comptant plus d'un membre, tous les membres de l'équipe se verront-ils attribuer un rôle Discord MIPs ? Oui -### 14. Is it possible to use the locked tokens from the graph curator program to participate in the MIPs testnet? +### 14. Est-il possible d'utiliser les jetons verrouillés du programme de conservation de graphiques pour participer au testnet MIPs ? Oui -### 15. During the MIPs program, will there be a period to dispute invalid POI? +### 15. Pendant le programme MIP, y aura-t-il une période pour contester les POI invalides ? -To be decided. Please return to this page periodically for more details on this or if your request is urgent, please email info@thegraph.foundation +Être décidé. Veuillez revenir périodiquement sur cette page pour plus de détails à ce sujet ou si votre demande est urgente, veuillez envoyer un e-mail à info@thegraph.foundation -### 17. Can we combine two vesting contracts? +### 17. Peut-on combiner deux contrats d'acquisition progressive(vesting contracts) ? -No. The options are: you can delegate one to the other one or run two separate indexers. +Non. Les options sont les suivantes : vous pouvez déléguer l’un à l’autre ou exécuter deux indexeurs distincts. -### 18. KYC Questions? +### 18. Questions relatives au KYC ? -Please email info@thegraph.foundation +Veuillez envoyer un e-mail à info@thegraph.foundation -### 19. I am not ready to index Gnosis chain, can I jump in and start indexing from another chain when I am ready? +### 19. Je ne suis pas prêt à indexer la chaîne Gnosis, puis-je intervenir et commencer l'indexation à partir d'une autre chaîne lorsque je suis prêt ? Oui -### 20. Are there recommended regions to run the servers? +### 20. Existe-t-il des régions recommandées pour exécuter les serveurs ? Nous ne donnons pas de recommandations sur les régions. Lorsque vous choisissez des emplacements, vous voudrez peut-être réfléchir aux principaux marchés pour les crypto-monnaies. From 15dba13032db7fcb55e701da9f682f21444af235 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:40:55 -0400 Subject: [PATCH 0858/2326] New translations mips-faqs.mdx (Czech) --- website/pages/cs/mips-faqs.mdx | 40 +++++++++++++++++----------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/cs/mips-faqs.mdx b/website/pages/cs/mips-faqs.mdx index 82eaf0c0fe5d..f826d4fdc367 100644 --- a/website/pages/cs/mips-faqs.mdx +++ b/website/pages/cs/mips-faqs.mdx @@ -86,42 +86,42 @@ Moderátoři přidělí role v následujících dnech. Ano, ve skutečnosti se to od vás očekává. Několik fází je na Görli a jedna je na mainnetu. -### 11. At what point do you expect participants to add a mainnet deployment? +### 11. V jakém okamžiku očekáváte, že účastníci přidají nasazení hlavní sítě? -There will be a requirement to have a mainnet indexer during phase 3. More infomation on this will be [shared in this notion page soon.](https://thegraphfoundation.notion.site/MIPs-Home-911e1187f1d94d12b247317265f81059) +Ve fázi 3 bude vyžadován indexátor hlavní sítě. Více informací o tom bude [brzy sdíleno na této stránce s pojmy] (https://thegraphfoundation.notion.site/MIPs-Home-911e1187f1d94d12b247317265f81059) -### 12. Will rewards be subject to vesting? +### Budou odměny podléhat vesting lhůtě? -The percentage to be distributed at the end of the program will be subject to vesting. More on this will be shared in the Indexer Agreement. +Procento, které má být rozděleno na konci programu, bude podléhat nároku. Více informací o této problematice bude uvedeno ve smlouvě s indexátorem. -### 13. For teams with more than one member, will all the team members be given a MIPs Discord role? +### 13. Budou mít všichni členové týmů s více než jedním členem role MIPs Discord? -Yes +Ano -### 14. Is it possible to use the locked tokens from the graph curator program to participate in the MIPs testnet? +### 14. Je možné použít uzamčené tokeny z programu Kurátor grafů k účasti v testnetu MIPs? -Yes +An o -### 15. During the MIPs program, will there be a period to dispute invalid POI? +### 15. Bude během programu MIPs existovat lhůta pro zpochybnění neplatných POI? -To be decided. Please return to this page periodically for more details on this or if your request is urgent, please email info@thegraph.foundation +Bude rozhodnuto. Vracejte se prosím pravidelně na tuto stránku pro další podrobnosti, nebo pokud je váš požadavek naléhavý, napište nám na info@thegraph.foundation -### 17. Can we combine two vesting contracts? +### 17. Lze sloučit dvě smlouvy o vesting tokenů? -No. The options are: you can delegate one to the other one or run two separate indexers. +Možnosti jsou následující: můžete delegovat jeden na druhý nebo spustit dva samostatné indexery. -### 18. KYC Questions? +### 18. Otázky KYC? -Please email info@thegraph.foundation +Prosím email info@thegraph.foundation -### 19. I am not ready to index Gnosis chain, can I jump in and start indexing from another chain when I am ready? +### 19. Ještě nejsem připraven indexovat řetězec Gnosis, mohu naskočit a začít indexovat z jiného řetězce, až budu připraven? -Yes +Ano -### 20. Are there recommended regions to run the servers? +### 20. Existují doporučené oblasti pro provoz serverů? -We do not give recommendations on regions. When picking locations you might want to think about where the major markets are for cryptocurrencies. +Neposkytujeme doporučení týkající se regionů. Při výběru lokalit byste se mohli zamyslet nad tím, kde jsou hlavní trhy s kryptoměna. -### 21. What is “handler gas cost”? +### 21. Co jsou to "náklady na plyn pro zpracování"? -It is the deterministic measure of the cost of executing a handler. Contrary to what the name might suggest, it is not related to the gas cost on blockchains. +Jedná se o deterministickou míru nákladů na provedení obslužné rutiny. Na rozdíl od toho, co by mohl název napovídat, nesouvisí s náklady na plyn v blockchain. From c3ca73081ba85d63ade432a82ee4bd82d222e14b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:04 -0400 Subject: [PATCH 0859/2326] New translations mips-faqs.mdx (Turkish) --- website/pages/tr/mips-faqs.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/tr/mips-faqs.mdx b/website/pages/tr/mips-faqs.mdx index adc8c63a6485..da1e9c76231c 100644 --- a/website/pages/tr/mips-faqs.mdx +++ b/website/pages/tr/mips-faqs.mdx @@ -1,5 +1,5 @@ --- -title: MIP SSS +title: MIPs FAQs --- ## Giriş From e6df5a62f6e3c7074426cfae4297506d16f18a45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:08 -0400 Subject: [PATCH 0860/2326] New translations graphcast.mdx (Romanian) --- website/pages/ro/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ro/graphcast.mdx b/website/pages/ro/graphcast.mdx index 28a374637e81..4072877a1257 100644 --- a/website/pages/ro/graphcast.mdx +++ b/website/pages/ro/graphcast.mdx @@ -10,7 +10,7 @@ Currently, the cost to broadcast information to other network participants is de The Graphcast SDK (Software Development Kit) allows developers to build Radios, which are gossip-powered applications that Indexers can run to serve a given purpose. We also intend to create a few Radios (or provide support to other developers/teams that wish to build Radios) for the following use cases: -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Conducting auctions and coordination for warp syncing subgraphs, substreams, and Firehose data from other Indexers. - Self-reporting on active query analytics, including subgraph request volumes, fee volumes, etc. - Self-reporting on indexing analytics, including subgraph indexing time, handler gas costs, indexing errors encountered, etc. From 1459300db66920fb11b085fa4c7a2008db8c8872 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:09 -0400 Subject: [PATCH 0861/2326] New translations graphcast.mdx (French) --- website/pages/fr/graphcast.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/fr/graphcast.mdx b/website/pages/fr/graphcast.mdx index d77344729d13..5edccfb10588 100644 --- a/website/pages/fr/graphcast.mdx +++ b/website/pages/fr/graphcast.mdx @@ -10,11 +10,11 @@ Actuellement, le coût de diffusion d’informations vers d’autres participant Le SDK Graphcast (Software Development Kit) permet aux développeurs de créer des radios, qui sont des applications basées sur les potins que les indexeurs peuvent exécuter dans un but donné. Nous avons également l'intention de créer quelques radios (ou de fournir une assistance à d'autres développeurs/équipes qui souhaitent créer des radios) pour les cas d'utilisation suivants : -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). -- Conducting auctions and coordination for warp syncing subgraphs, substreams, and Firehose data from other Indexers. +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). +- Réalisation d'enchères et coordination pour les subgraphs, les substreams, et les données Firehose de synchronisation de distorsion provenant d'autres indexeurs. - Auto-rapport sur l'analyse des requêtes actives, y compris les volumes de requêtes de subgraphs, les volumes de frais, etc. - Auto-rapport sur l'analyse de l'indexation, y compris le temps d'indexation des subgraphs, les coûts des gaz de traitement, les erreurs d'indexation rencontrées, etc. -- Self-reporting on stack information including graph-node version, Postgres version, Ethereum client version, etc. +- Auto-déclaration sur les informations de la pile, y compris la version du graph-node, la version Postgres, la version du client Ethereum, etc. ### En savoir plus From c587f27a097bf410763848e06e6ca014a9e3b8f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:10 -0400 Subject: [PATCH 0862/2326] New translations graphcast.mdx (Spanish) --- website/pages/es/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/es/graphcast.mdx b/website/pages/es/graphcast.mdx index 22db9de9b677..3da74365af91 100644 --- a/website/pages/es/graphcast.mdx +++ b/website/pages/es/graphcast.mdx @@ -10,7 +10,7 @@ En la actualidad, el costo de transmitir información a otros participantes de l El Graphcast SDK (Kit de Desarrollo de Software) permite a los desarrolladores construir Radios, que son aplicaciones impulsadas por gossip que los Indexadores pueden utilizar con una finalidad específica. También queremos crear algunas Radios (o dar soporte a otros desarrolladores/equipos que deseen construir Radios) para los siguientes casos de uso: -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Llevar a cabo subastas y coordinar warp-syncing de datos de subgrafos, substreams y Firehose de otros Indexadores. - Autoinforme sobre análisis de consultas activas, incluidos volúmenes de consultas de subgrafos, volúmenes de tarifas, etc. - Generar informes propios sobre análisis del proceso de indexación, que incluyan período de indexación de subgrafos, costos de gas handler, indexación de errores encontrados, etc. From 93ff887ea8c65ded6f9ee0b67f459c656e72af95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:11 -0400 Subject: [PATCH 0863/2326] New translations graphcast.mdx (Arabic) --- website/pages/ar/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ar/graphcast.mdx b/website/pages/ar/graphcast.mdx index 4965e86446ab..8fc00976ec28 100644 --- a/website/pages/ar/graphcast.mdx +++ b/website/pages/ar/graphcast.mdx @@ -10,7 +10,7 @@ Currently, the cost to broadcast information to other network participants is de The Graphcast SDK (Software Development Kit) allows developers to build Radios, which are gossip-powered applications that Indexers can run to serve a given purpose. We also intend to create a few Radios (or provide support to other developers/teams that wish to build Radios) for the following use cases: -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Conducting auctions and coordination for warp syncing subgraphs, substreams, and Firehose data from other Indexers. - Self-reporting on active query analytics, including subgraph request volumes, fee volumes, etc. - Self-reporting on indexing analytics, including subgraph indexing time, handler gas costs, indexing errors encountered, etc. From 285164bb3ff26907d691afb331cb4f7d1797e9e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:12 -0400 Subject: [PATCH 0864/2326] New translations graphcast.mdx (Czech) --- website/pages/cs/graphcast.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/graphcast.mdx b/website/pages/cs/graphcast.mdx index be24a24a117f..aec7d84070c3 100644 --- a/website/pages/cs/graphcast.mdx +++ b/website/pages/cs/graphcast.mdx @@ -10,7 +10,7 @@ V současné době jsou náklady na vysílání informací ostatním účastník Graphcast SDK (Vývoj softwaru Kit) umožňuje vývojářům vytvářet rádia, což jsou aplikace napájené drby, které mohou indexery spouštět k danému účelu. Máme také v úmyslu vytvořit několik Radios (nebo poskytnout podporu jiným vývojářům/týmům, které chtějí Radios vytvořit) pro následující případy použití: -- Křížová kontrola integrity dat podgrafu v reálném čase ([Podgraf Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Křížová kontrola integrity dat subgrafu v reálném čase ([Podgraf Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Provádění aukcí a koordinace pro warp synchronizaci podgrafů, substreamů a dat Firehose z jiných Indexerů. - Vlastní hlášení o analýze aktivních dotazů, včetně objemů požadavků na dílčí grafy, objemů poplatků atd. - Vlastní hlášení o analýze indexování, včetně času indexování podgrafů, nákladů na plyn obsluhy, zjištěných chyb indexování atd. @@ -18,4 +18,4 @@ Graphcast SDK (Vývoj softwaru Kit) umožňuje vývojářům vytvářet rádia, ### Dozvědět se více -If you would like to learn more about Graphcast, [check out the documentation here.](https://docs.graphops.xyz/graphcast/intro) +Pokud se chcete o Graphcast dozvědět více, [podívejte se na dokumentaci zde] (https://docs.graphops.xyz/graphcast/intro) From 56d9d3909e0ef012a2987178610d5d49d9fb2934 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:13 -0400 Subject: [PATCH 0865/2326] New translations graphcast.mdx (German) --- website/pages/de/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/graphcast.mdx b/website/pages/de/graphcast.mdx index 28a374637e81..4072877a1257 100644 --- a/website/pages/de/graphcast.mdx +++ b/website/pages/de/graphcast.mdx @@ -10,7 +10,7 @@ Currently, the cost to broadcast information to other network participants is de The Graphcast SDK (Software Development Kit) allows developers to build Radios, which are gossip-powered applications that Indexers can run to serve a given purpose. We also intend to create a few Radios (or provide support to other developers/teams that wish to build Radios) for the following use cases: -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Conducting auctions and coordination for warp syncing subgraphs, substreams, and Firehose data from other Indexers. - Self-reporting on active query analytics, including subgraph request volumes, fee volumes, etc. - Self-reporting on indexing analytics, including subgraph indexing time, handler gas costs, indexing errors encountered, etc. From 055074662576278c7e9b03db5fe5d2368d6b1b31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:14 -0400 Subject: [PATCH 0866/2326] New translations graphcast.mdx (Italian) --- website/pages/it/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/it/graphcast.mdx b/website/pages/it/graphcast.mdx index b30e09152a79..6d0cd00b7784 100644 --- a/website/pages/it/graphcast.mdx +++ b/website/pages/it/graphcast.mdx @@ -10,7 +10,7 @@ Attualmente, il costo per trasmettere informazioni ad altri partecipanti alla re L'SDK (Software Development Kit) di Graphcast consente agli sviluppatori di creare radio, che sono applicazioni alimentate da gossip che gli indexer possono eseguire per servire un determinato scopo. Intendiamo inoltre creare alcune radio (o fornire supporto ad altri sviluppatori/team che desiderano creare radio) per i seguenti casi d'uso: -- Controllo incrociato in tempo reale dell'integrità dei dati del subgraph ([Subgraph Radio] (https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Conduzione di aste e coordinamento per la sincronizzazione warp di subgraph, substream e dati Firehose da altri indexer. - Autodichiarazione sulle analisi delle query attive, compresi i volumi delle richieste di subgraph, i volumi delle commissioni, ecc. - Autodichiarazione sull'analisi dell'indicizzazione, compresi i tempi di indicizzazione dei subgraph, i costi del gas per i gestori, gli errori di indicizzazione riscontrati, ecc. From ee474ebbad929b0f7ca168d4a53970f7a13dbce6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:15 -0400 Subject: [PATCH 0867/2326] New translations graphcast.mdx (Japanese) --- website/pages/ja/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ja/graphcast.mdx b/website/pages/ja/graphcast.mdx index 1b86fc7f6eaa..b9d89010f922 100644 --- a/website/pages/ja/graphcast.mdx +++ b/website/pages/ja/graphcast.mdx @@ -10,7 +10,7 @@ title: グラフキャスト Graphcast SDK (ソフトウェア開発キット) を使用すると、開発者はラジオを構築できます。これは、インデクサーが特定の目的を果たすために実行できる、ゴシップを利用したアプリケーションです。また、次のユースケースのために、いくつかのラジオを作成する (または、ラジオを作成したい他の開発者/チームにサポートを提供する) 予定です: -- サブグラフ データの整合性のリアルタイム クロスチェック ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio))。 +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - サブグラフ、サブストリーム、および他のインデクサーからの Firehose データをワープ同期するためのオークションと調整の実施。 - サブグラフのリクエスト量、料金の量などを含む、アクティブなクエリ分析に関する自己報告。 - サブグラフのインデックス作成時間、ハンドラー ガスのコスト、発生したインデックス作成エラーなどを含む、インデックス作成分析に関する自己報告。 From 0a4e2ccee9d04003bf0bb1f379e4d7c793f1c392 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:15 -0400 Subject: [PATCH 0868/2326] New translations graphcast.mdx (Korean) --- website/pages/ko/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ko/graphcast.mdx b/website/pages/ko/graphcast.mdx index 28a374637e81..4072877a1257 100644 --- a/website/pages/ko/graphcast.mdx +++ b/website/pages/ko/graphcast.mdx @@ -10,7 +10,7 @@ Currently, the cost to broadcast information to other network participants is de The Graphcast SDK (Software Development Kit) allows developers to build Radios, which are gossip-powered applications that Indexers can run to serve a given purpose. We also intend to create a few Radios (or provide support to other developers/teams that wish to build Radios) for the following use cases: -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Conducting auctions and coordination for warp syncing subgraphs, substreams, and Firehose data from other Indexers. - Self-reporting on active query analytics, including subgraph request volumes, fee volumes, etc. - Self-reporting on indexing analytics, including subgraph indexing time, handler gas costs, indexing errors encountered, etc. From a0e2a87e91ed4e9b2c944632b006e21b34c5d76f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:16 -0400 Subject: [PATCH 0869/2326] New translations graphcast.mdx (Dutch) --- website/pages/nl/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/nl/graphcast.mdx b/website/pages/nl/graphcast.mdx index 28a374637e81..4072877a1257 100644 --- a/website/pages/nl/graphcast.mdx +++ b/website/pages/nl/graphcast.mdx @@ -10,7 +10,7 @@ Currently, the cost to broadcast information to other network participants is de The Graphcast SDK (Software Development Kit) allows developers to build Radios, which are gossip-powered applications that Indexers can run to serve a given purpose. We also intend to create a few Radios (or provide support to other developers/teams that wish to build Radios) for the following use cases: -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Conducting auctions and coordination for warp syncing subgraphs, substreams, and Firehose data from other Indexers. - Self-reporting on active query analytics, including subgraph request volumes, fee volumes, etc. - Self-reporting on indexing analytics, including subgraph indexing time, handler gas costs, indexing errors encountered, etc. From c5ecba80c607fe0c6c5467e132245b7cb3a3c155 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:17 -0400 Subject: [PATCH 0870/2326] New translations graphcast.mdx (Polish) --- website/pages/pl/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pl/graphcast.mdx b/website/pages/pl/graphcast.mdx index cbee7c5e11a3..18639dc9acc8 100644 --- a/website/pages/pl/graphcast.mdx +++ b/website/pages/pl/graphcast.mdx @@ -10,7 +10,7 @@ Obecnie koszt przekazywania informacji innym uczestnikom sieci jest uzależniony SDK Graphcast (Software Development Kit) umożliwia programistom budowanie "Radios", czyli aplikacji opartych na przekazywaniu plotek, które indekserzy mogą uruchamiać w celu spełnienia określonego zadania. Planujemy również stworzyć kilka takich aplikacji Radios (lub udzielać wsparcia innym programistom/zespołom, które chcą w ich budowaniu uczestniczyć) dla następujących przypadków użycia: -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Przeprowadzanie aukcji i koordynacja synchronizacji warp subgrafów, substreamów oraz danych Firehose od innych indekserów. - Raportowanie na temat aktywnej analizy zapytań, w tym wolumenów zapytań do subgrafów, wolumenów opłat itp. - Raportowanie na temat analizy indeksowania, w tym czasu indeksowania subgrafów, kosztów gazu dla osób obsługujących zapytanie, napotkanych błędów indeksowania itp. From 502c08b94b8051d0d775ed794f3bc5c675af9979 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:18 -0400 Subject: [PATCH 0871/2326] New translations graphcast.mdx (Portuguese) --- website/pages/pt/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/graphcast.mdx b/website/pages/pt/graphcast.mdx index 01efd5d935e5..249f03b4d72c 100644 --- a/website/pages/pt/graphcast.mdx +++ b/website/pages/pt/graphcast.mdx @@ -10,7 +10,7 @@ Atualmente, o custo de transmitir informações para outros participantes de red O SDK (Kit de Programação de Software) do Graphcast permite aos programadores construir Rádios, que são aplicativos movidos a mexericos, que os Indexers podem executar por um certo propósito. Nós também pretendemos criar alguns Rádios (ou oferecer apoio para outros programadores/outras equipas que desejam construir Rádios) para os seguintes casos de uso: -- Verificação em tempo real de integridade dos dados de um subgraph ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Condução de leilões e coordenação para a sincronização de subgraphs, substreams e dados do Firehose de outros Indexers. - Autorrelatos em analíticas ativas de queries, inclusive volumes de pedidos de subgraphs, volumes de taxas, etc. - Autorrelatos em analíticas de indexação, como tempo de indexação de subgraphs, custos de gas de handlers, erros encontrados, etc. From 91306b749afbd57280395066937bb1d22bb543f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:19 -0400 Subject: [PATCH 0872/2326] New translations graphcast.mdx (Russian) --- website/pages/ru/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ru/graphcast.mdx b/website/pages/ru/graphcast.mdx index dfa4f9b0c57a..f3b330f6c374 100644 --- a/website/pages/ru/graphcast.mdx +++ b/website/pages/ru/graphcast.mdx @@ -10,7 +10,7 @@ Currently, the cost to broadcast information to other network participants is de The Graphcast SDK (Software Development Kit) allows developers to build Radios, which are gossip-powered applications that Indexers can run to serve a given purpose. We also intend to create a few Radios (or provide support to other developers/teams that wish to build Radios) for the following use cases: -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Conducting auctions and coordination for warp syncing subgraphs, substreams, and Firehose data from other Indexers. - Self-reporting on active query analytics, including subgraph request volumes, fee volumes, etc. - Self-reporting on indexing analytics, including subgraph indexing time, handler gas costs, indexing errors encountered, etc. From 52a7fdcb9b473dfe1c16bc8782134a2958408cda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:20 -0400 Subject: [PATCH 0873/2326] New translations graphcast.mdx (Swedish) --- website/pages/sv/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/sv/graphcast.mdx b/website/pages/sv/graphcast.mdx index 497216fc39b9..843b713c1bd0 100644 --- a/website/pages/sv/graphcast.mdx +++ b/website/pages/sv/graphcast.mdx @@ -10,7 +10,7 @@ För närvarande avgörs kostnaden för att sända information till andra nätve Graphcast SDK (Utrustning för programvaruutveckling) gör det möjligt för utvecklare att bygga Radios, vilka är applikationer som drivs av gossipeffekt och som indexare kan köra för att tjäna ett visst syfte. Vi avser också att skapa några Radios (eller ge stöd åt andra utvecklare/team som önskar bygga Radios) för följande användningsområden: -- Realtidskorskontroll av datintegritet för delgrafer ([Subgraf Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Genomföra auktioner och koordinering för warp-synkronisering av delgrafer, delströmmar och Firehose-data från andra indexare. - Självrapportering om aktiv frågeanalys, inklusive delgrafförfrågningsvolym, avgiftsvolym etc. - Självrapportering om indexeringanalys, inklusive tid för delgrafindexering, gasavgifter för handler, påträffade indexeringsfel etc. From 10dc99bc2b8507e51e1d528656dbd55da4d8e6d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:20 -0400 Subject: [PATCH 0874/2326] New translations graphcast.mdx (Turkish) --- website/pages/tr/graphcast.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/tr/graphcast.mdx b/website/pages/tr/graphcast.mdx index 73e85f3970d1..1ddae707e52e 100644 --- a/website/pages/tr/graphcast.mdx +++ b/website/pages/tr/graphcast.mdx @@ -4,18 +4,18 @@ title: Graphcast ## Giriş -İndeksleyici olan arkadaşlarınızdan otomatik olarak öğrenmek veya onlarla paylaşmak istediğiniz bir şey var, ancak bu çok fazla güçlük veya çok fazla gas fee'ye mi mal oluyor? +Is there something you'd like to learn from or share with your fellow Indexers in an automated manner, but it's too much hassle or costs too much gas? -Şu anda, diğer ağ katılımcılarına bilgi yayınlama maliyeti, Ethereum blok zincirindeki gaz ücretleri tarafından belirlenmektedir. Graphcast, ağ genelinde indeksleyicilerin gerçek zamanlı olarak bilgi alışverişinde bulunmasına izin veren isteğe bağlı merkeziyetsiz, dağıtılmış eşler arası (P2P) iletişim aracı olarak hareket ederek bu sorunu çözer. P2P mesaj alışverişinin maliyeti sıfıra yakındır ve veri bütünlüğü garantisi olmamasından ödün verilir. Yine de Graphcast, itibar modellerinin açık bir tasarım alanıyla mesaj geçerlilik garantileri (yani mesajın geçerli olduğu ve bilinen bir protokol katılımcısı tarafından imzalandığı) sağlamayı amaçlar. +Currently, the cost to broadcast information to other network participants is determined by gas fees on the Ethereum blockchain. Graphcast solves this problem by acting as an optional decentralized, distributed peer-to-peer (P2P) communication tool that allows Indexers across the network to exchange information in real time. The cost of exchanging P2P messages is near zero, with the tradeoff of no data integrity guarantees. Nevertheless, Graphcast aims to provide message validity guarantees (i.e. that the message is valid and signed by a known protocol participant) with an open design space of reputation models. -Graphcast SDK (Yazılım Geliştirme Kiti), geliştiricilerin, belirli bir amaca hizmet etmek için indeksleyicilerin çalıştırabileceği, sürekli iletişim halinde olan Radio uygulamalarını inşa etmesine olanak tanır. Ayrıca, aşağıdaki kullanım durumları için birkaç Radio oluşturmayı (veya Radio oluşturmak isteyen diğer geliştiricilere/ekiplere destek sağlamayı) amaçlıyoruz: +The Graphcast SDK (Software Development Kit) allows developers to build Radios, which are gossip-powered applications that Indexers can run to serve a given purpose. We also intend to create a few Radios (or provide support to other developers/teams that wish to build Radios) for the following use cases: -- Subgraph veri bütünlüğünün gerçek zamanlı çapraz kontrolü ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). -- Diğer indeksleyicilerden warp senkronizasyonu subgraph'leri, substream'ler ve Firehose verileri için açık artırmalar ve koordinasyon yürütmek. -- Subgraph istek hacimleri, ücret hacimleri vb. dahil olmak üzere aktif sorgu analitiği hakkında kendi kendini raporlama. -- Subgraph indeksleme süresi, işleyici gaz maliyetleri, karşılaşılan indeksleme hataları vb. dahil olmak üzere indeksleme analitiği hakkında kendi kendini raporlama. -- Graph node sürümü, Postgres sürümü, Ethereum istemci sürümü vb. dahil olmak üzere yığın bilgileri hakkında kendi kendini raporlama. +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). +- Conducting auctions and coordination for warp syncing subgraphs, substreams, and Firehose data from other Indexers. +- Self-reporting on active query analytics, including subgraph request volumes, fee volumes, etc. +- Self-reporting on indexing analytics, including subgraph indexing time, handler gas costs, indexing errors encountered, etc. +- Self-reporting on stack information including graph-node version, Postgres version, Ethereum client version, etc. -### Daha fazla bilgi edin +### Learn More -Graphcast hakkında daha fazla bilgi edinmek isterseniz, [buradaki belgelere göz atın.](https://docs.graphops.xyz/graphcast/intro) +If you would like to learn more about Graphcast, [check out the documentation here.](https://docs.graphops.xyz/graphcast/intro) From 5c36235626adeffac896853a86a23780fcf3c20e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:21 -0400 Subject: [PATCH 0875/2326] New translations graphcast.mdx (Ukrainian) --- website/pages/uk/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/uk/graphcast.mdx b/website/pages/uk/graphcast.mdx index 28a374637e81..4072877a1257 100644 --- a/website/pages/uk/graphcast.mdx +++ b/website/pages/uk/graphcast.mdx @@ -10,7 +10,7 @@ Currently, the cost to broadcast information to other network participants is de The Graphcast SDK (Software Development Kit) allows developers to build Radios, which are gossip-powered applications that Indexers can run to serve a given purpose. We also intend to create a few Radios (or provide support to other developers/teams that wish to build Radios) for the following use cases: -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Conducting auctions and coordination for warp syncing subgraphs, substreams, and Firehose data from other Indexers. - Self-reporting on active query analytics, including subgraph request volumes, fee volumes, etc. - Self-reporting on indexing analytics, including subgraph indexing time, handler gas costs, indexing errors encountered, etc. From bd01ee9c963cd2f21e251be20cc0b0a903da33b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:22 -0400 Subject: [PATCH 0876/2326] New translations graphcast.mdx (Chinese Simplified) --- website/pages/zh/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/zh/graphcast.mdx b/website/pages/zh/graphcast.mdx index 5b524f96d2ae..d8eeb0aa957a 100644 --- a/website/pages/zh/graphcast.mdx +++ b/website/pages/zh/graphcast.mdx @@ -10,7 +10,7 @@ title: Graphcast Graphcast SDK(软件开发工具包)允许开发人员构建Radio,这是一种使用gossip协议的应用程序,索引人可以运行这些应用程序来服务于特定的目的。我们还打算为以下用例创建一些Radio(或为希望构建Radio的其他开发人员/团队提供支持): -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - \-对来自其他索引人的warp同步中的子图、子流和Firehose数据进行拍卖和协调。 - \-主动查询分析的自我报告,包括子图请求量、费用量等。 - \-索引分析的自我报告,包括子图索引时间、处理程序gas成本、遇到的索引错误等。 From 481e6c27723dda09a6a6697aa704d0608846725f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:23 -0400 Subject: [PATCH 0877/2326] New translations graphcast.mdx (Urdu (Pakistan)) --- website/pages/ur/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ur/graphcast.mdx b/website/pages/ur/graphcast.mdx index dc18415188b3..4a7b5e2c4cfd 100644 --- a/website/pages/ur/graphcast.mdx +++ b/website/pages/ur/graphcast.mdx @@ -10,7 +10,7 @@ title: گراف کاسٹ گراف کاسٹ SDK (سافٹ ویئر ڈویلپمنٹ کٹ) ڈویلپرز کو ریڈیو بنانے کی اجازت دیتا ہے، جو گپ شپ سے چلنے والی ایپلیکیشنز ہیں جنہیں انڈیکسرز ایک مقررہ مقصد کی تکمیل کے لیے چلا سکتے ہیں۔ ہم مندرجہ ذیل استعمال کے معاملات کے لیے چند ریڈیوز بنانے کا ارادہ رکھتے ہیں (یا دیگر ڈویلپرز/ٹیموں کو مدد فراہم کرتے ہیں جو ریڈیو بنانا چاہتے ہیں): -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - دوسرے انڈیکسرز سے وارپ سنکنگ سب گرافس، سب اسٹریمز، اور فائر ہوز ڈیٹا کے لیے نیلامی اور کوآرڈینیشن کا انعقاد. - فعال کیوری کے تجزیات پر خود رپورٹنگ، بشمول سب گراف کی درخواست والیوم، فیس والیوم وغیرہ. - انڈیکسنگ کے تجزیات پر خود رپورٹنگ، بشمول سب گراف انڈیکسنگ کا وقت، ہینڈلر گیس کے اخراجات، انڈیکسنگ کی غلطیوں کا سامنا کرنا وغیرہ. From 25fc8c402b4decc73084617a89a8baace5dc554d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:24 -0400 Subject: [PATCH 0878/2326] New translations graphcast.mdx (Vietnamese) --- website/pages/vi/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/vi/graphcast.mdx b/website/pages/vi/graphcast.mdx index 45b647730496..2c523a014098 100644 --- a/website/pages/vi/graphcast.mdx +++ b/website/pages/vi/graphcast.mdx @@ -10,7 +10,7 @@ Currently, the cost to broadcast information to other network participants is de The Graphcast SDK (Software Development Kit) allows developers to build Radios, which are gossip-powered applications that Indexers can run to serve a given purpose. We also intend to create a few Radios (or provide support to other developers/teams that wish to build Radios) for the following use cases: -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Conducting auctions and coordination for warp syncing subgraphs, substreams, and Firehose data from other Indexers. - Self-reporting on active query analytics, including subgraph request volumes, fee volumes, etc. - Self-reporting on indexing analytics, including subgraph indexing time, handler gas costs, indexing errors encountered, etc. From 67e641612258110ef8646cc020a4dd01441fcb88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:25 -0400 Subject: [PATCH 0879/2326] New translations graphcast.mdx (Marathi) --- website/pages/mr/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/mr/graphcast.mdx b/website/pages/mr/graphcast.mdx index b50f34eaa707..281104f50781 100644 --- a/website/pages/mr/graphcast.mdx +++ b/website/pages/mr/graphcast.mdx @@ -10,7 +10,7 @@ Is there something you'd like to learn from or share with your fellow Indexers i ग्राफकास्ट SDK (सॉफ्टवेअर डेव्हलपमेंट किट) विकसकांना रेडिओ तयार करण्यास अनुमती देते, जे गॉसिप-शक्तीवर चालणारे अनुप्रयोग आहेत जे निर्देशांक दिलेल्या उद्देशासाठी चालवू शकतात. खालील वापराच्या प्रकरणांसाठी काही रेडिओ तयार करण्याचा आमचा मानस आहे (किंवा रेडिओ तयार करू इच्छिणाऱ्या इतर विकासकांना/संघांना समर्थन पुरवणे): -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Conducting auctions and coordination for warp syncing subgraphs, substreams, and Firehose data from other Indexers. - Self-reporting on active query analytics, including subgraph request volumes, fee volumes, etc. - Self-reporting on indexing analytics, including subgraph indexing time, handler gas costs, indexing errors encountered, etc. From 7a48064a1b4299459d513510077f05e602e01b47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:26 -0400 Subject: [PATCH 0880/2326] New translations graphcast.mdx (Hindi) --- website/pages/hi/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/hi/graphcast.mdx b/website/pages/hi/graphcast.mdx index 60466f7812bb..a52e116cf941 100644 --- a/website/pages/hi/graphcast.mdx +++ b/website/pages/hi/graphcast.mdx @@ -10,7 +10,7 @@ title: ग्राफकास्ट ग्राफकास्ट एसडीके (सॉफ्टवेयर डेवलपमेंट किट) डेवलपर्स को रेडियो बनाने की अनुमति देता है, जो गपशप-संचालित अनुप्रयोग हैं जो इंडेक्सर्स किसी दिए गए उद्देश्य को पूरा करने के लिए चला सकते हैं। हम निम्नलिखित उपयोग के मामलों के लिए कुछ रेडियो बनाने का भी इरादा रखते हैं (या अन्य डेवलपर्स/टीमों को सहायता प्रदान करते हैं जो रेडियो बनाना चाहते हैं): -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - अन्य इंडेक्सर्स से ताना सिंकिंग सबग्राफ, सबस्ट्रीम और फायरहोज डेटा के लिए नीलामी और समन्वय आयोजित करना। - सक्रिय क्वेरी एनालिटिक्स पर स्व-रिपोर्टिंग, जिसमें सबग्राफ अनुरोध मात्रा, शुल्क मात्रा आदि शामिल हैं। - इंडेक्सिंग एनालिटिक्स पर सेल्फ-रिपोर्टिंग, जिसमें सबग्राफ इंडेक्सिंग टाइम, हैंडलर गैस कॉस्ट, इंडेक्सिंग एरर, आदि शामिल हैं। From 2f59b6ca64aa1c15baa1e32d6fd4f430bb5f3df4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:26 -0400 Subject: [PATCH 0881/2326] New translations graphcast.mdx (Yoruba) --- website/pages/yo/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/yo/graphcast.mdx b/website/pages/yo/graphcast.mdx index 28a374637e81..4072877a1257 100644 --- a/website/pages/yo/graphcast.mdx +++ b/website/pages/yo/graphcast.mdx @@ -10,7 +10,7 @@ Currently, the cost to broadcast information to other network participants is de The Graphcast SDK (Software Development Kit) allows developers to build Radios, which are gossip-powered applications that Indexers can run to serve a given purpose. We also intend to create a few Radios (or provide support to other developers/teams that wish to build Radios) for the following use cases: -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio)). +- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Conducting auctions and coordination for warp syncing subgraphs, substreams, and Firehose data from other Indexers. - Self-reporting on active query analytics, including subgraph request volumes, fee volumes, etc. - Self-reporting on indexing analytics, including subgraph indexing time, handler gas costs, indexing errors encountered, etc. From ca738b1df5c006c5a32f66430f17a42fa4ae405d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:27 -0400 Subject: [PATCH 0882/2326] New translations graphql-validations-migration-guide.mdx (Romanian) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/ro/release-notes/graphql-validations-migration-guide.mdx b/website/pages/ro/release-notes/graphql-validations-migration-guide.mdx index f8cf8a3c2ed3..4d909e8970a8 100644 --- a/website/pages/ro/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/ro/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ Also, a GraphQL field selection is only valid if the following is validated: Here are a few examples of violations of these rules with the following Schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From a143ea3457d6495cbf8cc7ed755c4c392bbbbea1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:28 -0400 Subject: [PATCH 0883/2326] New translations graphql-validations-migration-guide.mdx (French) --- .../graphql-validations-migration-guide.mdx | 90 +++++++++---------- 1 file changed, 44 insertions(+), 46 deletions(-) diff --git a/website/pages/fr/release-notes/graphql-validations-migration-guide.mdx b/website/pages/fr/release-notes/graphql-validations-migration-guide.mdx index f0c63bc8feed..567231e0bedf 100644 --- a/website/pages/fr/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/fr/release-notes/graphql-validations-migration-guide.mdx @@ -1,8 +1,8 @@ --- -title: GraphQL Validations migration guide +title: Guide de migration des validations GraphQL --- -Soon `graph-node` will support 100% coverage of the [GraphQL Validations specification](https://spec.graphql.org/June2018/#sec-Validation). +Bientôt, `graph-node` supportera 100% de la couverture de la [Spécification des validations GraphQL] (https://spec.graphql.org/June2018/#sec-Validation). Les versions précédentes de `graph-node` ne prenaient pas en charge toutes les validations et fournissaient des réponses plus gracieuses - ainsi, en cas d'ambiguïté, `graph-node` ignorait les composants d'opérations GraphQL non valides. @@ -16,13 +16,13 @@ Pour être conforme à ces validations, veuillez suivre le guide de migration. > ⚠️ Si vous ne migrez pas vos requêtes avant le déploiement des validations, elles renverront des erreurs et éventuellement casseront vos frontends/clients. -## Migration guide +## Guide de migration Vous pouvez utiliser l'outil de migration CLI pour rechercher tous les problèmes dans vos opérations GraphQL et les résoudre. Vous pouvez également mettre à jour le point de terminaison de votre client GraphQL pour utiliser le point de terminaison « https://api-next.thegraph.com/subgraphs/name/$GITHUB_USER/$SUBGRAPH_NAME ». Tester vos requêtes sur ce point de terminaison vous aidera à trouver les problèmes dans vos requêtes. > Tous les subgraphs n'auront pas besoin d'être migrés si vous utilisez [GraphQL ESlint](https://the-guild.dev/graphql/eslint/docs) ou [GraphQL Code Generator](https://the-guild.dev /graphql/codegen), ils garantissent déjà que vos requêtes sont valides. -## Migration CLI tool +## Outil CLI de migration **La plupart des erreurs d'opérations GraphQL peuvent être trouvées à l'avance dans votre base de code.** @@ -44,7 +44,7 @@ npx @graphql-validate/cli -s https://api-next.thegraph.com/subgraphs/name/$GITHU - L'URL du schéma d'aperçu (https://api-next.thegraph.com/) fournie est fortement limitée en débit et sera supprimée une fois que tous les utilisateurs auront migré vers la nouvelle version. **Ne l'utilisez pas en production.** - Les opérations sont identifiées dans les fichiers avec les extensions suivantes [`.graphql`,](https://www.graphql-tools.com/docs/schema-loading#graphql-file-loader)[`.ts`, `.tsx `, `.js`, `jsx`](https://www.graphql-tools.com/docs/schema-loading#code-file-loader) (option `-o`). -### CLI output +### Sortie CLI L'outil CLI `[@graphql-validate/cli](https://github.com/saihaj/graphql-validate)` affichera toutes les erreurs d'opérations GraphQL comme suit : @@ -103,12 +103,12 @@ query myData { } query myData2 { - # renommer la deuxième requête + # renommer la deuxième requête name } ``` -**Duplicate Fragment name (#UniqueFragmentNamesRule)** +**Nom de fragment en double (#UniqueFragmentNamesRule)** ```graphql # L'opération suivante a violé la règle UniqueFragmentName @@ -144,7 +144,7 @@ fragment MyFieldsName { # assigner un nom unique au fragment } ``` -**Duplicate variable name (#UniqueVariableNamesRule)** +**Variable en double (#UniqueVariableNamesRule)** ```graphql # L'opération suivante viole le UniqueVariables @@ -158,13 +158,13 @@ _Solution:_ ```graphql query myData($id: String) { - # conserver la variable pertinente (ici : `$id: String`) + # conserver la variable pertinente (ici : `$id: String`) id ...MyFields } ``` -**Duplicate argument name (#UniqueArgument)** +**Nom d'argument en double (#UniqueArgument)** ```graphql # L'opération suivante a violé les UniqueArguments @@ -185,7 +185,7 @@ query myData($id: ID!) { } ``` -**Duplicate anonymous query (#LoneAnonymousOperationRule)** +**Requête anonyme en double (#LoneAnonymousOperationRule)** De plus, l'utilisation de deux opérations anonymes violera la règle « LoneAnonymousOperation » en raison d'un conflit dans la structure de réponse : @@ -222,7 +222,7 @@ query SecondQuery { } ``` -### Overlapping Fields +### Chevauchement des domaines Un jeu de sélection GraphQL n'est considéré comme valide que s'il résout correctement l'éventuel jeu de résultats. @@ -230,7 +230,7 @@ Si un ensemble de sélection spécifique, ou un champ, crée une ambiguïté soi Voici quelques exemples d'opérations non valides qui enfreignent cette règle : -**Conflicting fields aliases (#OverlappingFieldsCanBeMergedRule)** +**Conflit d'alias de champs (#OverlappingFieldsCanBeMergedRule)** ```graphql # L'alias des champs peut provoquer des conflits, soit avec @@ -259,7 +259,7 @@ query { ```graphql # Différents arguments peuvent conduire à des données différentes, -# donc nous ne pouvons pas supposer que les champs seront les mêmes. +# donc nous ne pouvons pas supposer que les champs seront les mêmes. query { dogs { doesKnowCommand(dogCommand: SIT) @@ -308,13 +308,13 @@ fragment mergeSameFieldsWithSameDirectives on Dog { [Vous pouvez en savoir plus sur l'algorithme ici.](https://spec.graphql.org/June2018/#sec-Field-Selection-Merging) -### Unused Variables or Fragments +### Variables ou fragments inutilisés Une opération GraphQL n'est également considérée comme valide que si tous les composants définis par l'opération (variables, fragments) sont utilisés. Voici quelques exemples d'opérations GraphQL qui enfreignent ces règles : -**Unused variable** (#NoUnusedVariablesRule) +**Variable inutilisée** (#NoUnusedVariablesRule) ```graphql # Invalide, car $someVar n'est jamais utilisé. @@ -331,15 +331,15 @@ query something { } ``` -**Unused Fragment** (#NoUnusedFragmentsRule) +**Fragment inutilisé** (#NoUnusedFragmentsRule) ```graphql -# Invalid, because fragment AllFields is never used. +# Invalide, car le fragment AllFields n'est jamais utilisé. query something { someData } -fragment AllFields { # unused :( +fragment AllFields { # inutilisé :( name age } @@ -348,12 +348,12 @@ fragment AllFields { # unused :( _Solution:_ ```graphql -# Invalid, because fragment AllFields is never used. +# Invalide, car le fragment AllFields n'est jamais utilisé. query something { someData } -# remove the `AllFields` fragment +# retirer le fragment `AllFields` ``` ### Ensemble de sélection invalide ou manquant (#ScalarLeafsRule) @@ -366,19 +366,17 @@ De plus, une sélection de champ GraphQL n'est valide que si les éléments suiv Voici quelques exemples de violations de ces règles avec le schéma suivant : ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` @@ -387,7 +385,7 @@ schema { ```graphql query { user { - id { # Invalid, because "id" is of type ID and does not have sub-fields + id { # Invalide, car "id" est de type ID et n'a pas de sous-champs } } @@ -404,13 +402,13 @@ query { } ``` -**Missing Selection-Set** +**Ensemble de sélection manquant** ```graphql query { user { id - image # `image` requires a Selection-Set for sub-fields! + image # `image` nécessite un ensemble de sélection pour les sous-champs! } } ``` @@ -428,7 +426,7 @@ query { } ``` -### Incorrect Arguments values (#VariablesInAllowedPositionRule) +### Valeurs d'arguments incorrectes (#VariablesInAllowedPositionRule) Les opérations GraphQL qui transmettent des valeurs codées en dur aux arguments doivent être valides, en fonction de la valeur définie dans le schéma. @@ -436,26 +434,26 @@ Voici quelques exemples d'opérations non valides qui enfreignent ces règles : ```graphql query purposes { - # If "name" is defined as "String" in the schema, - # this query will fail during validation. + # Si "name" est défini comme "String" dans le schéma, + # cette requête échouera lors de la validation. purpose(name: 1) { id } } -# This might also happen when an incorrect variable is defined: +# Cela pourrait également se produire lorsqu'une variable incorrecte est définie : query purposes($name: Int!) { - # If "name" is defined as `String` in the schema, - # this query will fail during validation, because the - # variable used is of type `Int` + # Si "name" est défini comme `String` dans le schéma, + # cette requête échouera lors de la validation, car la + # variable utilisée est de type `Int` purpose(name: $name) { id } } ``` -### Unknown Type, Variable, Fragment, or Directive (#UnknownX) +### Type, Variable, Fragment ou Directive connu (#UnknownX) L'API GraphQL générera une erreur si un type, une variable, un fragment ou une directive inconnu est utilisé. @@ -492,19 +490,19 @@ Les exemples suivants ne sont pas valides, car la définition de fragments sur d ```graphql fragment fragOnScalar on Int { - # we cannot define a fragment upon a scalar (`Int`) + # nous ne pouvons pas définir un fragment sur un scalaire (`Int`) something } fragment inlineFragOnScalar on Dog { ... on Boolean { - # `Boolean` is not a subtype of `Dog` + # `Boolean` n'est pas un sous-type de `Dog` somethingElse } } ``` -### Directives usage +### Utilisation des directives **La directive ne peut pas être utilisée à cet emplacement (#KnownDirectivesRule)** From 990fce66104d4f0a916fd0a315e7d6c700147566 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:29 -0400 Subject: [PATCH 0884/2326] New translations graphql-validations-migration-guide.mdx (Spanish) --- .../graphql-validations-migration-guide.mdx | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/website/pages/es/release-notes/graphql-validations-migration-guide.mdx b/website/pages/es/release-notes/graphql-validations-migration-guide.mdx index fefc282fe99e..292c60a70cf9 100644 --- a/website/pages/es/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/es/release-notes/graphql-validations-migration-guide.mdx @@ -363,19 +363,17 @@ Además, una selección de campos GraphQL solo es válida si se valida lo siguie Aquí hay algunos ejemplos de violaciones de estas reglas con el siguiente esquema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` @@ -408,6 +406,7 @@ query { user { id image # 'image' requiere un conjunto de selección para subcampos! + } } ``` From a4789efc6d709bed7629a5a7a4d40877d92a1e49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:30 -0400 Subject: [PATCH 0885/2326] New translations graphql-validations-migration-guide.mdx (Arabic) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/ar/release-notes/graphql-validations-migration-guide.mdx b/website/pages/ar/release-notes/graphql-validations-migration-guide.mdx index f8cf8a3c2ed3..4d909e8970a8 100644 --- a/website/pages/ar/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/ar/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ Also, a GraphQL field selection is only valid if the following is validated: Here are a few examples of violations of these rules with the following Schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From 1d7c2bb442388e84c9d6863456037196cdcd4832 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:31 -0400 Subject: [PATCH 0886/2326] New translations graphql-validations-migration-guide.mdx (Czech) --- .../graphql-validations-migration-guide.mdx | 212 +++++++++--------- 1 file changed, 105 insertions(+), 107 deletions(-) diff --git a/website/pages/cs/release-notes/graphql-validations-migration-guide.mdx b/website/pages/cs/release-notes/graphql-validations-migration-guide.mdx index 13fb523b6432..7f273724aff4 100644 --- a/website/pages/cs/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/cs/release-notes/graphql-validations-migration-guide.mdx @@ -1,62 +1,62 @@ --- -title: GraphQL Validations migration guide +title: Průvodce migrací na GraphQL Validace --- -Soon `graph-node` will support 100% coverage of the [GraphQL Validations specification](https://spec.graphql.org/June2018/#sec-Validation). +Brzy bude `graph-node` podporovat 100% pokrytí [GraphQL Validations specifikace](https://spec.graphql.org/June2018/#sec-Validation). -Previous versions of `graph-node` did not support all validations and provided more graceful responses - so, in cases of ambiguity, `graph-node` was ignoring invalid GraphQL operations components. +Předchozí verze `graph-node` nepodporovaly všechny validace a neposkytovaly šetrnější odpovědi - v případě nejednoznačnosti tak `graph-node` ignoroval neplatné komponenty operací GraphQL. -GraphQL Validations support is the pillar for the upcoming new features and the performance at scale of The Graph Network. +Podpora ověřování GraphQL je pilířem pro nadcházející nové funkce a výkon v měřítku Síť Graph. -It will also ensure determinism of query responses, a key requirement on The Graph Network. +Zajistí také determinismus odpovědí na dotazy, což je klíčový požadavek sítě Graf. -**Enabling the GraphQL Validations will break some existing queries** sent to The Graph API. +**Povolení ověřování GraphQL naruší některé existující dotazy** odeslané do Grafu API. -To be compliant with those validations, please follow the migration guide. +Chcete-li být v souladu s těmito validacemi, postupujte podle průvodce migrací. -> ⚠️ If you do not migrate your queries before the validations are rolled out, they will return errors and possibly break your frontends/clients. +> ⚠️ Pokud neprovedete migraci dotazů před zavedením validací, budou vracet chyby a možná rozbijí vaše frontends/klienty. -## Migration guide +## Průvodce migrací -You can use the CLI migration tool to find any issues in your GraphQL operations and fix them. Alternatively you can update the endpoint of your GraphQL client to use the `https://api-next.thegraph.com/subgraphs/name/$GITHUB_USER/$SUBGRAPH_NAME` endpoint. Testing your queries against this endpoint will help you find the issues in your queries. +Pomocí migračního nástroje CLI můžete najít případné problémy v operacích GraphQL a opravit je. Případně můžete aktualizovat koncový bod svého klienta GraphQL tak, aby používal koncový bod `https://api-next.thegraph.com/subgraphs/name/$GITHUB_USER/$SUBGRAPH_NAME`. Testování dotazů proti tomuto koncovému bodu vám pomůže najít problémy ve vašich dotazech. -> Not all subgraphs will need to be migrated, if you are using [GraphQL ESlint](https://the-guild.dev/graphql/eslint/docs) or [GraphQL Code Generator](https://the-guild.dev/graphql/codegen), they already ensure that your queries are valid. +> Není nutné migrovat všechny podgrafy, pokud používáte [GraphQL ESlint](https://the-guild.dev/graphql/eslint/docs) nebo [GraphQL Code Generator](https://the-guild.dev/graphql/codegen), ty již zajistí, že vaše dotazy jsou platné. -## Migration CLI tool +## Migrační nástroj CLI -**Most of the GraphQL operations errors can be found in your codebase ahead of time.** +**Většinu chyb při operacích GraphQL můžete najít ve své kódové základně předem.** -For this reason, we provide a smooth experience for validating your GraphQL operations during development or in CI. +Z tohoto důvodu poskytujeme hladký průběh ověřování operací GraphQL během vývoje nebo v CI. -[`@graphql-validate/cli`](https://github.com/saihaj/graphql-validate) is a simple CLI tool that helps validate GraphQL operations against a given schema. +[`@graphql-validate/cli`](https://github.com/saihaj/graphql-validate) je jednoduchý nástroj CLI, který pomáhá ověřovat operace GraphQL proti danému schéma. -### **Getting started** +### **začínáme** -You can run the tool as follows: +Nástroj můžete spustit následujícím způsobem: ```bash npx @graphql-validate/cli -s https://api-next.thegraph.com/subgraphs/name/$GITHUB_USER/$SUBGRAPH_NAME -o *.graphql ``` -**Notes:** +**Poznámky:** -- Set or replace $GITHUB_USER, $SUBGRAPH_NAME with the appropriate values. Like: [`artblocks/art-blocks`](https://api.thegraph.com/subgraphs/name/artblocks/art-blocks) -- The preview schema URL (https://api-next.thegraph.com/) provided is heavily rate-limited and will be sunset once all users have migrated to the new version. **Do not use it in production.** -- Operations are identified in files with the following extensions [`.graphql`,](https://www.graphql-tools.com/docs/schema-loading#graphql-file-loader)[`.ts`, `.tsx`, `.js`, `jsx`](https://www.graphql-tools.com/docs/schema-loading#code-file-loader) (`-o` option). +- Nastavte nebo nahraďte $GITHUB_USER, $SUBGRAPH_NAME příslušnými hodnotami. Jako např: [`artblocks/art-blocks`](https://api.thegraph.com/subgraphs/name/artblocks/art-blocks) +- Poskytnutá adresa URL náhledového schématu (https://api-next.thegraph.com/) je silně omezená a po přechodu všech uživatelů na novou verzi bude ukončena. **Nepoužívejte jej v produkčním provozu** +- Operace jsou identifikovány v souborech s následujícími příponami [`.graphql`,](https://www.graphql-tools.com/docs/schema-loading#graphql-file-loader)[`.ts`, `.tsx`, `.js`, `jsx`](https://www.graphql-tools.com/docs/schema-loading#code-file-loader) (`-o` option). -### CLI output +### Výstup CLI -The `[@graphql-validate/cli](https://github.com/saihaj/graphql-validate)` CLI tool will output any GraphQL operations errors as follows: +Nástroj `[@graphql-validate/cli](https://github.com/saihaj/graphql-validate)` CLI vypíše všechny chyby operací GraphQL takto: ![Error output from CLI](https://i.imgur.com/x1cBdhq.png) -For each error, you will find a description, file path and position, and a link to a solution example (see the following section). +U každé chyby naleznete popis, cestu a pozici souboru a odkaz na příklad řešení (viz následující část). -## Run your local queries against the preview schema +## Spouštění místních dotazů proti schéma náhledu -We provide an endpoint `https://api-next.thegraph.com/` that runs a `graph-node` version that has validations turned on. +Poskytujeme koncový bod `https://api-next.thegraph.com/`, který spouští verzi `graph-node` se zapnutými validacemi. -You can try out queries by sending them to: +Dotazy si můžete vyzkoušet zasláním na: - `https://api-next.thegraph.com/subgraphs/id/` @@ -64,23 +64,23 @@ nebo - `https://api-next.thegraph.com/subgraphs/name//` -To work on queries that have been flagged as having validation errors, you can use your favorite GraphQL query tool, like Altair or [GraphiQL](https://cloud.hasura.io/public/graphiql), and try your query out. Those tools will also mark those errors in their UI, even before you run it. +Chcete-li pracovat s dotazy, které byly označeny jako dotazy s chybami validace, můžete použít svůj oblíbený nástroj pro dotazy GraphQL, například Altair nebo [GraphiQL](https://cloud.hasura.io/public/graphiql), a vyzkoušet svůj dotaz. Tyto nástroje také tyto chyby označí ve svém uživatelském rozhraní, a to ještě předtím, než jej spustíte. -## How to solve issues +## Jak řešit problémy -Below, you will find all the GraphQL validations errors that could occur on your existing GraphQL operations. +Níže naleznete všechny chyby validace GraphQL, které se mohou vyskytnout u vašich stávajících operací GraphQL. -### GraphQL variables, operations, fragments, or arguments must be unique +### Proměnné, operace, fragmenty nebo argumenty jazyka GraphQL musí být jedinečné -We applied rules for ensuring that an operation includes a unique set of GraphQL variables, operations, fragments, and arguments. +Použili jsme pravidla pro zajištění toho, aby operace obsahovala jedinečnou sadu proměnných GraphQL, operací, fragmentů a argumentů. -A GraphQL operation is only valid if it does not contain any ambiguity. +Operace GraphQL je platná pouze tehdy, pokud neobsahuje žádnou nejednoznačnost. -To achieve that, we need to ensure that some components in your GraphQL operation must be unique. +Abychom toho dosáhli, musíme zajistit, aby některé součásti operace GraphQL byly jedinečné. -Here's an example of a few invalid operations that violates these rules: +Zde je příklad několika neplatných operací, které porušují tato pravidla: -**Duplicate Query name (#UniqueOperationNamesRule)** +**Duplicitní název dotazu (#UniqueOperationNamesRule)** ```graphql # The following operation violated the UniqueOperationName @@ -95,7 +95,7 @@ query myData { } ``` -_Solution:_ +_Řešení:_ ```graphql query myData { @@ -108,7 +108,7 @@ query myData2 { } ``` -**Duplicate Fragment name (#UniqueFragmentNamesRule)** +**Duplicitní název fragmentu (#UniqueFragmentNamesRule)** ```graphql # The following operation violated the UniqueFragmentName @@ -127,7 +127,7 @@ fragment MyFields { } ``` -_Solution:_ +_Řešení:_ ```graphql query myData { @@ -145,7 +145,7 @@ fragment MyFieldsName { # assign a unique name to fragment } ``` -**Duplicate variable name (#UniqueVariableNamesRule)** +**Duplicitní název proměnné (#UniqueVariableNamesRule)** ```graphql # The following operation violates the UniqueVariables @@ -155,7 +155,7 @@ query myData($id: String, $id: Int) { } ``` -_Solution:_ +_Řešení:_ ```graphql query myData($id: String) { @@ -176,7 +176,7 @@ query myData($id: ID!) { } ``` -_Solution:_ +_Řešení:_ ```graphql query myData($id: ID!) { @@ -186,9 +186,9 @@ query myData($id: ID!) { } ``` -**Duplicate anonymous query (#LoneAnonymousOperationRule)** +**Duplicitní anonymní dotaz (#LoneAnonymousOperationRule)** -Also, using two anonymous operations will violate the `LoneAnonymousOperation` rule due to conflict in the response structure: +Použitím dvou anonymních operací se také poruší pravidlo `LoneAnonymousOperation` kvůli konfliktu ve struktuře odpovědi: ```graphql # This will fail if executed together in @@ -202,7 +202,7 @@ query { } ``` -_Solution:_ +_Řešení:_ ```graphql query { @@ -211,7 +211,7 @@ query { } ``` -Or name the two queries: +Nebo tyto dva dotazy pojmenujte: ```graphql query FirstQuery { @@ -223,15 +223,15 @@ query SecondQuery { } ``` -### Overlapping Fields +### Překrývající pole -A GraphQL selection set is considered valid only if it correctly resolves the eventual result set. +Výběrová sada GraphQL je považována za platnou, pouze pokud správně řeší případnou sadu výsledků. -If a specific selection set, or a field, creates ambiguity either by the selected field or by the arguments used, the GraphQL service will fail to validate the operation. +Pokud konkrétní výběrová sada nebo pole způsobí nejednoznačnost buď vybraného pole, nebo použitých argumentů, služba GraphQL operaci neověří. -Here are a few examples of invalid operations that violate this rule: +Zde je několik příkladů neplatných operací, které toto pravidlo porušují: -**Conflicting fields aliases (#OverlappingFieldsCanBeMergedRule)** +**Překrývající se aliasy polí (#OverlappingFieldsCanBeMergedRule)** ```graphql # Aliasing fields might cause conflicts, either with @@ -245,7 +245,7 @@ query { } ``` -_Solution:_ +_Řešení:_ ```graphql query { @@ -256,7 +256,7 @@ query { } ``` -**Conflicting fields with arguments (#OverlappingFieldsCanBeMergedRule)** +**Konfliktní pole s argumenty (#OverlappingFieldsCanBeMergedRule)** ```graphql # Different arguments might lead to different data, @@ -269,7 +269,7 @@ query { } ``` -_Solution:_ +_Řešení:_ ```graphql query { @@ -280,7 +280,7 @@ query { } ``` -Also, in more complex use-cases, you might violate this rule by using two fragments that might cause a conflict in the eventually expected set: +Ve složitějších případech použití můžete toto pravidlo porušit také použitím dvou fragmentů, které by mohly způsobit konflikt v očekávané sadě: ```graphql query { @@ -299,7 +299,7 @@ fragment B on Type { } ``` -In addition to that, client-side GraphQL directives like `@skip` and `@include` might lead to ambiguity, for example: +Kromě toho mohou vést k nejasnostem například direktivy GraphQL na straně klienta jako `@skip` a `@include`: ```graphql fragment mergeSameFieldsWithSameDirectives on Dog { @@ -308,15 +308,15 @@ fragment mergeSameFieldsWithSameDirectives on Dog { } ``` -[You can read more about the algorithm here.](https://spec.graphql.org/June2018/#sec-Field-Selection-Merging) +[Více informací o algoritmu najdete zde.](https://spec.graphql.org/June2018/#sec-Field-Selection-Merging) -### Unused Variables or Fragments +### Nepoužívané proměnné nebo fragmenty -A GraphQL operation is also considered valid only if all operation-defined components (variables, fragments) are used. +Operace GraphQL je také považována za platnou, pouze pokud jsou použity všechny součásti definované operací (proměnné, fragmenty). -Here are a few examples for GraphQL operations that violates these rules: +Zde je několik příkladů operací GraphQL, které tato pravidla porušují: -**Unused variable** (#NoUnusedVariablesRule) +**Nepoužitá proměnná** (#NoUnusedVariablesRule) ```graphql # Invalid, because $someVar is never used. @@ -325,7 +325,7 @@ query something($someVar: String) { } ``` -_Solution:_ +_Řešení:_ ```graphql query something { @@ -333,7 +333,7 @@ query something { } ``` -**Unused Fragment** (#NoUnusedFragmentsRule) +**Nepoužitý fragment**(#NoUnusedFragmentsRule) ```graphql # Invalid, because fragment AllFields is never used. @@ -347,7 +347,7 @@ fragment AllFields { # unused :( } ``` -_Solution:_ +_Řešení:_ ```graphql # Invalid, because fragment AllFields is never used. @@ -358,33 +358,31 @@ query something { # remove the `AllFields` fragment ``` -### Invalid or missing Selection-Set (#ScalarLeafsRule) +### Neplatná nebo chybějící výběrová sada (#ScalarLeafsRule) -Also, a GraphQL field selection is only valid if the following is validated: +Výběr pole GraphQL je také platný pouze v případě, že je potvrzeno následující: -- An object field must-have selection set specified. -- An edge field (scalar, enum) must not have a selection set specified. +- Pole objektu musí mít zadanou výběrovou sadu. +- Okrajové pole (skalár, enum) nesmí mít zadanou výběrovou sadu. -Here are a few examples of violations of these rules with the following Schema: +Zde je několik příkladů porušení těchto pravidel s následujícím schématem: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` -**Invalid Selection-Set** +**Neplatná výběrová sada** ```graphql query { @@ -396,7 +394,7 @@ query { } ``` -_Solution:_ +_Řešení:_ ```graphql query { @@ -406,7 +404,7 @@ query { } ``` -**Missing Selection-Set** +**Chybějící výběrová sada** ```graphql query { @@ -417,7 +415,7 @@ query { } ``` -_Solution:_ +_Řešení:_ ```graphql query { @@ -430,11 +428,11 @@ query { } ``` -### Incorrect Arguments values (#VariablesInAllowedPositionRule) +### Nesprávné hodnoty argumentů (#VariablesInAllowedPositionRule) -GraphQL operations that pass hard-coded values to arguments must be valid, based on the value defined in the schema. +Operace GraphQL, které předávají pevně zadané hodnoty argumentů, musí být platné na základě hodnoty definované ve schéma. -Here are a few examples of invalid operations that violate these rules: +Zde je několik příkladů neplatných operací, které porušují tato pravidla: ```graphql query purposes { @@ -457,22 +455,22 @@ query purposes($name: Int!) { } ``` -### Unknown Type, Variable, Fragment, or Directive (#UnknownX) +### Neznámý typ, proměnná, fragment nebo směrnice (#UnknownX) -The GraphQL API will raise an error if any unknown type, variable, fragment, or directive is used. +Pokud je použit neznámý typ, proměnná, fragment nebo direktiva, rozhraní GraphQL API vyhodí chybu. -Those unknown references must be fixed: +Tyto neznámé odkazy je třeba opravit: -- rename if it was a typo -- otherwise, remove +- přejmenovat, pokud se jedná o překlep +- v opačném případě odstraňte -### Fragment: invalid spread or definition +### Fragment: neplatné rozšíření nebo definice -**Invalid Fragment spread (#PossibleFragmentSpreadsRule)** +**Neplatné rozložení fragmentů (#PossibleFragmentSpreadsRule)** -A Fragment cannot be spread on a non-applicable type. +Fragment nelze rozložit na nepoužitelný typ. -Example, we cannot apply a `Cat` fragment to the `Dog` type: +Příklad: fragment `Kočka` nemůžeme použít na typ `Pes`: ```graphql query { @@ -486,11 +484,11 @@ fragment CatSimple on Cat { } ``` -**Invalid Fragment definition (#FragmentsOnCompositeTypesRule)** +**Neplatná definice fragmentu (#FragmentsOnCompositeTypesRule)** -All Fragment must be defined upon (using `on ...`) a composite type, in short: object, interface, or union. +Všechny fragmenty musí být definovány na (pomocí `on ...`) složeném typu, zkráceně: objektu, rozhraní nebo svazu. -The following examples are invalid, since defining fragments on scalars is invalid. +Následující příklady jsou neplatné, protože definování fragmentů na skalárech je neplatné. ```graphql fragment fragOnScalar on Int { @@ -506,13 +504,13 @@ fragment inlineFragOnScalar on Dog { } ``` -### Directives usage +### Použití směrnic -**Directive cannot be used at this location (#KnownDirectivesRule)** +**Direktiv nelze na tomto místě použít (#KnownDirectivesRule)** -Only GraphQL directives (`@...`) supported by The Graph API can be used. +Lze použít pouze direktivy GraphQL (`@...`) podporované Graf API. -Here is an example with The GraphQL supported directives: +Zde je příklad s direktivami podporovanými GraphQL: ```graphql query { @@ -523,13 +521,13 @@ query { } ``` -_Note: `@stream`, `@live`, `@defer` are not supported._ +_Poznámka: `@stream`, `@live`, `@defer` nejsou podporovány._ -**Directive can only be used once at this location (#UniqueDirectivesPerLocationRule)** +**Direktiv lze v tomto umístění použít pouze jednou (#UniqueDirectivesPerLocationRule)** -The directives supported by The Graph can only be used once per location. +Směrnice podporované nástrojem Grafu lze v jednom umístění použít pouze jednou. -The following is invalid (and redundant): +Následující text je neplatný (a nadbytečný): ```graphql query { From bcaf792675ce47ce7a4006f64ee465fd7ef45e1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:32 -0400 Subject: [PATCH 0887/2326] New translations graphql-validations-migration-guide.mdx (German) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/de/release-notes/graphql-validations-migration-guide.mdx b/website/pages/de/release-notes/graphql-validations-migration-guide.mdx index 9d99062b8d21..31788f43b53c 100644 --- a/website/pages/de/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/de/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ Also, a GraphQL field selection is only valid if the following is validated: Here are a few examples of violations of these rules with the following Schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From 5e72accc76d8f7a26b4c884ee3853061644960fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:33 -0400 Subject: [PATCH 0888/2326] New translations graphql-validations-migration-guide.mdx (Italian) --- .../graphql-validations-migration-guide.mdx | 290 +++++++++--------- 1 file changed, 144 insertions(+), 146 deletions(-) diff --git a/website/pages/it/release-notes/graphql-validations-migration-guide.mdx b/website/pages/it/release-notes/graphql-validations-migration-guide.mdx index f8cf8a3c2ed3..067bf445e437 100644 --- a/website/pages/it/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/it/release-notes/graphql-validations-migration-guide.mdx @@ -1,91 +1,91 @@ --- -title: GraphQL Validations migration guide +title: Guida alla migrazione delle validazione GraphQL --- -Soon `graph-node` will support 100% coverage of the [GraphQL Validations specification](https://spec.graphql.org/June2018/#sec-Validation). +Presto `graph-node` supporterà il 100% di copertura delle specifiche [Specifiche delle validation GraphQL] (https://spec.graphql.org/June2018/#sec-Validation). -Previous versions of `graph-node` did not support all validations and provided more graceful responses - so, in cases of ambiguity, `graph-node` was ignoring invalid GraphQL operations components. +Le versioni precedenti di `graph-node` non supportavano tutte le validation e fornivano risposte più aggraziate, per cui, in caso di ambiguità, `graph-node` ignorava i componenti delle operazioni GraphQL non validi. -GraphQL Validations support is the pillar for the upcoming new features and the performance at scale of The Graph Network. +Il supporto delle validation GraphQL è il pilastro delle nuove funzionalità e delle prestazioni su scala di The Graph Network. -It will also ensure determinism of query responses, a key requirement on The Graph Network. +Garantirà inoltre il determinismo delle risposte alle query, un requisito fondamentale per The Graph Network. -**Enabling the GraphQL Validations will break some existing queries** sent to The Graph API. +**L'abilitazione delle validation GraphQL interromperà alcune query esistenti** inviate all'API The Graph. -To be compliant with those validations, please follow the migration guide. +Per essere conformi a tali validation, seguire la guida alla migrazione. -> ⚠️ If you do not migrate your queries before the validations are rolled out, they will return errors and possibly break your frontends/clients. +> ⚠️ Se non si migrano le query prima dell'introduzione delle validation, queste restituiranno errori e potrebbero interrompere i frontend/client. -## Migration guide +## Guida alla migrazione -You can use the CLI migration tool to find any issues in your GraphQL operations and fix them. Alternatively you can update the endpoint of your GraphQL client to use the `https://api-next.thegraph.com/subgraphs/name/$GITHUB_USER/$SUBGRAPH_NAME` endpoint. Testing your queries against this endpoint will help you find the issues in your queries. +È possibile utilizzare lo strumento di migrazione CLI per trovare eventuali problemi nelle operazioni GraphQL e risolverli. In alternativa, è possibile aggiornare l'endpoint del client GraphQL per utilizzare l'endpoint `https://api-next.thegraph.com/subgraphs/name/$GITHUB_USER/$SUBGRAPH_NAME`. Testare le query con questo endpoint vi aiuterà a trovare i problemi nelle vostre query. -> Not all subgraphs will need to be migrated, if you are using [GraphQL ESlint](https://the-guild.dev/graphql/eslint/docs) or [GraphQL Code Generator](https://the-guild.dev/graphql/codegen), they already ensure that your queries are valid. +> Non è necessario migrare tutti i subgraph; se si utilizza [GraphQL ESlint](https://the-guild.dev/graphql/eslint/docs) o [GraphQL Code Generator](https://the-guild.dev/graphql/codegen), questi garantiscono già la validità delle query. -## Migration CLI tool +## Strumento CLI di migrazione -**Most of the GraphQL operations errors can be found in your codebase ahead of time.** +**La maggior parte degli errori delle operazioni GraphQL può essere individuata in anticipo nella propria codebase.** -For this reason, we provide a smooth experience for validating your GraphQL operations during development or in CI. +Per questo motivo, forniamo un'esperienza agevole per la validating delle operazioni GraphQL durante lo sviluppo o in CI. -[`@graphql-validate/cli`](https://github.com/saihaj/graphql-validate) is a simple CLI tool that helps validate GraphQL operations against a given schema. +[`@graphql-validate/cli`](https://github.com/saihaj/graphql-validate) è un semplice strumento CLI che aiuta a validare le operazioni GraphQL rispetto a un determinato schema. -### **Getting started** +### **Per cominciare** -You can run the tool as follows: +Lo strumento può essere eseguito nel modo seguente: ```bash npx @graphql-validate/cli -s https://api-next.thegraph.com/subgraphs/name/$GITHUB_USER/$SUBGRAPH_NAME -o *.graphql ``` -**Notes:** +**Note:** -- Set or replace $GITHUB_USER, $SUBGRAPH_NAME with the appropriate values. Like: [`artblocks/art-blocks`](https://api.thegraph.com/subgraphs/name/artblocks/art-blocks) -- The preview schema URL (https://api-next.thegraph.com/) provided is heavily rate-limited and will be sunset once all users have migrated to the new version. **Do not use it in production.** -- Operations are identified in files with the following extensions [`.graphql`,](https://www.graphql-tools.com/docs/schema-loading#graphql-file-loader)[`.ts`, `.tsx`, `.js`, `jsx`](https://www.graphql-tools.com/docs/schema-loading#code-file-loader) (`-o` option). +- Impostare o sostituire $GITHUB_USER, $SUBGRAPH_NAME con i valori appropriati. Ad esempio: [`artblocks/art-blocks`](https://api.thegraph.com/subgraphs/name/artblocks/art-blocks) +- L'URL dello schema di anteprima (https://api-next.thegraph.com/) fornito è fortemente limitato e verrà abbandonato una volta che tutti gli utenti saranno migrati alla nuova versione. **Non usarlo in produzione.** +- Le operazioni sono identificate in file con le seguenti estensioni [`.graphql`,](https://www.graphql-tools.com/docs/schema-loading#graphql-file-loader)[`.ts`, `.tsx`, `.js`, `jsx`](https://www.graphql-tools.com/docs/schema-loading#code-file-loader) (opzione `-o`). -### CLI output +### Output CLI -The `[@graphql-validate/cli](https://github.com/saihaj/graphql-validate)` CLI tool will output any GraphQL operations errors as follows: +Lo strumento `[@graphql-validate/cli](https://github.com/saihaj/graphql-validate)` CLI mostrerà gli errori delle operazioni GraphQL come segue: -![Error output from CLI](https://i.imgur.com/x1cBdhq.png) +![Output di errore da CLI](https://i.imgur.com/x1cBdhq.png) -For each error, you will find a description, file path and position, and a link to a solution example (see the following section). +Per ogni errore sono disponibili una descrizione, il percorso e la posizione del file e un link a un esempio di soluzione (vedere la sezione seguente). -## Run your local queries against the preview schema +## Eseguire le query locali sullo schema di anteprima -We provide an endpoint `https://api-next.thegraph.com/` that runs a `graph-node` version that has validations turned on. +Forniamo un endpoint `https://api-next.thegraph.com/` che esegue una versione di `graph-node` con le validation attivate. -You can try out queries by sending them to: +È possibile provare le query inviandole a: - `https://api-next.thegraph.com/subgraphs/id/` -or +oppure - `https://api-next.thegraph.com/subgraphs/name//` -To work on queries that have been flagged as having validation errors, you can use your favorite GraphQL query tool, like Altair or [GraphiQL](https://cloud.hasura.io/public/graphiql), and try your query out. Those tools will also mark those errors in their UI, even before you run it. +Per lavorare sulle query che sono state contrassegnate da errori di validazione, si può usare il proprio strumento preferito di query GraphQL, come Altair o [GraphiQL](https://cloud.hasura.io/public/graphiql), e provare la query. Questi strumenti segnaleranno gli errori nella loro interfaccia utente, anche prima dell'esecuzione. -## How to solve issues +## Come risolvere i problemi -Below, you will find all the GraphQL validations errors that could occur on your existing GraphQL operations. +Di seguito sono riportati tutti gli errori di validation GraphQL che potrebbero verificarsi nelle operazioni GraphQL esistenti. -### GraphQL variables, operations, fragments, or arguments must be unique +### Le variabili, le operazioni, i frammenti o gli argomenti di GraphQL devono essere unici -We applied rules for ensuring that an operation includes a unique set of GraphQL variables, operations, fragments, and arguments. +Abbiamo applicato regole per garantire che un'operazione includa un set unico di variabili GraphQL, operazioni, frammenti e argomenti. -A GraphQL operation is only valid if it does not contain any ambiguity. +Un'operazione GraphQL è valida solo se non contiene alcuna ambiguità. -To achieve that, we need to ensure that some components in your GraphQL operation must be unique. +A tal fine, è necessario garantire che alcuni componenti dell'operazione GraphQL siano unici. -Here's an example of a few invalid operations that violates these rules: +Ecco un esempio di alcune operazioni non valide che violano queste regole: -**Duplicate Query name (#UniqueOperationNamesRule)** +**Nome della query duplicato (#UniqueOperationNamesRule)** ```graphql -# The following operation violated the UniqueOperationName -# rule, since we have a single operation with 2 queries -# with the same name +# La seguente operazione ha violato la regola UniqueOperationName +# la regola UniqueOperationName poiché abbiamo una singola operazione con 2 query +# con lo stesso nome query myData { id } @@ -95,7 +95,7 @@ query myData { } ``` -_Solution:_ +_Soluzione:_ ```graphql query myData { @@ -103,16 +103,16 @@ query myData { } query myData2 { - # rename the second query + # rinominare la seconda query name } ``` -**Duplicate Fragment name (#UniqueFragmentNamesRule)** +**Nome del frammento duplicato (#UniqueFragmentNamesRule)** ```graphql -# The following operation violated the UniqueFragmentName -# rule. +# L'operazione seguente ha violato +# la regola UniqueFragmentName. query myData { id ...MyFields @@ -127,7 +127,7 @@ fragment MyFields { } ``` -_Solution:_ +_Soluzione:_ ```graphql query myData { @@ -136,39 +136,39 @@ query myData { ...MyFieldsMetadata } -fragment MyFieldsMetadata { # assign a unique name to fragment - metadata +fragment MyFieldsMetadata { # assegna un nome unico al frammento + metadati } -fragment MyFieldsName { # assign a unique name to fragment - name +fragment MyFieldsName { # assegna un nome unico al frammento + nome } ``` -**Duplicate variable name (#UniqueVariableNamesRule)** +**Nome variabile duplicato (#UniqueVariableNamesRule)** ```graphql -# The following operation violates the UniqueVariables +# L'operazione seguente viola la norma UniqueVariables. query myData($id: String, $id: Int) { id ...MyFields } ``` -_Solution:_ +_Soluzione:_ ```graphql query myData($id: String) { - # keep the relevant variable (here: `$id: String`) + # mantiene la variabile rilevante (qui: `$id: String`) id ...MyFields } ``` -**Duplicate argument name (#UniqueArgument)** +**Nome dell'argomento duplicato (#UniqueArgument)** ```graphql -# The following operation violated the UniqueArguments +# L'operazione seguente ha violato la norma UniqueArguments query myData($id: ID!) { userById(id: $id, id: "1") { id @@ -176,7 +176,7 @@ query myData($id: ID!) { } ``` -_Solution:_ +_Soluzione:_ ```graphql query myData($id: ID!) { @@ -186,13 +186,13 @@ query myData($id: ID!) { } ``` -**Duplicate anonymous query (#LoneAnonymousOperationRule)** +**Duplicazione della query anonima (#LoneAnonymousOperationRule)** -Also, using two anonymous operations will violate the `LoneAnonymousOperation` rule due to conflict in the response structure: +Inoltre, l'uso di due operazioni anonime violerà la norma `LoneAnonymousOperation`, a causa di un conflitto nella struttura della risposta: ```graphql -# This will fail if executed together in -# a single operation with the following two queries: +# Questa operazione fallirà se eseguita insieme in +# un'unica operazione con le due query seguenti: query { someField } @@ -202,7 +202,7 @@ query { } ``` -_Solution:_ +_Soluzione:_ ```graphql query { @@ -211,7 +211,7 @@ query { } ``` -Or name the two queries: +Oppure dare un nome alle due query: ```graphql query FirstQuery { @@ -223,20 +223,20 @@ query SecondQuery { } ``` -### Overlapping Fields +### Campi sovrapposti -A GraphQL selection set is considered valid only if it correctly resolves the eventual result set. +Un set di selezione GraphQL è considerato valido solo se risolve correttamente l'eventuale set di risultati. -If a specific selection set, or a field, creates ambiguity either by the selected field or by the arguments used, the GraphQL service will fail to validate the operation. +Se uno specifico set di selezione, o un campo, crea ambiguità sia per il campo selezionato che per gli argomenti utilizzati, il servizio GraphQL non riuscirà a validare l'operazione. -Here are a few examples of invalid operations that violate this rule: +Ecco alcuni esempi di operazioni non valide che violano questa regola: -**Conflicting fields aliases (#OverlappingFieldsCanBeMergedRule)** +**Alias di campi in conflitto (#OverlappingFieldsCanBeMergedRule)** ```graphql -# Aliasing fields might cause conflicts, either with -# other aliases or other fields that exist on the -# GraphQL schema. +# L'aliasing dei campi potrebbe causare conflitti, sia con +# altri alias o con altri campi che esistono nello +# schema GraphQL. query { dogs { name: nickname @@ -245,7 +245,7 @@ query { } ``` -_Solution:_ +_Soluzione:_ ```graphql query { @@ -256,11 +256,11 @@ query { } ``` -**Conflicting fields with arguments (#OverlappingFieldsCanBeMergedRule)** +**Campi in conflitto con gli argomenti (#OverlappingFieldsCanBeMergedRule)** ```graphql -# Different arguments might lead to different data, -# so we can't assume the fields will be the same. +# Argomenti diversi possono portare a dati diversi, +# quindi non possiamo presumere che i campi siano gli stessi. query { dogs { doesKnowCommand(dogCommand: SIT) @@ -269,7 +269,7 @@ query { } ``` -_Solution:_ +_Soluzione:_ ```graphql query { @@ -280,12 +280,12 @@ query { } ``` -Also, in more complex use-cases, you might violate this rule by using two fragments that might cause a conflict in the eventually expected set: +Inoltre, in casi d'uso più complessi, si potrebbe violare questa regola utilizzando due frammenti che potrebbero causare un conflitto nell'insieme atteso: ```graphql query { - # Eventually, we have two "x" definitions, pointing - # to different fields! + # Alla fine, abbiamo due definizioni di "x", che puntano + # a campi diversi! ...A ...B } @@ -299,7 +299,7 @@ fragment B on Type { } ``` -In addition to that, client-side GraphQL directives like `@skip` and `@include` might lead to ambiguity, for example: +Inoltre, le direttive GraphQL lato client come `@skip` e `@include` potrebbero portare ad ambiguità, ad esempio: ```graphql fragment mergeSameFieldsWithSameDirectives on Dog { @@ -308,24 +308,24 @@ fragment mergeSameFieldsWithSameDirectives on Dog { } ``` -[You can read more about the algorithm here.](https://spec.graphql.org/June2018/#sec-Field-Selection-Merging) +[Per saperne di più sull'algoritmo, consultare qui.](https://spec.graphql.org/June2018/#sec-Field-Selection-Merging) -### Unused Variables or Fragments +### Variabili o frammenti non utilizzati -A GraphQL operation is also considered valid only if all operation-defined components (variables, fragments) are used. +Un'operazione GraphQL è considerata valida solo se vengono utilizzati tutti i componenti definiti dall'operazione (variabili, frammenti). -Here are a few examples for GraphQL operations that violates these rules: +Ecco alcuni esempi di operazioni GraphQL che violano queste regole: -**Unused variable** (#NoUnusedVariablesRule) +**Variabile inutilizzata** (#NoUnusedVariablesRule) ```graphql -# Invalid, because $someVar is never used. +# Non valido, perché $someVar non viene mai utilizzato. query something($someVar: String) { someData } ``` -_Solution:_ +_Soluzione:_ ```graphql query something { @@ -333,10 +333,10 @@ query something { } ``` -**Unused Fragment** (#NoUnusedFragmentsRule) +**Frammento non utilizzato** (#NoUnusedFragmentsRule) ```graphql -# Invalid, because fragment AllFields is never used. +# Non valido, perché il frammento AllFields non viene mai utilizzato. query something { someData } @@ -347,44 +347,42 @@ fragment AllFields { # unused :( } ``` -_Solution:_ +_Soluzione:_ ```graphql -# Invalid, because fragment AllFields is never used. +# Non valido, perché il frammento AllFields non viene mai utilizzato. query something { someData } -# remove the `AllFields` fragment +# rimuovere il frammento `AllFields` ``` -### Invalid or missing Selection-Set (#ScalarLeafsRule) +### Set di selezione non valido o mancante (#ScalarLeafsRule) -Also, a GraphQL field selection is only valid if the following is validated: +Inoltre, la selezione di un campo GraphQL è valida solo se il seguente è validato: -- An object field must-have selection set specified. -- An edge field (scalar, enum) must not have a selection set specified. +- Un campo oggetto deve avere un set di selezione specificato. +- Un campo bordo (scalare, enum) non deve avere un set di selezione specificato. -Here are a few examples of violations of these rules with the following Schema: +Ecco alcuni esempi di violazione di queste regole con il seguente schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` -**Invalid Selection-Set** +**Set di selezione non valido** ```graphql query { @@ -396,7 +394,7 @@ query { } ``` -_Solution:_ +_Soluzione:_ ```graphql query { @@ -406,7 +404,7 @@ query { } ``` -**Missing Selection-Set** +**Set di selezione mancante** ```graphql query { @@ -417,7 +415,7 @@ query { } ``` -_Solution:_ +_Soluzione:_ ```graphql query { @@ -430,49 +428,49 @@ query { } ``` -### Incorrect Arguments values (#VariablesInAllowedPositionRule) +### Valori degli argomenti non corretti (#VariablesInAllowedPositionRule) -GraphQL operations that pass hard-coded values to arguments must be valid, based on the value defined in the schema. +Le operazioni GraphQL che passano valori codificati agli argomenti devono essere validi, in base al valore definito nello schema. -Here are a few examples of invalid operations that violate these rules: +Ecco alcuni esempi di operazioni non valide che violano queste regole: ```graphql -query purposes { - # If "name" is defined as "String" in the schema, - # this query will fail during validation. +scopi della query { + # Se "name" è definito come "String" nello schema, + # questa query fallirà durante la validazione. purpose(name: 1) { id } } -# This might also happen when an incorrect variable is defined: +# Questo può accadere anche quando viene definita una variabile non corretta: -query purposes($name: Int!) { - # If "name" is defined as `String` in the schema, - # this query will fail during validation, because the - # variable used is of type `Int` +scopi della query ($name: Int!) { + # Se "name" è definito come `String` nello schema, + # questa query fallirà durante la validazione, perché la + # variabile utilizzata è di tipo `Int`. purpose(name: $name) { id } } ``` -### Unknown Type, Variable, Fragment, or Directive (#UnknownX) +### Tipo, variabile, frammento o direttiva sconosciuti (#UnknownX) -The GraphQL API will raise an error if any unknown type, variable, fragment, or directive is used. +L'API GraphQL solleverà un errore se viene utilizzato un tipo, una variabile, un frammento o una direttiva sconosciuti. -Those unknown references must be fixed: +Questi riferimenti sconosciuti devono essere corretti: -- rename if it was a typo -- otherwise, remove +- rinominare se si tratta di un errore di battitura +- altrimenti, rimuovere -### Fragment: invalid spread or definition +### Frammento: diffusione o definizione non valida -**Invalid Fragment spread (#PossibleFragmentSpreadsRule)** +**Diffusione del frammento non valida (#PossibleFragmentSpreadsRule)** -A Fragment cannot be spread on a non-applicable type. +Un frammento non può essere distribuito su un tipo non applicabile. -Example, we cannot apply a `Cat` fragment to the `Dog` type: +Ad esempio, non si può applicare un frammento `Cat` al tipo `Dog`: ```graphql query { @@ -486,33 +484,33 @@ fragment CatSimple on Cat { } ``` -**Invalid Fragment definition (#FragmentsOnCompositeTypesRule)** +**Definizione di frammento non valida (#FragmentsOnCompositeTypesRule)** -All Fragment must be defined upon (using `on ...`) a composite type, in short: object, interface, or union. +Tutti i frammenti devono essere definiti su (usando `on ...`) un tipo composito, in breve: oggetto, interfaccia o unione. -The following examples are invalid, since defining fragments on scalars is invalid. +Gli esempi seguenti non sono validi, poiché la definizione di frammenti su scalari non è valida. ```graphql fragment fragOnScalar on Int { - # we cannot define a fragment upon a scalar (`Int`) + # non possiamo definire un frammento su uno scalare (`Int`) something } fragment inlineFragOnScalar on Dog { ... on Boolean { - # `Boolean` is not a subtype of `Dog` + # `Boolean` non è un subtipo di `Dog` somethingElse } } ``` -### Directives usage +### Utilizzo delle direttive -**Directive cannot be used at this location (#KnownDirectivesRule)** +**La direttiva non può essere utilizzata in questa sede (#KnownDirectivesRule)** -Only GraphQL directives (`@...`) supported by The Graph API can be used. +È possibile utilizzare solo le direttive GraphQL (`@...`) supportate da Graph API. -Here is an example with The GraphQL supported directives: +Ecco un esempio con le direttive supportate da GraphQL: ```graphql query { @@ -523,13 +521,13 @@ query { } ``` -_Note: `@stream`, `@live`, `@defer` are not supported._ +_Nota: `@stream`, `@live`, `@defer` non sono supportati._ -**Directive can only be used once at this location (#UniqueDirectivesPerLocationRule)** +**La direttiva può essere utilizzata una sola volta in questo luogo (#UniqueDirectivesPerLocationRule)** -The directives supported by The Graph can only be used once per location. +Le direttive supportate da The Graph possono essere utilizzate una sola volta per ogni posizione. -The following is invalid (and redundant): +Il seguente non è valido (e ridondante): ```graphql query { From 4a78efc9a7a6ff2f745e411ea4081fa1eecae3bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:34 -0400 Subject: [PATCH 0889/2326] New translations graphql-validations-migration-guide.mdx (Japanese) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/ja/release-notes/graphql-validations-migration-guide.mdx b/website/pages/ja/release-notes/graphql-validations-migration-guide.mdx index a31e06102542..b004e14d9f98 100644 --- a/website/pages/ja/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/ja/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ query something { 次のスキーマでこれらの規則に違反する例をいくつか示します: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From e1b884ee649aff2a9e4f031c0d1293339ec56890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:35 -0400 Subject: [PATCH 0890/2326] New translations graphql-validations-migration-guide.mdx (Korean) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/ko/release-notes/graphql-validations-migration-guide.mdx b/website/pages/ko/release-notes/graphql-validations-migration-guide.mdx index f8cf8a3c2ed3..4d909e8970a8 100644 --- a/website/pages/ko/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/ko/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ Also, a GraphQL field selection is only valid if the following is validated: Here are a few examples of violations of these rules with the following Schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From cc7e928b74805aa3b80606fbc06b4c299504c38a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:36 -0400 Subject: [PATCH 0891/2326] New translations graphql-validations-migration-guide.mdx (Dutch) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/nl/release-notes/graphql-validations-migration-guide.mdx b/website/pages/nl/release-notes/graphql-validations-migration-guide.mdx index f8cf8a3c2ed3..4d909e8970a8 100644 --- a/website/pages/nl/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/nl/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ Also, a GraphQL field selection is only valid if the following is validated: Here are a few examples of violations of these rules with the following Schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From 4624f65a5ad01b44b5f14d7827b882f1f8f15cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:37 -0400 Subject: [PATCH 0892/2326] New translations graphql-validations-migration-guide.mdx (Polish) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/pl/release-notes/graphql-validations-migration-guide.mdx b/website/pages/pl/release-notes/graphql-validations-migration-guide.mdx index f8cf8a3c2ed3..4d909e8970a8 100644 --- a/website/pages/pl/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/pl/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ Also, a GraphQL field selection is only valid if the following is validated: Here are a few examples of violations of these rules with the following Schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From 73de950cab6a6c16c42a35dc20099d09e92e2bf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:38 -0400 Subject: [PATCH 0893/2326] New translations graphql-validations-migration-guide.mdx (Portuguese) --- .../graphql-validations-migration-guide.mdx | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/website/pages/pt/release-notes/graphql-validations-migration-guide.mdx b/website/pages/pt/release-notes/graphql-validations-migration-guide.mdx index 3103ee0c6de5..75c8799b9286 100644 --- a/website/pages/pt/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/pt/release-notes/graphql-validations-migration-guide.mdx @@ -256,7 +256,8 @@ query { } ``` -**Conflicting fields with arguments (#OverlappingFieldsCanBeMergedRule)** (Campos em conflito com argumentos) +**Conflicting fields with arguments (#OverlappingFieldsCanBeMergedRule)** +(Campos em conflito com argumentos) ```graphql # Argumentos diferentes podem levar a dados diferentes, @@ -368,19 +369,17 @@ Aliás, uma seleção de campo GraphQL só é válida se o seguinte for validado Aqui estão alguns exemplos de violações destas regras com o seguinte Schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` @@ -467,10 +466,10 @@ Estas referências desconhecidas devem ser consertadas: - caso contrário, remova ### Fragment: invalid spread or definition - (Fragment: espalhamento ou definição inválidos) -**Invalid Fragment spread (#PossibleFragmentSpreadsRule)** (Espalhamento de fragment inválido) +**Invalid Fragment spread (#PossibleFragmentSpreadsRule)** +(Espalhamento de fragment inválido) Um Fragment não pode ser espalhado em um tipo não aplicável. @@ -510,7 +509,8 @@ fragment inlineFragOnScalar on Dog { ### Uso de Diretivas -**Directive cannot be used at this location (#KnownDirectivesRule)** (A diretiva não pode ser usada neste local) +**Directive cannot be used at this location (#KnownDirectivesRule)** +(A diretiva não pode ser usada neste local) Apenas diretivas GraphQL (`@...`) apoiadas pela API do The Graph podem ser usadas. @@ -527,7 +527,8 @@ query { _Nota: `@stream`, `@live`, e `@defer` não têm apoio._ -**Directive can only be used once at this location (#UniqueDirectivesPerLocationRule)** (A diretiva só pode ser usada neste local uma vez) +**Directive can only be used once at this location (#UniqueDirectivesPerLocationRule)** +(A diretiva só pode ser usada neste local uma vez) As diretivas apoiadas pelo The Graph só podem ser usadas uma vez por local. From 8e9a04701f53353d2a33acb42b7430063c461db7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:39 -0400 Subject: [PATCH 0894/2326] New translations graphql-validations-migration-guide.mdx (Russian) --- .../graphql-validations-migration-guide.mdx | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/website/pages/ru/release-notes/graphql-validations-migration-guide.mdx b/website/pages/ru/release-notes/graphql-validations-migration-guide.mdx index 8da2d2e032b9..25238b858a50 100644 --- a/website/pages/ru/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/ru/release-notes/graphql-validations-migration-guide.mdx @@ -284,8 +284,8 @@ query { ```graphql query { - # В конце концов, у нас есть два определения "x", указывающие - # на разные поля! + # В конце концов, у нас есть два определения "x", указывающие + # на разные поля! ...A ...B } @@ -368,19 +368,17 @@ query something { Вот несколько примеров нарушения этих правил со следующей схемой: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` @@ -439,7 +437,7 @@ query { ```graphql query purposes { # Если в схеме "name" определено как "String", - # этот запрос не пройдёт валидацию. + # этот запрос не пройдёт валидацию. purpose(name: 1) { id } @@ -449,8 +447,8 @@ query purposes { query purposes($name: Int!) { # Если "name" определено в схеме как `String`, - # этот запрос не пройдёт валидацию, потому что - # используемая переменная имеет тип `Int` + # этот запрос не пройдёт валидацию, потому что + # используемая переменная имеет тип `Int` purpose(name: $name) { id } From 08bb4f49b0edfc908b6801096d757d0d76e05e38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:39 -0400 Subject: [PATCH 0895/2326] New translations graphql-validations-migration-guide.mdx (Swedish) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/sv/release-notes/graphql-validations-migration-guide.mdx b/website/pages/sv/release-notes/graphql-validations-migration-guide.mdx index d9f301352c8a..25d4c50249e1 100644 --- a/website/pages/sv/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/sv/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ Dessutom är ett GraphQL-fältval endast giltigt om följande är validerat: Här är några exempel på brott mot dessa regler med följande Schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From 72cd80d23fd35091c41c1778c0d9e08cf63d09b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:40 -0400 Subject: [PATCH 0896/2326] New translations graphql-validations-migration-guide.mdx (Turkish) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/tr/release-notes/graphql-validations-migration-guide.mdx b/website/pages/tr/release-notes/graphql-validations-migration-guide.mdx index a8d1725ec834..3d1d0f76fb6b 100644 --- a/website/pages/tr/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/tr/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ Ayrıca, bir GraphQL alan seçimi yalnızca aşağıdakiler doğrulanırsa geçe Aşağıda, aşağıdaki şema ile bu kuralların ihlaline ilişkin birkaç örnek verilmiştir: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From 9834d17fbfe139d2638e12abe6ec527b56e13cc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:41 -0400 Subject: [PATCH 0897/2326] New translations graphql-validations-migration-guide.mdx (Ukrainian) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/uk/release-notes/graphql-validations-migration-guide.mdx b/website/pages/uk/release-notes/graphql-validations-migration-guide.mdx index f8cf8a3c2ed3..4d909e8970a8 100644 --- a/website/pages/uk/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/uk/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ Also, a GraphQL field selection is only valid if the following is validated: Here are a few examples of violations of these rules with the following Schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From a6dc424c38b68f01bc521f6ab0ac7dcac36d6887 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:42 -0400 Subject: [PATCH 0898/2326] New translations graphql-validations-migration-guide.mdx (Chinese Simplified) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/zh/release-notes/graphql-validations-migration-guide.mdx b/website/pages/zh/release-notes/graphql-validations-migration-guide.mdx index a86b79249425..bdd11ecfbb29 100644 --- a/website/pages/zh/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/zh/release-notes/graphql-validations-migration-guide.mdx @@ -369,19 +369,17 @@ _解决方案:_ 以下是下列模式违反这些规则的几个示例: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From a78d6345d71b005063d55bf7fc6adb2305b71d6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:43 -0400 Subject: [PATCH 0899/2326] New translations graphql-validations-migration-guide.mdx (Urdu (Pakistan)) --- .../graphql-validations-migration-guide.mdx | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/website/pages/ur/release-notes/graphql-validations-migration-guide.mdx b/website/pages/ur/release-notes/graphql-validations-migration-guide.mdx index 15d7aa4cf114..3d1289e29dd2 100644 --- a/website/pages/ur/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/ur/release-notes/graphql-validations-migration-guide.mdx @@ -4,7 +4,8 @@ title: GraphQL کی توثیق کی منتقلی گائیڈ جلد ہی `گراف نوڈ` [GraphQL توثیق کی تفصیلات](https://spec.graphql.org/June2018/#sec-Validation) کی 100% کوریج کو سپورٹ کرے گا. -`گراف نوڈ` کے پچھلے ورژن تمام توثیقوں کی حمایت نہیں کرتے تھے اور زیادہ خوبصورت جوابات فراہم کرتے تھے - لہذا، ابہام کی صورت میں، `گراف نوڈ` غلط گراف کیو ایل آپریشن کے اجزاء کو نظر انداز کر رہا تھا. +`گراف نوڈ` کے پچھلے ورژن تمام توثیقوں کی حمایت نہیں کرتے تھے اور زیادہ خوبصورت جوابات فراہم کرتے تھے - لہذا، ابہام کی صورت میں، `گراف نوڈ` غلط گراف کیو ایل + آپریشن کے اجزاء کو نظر انداز کر رہا تھا. GraphQL ویلیڈیشن سپورٹ آنے والی نئی خصوصیات اور گراف نیٹ ورک کے پیمانے پر کارکردگی کا ایک ستون ہے. @@ -367,19 +368,17 @@ query something { درج ذیل اسکیما کے ساتھ ان قواعد کی خلاف ورزیوں کی چند مثالیں یہ ہیں: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From bb9aedfcd128539e312bb1697e440dc17d98498c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:44 -0400 Subject: [PATCH 0900/2326] New translations graphql-validations-migration-guide.mdx (Vietnamese) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/vi/release-notes/graphql-validations-migration-guide.mdx b/website/pages/vi/release-notes/graphql-validations-migration-guide.mdx index f8cf8a3c2ed3..4d909e8970a8 100644 --- a/website/pages/vi/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/vi/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ Also, a GraphQL field selection is only valid if the following is validated: Here are a few examples of violations of these rules with the following Schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From a3819b6461c4dacab76b8f17d5c00c7237ab23b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:45 -0400 Subject: [PATCH 0901/2326] New translations graphql-validations-migration-guide.mdx (Marathi) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/mr/release-notes/graphql-validations-migration-guide.mdx b/website/pages/mr/release-notes/graphql-validations-migration-guide.mdx index 25586c408e48..b0540fd8bbc8 100644 --- a/website/pages/mr/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/mr/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ Also, a GraphQL field selection is only valid if the following is validated: Here are a few examples of violations of these rules with the following Schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From 569567d95b3b114a1b363bc63d96db80e17197c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:46 -0400 Subject: [PATCH 0902/2326] New translations graphql-validations-migration-guide.mdx (Hindi) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/hi/release-notes/graphql-validations-migration-guide.mdx b/website/pages/hi/release-notes/graphql-validations-migration-guide.mdx index 82ad335fbc29..71a47e6e2ac3 100644 --- a/website/pages/hi/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/hi/release-notes/graphql-validations-migration-guide.mdx @@ -369,19 +369,17 @@ query something { निम्नलिखित स्कीमा के साथ इन नियमों के उल्लंघन के कुछ उदाहरण यहां दिए गए हैं: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From c41012d20dc418091643964eb3956225e5feb3ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:47 -0400 Subject: [PATCH 0903/2326] New translations graphql-validations-migration-guide.mdx (Yoruba) --- .../graphql-validations-migration-guide.mdx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/website/pages/yo/release-notes/graphql-validations-migration-guide.mdx b/website/pages/yo/release-notes/graphql-validations-migration-guide.mdx index f8cf8a3c2ed3..4d909e8970a8 100644 --- a/website/pages/yo/release-notes/graphql-validations-migration-guide.mdx +++ b/website/pages/yo/release-notes/graphql-validations-migration-guide.mdx @@ -368,19 +368,17 @@ Also, a GraphQL field selection is only valid if the following is validated: Here are a few examples of violations of these rules with the following Schema: ```graphql -schema { - type Image { - url: String! - } +type Image { + url: String! +} - type User { - id: ID! - avatar: Image! - } +type User { + id: ID! + avatar: Image! +} - type Query { - user: User! - } +type Query { + user: User! } ``` From 9bd7be015d70c32236dd2b0c431a936e952afd1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:47 -0400 Subject: [PATCH 0904/2326] New translations arbitrum-faq.mdx (Romanian) --- website/pages/ro/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ro/arbitrum/arbitrum-faq.mdx b/website/pages/ro/arbitrum/arbitrum-faq.mdx index 849d08c92b93..5eb306642ff1 100644 --- a/website/pages/ro/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ro/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ The Graph community decided to move forward with Arbitrum last year after the ou Users bridge their GRT and ETH  using one of the following methods: -- [The Graph Bridge on Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Please help [test the network](https://testnet.thegraph.com/explorer) on L2 and ## Are there any risks associated with scaling the network to L2? -All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Everything has been tested thoroughly, and a contingency plan is in place to ensure a safe and seamless transition. Details can be found [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ The bridge has been [heavily audited](https://code4rena.com/contests/2022-10-the Adding GRT to your Arbitrum billing balance can be done with a one-click experience in [Subgraph Studio](https://thegraph.com/studio/). You'll be able to easily bridge your GRT to Arbitrum and fill your API keys in one transaction. -Visit the [Billing page](https://thegraph.com/docs/en/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From bff5019dadcb6843bb0771684b63e84ce6d694a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:48 -0400 Subject: [PATCH 0905/2326] New translations arbitrum-faq.mdx (French) --- website/pages/fr/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/fr/arbitrum/arbitrum-faq.mdx b/website/pages/fr/arbitrum/arbitrum-faq.mdx index fb008a5e72b6..631378f5f390 100644 --- a/website/pages/fr/arbitrum/arbitrum-faq.mdx +++ b/website/pages/fr/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ La communauté Graph a décidé d'avancer avec Arbitrum l'année dernière aprè Les utilisateurs bridgent leurs GRT et ETH en utilisant l'une des méthodes suivantes : -- [Le pont The Graph sur Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [HopExchange ](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Veuillez aider à [tester le réseau](https://testnet.thegraph.com/explorer) sur ## Existe-t-il des risques associés à la mise à l’échelle du réseau vers L2 ? -Tous les contrats intelligents ont été minutieusement [audités](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Tout a été testé minutieusement et un plan d’urgence est en place pour assurer une transition sûre et fluide. Les détails peuvent être trouvés [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and- considérations de sécurité-20). @@ -75,4 +75,4 @@ Le pont a été [fortement audité](https://code4rena.com/contests/2022-10-the-g L'ajout de GRT à votre solde de facturation Arbitrum peut être effectué en un seul clic dans [Subgraph Studio](https://thegraph.com/studio/). Vous pourrez facilement relier votre GRT à Arbitrum et remplir vos clés API en une seule transaction. -Visitez la [page de facturation](https://thegraph.com/docs/en/billing/) pour des instructions plus détaillées sur l'ajout, le retrait ou l'acquisition de GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From 303a99954d40301b8c300adb54677697fde5f687 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:49 -0400 Subject: [PATCH 0906/2326] New translations arbitrum-faq.mdx (Spanish) --- website/pages/es/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/es/arbitrum/arbitrum-faq.mdx b/website/pages/es/arbitrum/arbitrum-faq.mdx index b32a2229a2ad..a970a7f2847b 100644 --- a/website/pages/es/arbitrum/arbitrum-faq.mdx +++ b/website/pages/es/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ The Graph community decided to move forward with Arbitrum last year after the ou Los usuarios realizan el bridge de su GRT y ETH mediante uno de los siguientes métodos: -- [The Graph Bridge on Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Please help [test the network](https://testnet.thegraph.com/explorer) on L2 and ## ¿Existe algún riesgo asociado con escalar la red a L2? -All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Everything has been tested thoroughly, and a contingency plan is in place to ensure a safe and seamless transition. Details can be found [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ The bridge has been [heavily audited](https://code4rena.com/contests/2022-10-the Adding GRT to your Arbitrum billing balance can be done with a one-click experience in [Subgraph Studio](https://thegraph.com/studio/). You'll be able to easily bridge your GRT to Arbitrum and fill your API keys in one transaction. -Visit the [Billing page](https://thegraph.com/docs/en/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From a79cc5b543bf480d72288e07bd3fbfbb678c5400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:50 -0400 Subject: [PATCH 0907/2326] New translations arbitrum-faq.mdx (Arabic) --- website/pages/ar/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ar/arbitrum/arbitrum-faq.mdx b/website/pages/ar/arbitrum/arbitrum-faq.mdx index 2d3f7ee483d5..b846386dff70 100644 --- a/website/pages/ar/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ar/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ The Graph community decided to move forward with Arbitrum last year after the ou يقوم المستخدمون بربط GRT و ETH باستخدام إحدى الطرق التالية: -- [The Graph Bridge on Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Please help [test the network](https://testnet.thegraph.com/explorer) on L2 and ## هل توجد أي مخاطر مرتبطة بتوسيع الشبكة إلى L2؟ -All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Everything has been tested thoroughly, and a contingency plan is in place to ensure a safe and seamless transition. Details can be found [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ The bridge has been [heavily audited](https://code4rena.com/contests/2022-10-the Adding GRT to your Arbitrum billing balance can be done with a one-click experience in [Subgraph Studio](https://thegraph.com/studio/). You'll be able to easily bridge your GRT to Arbitrum and fill your API keys in one transaction. -Visit the [Billing page](https://thegraph.com/docs/en/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From e3196932d74e5bc5e630a522ace05eae79cba01f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:51 -0400 Subject: [PATCH 0908/2326] New translations arbitrum-faq.mdx (Czech) --- website/pages/cs/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/cs/arbitrum/arbitrum-faq.mdx b/website/pages/cs/arbitrum/arbitrum-faq.mdx index b7897084810a..463a95e603ca 100644 --- a/website/pages/cs/arbitrum/arbitrum-faq.mdx +++ b/website/pages/cs/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ Komunita Graf se v loňském roce rozhodla pokračovat v Arbitrum po výsledku d Uživatelé mostují své GRT a ETH pomocí jednoho z následujících postupů: -- [The Graph Bridge on Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Pomozte prosím [otestovat síť](https://testnet.thegraph.com/explorer) na L2 a ## Existují nějaká rizika spojená s rozšiřováním sítě na L2? -Všechny chytré smlouvy byly důkladně [audited](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +Všechny chytré smlouvy byly důkladně [auditovány](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Vše bylo důkladně otestováno, a je připraven pohotovostní plán, který zajistí bezpečný a bezproblémový přechod. Podrobnosti naleznete [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ Most byl [podroben důkladnému auditu](https://code4rena.com/contests/2022-10-t Přidání GRT do vašeho zúčtovacího zůstatku Arbitrum lze provést jedním kliknutím v aplikaci [Subgraph Studio](https://thegraph.com/studio/). Budete moci snadno propojit své GRT s Arbitrum a vyplnit své klíče API v rámci jedné transakce. -Podrobnější pokyny k přidání, výběru nebo získání GRT naleznete zde [Billing page](https://thegraph.com/docs/en/billing/). +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From d0b09be67e79357ba11648d5eee440ba343d63cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:52 -0400 Subject: [PATCH 0909/2326] New translations arbitrum-faq.mdx (German) --- website/pages/de/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/de/arbitrum/arbitrum-faq.mdx b/website/pages/de/arbitrum/arbitrum-faq.mdx index 1ec15187606a..bd712016d8f0 100644 --- a/website/pages/de/arbitrum/arbitrum-faq.mdx +++ b/website/pages/de/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ DieThe Graph-Community beschloss letztes Jahr nach dem Ergebnis der [GIP-0031](h Die Benutzer überbrücken ihre GRT und ETH mit einer der folgenden Methoden: -- [Die The Graph-Brücke auf Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Bitte helfen Sie [test the network](https://testnet.thegraph.com/explorer) auf L ## Sind mit der Skalierung des Netzes auf L2 irgendwelche Risiken verbunden? -Alle Smart Contracts wurden gründlich [audited] (https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Alles wurde gründlich getestet, und es gibt einen Notfallplan, um einen sicheren und nahtlosen Übergang zu gewährleisten. Einzelheiten finden Sie [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ Die Brücke wurde [umfangreich geprüft] (https://code4rena.com/contests/2022-10 Das Hinzufügen von GRT zu Ihrem Arbitrum-Abrechnungssaldo kann mit nur einem Klick in [Subgraph Studio] (https://thegraph.com/studio/) erfolgen. Sie können Ihr GRT ganz einfach mit Arbitrum verbinden und Ihre API-Schlüssel in einer einzigen Transaktion füllen. -Besuchen Sie die [Abrechnungsseite] (https://thegraph.com/docs/en/billing/) für detaillierte Anweisungen zum Hinzufügen, Abheben oder Erwerben von GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From e74c63a8c3def6139a2f89df7ac6e957972e558c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:53 -0400 Subject: [PATCH 0910/2326] New translations arbitrum-faq.mdx (Italian) --- website/pages/it/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/it/arbitrum/arbitrum-faq.mdx b/website/pages/it/arbitrum/arbitrum-faq.mdx index 32629b6f1be4..68c005eb86ef 100644 --- a/website/pages/it/arbitrum/arbitrum-faq.mdx +++ b/website/pages/it/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ La comunità di The Graph ha deciso di procedere con Arbitrum l'anno scorso dopo Gli utenti possono fare un bridge dei loro GRT ed ETH utilizzando uno dei seguenti metodi: -- [The Graph Bridge su Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Please help [test the network](https://testnet.thegraph.com/explorer) on L2 and ## Ci sono rischi associati alla scalabilità della rete su L2? -Tutti gli smart contract sono stati attentamente sottoposti a [audit](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Tutto è stato testato accuratamente e un piano di contingenza è in atto per garantire una transizione sicura e senza intoppi. I dettagli possono essere trovati [qui](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ Il bridge è stato rigorosamente sottoposto ad [audit](https://code4rena.com/con Aggiungere GRT al tuo saldo di pagamento su Arbitrum può essere fatto con un solo click in [Subgraph Studio](https://thegraph.com/studio/). Sarai in grado di trasferire facilmente i tuoi GRT su Arbitrum e compilare le tue chiavi API in una sola transazione. -Visita la [pagina di fatturazione](https://thegraph.com/docs/en/billing/) per istruzioni più dettagliate su come aggiungere, prelevare, o acquisire GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From 64ab682d419ae422f753c0ba17ed45ab1ce68e51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:54 -0400 Subject: [PATCH 0911/2326] New translations arbitrum-faq.mdx (Japanese) --- website/pages/ja/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ja/arbitrum/arbitrum-faq.mdx b/website/pages/ja/arbitrum/arbitrum-faq.mdx index 13f6a27c2591..66661a0b9f2f 100644 --- a/website/pages/ja/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ja/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ Graph コミュニティは、[GIP-0031](https://forum.thegraph.com/t/gip-0031-a ユーザーは、次のいずれかの方法を使用して、GRT と ETH をブリッジします。 -- [The Graph Bridge on Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ L2 の [test the network](https://testnet.thegraph.com/explorer) にご協力い ## L2へのネットワーク拡張に伴うリスクはありますか? -すべてのスマート コントラクトは徹底的に[audited]されています(https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf)。 +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). すべてが徹底的にテストされており、安全かつシームレスな移行を保証するための緊急時対応計画が整備されています。詳細は[here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20)をご覧ください。 @@ -75,4 +75,4 @@ L2 の [test the network](https://testnet.thegraph.com/explorer) にご協力い Arbitrum 請求残高への GRT の追加は、[Subgraph Studio](https://thegraph.com/studio/) でワンクリックで行うことができます。 GRT を Arbitrum に簡単にブリッジし、1 回のトランザクションで API キーを入力できるようになります。 -GRT の追加、撤回、または取得に関する詳細な手順については、[請求ページ](https://thegraph.com/docs/en/billing/) を参照してください。 +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From 3fd4220f0d69bc976d8e0132545e6367bf5f1588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:55 -0400 Subject: [PATCH 0912/2326] New translations arbitrum-faq.mdx (Korean) --- website/pages/ko/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ko/arbitrum/arbitrum-faq.mdx b/website/pages/ko/arbitrum/arbitrum-faq.mdx index 849d08c92b93..5eb306642ff1 100644 --- a/website/pages/ko/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ko/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ The Graph community decided to move forward with Arbitrum last year after the ou Users bridge their GRT and ETH  using one of the following methods: -- [The Graph Bridge on Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Please help [test the network](https://testnet.thegraph.com/explorer) on L2 and ## Are there any risks associated with scaling the network to L2? -All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Everything has been tested thoroughly, and a contingency plan is in place to ensure a safe and seamless transition. Details can be found [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ The bridge has been [heavily audited](https://code4rena.com/contests/2022-10-the Adding GRT to your Arbitrum billing balance can be done with a one-click experience in [Subgraph Studio](https://thegraph.com/studio/). You'll be able to easily bridge your GRT to Arbitrum and fill your API keys in one transaction. -Visit the [Billing page](https://thegraph.com/docs/en/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From 7360ad57cfe6377dcad074584848b52f0afcc721 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:56 -0400 Subject: [PATCH 0913/2326] New translations arbitrum-faq.mdx (Dutch) --- website/pages/nl/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/nl/arbitrum/arbitrum-faq.mdx b/website/pages/nl/arbitrum/arbitrum-faq.mdx index a48dc60d2789..3c2dd125a245 100644 --- a/website/pages/nl/arbitrum/arbitrum-faq.mdx +++ b/website/pages/nl/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ The Graph gemeenschap heeft vorig jaar besloten om door te gaan met Arbitrum na Gebruikers bruggen hun GRT en ETH  door middel van een van de volgende methodes: -- [The Graph Brug op Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Please help [test the network](https://testnet.thegraph.com/explorer) on L2 and ## Zijn er risico's verbonden met het schalen van het netwerk naar L2? -Alle smart contracts zijn grondig [ge-audit] (https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Alles is grondig getest, en een eventualiteiten plan is gemaakt en klaargezet voor een veilige en naadloze transitie. Details kunnen [hier](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20) gevonden worden. @@ -75,4 +75,4 @@ De brug is [grondig ge-audit](https://code4rena.com/contests/2022-10-the-graph-l Het toevoegen van GRT aan je Arbitrum factuurbalans kan worden gedaan met een èèn klik ervaring in [Subgraph Studio](https://thegraph.com/studio/). Je kunt eenvoudig je GRT naar Arbitrum overzetten en je API-sleutels vullen in één transactie. -Ga naar de [Facturering pagina](https://thegraph.com/docs/en/billing/) voor gedetailleerdere instructies over het toevoegen, opnemen, of verkrijgen van GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From da3e9ef2e2c2b3a337a116e838bf2f8a899e4a5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:56 -0400 Subject: [PATCH 0914/2326] New translations arbitrum-faq.mdx (Polish) --- website/pages/pl/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pl/arbitrum/arbitrum-faq.mdx b/website/pages/pl/arbitrum/arbitrum-faq.mdx index 395fcc13723e..448b2685ede0 100644 --- a/website/pages/pl/arbitrum/arbitrum-faq.mdx +++ b/website/pages/pl/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ W zeszłym roku społeczność The Graph postanowiła pójść o krok do przodu Użytkownicy muszą najpierw przenieść swoje tokeny GRT i ETH między sieciami L1 i L2 (ang. bridge tokens), używając do tego jednej z trzech poniższych metod: -- [Most (ang.Bridge) The Graph na Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [Przeniesienie do](https://transferto.xyz/swap) - [Most projektu Connext](https://bridge.connext.network/) - [Giełda Hop](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Prosimy o pomoc w [testowaniu sieci](https://testnet.thegraph.com/explorer) na L ## Czy w związku ze skalowaniem sieci do L2 wiąże się jakieś ryzyko? -Wszystkie smart kontrakty przeszły dokładny [audyt] (https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Wszystko zostało dokładnie przetestowane i przygotowano plan awaryjny, aby zapewnić bezpieczne i płynne przeniesienie. Szczegóły można znaleźć [tutaj](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ Most został poddany [szczegółowemu audytowi](https://code4rena.com/contests/2 Dodanie GRT do salda rozliczeniowego Arbitrum można wykonać jednym kliknięciem w [Subgraph Studio](https://thegraph.com/studio/). To właśnie tam można łatwo przenieść swoje GRT do Arbitrum i uzupełnić klucze API w jednej transakcji. -Odwiedź [stronę rozliczeniową] (https://thegraph.com/docs/en/billing/), aby uzyskać bardziej szczegółowe instrukcje dotyczące dodawania, wypłacania lub nabywania GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From c7e092dfe98bb86cc63b13e040c4df376f3e5871 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:57 -0400 Subject: [PATCH 0915/2326] New translations arbitrum-faq.mdx (Portuguese) --- website/pages/pt/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/arbitrum/arbitrum-faq.mdx b/website/pages/pt/arbitrum/arbitrum-faq.mdx index 6a518e9e356b..6e1cc166b8ff 100644 --- a/website/pages/pt/arbitrum/arbitrum-faq.mdx +++ b/website/pages/pt/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ A comunidade do The Graph prosseguiu com o Arbitrum no ano passado, após o resu Os utilizadores criam um bridge (ponte) entre o seu GRT e ETH  com um dos seguintes métodos: -- [Bridge do The Graph no Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Por favor, ajude a [testar a rede](https://testnet.thegraph.com/explorer) na L2 ## Há algum risco associado ao escalamento da rede à L2? -Todos os contratos inteligentes foram devidamente [auditados](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Tudo foi testado exaustivamente, e já está pronto um plano de contingência para garantir uma transição segura e suave. Mais detalhes [aqui](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ O bridge foi [auditado rigorosamente](https://code4rena.com/contests/2022-10-the A adição de GRT ao seu saldo de cobrança no Arbitrum pode ser feito em apenas um clique no [Subgraph Studio](https://thegraph.com/studio/). Você poderá fazer o bridge do seu GRT ao Arbitrum com facilidade, e preencher as suas chaves de API em uma única transação. -Visite a página de [Cobranças](https://thegraph.com/docs/en/billing/) para mais instruções sobre como depositar, retirar, ou adquirir GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From 41cef1e9bb00b573e01635edbb6cec6b24efcaf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:58 -0400 Subject: [PATCH 0916/2326] New translations arbitrum-faq.mdx (Russian) --- website/pages/ru/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ru/arbitrum/arbitrum-faq.mdx b/website/pages/ru/arbitrum/arbitrum-faq.mdx index cff78bf53a1a..6cff56631336 100644 --- a/website/pages/ru/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ru/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ title: Часто задаваемые вопросы об Arbitrum Пользователи соединяют с помощью моста свои GRT и ETH  одним из следующих способов: -- [The Graph Bridge on Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ title: Часто задаваемые вопросы об Arbitrum ## Существуют ли какие-либо риски, связанные с масштабированием сети до L2? -Все смарт-контракты прошли тщательный [audited](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +Все смарт-контракты прошли тщательный [аудит](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-cultural-bridge-audit.pdf). Все было тщательно протестировано, и разработан план действий на случай непредвиденных обстоятельств, чтобы обеспечить безопасный и непрерывный переход. Подробности можно найти [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ title: Часто задаваемые вопросы об Arbitrum Добавление GRT к Вашему балансу для оплаты на Arbitrum можно выполнить в один клик в [Subgraph Studio](https://thegraph.com/studio/). Вы сможете легко перенести свои GRT на Arbitrum и ввести свои API-ключи в одной транзакции. -Посетите страницу [Billing page](https://thegraph.com/docs/en/billing/) для более подробных инструкций по добавлению, выводу или приобретению GRT. +Посетите страницу [Billing page](/billing/) для получения более подробных инструкций по добавлению, выводу или приобретению GRT. From 8b77144f3989d97e50620d5aad45ecaa52731987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:41:59 -0400 Subject: [PATCH 0917/2326] New translations arbitrum-faq.mdx (Swedish) --- website/pages/sv/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/sv/arbitrum/arbitrum-faq.mdx b/website/pages/sv/arbitrum/arbitrum-faq.mdx index 3978366c8f4e..48f21bdc817c 100644 --- a/website/pages/sv/arbitrum/arbitrum-faq.mdx +++ b/website/pages/sv/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ Graph gemenskapen beslutade att gå vidare med Arbitrum förra året efter resul Användare överbryggar sina GRT och ETH  med någon av följande metoder: -- [Grafbron på Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Vänligen hjälp [testa nätverket](https://testnet.thegraph.com/explorer) på L ## Finns det några risker med att skala nätverket till L2? -Alla smarta kontrakt har [audited] grundligt (https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Allt har testats noggrant och en beredskapsplan finns på plats för att säkerställa en säker och sömlös övergång. Detaljer finns [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ Bron har blivit [hårt granskad](https://code4rena.com/contests/2022-10-the-grap Att lägga till GRT till ditt Arbitrum faktureringssaldo kan göras med ett klick i [Subgraf Studio](https://thegraph.com/studio/). Du kommer enkelt att kunna koppla din GRT till Arbitrum och fylla dina API nycklar i en transaktion. -Besök [Faktureringssidan](https://thegraph.com/docs/en/billing/) för mer detaljerade instruktioner om hur du lägger till, tar ut eller skaffar BRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From 3c8408a58e57b2d754d50d96f8baabbd7ffa677b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:00 -0400 Subject: [PATCH 0918/2326] New translations arbitrum-faq.mdx (Turkish) --- website/pages/tr/arbitrum/arbitrum-faq.mdx | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/website/pages/tr/arbitrum/arbitrum-faq.mdx b/website/pages/tr/arbitrum/arbitrum-faq.mdx index c6eedf606901..f1694b01d01f 100644 --- a/website/pages/tr/arbitrum/arbitrum-faq.mdx +++ b/website/pages/tr/arbitrum/arbitrum-faq.mdx @@ -1,5 +1,5 @@ --- -title: Arbitrum SSS +title: Arbitrum FAQ --- Arbitrum Faturalama SSS bölümüne geçmek istiyorsanız [buraya](#billing-on-arbitrum-faqs) tıklayın. @@ -10,7 +10,7 @@ Katman2'de Graph'ı ölçeklendirerek, ağ katılımcıları şunları bekleyebi - Gas ücretlerinde 26 kata kadar tasarruf -- Daha hızlı işlemler +- Faster transaction speed - Ethereum'dan aktarılmış güvenlik @@ -20,9 +20,9 @@ Graph topluluğu, geçen yıl [GIP-0031](https://forum.thegraph.com/t/gip-0031-a ## Graph'ı Katman2'de kullanmak için ne yapmam gerekiyor? -Kullanıcılar, aşağıdaki yöntemlerden birini kullanarak GRT ve ETH'lerini köprüler: +Users bridge their GRT and ETH  using one of the following methods: -- [Arbitrum'daki Graph Köprüsü](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -31,7 +31,7 @@ Graph'ı Katman2'de kullanmanın avantajlarından yararlanmak için, zincirler a ![Dropdown switcher to toggle Arbitrum](/img/arbitrum-screenshot-toggle.png) -## Bir subgraph geliştiricisi, veri tüketicisi, indeksleyici, küratör veya delegatör olarak şimdi ne yapmam gerekiyor? +## As a subgraph developer, data consumer, Indexer, Curator, or Delegator, what do I need to do now? Hemen yapılması gereken bir eylem yok, ancak ağ katılımcılarına Katman2'nin faydalarından yararlanmaları için Arbitrum'a geçmeye başlamaları önerilir. @@ -45,7 +45,7 @@ Lütfen Katman2'deki [ağı test etmeye](https://testnet.thegraph.com/explorer) ## Ağı Katman2'ye ölçeklendirmekle ilgili herhangi bir risk var mı? -Tüm akıllı sözleşmeler kapsamlı bir şekilde [denetlendi](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Güvenli ve sorunsuz bir geçiş sağlamak için her şey kapsamlı bir şekilde test edilmiş ve bir acil durum planı hazırlanmıştır. Ayrıntıları [burada](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20) bulabilirsiniz. @@ -59,20 +59,20 @@ Evet, GRT'nin Arbitrum üzerinde ek bir [akıllı sözleşmesi](https://arbiscan ## Arbitrum'da Faturalandırma SSS'leri -## Fatura bakiyemdeki GRT ile ilgili ne yapmam gerekiyor? +## What do I need to do about the GRT in my billing balance? -Hiçbir şey! GRT'niz güvenli bir şekilde Arbitrum'a taşındı ve siz bunu okurken sorgular için ödeme yapmak için kullanılıyor. +Nothing! Your GRT has been securely migrated to Arbitrum and is being used to pay for queries as you read this. -## Varlıklarımın güvenli bir şekilde Arbitrum'a taşındığını nasıl bilebilirim? +## How do I know my funds have migrated securely to Arbitrum? Tüm GRT faturalandırma bakiyeleri Arbitrum'a başarıyla taşınmıştır. Arbitrum'daki faturalandırma sözleşmesini [buradan](https://arbiscan.io/address/0x1B07D3344188908Fb6DEcEac381f3eE63C48477a) görüntüleyebilirsiniz. -## Arbitrum köprüsünün güvenli olduğunu nasıl bilebilirim? +## How do I know the Arbitrum bridge is secure? Köprü, tüm kullanıcılar için emniyet ve güvenliği sağlamak amacıyla [kapsamlı bir şekilde denetlenmiştir](https://code4rena.com/contests/2022-10-the-graph-l2-bridge-contest). -## Ethereum mainnet cüzdanımdan yeni GRT ekliyorsam ne yapmam gerekir? +## What do I need to do if I'm adding fresh GRT from my Ethereum mainnet wallet? GRT'yi Arbitrum faturalandırma bakiyenize eklemek [Subgraph Stüdyo'da](https://thegraph.com/studio/) tek bir tık ile yapılabilir. GRT'nizi Arbitrum'a kolayca köprüleyebilecek ve API anahtarlarınızı tek bir işlemle doldurabileceksiniz. -GRT ekleme, çekme veya alma hakkında daha ayrıntılı talimatlar için [Faturalandırma sayfasını](https://thegraph.com/docs/en/billing/) ziyaret edin. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From 032c05721deb3b916064be10c0382c21aa58722f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:01 -0400 Subject: [PATCH 0919/2326] New translations arbitrum-faq.mdx (Ukrainian) --- website/pages/uk/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/uk/arbitrum/arbitrum-faq.mdx b/website/pages/uk/arbitrum/arbitrum-faq.mdx index e2848a9b076c..e941f3139671 100644 --- a/website/pages/uk/arbitrum/arbitrum-faq.mdx +++ b/website/pages/uk/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ The Graph community decided to move forward with Arbitrum last year after the ou Користувачі можуть переводити свої GRT і ETH токени, за допомогою наступних мостів: -- [The Graph Bridge on Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Please help [test the network](https://testnet.thegraph.com/explorer) on L2 and ## Чи є якісь ризики, пов'язані з переходом мережі на L2? -All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Everything has been tested thoroughly, and a contingency plan is in place to ensure a safe and seamless transition. Details can be found [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ The bridge has been [heavily audited](https://code4rena.com/contests/2022-10-the Adding GRT to your Arbitrum billing balance can be done with a one-click experience in [Subgraph Studio](https://thegraph.com/studio/). You'll be able to easily bridge your GRT to Arbitrum and fill your API keys in one transaction. -Visit the [Billing page](https://thegraph.com/docs/en/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From 59327330a09675441923c702298405511e040f4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:02 -0400 Subject: [PATCH 0920/2326] New translations arbitrum-faq.mdx (Chinese Simplified) --- website/pages/zh/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/zh/arbitrum/arbitrum-faq.mdx b/website/pages/zh/arbitrum/arbitrum-faq.mdx index 345141d64f8e..094c61592b67 100644 --- a/website/pages/zh/arbitrum/arbitrum-faq.mdx +++ b/website/pages/zh/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ title: Arbitrum网络常见问题解答 用户使用以下方法之一桥接GRT和ETH: -- [The Graph Bridge on Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Please help [test the network](https://testnet.thegraph.com/explorer) on L2 and ## 将网络扩展到L2是否存在任何风险? -所有智能合约已经经过了彻底的审计 [audited](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf)。 +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). 所有事项已经经过了彻底测试,并制定了应急计划,以确保安全和无缝过渡。详细信息可以在这里 [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20)找到。 @@ -75,4 +75,4 @@ Please help [test the network](https://testnet.thegraph.com/explorer) on L2 and 您可以通过在[Subgraph Studio](https://thegraph.com/studio/)中进行一键体验,将GRT添加到您的Arbitrum计费余额中。您将能够通过一笔交易轻松将您的GRT桥接到Arbitrum并填写您的API密钥。 -请访问计费页面 [Billing page](https://thegraph.com/docs/en/billing/),获取更详细的有关添加、提取或获取GRT的说明。 +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From 291e57ecfca58c5e329be6ee90921c751a23f394 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:03 -0400 Subject: [PATCH 0921/2326] New translations arbitrum-faq.mdx (Urdu (Pakistan)) --- website/pages/ur/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ur/arbitrum/arbitrum-faq.mdx b/website/pages/ur/arbitrum/arbitrum-faq.mdx index b9c3c551e8dc..3f49eba1460c 100644 --- a/website/pages/ur/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ur/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ L2 پر گراف کو سکیل کرنے سے، نیٹ ورک کے شرکاء ت صارفین مندرجہ ذیل طریقوں میں سے ایک کا استعمال کرتے ہوئے اپنے GRT اور ETH کو ملاتے ہیں: -- [Arbitrum پر گراف بریج](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ L2 پر گراف استعمال کرنے کا فائدہ اٹھانے کے لی ## کیا نیٹ ورک کو L2 کرنے سے متعلق کوئی خطرہ ہے؟ -تمام سمارٹ کنٹریکٹس اچھی طرح سے [آڈٹ کیا گیا] ہے(https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf) کیے گئے ہیں۔ +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). ہر چیز کی اچھی طرح جانچ کی گئی ہے، اور ایک محفوظ اور ہموار منتقلی کو یقینی بنانے کے لیے ایک ہنگامی منصوبہ تیار کیا گیا ہے۔ تفصیلات دیکھی جا سکتی ہیں [یہاں](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ L2 پر گراف استعمال کرنے کا فائدہ اٹھانے کے لی اپنے Arbitrum بلنگ بیلنس میں GRT شامل کرنا [سب گراف سٹوڈیو](https://thegraph.com/studio/) میں ایک کلک کے تجربے کے ساتھ کیا جا سکتا ہے۔ آپ آسانی سے اپنے GRT کو Arbitrum سے بریج کر سکیں گے اور ایک ٹرانزیکشن میں اپنی API کیز کو بھر سکیں گے۔ -GRT شامل کرنے، واپس لینے یا حاصل کرنے کے بارے میں مزید تفصیلی ہدایات کے لیے [بلنگ صفحہ](https://thegraph.com/docs/en/billing/) ملاحظہ کریں۔ +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From e3635171ef10969ef4b8b2dec8dedf259d34a68c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:04 -0400 Subject: [PATCH 0922/2326] New translations arbitrum-faq.mdx (Vietnamese) --- website/pages/vi/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/vi/arbitrum/arbitrum-faq.mdx b/website/pages/vi/arbitrum/arbitrum-faq.mdx index 849d08c92b93..5eb306642ff1 100644 --- a/website/pages/vi/arbitrum/arbitrum-faq.mdx +++ b/website/pages/vi/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ The Graph community decided to move forward with Arbitrum last year after the ou Users bridge their GRT and ETH  using one of the following methods: -- [The Graph Bridge on Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Please help [test the network](https://testnet.thegraph.com/explorer) on L2 and ## Are there any risks associated with scaling the network to L2? -All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Everything has been tested thoroughly, and a contingency plan is in place to ensure a safe and seamless transition. Details can be found [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ The bridge has been [heavily audited](https://code4rena.com/contests/2022-10-the Adding GRT to your Arbitrum billing balance can be done with a one-click experience in [Subgraph Studio](https://thegraph.com/studio/). You'll be able to easily bridge your GRT to Arbitrum and fill your API keys in one transaction. -Visit the [Billing page](https://thegraph.com/docs/en/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From e0bf9adcd0d865488f1898b6f9d1cb7a58ad4515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:05 -0400 Subject: [PATCH 0923/2326] New translations arbitrum-faq.mdx (Marathi) --- website/pages/mr/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/mr/arbitrum/arbitrum-faq.mdx b/website/pages/mr/arbitrum/arbitrum-faq.mdx index 839367111dc0..1650614858da 100644 --- a/website/pages/mr/arbitrum/arbitrum-faq.mdx +++ b/website/pages/mr/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ The Graph community decided to move forward with Arbitrum last year after the ou Users bridge their GRT and ETH  using one of the following methods: -- [The Graph Bridge on Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Please help [test the network](https://testnet.thegraph.com/explorer) on L2 and ## Are there any risks associated with scaling the network to L2? -All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Everything has been tested thoroughly, and a contingency plan is in place to ensure a safe and seamless transition. Details can be found [here](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ The bridge has been [heavily audited](https://code4rena.com/contests/2022-10-the Adding GRT to your Arbitrum billing balance can be done with a one-click experience in [Subgraph Studio](https://thegraph.com/studio/). You'll be able to easily bridge your GRT to Arbitrum and fill your API keys in one transaction. -Visit the [Billing page](https://thegraph.com/docs/en/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From 6836e30b7af5ecdb875b50508518416c33302ef1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:06 -0400 Subject: [PATCH 0924/2326] New translations arbitrum-faq.mdx (Hindi) --- website/pages/hi/arbitrum/arbitrum-faq.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/hi/arbitrum/arbitrum-faq.mdx b/website/pages/hi/arbitrum/arbitrum-faq.mdx index 0b529205f465..e778f0f94f6b 100644 --- a/website/pages/hi/arbitrum/arbitrum-faq.mdx +++ b/website/pages/hi/arbitrum/arbitrum-faq.mdx @@ -1,12 +1,12 @@ --- -title: आर्बिट्रम एफएक्यू +title: Arbitrum FAQ --- Click [here](#billing-on-arbitrum-faqs) if you would like to skip to the Arbitrum Billing FAQs. -## ग्राफ़ एक L2 समाधान क्यों लागू कर रहा है? +## The Graph L2 Solution क्यों लागू कर रहा है? -L2 पर ग्राफ़ को स्केल करके, नेटवर्क प्रतिभागी उम्मीद कर सकते हैं: +L2 पर Graph को scale करके, network participants उम्मीद कर सकते हैं: - Upwards of 26x savings on gas fees @@ -22,7 +22,7 @@ The Graph community decided to move forward with Arbitrum last year after the ou उपयोगकर्ता निम्न विधियों में से किसी एक का उपयोग करके अपने GRT और ETH को पाटते हैं: -- [The Graph Bridge on Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Please help [test the network](https://testnet.thegraph.com/explorer) on L2 and ## क्या नेटवर्क को L2 तक स्केल करने से जुड़े कोई जोखिम हैं? -सभी स्मार्ट अनुबंधों का पूरी तरह से [audited](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf) किया गया है। +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). हर चीज़ का पूरी तरह से परीक्षण किया गया है, और एक सुरक्षित और निर्बाध संक्रमण सुनिश्चित करने के लिए एक आकस्मिक योजना बनाई गई है। विवरण यहां पाया जा सकता है [here] (https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and- सुरक्षा-विचार-20). @@ -75,4 +75,4 @@ The bridge has been [heavily audited](https://code4rena.com/contests/2022-10-the आपके आर्बिट्रम बिलिंग बैलेंस में जीआरटी जोड़ना [सबग्राफ स्टूडियो] (https://thegraph.com/studio/) में एक-क्लिक अनुभव के साथ किया जा सकता है। आप आसानी से अपने जीआरटी को आर्बिट्रम से जोड़ सकेंगे और एक लेनदेन में अपनी एपीआई कुंजी भर सकेंगे। -Visit the [Billing page](https://thegraph.com/docs/en/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From b21c878927e80f34b7219a1aad2f72afd8ba9d8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:07 -0400 Subject: [PATCH 0925/2326] New translations arbitrum-faq.mdx (Yoruba) --- website/pages/yo/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/yo/arbitrum/arbitrum-faq.mdx b/website/pages/yo/arbitrum/arbitrum-faq.mdx index 61eaabee08aa..e6edba94003b 100644 --- a/website/pages/yo/arbitrum/arbitrum-faq.mdx +++ b/website/pages/yo/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ Agbegbe The Graph pinnu lati lọ siwaju pẹlu Arbitrum ni ọdun to kọja l Àwọn olumulo ṣé afárá GRT wọn àti ETH ní lilo ọkàn nínú àwọn ọnà wọ̀nyí: -- [Afara The Graph Lori Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [Gbe lọ si](https://transferto.xyz/swap) - [Afara Connext](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Jọwọ ṣe iranlọwọ [ṣe idanwo netiwọki](https://testnet.thegraph.com ## Ṣe awọn ewu eyikeyi wa ni nkan ṣe pẹlu iwọn nẹtiwọọki si L2? -Gbogbo awọn adehun ọlọgbọn ti jẹ daradara [ayewo pipe](https://github.com/graphprotocol/contracts/blob/dev/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Ohùn gbogbo tí ní ìdánwò dáradára, àti pé èrò airotẹlẹ kàn wá ní ayé láti ríi dájú wípé ìyípadà ailewu àti ailẹgbẹ. Àwọn àlàyé lè ṣé rí [níbi yìí](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ Afárá náà tí [ṣe ayẹwo pupọ](https://code4rena.com/contest/2022-10-th Ṣafikun GRT si iwọntunwọnsi ìdíyelé Arbitrum le ṣee ṣe pẹlu iriri titẹ ẹyọkan ni [Studio Subgrafu](https://thegraph.com/studio/). Iwọ yoo ni irọrun di GRT rẹ si Arbitrum ki o kun awọn bọtini API rẹ ni iṣowo kan. -Ṣabẹwo [oju-iwe ìdíyelé](https://thegraph.com/docs/en/billing/) fún àwọn ìlànà àlàyé díẹ̀ síi lórí fífi kún, yíyọ kúrò, tàbí gbígbà GRT. +Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. From 00f5995868de7495da25b4a72b4dd8a520b8fe25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:08 -0400 Subject: [PATCH 0926/2326] New translations l2-transfer-tools-faq.mdx (French) --- website/pages/fr/arbitrum/l2-transfer-tools-faq.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/fr/arbitrum/l2-transfer-tools-faq.mdx b/website/pages/fr/arbitrum/l2-transfer-tools-faq.mdx index 45ec79e9d4f9..d43463682da5 100644 --- a/website/pages/fr/arbitrum/l2-transfer-tools-faq.mdx +++ b/website/pages/fr/arbitrum/l2-transfer-tools-faq.mdx @@ -336,11 +336,13 @@ Si vous n’avez transféré aucun solde de contrat de vesting à L2 et que votr ### J’utilise mon contrat de vesting pour investir dans mainnet. Puis-je transférer ma participation à Arbitrum? -Oui, mais si votre contrat est toujours acquis, vous ne pouvez transférer la participation que pour qu’elle soit détenue par votre contrat d’acquisition L2. Vous devez d’abord initialiser ce contrat L2 en transférant un solde de GRT à l’aide de l’outil de transfert de contrat d’acquisition dans Explorer. Si votre contrat est entièrement acquis, vous pouvez transférer votre participation à n’importe quelle adresse en L2, mais vous devez le définir au préalable et déposer des GRT pour l’outil de transfert L2 pour payer le gaz L2. +Oui, mais si votre contrat est toujours acquis, vous ne pouvez transférer la participation que pour qu’elle soit détenue par votre contrat d’acquisition L2. Vous devez d’abord initialiser ce contrat L2 en transférant un solde de GRT à l’aide de l’outil de transfert de contrat d’acquisition dans Explorer. Si +votre contrat est entièrement acquis, vous pouvez transférer votre participation à n’importe quelle adresse en L2, mais vous devez le définir au préalable et déposer des GRT pour l’outil de transfert L2 pour payer le gaz L2. ### J’utilise mon contrat de vesting pour déléguer sur mainnet. Puis-je transférer mes délégations à Arbitrum? -Oui, mais si votre contrat est toujours acquis, vous ne pouvez transférer la participation que pour qu’elle soit détenue par votre contrat de vesting L2. Vous devez d’abord initialiser ce contrat L2 en transférant un solde de GRT à l’aide de l’outil de transfert de contrat de vesting dans Explorer. Si votre contrat est entièrement acquis, vous pouvez transférer votre participation à n’importe quelle adresse en L2, mais vous devez le définir au préalable et déposer des GRT pour l’outil de transfert L2 pour payer le gaz L2. +Oui, mais si votre contrat est toujours acquis, vous ne pouvez transférer la participation que pour qu’elle soit détenue par votre contrat de vesting L2. Vous devez d’abord initialiser ce contrat L2 en transférant un solde de GRT à l’aide de l’outil de transfert de contrat de vesting dans Explorer. Si +votre contrat est entièrement acquis, vous pouvez transférer votre participation à n’importe quelle adresse en L2, mais vous devez le définir au préalable et déposer des GRT pour l’outil de transfert L2 pour payer le gaz L2. ### Puis-je spécifier un bénéficiaire différent pour mon contrat de vesting sur L2? From 46bb714473d2ce416b2c56835d9a69f72f4f1b03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:11 -0400 Subject: [PATCH 0927/2326] New translations l2-transfer-tools-faq.mdx (Czech) --- website/pages/cs/arbitrum/l2-transfer-tools-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/cs/arbitrum/l2-transfer-tools-faq.mdx b/website/pages/cs/arbitrum/l2-transfer-tools-faq.mdx index 72e6d476e485..bf1ce305641f 100644 --- a/website/pages/cs/arbitrum/l2-transfer-tools-faq.mdx +++ b/website/pages/cs/arbitrum/l2-transfer-tools-faq.mdx @@ -154,7 +154,7 @@ Ano! Proces je trochu odlišný, protože vestingové smlouvy nemohou přeposíl Ne, vestingová smlouva vytvořená na platformě Arbitrum neumožňuje uvolnění GRT až do konce časové osy vestingu, tj. dokud není vaše smlouva plně vestingová. Je to proto, aby se zabránilo dvojímu utrácení, protože jinak by bylo možné uvolnit stejné částky na obou vrstvách. -If you'd like to release GRT from the vesting contract, you can transfer them back to the L1 vesting contract using Explorer: in your Arbitrum One profile, you will see a banner saying you can transfer GRT back to the mainnet vesting contract. This requires a transaction on Arbitrum One, waiting 7 days, and a final transaction on mainnet, as it uses the same native bridging mechanism from the GRT bridge. +Pokud chcete GRT z vestingové smlouvy uvolnit, můžete je pomocí Průzkumníka převést zpět do vestingové smlouvy L1: ve svém profilu Arbitrum One uvidíte banner s informací, že můžete GRT převést zpět do vestingové smlouvy mainnetu. To vyžaduje transakci na Arbitrum One, čekání 7 dní a konečnou transakci na mainnetu, protože se používá stejný nativní mechanismus přemostění z můstku GRT. ### Existuje nějaká delegační daň? @@ -316,7 +316,7 @@ U těch, kteří jsou plně vested, je postup podobný: 1. Vložte nějaký ETH do smlouvy o převodním nástroji (uživatelské rozhraní může pomoci odhadnout rozumnou částku) -2. Set your L2 address with a call to the transfer tool contract +2. Nastavení adresy L2 pomocí volání smlouvy o přenosovém nástroji 3. Svůj vklad/delegaci odešlete na L2 pomocí funkce "uzamčeného" převodního nástroje ve smlouvě o sázkách L1. @@ -374,7 +374,7 @@ Chcete-li převést svou vesting smlouvu na L2, odešlete veškerý zůstatek GR \*Pokud je to nutné - tj. používáte smluvní adresu. -\*\*\*\*You must confirm your transaction to complete the balance transfer on Arbitrum. This step must be completed within 7 days or the balance could be lost. In most cases, this step will run automatically, but a manual confirmation may be needed if there is a gas price spike on Arbitrum. If there are any issues during this process, there will be resources to help: contact support at support@thegraph.com or on [Discord](https://discord.gg/graphprotocol). +\*\*\*\*\*Pro dokončení převodu zůstatku na Arbitrum musíte transakci potvrdit. Tento krok musí být dokončen do 7 dnů, jinak může dojít ke ztrátě zůstatku. Ve většině případů se tento krok provede automaticky, ale pokud dojde ke skokovému nárůstu cen plynu na Arbitrum, může být nutné provést ruční potvrzení. Pokud se během tohoto procesu vyskytnou nějaké problémy, budou k dispozici zdroje, které vám pomohou: kontaktujte podporu na adrese support@thegraph.com or on [Discord](https://discord.gg/graphprotocol). ### Moje smlouva o vesting ukazuje 0 GRT, takže ji nemohu převést. Proč tomu tak je a jak to mohu napravit? From 16942fa9f22c0546236981fb4f0f912a53a54dff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:12 -0400 Subject: [PATCH 0928/2326] New translations l2-transfer-tools-faq.mdx (German) --- website/pages/de/arbitrum/l2-transfer-tools-faq.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/arbitrum/l2-transfer-tools-faq.mdx b/website/pages/de/arbitrum/l2-transfer-tools-faq.mdx index eb4fda3fc003..cdb3cd27b4e1 100644 --- a/website/pages/de/arbitrum/l2-transfer-tools-faq.mdx +++ b/website/pages/de/arbitrum/l2-transfer-tools-faq.mdx @@ -64,7 +64,7 @@ Die Übertragungszeit beträgt etwa 20 Minuten. Die Arbitrum-Brücke arbeitet im ### Wird mein Subgraph noch auffindbar sein, nachdem ich ihn auf L2 übertragen habe? -Ihr Subgraph ist nur in dem Netzwerk auffindbar, in dem er veröffentlicht ist. Wenn Ihr Subgraph zum Beispiel auf Arbitrum One ist, können Sie ihn nur im Explorer auf Arbitrum One finden und nicht auf Ethereum. Bitte vergewissern Sie sich, dass Sie Arbitrum One in der Netzwerkumschaltung oben auf der Seite ausgewählt haben, um sicherzustellen, dass Sie sich im richtigen Netzwerk befinden. Nach der Übertragung wird der L1-Subgraph als veraltet angezeigt. +Ihr Subgraph ist nur in dem Netzwerk auffindbar, in dem er veröffentlicht ist. Wenn Ihr Subgraph zum Beispiel auf Arbitrum One ist, können Sie ihn nur im Explorer auf Arbitrum One finden und nicht auf Ethereum. Bitte vergewissern Sie sich, dass Sie Arbitrum One in der Netzwerkumschaltung oben auf der Seite ausgewählt haben, um sicherzustellen, dass Sie sich im richtigen Netzwerk befinden. Nach der Übertragung wird der L1-Subgraph als veraltet angezeigt. ### Muss mein Subgraph ( Teilgraph ) veröffentlicht werden, um ihn zu übertragen? From bf5d6aa51752cd453936a4a6d39aae1dd62befab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:14 -0400 Subject: [PATCH 0929/2326] New translations l2-transfer-tools-faq.mdx (Korean) --- website/pages/ko/arbitrum/l2-transfer-tools-faq.mdx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/website/pages/ko/arbitrum/l2-transfer-tools-faq.mdx b/website/pages/ko/arbitrum/l2-transfer-tools-faq.mdx index de12152a1f00..602b2a2c3aa2 100644 --- a/website/pages/ko/arbitrum/l2-transfer-tools-faq.mdx +++ b/website/pages/ko/arbitrum/l2-transfer-tools-faq.mdx @@ -22,7 +22,8 @@ The exception is with smart contract wallets like multisigs: these are smart con ### 만약 7일 안에 이체를 완료하지 못하면 어떻게 되나요? -L2 전송 도구는 Arbitrum의 기본 메커니즘을 사용하여 L1에서 L2로 메시지를 보냅니다. 이 메커니즘은 "재시도 가능한 티켓"이라고 하며 Arbitrum GRT 브리지를 포함한 모든 네이티브 토큰 브리지를 사용하여 사용됩니다. 재시도 가능한 티켓에 대해 자세히 읽을 수 있습니다 [Arbitrum 문서] (https://docs.arbitrum.io/arbos/l1-to-l2-messaging). +L2 전송 도구는 Arbitrum의 기본 메커니즘을 사용하여 L1에서 L2로 메시지를 보냅니다. 이 메커니즘은 "재시도 가능한 티켓"이라고 하며 Arbitrum GRT 브리지를 포함한 모든 네이티브 토큰 브리지를 사용하여 사용됩니다. 재시도 가능한 티켓에 대해 자세히 읽을 수 있습니다 [Arbitrum 문서] +(https://docs.arbitrum.io/arbos/l1-to-l2-messaging). 자산(하위 그래프, 스테이크, 위임 또는 큐레이션) 을 L2로 이전하면 L2에서 재시도 가능한 티켓을 생성하는 Arbitrum GRT 브리지를 통해 메시지가 전송됩니다. 전송 도구에는 거래에 일부 ETH 값이 포함되어 있으며, 이는 1) 티켓 생성 비용을 지불하고 2) L2에서 티켓을 실행하기 위해 가스 비용을 지불하는 데 사용됩니다. 그러나 티켓이 L2에서 실행될 준비가 될 때까지 가스 가격이 시간에 따라 달라질 수 있으므로 이 자동 실행 시도가 실패할 수 있습니다. 그런 일이 발생하면 Arbitrum 브릿지는 재시도 가능한 티켓을 최대 7일 동안 유지하며 누구나 티켓 "사용"을 재시도할 수 있습니다(Arbitrum에 브릿지된 일부 ETH가 있는 지갑이 필요함). @@ -40,6 +41,8 @@ If you have the L1 transaction hash (which you can find by looking at the recent + + 1. 이더리움 메인넷에서 전송 시작 2. 확인을 위해 20분 정도 기다리세요 From ac04d1149709fc25aef03e3b1add3abace146e6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:17 -0400 Subject: [PATCH 0930/2326] New translations l2-transfer-tools-faq.mdx (Russian) --- website/pages/ru/arbitrum/l2-transfer-tools-faq.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/ru/arbitrum/l2-transfer-tools-faq.mdx b/website/pages/ru/arbitrum/l2-transfer-tools-faq.mdx index b0a76d482e74..5438a5afc85a 100644 --- a/website/pages/ru/arbitrum/l2-transfer-tools-faq.mdx +++ b/website/pages/ru/arbitrum/l2-transfer-tools-faq.mdx @@ -16,9 +16,9 @@ The Graph удешевил участие контрибьюторов в сет Если Вы используете кошелек [EOA](https://ethereum.org/en/developers/docs/accounts/#types-of-account), Вы можете использовать тот же адрес. Если Ваш кошелек основной сети Ethereum является контрактным (например, кошелек с мультиподписью), то Вы должны указать адрес [Arbitrum wallet address](/arbitrum/arbitrum-faq/#what-do-i-need-to-do-to-use-the-graph-on-l2), на который будет отправлен Ваш перевод. Пожалуйста, внимательно проверяйте адрес, так как перевод на неправильный адрес может привести к необратимой потере средств. Если Вы хотите использовать кошелек с мультиподписью на L2, убедитесь, что развернули multisig-контракт на Arbitrum One. -Wallets on EVM blockchains like Ethereum and Arbitrum are a pair of keys (public and private), that you create without any need to interact with the blockchain. So any wallet that was created for Ethereum will also work on Arbitrum without having to do anything else. +Кошельки на блокчейнах EVM, таких как Ethereum и Arbitrum, представляют собой пару ключей (публичный и приватный), которые Вы создаете без необходимости взаимодействия с блокчейном. Таким образом, любой кошелек, созданный для Ethereum, также будет работать на Arbitrum без необходимости выполнения дополнительных действий. -The exception is with smart contract wallets like multisigs: these are smart contracts that are deployed separately on each chain, and get their address when they are deployed. If a multisig was deployed to Ethereum, it won't exist with the same address on Arbitrum. A new multisig must be created first on Arbitrum, and may get a different address. +Исключение касается умных контрактных кошельков, таких как мультисигнатурные: это умные контракты, которые развертываются отдельно на каждом блокчейне и получают свой адрес при развертывании. Если мультисигнатурный кошелек был развернут на Ethereum, то он не будет существовать с тем же адресом на Arbitrum. Новый мультисигнатурный кошелек должен быть создан сначала на Arbitrum, и его адрес может быть другим. ### Что произойдет, если я не завершу перенос в течение 7 дней? @@ -150,11 +150,11 @@ The exception is with smart contract wallets like multisigs: these are smart con Да! Процесс немного отличается, поскольку вестинговые контракты не могут пересылать ETH, необходимые для оплаты стоимости комиссии сети на L2, поэтому их необходимо пополнить заранее. Если Ваш вестинговый контракт не полностью вестирован, Вам также придется сначала инициализировать аналогичный вестинговый контракт на L2, и Вы сможете перевести стейк только на этот вестинговый контракт на L2. Пользовательский интерфейс Explorer может подсказать Вам этот процесс, если Вы подключились к Explorer с помощью вестингового закрытого кошелька. -### Does my Arbitrum vesting contract allow releasing GRT just like on mainnet? +### Позволяет ли мой договор о передаче прав Arbitrum выпускать GRT так же, как в основной сети? -No, the vesting contract that is created on Arbitrum will not allow releasing any GRT until the end of the vesting timeline, i.e. until your contract is fully vested. This is to prevent double spending, as otherwise it would be possible to release the same amounts on both layers. +Нет, контракт ограничения выпуска токенов, который создается на Arbitrum, не позволит освободить какие-либо GRT до завершения срока ограничения выпуска, то есть до полного завершения ограничения выпуска Вашего контракта. Это сделано для предотвращения двойных трат, так как в противном случае было бы возможно освободить те же самые суммы на обеих сетях. -If you'd like to release GRT from the vesting contract, you can transfer them back to the L1 vesting contract using Explorer: in your Arbitrum One profile, you will see a banner saying you can transfer GRT back to the mainnet vesting contract. This requires a transaction on Arbitrum One, waiting 7 days, and a final transaction on mainnet, as it uses the same native bridging mechanism from the GRT bridge. +Если Вы хотите освободить GRT из контракта ограничения выпуска, Вы можете перевести их обратно в контракт ограничения выпуска L1, используя Explorer: в своем профиле Arbitrum One Вы увидите баннер, сообщающий, что Вы можете перевести GRT обратно в основной контракт ограничения выпуска. Для этого требуется транзакция на Arbitrum One, ожидание 7 дней и завершающая транзакция на основной сети, так как он использует тот же самый механизм моста GRT. ### Существует ли комиссия за делегацию? From 0b7ee2df8bb48246fa44620d10e56df2b6cf66c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:23 -0400 Subject: [PATCH 0931/2326] New translations l2-transfer-tools-guide.mdx (Romanian) --- website/pages/ro/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ro/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/ro/arbitrum/l2-transfer-tools-guide.mdx index 11b9ba5a10ef..5ba89020402c 100644 --- a/website/pages/ro/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/ro/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ After opening the Transfer Tool, you will be able to input the L2 wallet address If you execute this step, **make sure you proceed until completing step 3 in less than 7 days, or the subgraph and your signal GRT will be lost.** This is due to how L1-L2 messaging works on Arbitrum: messages that are sent through the bridge are "retry-able tickets" that must be executed within 7 days, and the initial execution might need a retry if there are spikes in the gas price on Arbitrum. -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Step 2: Waiting for the subgraph to get to L2 From 5e634afd21a71271be62ab7d6ea9db1aa6421ae0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:24 -0400 Subject: [PATCH 0932/2326] New translations l2-transfer-tools-guide.mdx (French) --- website/pages/fr/arbitrum/l2-transfer-tools-guide.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/fr/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/fr/arbitrum/l2-transfer-tools-guide.mdx index 4a93d4d90186..81df458a44b1 100644 --- a/website/pages/fr/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/fr/arbitrum/l2-transfer-tools-guide.mdx @@ -68,11 +68,11 @@ Après avoir ouvert l'outil de transfert, vous pourrez saisir l'adresse du porte Si vous exécutez cette étape, **assurez-vous de continuer jusqu'à terminer l'étape 3 en moins de 7 jours, sinon le subgraph et votre signal GRT seront perdus.** Cela est dû au fonctionnement de la messagerie L1-L2 sur Arbitrum : les messages qui sont envoyés via le pont sont des « tickets réessayables » qui doivent être exécutés dans les 7 jours, et l'exécution initiale peut nécessiter une nouvelle tentative s'il y a des pics dans le prix du gaz sur Arbitrum. -![Démarrer le transfert vers L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Étape 2 : Attendre que le subgraphe atteigne L2 -After you start the transfer, the message that sends your L1 subgraph to L2 must propagate through the Arbitrum bridge. This takes approximately 20 minutes (the bridge waits for the mainnet block containing the transaction to be "safe" from potential chain reorgs). +Après avoir lancé le transfert, le message qui envoie votre subgraph de L1 à L2 doit se propager à travers le pont Arbitrum. Cela prend environ 20 minutes (le pont attend que le bloc du réseau principal contenant la transaction soit "sûr" face aux potentielles réorganisations de la chaîne). Une fois ce temps d'attente terminé, le réseau Arbitrum tentera d'exécuter automatiquement le transfert sur les contrats L2. @@ -80,9 +80,9 @@ Une fois ce temps d'attente terminé, le réseau Arbitrum tentera d'exécuter au ## Étape 3 : Confirmer le transfert -In most cases, this step will auto-execute as the L2 gas included in step 1 should be sufficient to execute the transaction that receives the subgraph on the Arbitrum contracts. In some cases, however, it is possible that a spike in gas prices on Arbitrum causes this auto-execution to fail. In this case, the "ticket" that sends your subgraph to L2 will be pending and require a retry within 7 days. +Dans la plupart des cas, cette étape s'exécutera automatiquement car le gaz L2 inclus dans l'étape 1 devrait être suffisant pour exécuter la transaction qui reçoit le subgraph sur les contrats Arbitrum. Cependant, dans certains cas, il est possible qu'une hausse soudaine des prix du gaz sur Arbitrum entraîne l'échec de cette exécution automatique. Dans ce cas, le "ticket" qui envoie votre subgraphe vers L2 sera en attente et nécessitera une nouvelle tentative dans les 7 jours. -If this is the case, you will need to connect using an L2 wallet that has some ETH on Arbitrum, switch your wallet network to Arbitrum, and click on "Confirm Transfer" to retry the transaction. +Si c'est le cas, vous devrez vous connecter en utilisant un portefeuille L2 qui contient de l'ETH sur Arbitrum, changer le réseau de votre portefeuille vers Arbitrum, et cliquer sur "Confirmer le transfert" pour retenter la transaction. [Confirmer le transfert vers L2](/img/confirmTransferToL2.png) From 1ce325eed8246fb479264ad1521ab75a9aa60ea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:25 -0400 Subject: [PATCH 0933/2326] New translations l2-transfer-tools-guide.mdx (Spanish) --- website/pages/es/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/es/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/es/arbitrum/l2-transfer-tools-guide.mdx index 8d7a80ff16cf..91175703a5c7 100644 --- a/website/pages/es/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/es/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ Después de abrir la herramienta de transferencia, podrás ingresar la direcció Si ejecutas este paso, **asegúrate de completar el paso 3 en menos de 7 días, o el subgrafo y tu GRT de señal se perderán**. Esto se debe a cómo funciona la mensajería de L1 a L2 en Arbitrum: los mensajes que se envían a través del puente son "tickets reintentables" que deben ejecutarse dentro de los 7 días, y la ejecución inicial puede requerir un reintento si hay picos en el precio del gas en Arbitrum. -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Paso 2: Esperarando a que el subgrafo llegue a L2 From 8a31a77ff8ba0aae9bc771f9f427740abeb474a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:25 -0400 Subject: [PATCH 0934/2326] New translations l2-transfer-tools-guide.mdx (Arabic) --- website/pages/ar/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ar/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/ar/arbitrum/l2-transfer-tools-guide.mdx index f88e5b58f0e9..33b5b1628783 100644 --- a/website/pages/ar/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/ar/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ title: L2 Transfer Tools Guide إذا قمت بتنفيذ هذه الخطوة، \*\*يجب عليك التأكد من أنك ستستكمل الخطوة 3 في غضون 7 أيام، وإلا فإنك ستفقد الغراف الفرعي والإشارة GRT الخاصة بك. يرجع ذلك إلى آلية التواصل بين الطبقة الأولى والطبقة الثانية في أربترم: الرسائل التي ترسل عبر الجسر هي "تذاكر قابلة لإعادة المحاولة" يجب تنفيذها في غضون 7 أيام، وقد يتطلب التنفيذ الأولي إعادة المحاولة إذا كان هناك زيادة في سعر الغاز على أربترم. -! [ابدأ النقل إلى الطبقة الثانية] (/ img / startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## الخطوة 2: الانتظار حتى يتم نقل الغراف الفرعي إلى الطبقة الثانية From 148e13d996b673a6de76c7a8258810eb88b629d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:26 -0400 Subject: [PATCH 0935/2326] New translations l2-transfer-tools-guide.mdx (Czech) --- website/pages/cs/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/cs/arbitrum/l2-transfer-tools-guide.mdx index 084fc60c90fb..ef9f654ef9a9 100644 --- a/website/pages/cs/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/cs/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ Po otevření nástroje Transfer Tool budete moci do pole "Receiving wallet addr Pokud tento krok provedete, ujistěte se, že jste pokračovali až do dokončení kroku 3 za méně než 7 dní, jinak se podgraf a váš signál GRT ztratí. To je způsobeno tím, jak funguje zasílání zpráv L1-L2 na Arbitrum: zprávy, které jsou zasílány přes most, jsou "Opakovatelný tiket", které musí být provedeny do 7 dní, a počáteční provedení může vyžadovat opakování, pokud dojde ke skokům v ceně plynu na Arbitrum. -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Krok 2: Čekání, až se podgraf dostane do L2 From 5460fd3ab546e11ab8c39356572c68cf23190380 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:27 -0400 Subject: [PATCH 0936/2326] New translations l2-transfer-tools-guide.mdx (German) --- website/pages/de/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/de/arbitrum/l2-transfer-tools-guide.mdx index 0325a790ba31..6908af502fee 100644 --- a/website/pages/de/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/de/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ Nachdem Sie das Transfer-Tool geöffnet haben, können Sie die L2-Wallet-Adresse Wenn Sie diesen Schritt ausführen, **vergewissern Sie sich, dass Sie bis zum Abschluss von Schritt 3 in weniger als 7 Tagen fortfahren, sonst gehen der Subgraph und Ihr Signal GRT verloren.** Dies liegt daran, wie L1-L2-Nachrichten auf Arbitrum funktionieren: Nachrichten, die über die Brücke gesendet werden, sind "wiederholbare Tickets", die innerhalb von 7 Tagen ausgeführt werden müssen, und die erste Ausführung muss möglicherweise wiederholt werden, wenn es Spitzen im Gaspreis auf Arbitrum gibt. -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Schritt 2: Warten, bis der Untergraph L2 erreicht hat From 8093c101996f98df1ee7dd79db97b03ffb0cdb23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:28 -0400 Subject: [PATCH 0937/2326] New translations l2-transfer-tools-guide.mdx (Italian) --- website/pages/it/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/it/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/it/arbitrum/l2-transfer-tools-guide.mdx index 11b9ba5a10ef..5ba89020402c 100644 --- a/website/pages/it/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/it/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ After opening the Transfer Tool, you will be able to input the L2 wallet address If you execute this step, **make sure you proceed until completing step 3 in less than 7 days, or the subgraph and your signal GRT will be lost.** This is due to how L1-L2 messaging works on Arbitrum: messages that are sent through the bridge are "retry-able tickets" that must be executed within 7 days, and the initial execution might need a retry if there are spikes in the gas price on Arbitrum. -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Step 2: Waiting for the subgraph to get to L2 From 547b2cf976f8cd6859d774d6293c06c049a61c1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:29 -0400 Subject: [PATCH 0938/2326] New translations l2-transfer-tools-guide.mdx (Japanese) --- website/pages/ja/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ja/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/ja/arbitrum/l2-transfer-tools-guide.mdx index bee04117795e..7f9cebc80912 100644 --- a/website/pages/ja/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/ja/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ L2転送ツールは、サブグラフスタジオでサブグラフのページ このステップを実行する場合は、\*\*7日以内にステップ3を完了するまで続行してください。そうしないと、サブグラフとシグナルGRTが失われます。 これは、L1-L2メッセージングがアービトラムでどのように機能するかによるものです: ブリッジを介して送信されるメッセージは、7日以内に実行する必要がある「再試行可能なチケット」であり、アービトラムのガス価格に急上昇がある場合は、最初の実行で再試行が必要になる場合があります。 -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## ステップ2: サブグラフがL2に到達するのを待つ From 2cb10e5c33b82ae64cc87a15a18631d80905c030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:30 -0400 Subject: [PATCH 0939/2326] New translations l2-transfer-tools-guide.mdx (Korean) --- website/pages/ko/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ko/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/ko/arbitrum/l2-transfer-tools-guide.mdx index 11b9ba5a10ef..5ba89020402c 100644 --- a/website/pages/ko/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/ko/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ After opening the Transfer Tool, you will be able to input the L2 wallet address If you execute this step, **make sure you proceed until completing step 3 in less than 7 days, or the subgraph and your signal GRT will be lost.** This is due to how L1-L2 messaging works on Arbitrum: messages that are sent through the bridge are "retry-able tickets" that must be executed within 7 days, and the initial execution might need a retry if there are spikes in the gas price on Arbitrum. -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Step 2: Waiting for the subgraph to get to L2 From d35e1144557684cf0aff2aa774a158ea7a3a490b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:31 -0400 Subject: [PATCH 0940/2326] New translations l2-transfer-tools-guide.mdx (Polish) --- website/pages/pl/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pl/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/pl/arbitrum/l2-transfer-tools-guide.mdx index ec4425e75e39..023bc0b8d4c0 100644 --- a/website/pages/pl/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/pl/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ After opening the Transfer Tool, you will be able to input the L2 wallet address If you execute this step, **make sure you proceed until completing step 3 in less than 7 days, or the subgraph and your signal GRT will be lost.** This is due to how L1-L2 messaging works on Arbitrum: messages that are sent through the bridge are "retry-able tickets" that must be executed within 7 days, and the initial execution might need a retry if there are spikes in the gas price on Arbitrum. -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Step 2: Waiting for the subgraph to get to L2 From ef734c6dbc733b8ede3aeeac55195e0521139037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:32 -0400 Subject: [PATCH 0941/2326] New translations l2-transfer-tools-guide.mdx (Portuguese) --- website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx index f799681d02ba..ef65853b50e1 100644 --- a/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ Após abrir a Ferramenta de Transferências, você poderá colocar o endereço d Ao executar este passo, **garanta que executará o 3º passo em menos de 7 dias, ou o subgraph e o seu GRT de sinalização serão perdidos.** Isto se deve à maneira de como as mensagens L1-L2 funcionam no Arbitrum: mensagens enviadas através da bridge são "bilhetes de tentativas extras" que devem ser executadas dentro de 7 dias, e a execução inicial pode exigir outra tentativa se houver um surto no preço de gas no Arbitrum. -![Comece a transferência à L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## 2º Passo: A espera do caminho do subgraph até a L2 From 6f9ea490a2308272bf00b912939c6a6918646c1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:33 -0400 Subject: [PATCH 0942/2326] New translations l2-transfer-tools-guide.mdx (Russian) --- website/pages/ru/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ru/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/ru/arbitrum/l2-transfer-tools-guide.mdx index f77c7f686ac9..160b61ce54e7 100644 --- a/website/pages/ru/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/ru/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ The Graph упростил переход на L2 в Arbitrum One. Для каж Если Вы выполните этот шаг, ** убедитесь в том, что Вы завершили шаг 3 менее чем за 7 дней, иначе субграф и Ваш сигнал GRT будут утеряны.** Это связано с тем, как в Arbitrum работает обмен сообщениями L1-L2: сообщения, которые отправляются через мост, представляют собой «билеты с возможностью повторной попытки», которые должны быть выполнены в течение 7 дней, и для первоначального исполнения может потребоваться повторная попытка, если в Arbitrum будут скачки цен комиссии сети. -![Запустите перенос на L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Шаг 2: Ожидание перехода субграфа в L2 From 849c01735b4fb50f4c81760e6a4a3823e90625c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:34 -0400 Subject: [PATCH 0943/2326] New translations l2-transfer-tools-guide.mdx (Swedish) --- website/pages/sv/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/sv/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/sv/arbitrum/l2-transfer-tools-guide.mdx index e0ce37c88e07..52a4522b0afc 100644 --- a/website/pages/sv/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/sv/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ Efter att ha öppnat överföringsverktyget kommer du att kunna ange L2-plånbok Om du utför det här steget, **se till att du fortsätter tills du har slutfört steg 3 om mindre än 7 dagar, annars försvinner subgrafen och din signal-GRT.** Detta beror på hur L1-L2-meddelanden fungerar på Arbitrum: meddelanden som skickas genom bryggan är "omförsökbara biljetter" som måste utföras inom 7 dagar, och det första utförandet kan behöva ett nytt försök om det finns toppar i gaspriset på Arbitrum. -![Starta överföringen till L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Steg 2: Väntar på att subgrafen ska komma till L2 From af7e6101e04f728ba583bc361e2a0a35bb99e03d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:35 -0400 Subject: [PATCH 0944/2326] New translations l2-transfer-tools-guide.mdx (Turkish) --- website/pages/tr/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/tr/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/tr/arbitrum/l2-transfer-tools-guide.mdx index f3b65516c0b3..59e27fcfdc3a 100644 --- a/website/pages/tr/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/tr/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ Transfer Aracını açtıktan sonra, Katman2 cüzdan adresini "Alıcı cüzdan a Bu adımı uygularsanız, **3. adımı tamamlamak için yedi günden daha kısa bir sürede ilerlediğinizden mutlaka emin olmalısınız; aksi halde subgraph ve sinyal GRT'nizi kaybedeceksiniz.** Bunun nedeni Arbitrum'da Katman1-Katman2 mesajlaşmasının çalışma şeklidir: köprü üzerinden gönderilen mesajlar 7 gün içinde yürütülmesi gereken "yeniden denenebilir biletler"dir ve Arbitrum'da gas fiyatında ani artışlar olması durumunda ilk yürütmenin yeniden denenmesi gerekebilir. -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Adım 2: Subgraph'ın Katman2'ye ulaşmasını bekleme From fbfc8ee3d5ef11de75c6cd94d62a7e162c3edea6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:36 -0400 Subject: [PATCH 0945/2326] New translations l2-transfer-tools-guide.mdx (Ukrainian) --- website/pages/uk/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/uk/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/uk/arbitrum/l2-transfer-tools-guide.mdx index 11b9ba5a10ef..5ba89020402c 100644 --- a/website/pages/uk/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/uk/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ After opening the Transfer Tool, you will be able to input the L2 wallet address If you execute this step, **make sure you proceed until completing step 3 in less than 7 days, or the subgraph and your signal GRT will be lost.** This is due to how L1-L2 messaging works on Arbitrum: messages that are sent through the bridge are "retry-able tickets" that must be executed within 7 days, and the initial execution might need a retry if there are spikes in the gas price on Arbitrum. -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Step 2: Waiting for the subgraph to get to L2 From c65adb02c2b8314162c21775d287ba7f0dc99f7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:37 -0400 Subject: [PATCH 0946/2326] New translations l2-transfer-tools-guide.mdx (Urdu (Pakistan)) --- website/pages/ur/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ur/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/ur/arbitrum/l2-transfer-tools-guide.mdx index 66d375d0a80a..2e50ae4d1a13 100644 --- a/website/pages/ur/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/ur/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ L2 پر منتقل کرنے کے بٹن پر کلک کرنے سے ٹرانسفر اگر آپ اس قدم پر عمل کرتے ہیں، تو **یقینی بنائیں کہ آپ 7 دنوں سے بھی کم وقت میں مرحلہ 3 مکمل کرنے تک آگے بڑھیں، ورنہ سب گراف اور آپ کا سگنل GRT ضائع ہو جائے گا۔** یہ اس وجہ سے ہے کہ L1-L2 پیغام رسانی Arbitrum پر کیسے کام کرتی ہے: پیغامات جو بریج کے ذریعے بھیجے گئے "دوبارہ کوشش کے قابل ٹکٹ" ہیں جن پر عمل درآمد 7 دنوں کے اندر ہونا ضروری ہے، اور اگر Arbitrum پر گیس کی قیمت میں اضافہ ہوتا ہے تو ابتدائی عمل درآمد کے لیے دوبارہ کوشش کی ضرورت پڑ سکتی ہے۔ -![L2 میں منتقلی شروع کریں](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## مرحلہ 2: سب گراف کے L2 تک پہنچنے کا انتظار کرنا From 85465f20df18eac763f8f412bc3c34d2402e12c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:38 -0400 Subject: [PATCH 0947/2326] New translations l2-transfer-tools-guide.mdx (Vietnamese) --- website/pages/vi/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/vi/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/vi/arbitrum/l2-transfer-tools-guide.mdx index c3227cf3cf8e..5893bd88c0b3 100644 --- a/website/pages/vi/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/vi/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ After opening the Transfer Tool, you will be able to input the L2 wallet address If you execute this step, **make sure you proceed until completing step 3 in less than 7 days, or the subgraph and your signal GRT will be lost.** This is due to how L1-L2 messaging works on Arbitrum: messages that are sent through the bridge are "retry-able tickets" that must be executed within 7 days, and the initial execution might need a retry if there are spikes in the gas price on Arbitrum. -![Bắt đầu chuyển sang L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Step 2: Waiting for the subgraph to get to L2 From 4e133ba37080b45d8927e281dcf51322e6b4d12f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:39 -0400 Subject: [PATCH 0948/2326] New translations l2-transfer-tools-guide.mdx (Marathi) --- website/pages/mr/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/mr/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/mr/arbitrum/l2-transfer-tools-guide.mdx index 6b939c0e9731..7f95f55721c1 100644 --- a/website/pages/mr/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/mr/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ If you're using a smart contract wallet, like a multisig (e.g. a Safe), then cho जर तुम्ही हे कदम पूर्ण करता आहात, नुकसान होऊ नये हे सुनिश्चित करा की 7 दिवसांपेक्षा कमी वेळेत पुन्हा आपल्या क्रियान्वयनाचा तपास करा, किंवा सबग्राफ आणि तुमच्या सिग्नल GRT नष्ट होईल. हे त्याच्या कारणे आहे की आर्बिट्रमवर L1-L2 संदेशाचा कसा काम करतो: ब्रिजद्वारे पाठवलेले संदेश "पुन्हा प्रयत्नीय पर्यायपत्रे" आहेत ज्याचा क्रियान्वयन 7 दिवसांच्या आत अंदाजपत्री केला पाहिजे, आणि सुरुवातीचा क्रियान्वयन, आर्बिट्रमवर गॅस दरात वाढ असल्यास, पुन्हा प्रयत्न करण्याची आवश्यकता असेल. -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## पायरी 2: सबग्राफ L2 वर येण्याची वाट पाहत आहे From 7d54ddbb546e9a65c2fcc09e086acc7b544114f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:40 -0400 Subject: [PATCH 0949/2326] New translations l2-transfer-tools-guide.mdx (Hindi) --- website/pages/hi/arbitrum/l2-transfer-tools-guide.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/hi/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/hi/arbitrum/l2-transfer-tools-guide.mdx index 7317090d56b2..38e6c0e64b2f 100644 --- a/website/pages/hi/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/hi/arbitrum/l2-transfer-tools-guide.mdx @@ -18,7 +18,7 @@ Some frequent questions about these tools are answered in the [L2 Transfer Tools ## सिग्नल, आपके L1 सबग्राफ और क्वेरी URL के साथ जो होता है, उसे समझने की प्रक्रिया: -Subgraph को Arbitrum पर स्थानांतरित करने के लिए Arbitrum GRT bridge का उपयोग किया जाता है, जिसमें प्राकृतिक Arbitrum bridge का उपयोग उस subgraph को L2 पर भेजने के लिए किया जाता है। "स्थानांतरण" मुख्यनेट पर subgraph को विलीन कर देगा और subgraph को L2 पर bridge का उपयोग करके पुनर्सृजन करने की जानकारी भेजेगा। इसमें subgraph के मालिक के signal किए गए GRT को भी शामिल किया जाएगा, जिसका प्रोत्साहन bridge को स्थानांतरण स्वीकार करने के लिए शून्य से अधिक होना चाहिए। +Transferring a subgraph to Arbitrum uses the Arbitrum GRT bridge, which in turn uses the native Arbitrum bridge, to send the subgraph to L2. The "transfer" will deprecate the subgraph on mainnet and send the information to re-create the subgraph on L2 using the bridge. It will also include the subgraph owner's signaled GRT, which must be more than zero for the bridge to accept the transfer. जब आप सबग्राफ को स्थानांतरित करने का विकल्प चुनते हैं, तो यह सबग्राफ के सभी क्यूरेशन सिग्नल को GRT में रूपांतरित कर देगा। इसका मतलब है कि मुख्यनेट पर सबग्राफ को "विलीन" किया जाएगा। आपके क्यूरेशन के अनुरूप GRT को सबग्राफ के साथ L2 पर भेजा जाएगा, जहां वे आपके प्रतिनिधित्व में सिग्नल निर्माण करने के लिए उपयोग होंगे। @@ -68,7 +68,7 @@ L2 सबग्राफ के क्वेरी को एक विभिन इस कदम को कार्यान्वित करते समय, **सुनिश्चित करें कि आप 7 दिन से कम समय में चरण 3 को पूरा करने जाते हैं, अन्यथा सबग्राफ और आपका सिग्नल GRT हानि हो सकते हैं।** यह अर्बिट्रम पर L1-L2 संदेशिकरण कैसे काम करता है के कारण है: ब्रिज के माध्यम से भेजे गए संदेश "पुनः प्रयासनीय टिकट" होते हैं जिन्हें 7 दिन के भीतर कार्यान्वित किया जाना चाहिए, और पहले कार्यान्वयन में अगर अर्बिट्रम पर गैस की मूल्य में वृद्धि होती है तो पुनः प्रयास की आवश्यकता हो सकती है। -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## चरण 2: सबग्राफ को L2 तक पहुँचने की प्रतीक्षा करना From d6e0f45a36cbc6748cfdefe288caed940c5d973f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:41 -0400 Subject: [PATCH 0950/2326] New translations l2-transfer-tools-guide.mdx (Yoruba) --- website/pages/yo/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/yo/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/yo/arbitrum/l2-transfer-tools-guide.mdx index 19b84983de3e..20419b4d3bce 100644 --- a/website/pages/yo/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/yo/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ After opening the Transfer Tool, you will be able to input the L2 wallet address If you execute this step, **make sure you proceed until completing step 3 in less than 7 days, or the subgraph and your signal GRT will be lost.** This is due to how L1-L2 messaging works on Arbitrum: messages that are sent through the bridge are "retry-able tickets" that must be executed within 7 days, and the initial execution might need a retry if there are spikes in the gas price on Arbitrum. -![Start the trnasfer to L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## Step 2: Waiting for the subgraph to get to L2 From 390e106b96c3eab6c62e1c00c0b4f73279d62802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:42 -0400 Subject: [PATCH 0951/2326] New translations substreams-powered-subgraphs.mdx (Romanian) --- .../ro/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/ro/cookbook/substreams-powered-subgraphs.mdx b/website/pages/ro/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/ro/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/ro/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 7d92995a3278999dbd84b09506e22225b353a518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:42 -0400 Subject: [PATCH 0952/2326] New translations substreams-powered-subgraphs.mdx (French) --- .../cookbook/substreams-powered-subgraphs.mdx | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/website/pages/fr/cookbook/substreams-powered-subgraphs.mdx b/website/pages/fr/cookbook/substreams-powered-subgraphs.mdx index 98360fd0f35d..e4272870000c 100644 --- a/website/pages/fr/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/fr/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Subgraphs alimentés par Substreams ## Exigences -Ce livre de recettes nécessite [yarn](https://yarnpkg.com/), [les dépendances nécessaires au développement local de Substreams](https://substreams.streamingfast.io/developers-guide/installation-requirements) et la dernière version du graph CLI (>=0.52.0) : +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { La logique de base du paquet Substreams est un module `map_contract` dans `lib.rs`, qui traite chaque bloc, filtrant les appels Create qui n'ont pas été réversibles, et retournant des `Contrats` : -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ Un package Substreams peut être utilisé par un subgraph tant qu'il possède un > Le crate `substreams_entity_change` a aussi une fonction `Tables` dédiée pour générer simplement des changements d'entités ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). Les changements d'entités générés doivent être compatibles avec les entités `schema.graphql` définies dans le `subgraph.graphql` du subgraph correspondant. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,16 +90,16 @@ pub fn graph_out(contracts: Contracts) -> Result Actuellement, le Subgraph Studio et The Graph Network prennent en charge les subgraphs alimentés par Substreams qui indexent `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 4650e41bcff7fa50d1c9b75953e7aca63544884c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:43 -0400 Subject: [PATCH 0953/2326] New translations substreams-powered-subgraphs.mdx (Spanish) --- .../es/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/es/cookbook/substreams-powered-subgraphs.mdx b/website/pages/es/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/es/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/es/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From b75aaab1fe535d37c74dde902b19f47ef3435eb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:44 -0400 Subject: [PATCH 0954/2326] New translations substreams-powered-subgraphs.mdx (Arabic) --- .../ar/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/ar/cookbook/substreams-powered-subgraphs.mdx b/website/pages/ar/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/ar/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/ar/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From c2093c84a17f53404ddb7794f2036b9b15f32379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:45 -0400 Subject: [PATCH 0955/2326] New translations substreams-powered-subgraphs.mdx (Czech) --- .../cs/cookbook/substreams-powered-subgraphs.mdx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/website/pages/cs/cookbook/substreams-powered-subgraphs.mdx b/website/pages/cs/cookbook/substreams-powered-subgraphs.mdx index c101f72a9a17..667360c3b437 100644 --- a/website/pages/cs/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/cs/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Podgrafy napájen substreamů ## Požadavky -Tato kuchařka vyžaduje [yarn](https://yarnpkg.com/), [závislosti potřebné pro vývoj lokálních Substreamů](https://substreams.streamingfast.io/developers-guide/installation-requirements) a nejnovější verzi Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { Jádrem logiky balíčku Substreams je modul `map_contract` v souboru `lib.rs`, který zpracovává každý blok, filtruje volání Create, která nebyla vrácena, a vrací `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ Balíček Substreams může být použit podgrafem, pokud má modul, který vypi > Bedna `substreams_entity_change` má také speciální funkci `Tables` pro jednoduché generování změn entit ([dokumentace](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). Vygenerované změny entit musí být kompatibilní s entitami `schema.graphql` definovanými v `subgraph.graphql` příslušného podgrafu. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result V současné době Subgraph Studio a The Grafu síť podporují subgrafy poháněné substreamy, které indexují mainnet (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 1cf0bef812bf2879bd44ec14b678fadde0ba203d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:46 -0400 Subject: [PATCH 0956/2326] New translations substreams-powered-subgraphs.mdx (German) --- .../de/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/de/cookbook/substreams-powered-subgraphs.mdx b/website/pages/de/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/de/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/de/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 1bd04c429aace7af77d0312a206c8219e1945239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:47 -0400 Subject: [PATCH 0957/2326] New translations substreams-powered-subgraphs.mdx (Italian) --- .../it/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/it/cookbook/substreams-powered-subgraphs.mdx b/website/pages/it/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/it/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/it/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 3cb4899d1482c1ab2dc7671c63b84cd8ab27c13d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:47 -0400 Subject: [PATCH 0958/2326] New translations substreams-powered-subgraphs.mdx (Japanese) --- .../ja/cookbook/substreams-powered-subgraphs.mdx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/website/pages/ja/cookbook/substreams-powered-subgraphs.mdx b/website/pages/ja/cookbook/substreams-powered-subgraphs.mdx index ca30db8ff573..d77a11f670b9 100644 --- a/website/pages/ja/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/ja/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## 要件 -このクックブックには、[yarn](https://yarnpkg.com/)、[ローカル サブストリーム開発に必要な依存関係](https://substreams.streamingfast.io/developers-guide/installation-requirements)、および Graph CLI の最新バージョン (>=0.52.0) が必要です。 +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { Substreams パッケージのコア ロジックは、`lib.rs` の `map_contract` モジュールです。これは、すべてのブロックを処理し、元に戻されなかった Create 呼び出しをフィルタリングして、`Contracts` を返します。 -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -70,7 +70,7 @@ Substreams パッケージは、互換性のあるエンティティの変更を > 「substreams_entity_change」クレートには、エンティティの変更を単純に生成するための専用の「Tables」関数もあります (\[[documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html))。生成されたエンティティ変更は、対応するサブグラフの `subgraph.graphql` で定義された `schema.graphql` エンティティと互換性がある必要があります。 -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -89,7 +89,7 @@ pub fn graph_out(contracts: Contracts) -> Result 現在、Subgraph Studio と The Graph Network は、「メインネット」 (メインネット イーサリアム) にインデックスを付けるサブストリームを利用したサブグラフをサポートしています。 +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 04907c2c880b6324c4632d9ac16e6ac54181f321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:48 -0400 Subject: [PATCH 0959/2326] New translations substreams-powered-subgraphs.mdx (Korean) --- .../ko/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/ko/cookbook/substreams-powered-subgraphs.mdx b/website/pages/ko/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/ko/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/ko/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 70d27cdfd65d85639f0e6a1c85ddd167386f7104 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:49 -0400 Subject: [PATCH 0960/2326] New translations substreams-powered-subgraphs.mdx (Dutch) --- .../nl/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/nl/cookbook/substreams-powered-subgraphs.mdx b/website/pages/nl/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/nl/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/nl/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From de6f046a3a8b654644c9f5dc7c2c8a1b1fcc3067 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:50 -0400 Subject: [PATCH 0961/2326] New translations substreams-powered-subgraphs.mdx (Polish) --- .../pl/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/pl/cookbook/substreams-powered-subgraphs.mdx b/website/pages/pl/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/pl/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/pl/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 00f7bf39f9c2cc5040da7e6066d5b5e9c369c702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:51 -0400 Subject: [PATCH 0962/2326] New translations substreams-powered-subgraphs.mdx (Portuguese) --- .../cookbook/substreams-powered-subgraphs.mdx | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/website/pages/pt/cookbook/substreams-powered-subgraphs.mdx b/website/pages/pt/cookbook/substreams-powered-subgraphs.mdx index 21bb5038e1ab..51cc9c141769 100644 --- a/website/pages/pt/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/pt/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Subgraphs movidos por substreams ## Requisitos -Este manual requer o [yarn](https://yarnpkg.com/), [as dependências necessárias para o desenvolvimento local da Substreams](https://substreams.streamingfast.io/developers-guide/installation-requirements), e a versão mais recente do Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { A lógica central do pacote de Substreams é um módulo `map_contract` em `lib.rs`, que processa cada bloco, assim filtrando chamadas de Criação que não foram revertidas e retornando `Contratos`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ Um pacote de Substreams também pode ser usado por um subgraph enquanto tiver um > O `substreams_entity_change` também tem uma função `Tables` dedicada à geração simples de mudanças de entidade ([documentação](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). As Mudanças de Entidade geradas devem ser compatíveis com as entidades `schema.graphql` definidas no `subgraph.graphql` do subgraph correspondente. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,16 +90,16 @@ pub fn graph_out(contracts: Contracts) -> Result Atualmente, o Subgraph Studio e a Graph Network apoiam subgraphs movidos a Substreams que indexam a `mainnet` (Mainnet do Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 20d1a6821bdc6086c745214d11dcb941cb79b1fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:52 -0400 Subject: [PATCH 0963/2326] New translations substreams-powered-subgraphs.mdx (Russian) --- .../cookbook/substreams-powered-subgraphs.mdx | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/website/pages/ru/cookbook/substreams-powered-subgraphs.mdx b/website/pages/ru/cookbook/substreams-powered-subgraphs.mdx index 43e064ef666b..a3a3f9e92200 100644 --- a/website/pages/ru/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/ru/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Субграфы, работающие на основе субпоток ## Требования -Для использования этого справочного материала требуются [yarn](https://yarnpkg.com /), [зависимости, необходимые для разработки локальных субпотоков](https://substreams.streamingfast.io/developers-guide/installation-requirements) и последняя версия Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { Основной логикой пакета Substreams является модуль `map_contract` в `lib.rs `, который обрабатывает каждый блок, фильтруя вызовы Create, которые не были отменены, возвращая `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ fn map_contract(block: eth::v2::Block) -> Result В крейте `substreams_entity_change` также есть специальная функция `Tables` для простой генерации изменений объектов ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). Сгенерированные изменения объектов должны быть совместимы с объектами `schema.graphql`, определенными в `subgraph.graphql` соответствующего субграфа. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,16 +90,16 @@ pub fn graph_out(contracts: Contracts) -> Result В настоящее время Subgraph Studio и The Graph Network поддерживают субграфы, работающие на основе субпотоков, которые индексируют "mainnet" (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From c2eecb9b428e3193f6e96431195f436eed71d66a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:53 -0400 Subject: [PATCH 0964/2326] New translations substreams-powered-subgraphs.mdx (Swedish) --- .../sv/cookbook/substreams-powered-subgraphs.mdx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/website/pages/sv/cookbook/substreams-powered-subgraphs.mdx b/website/pages/sv/cookbook/substreams-powered-subgraphs.mdx index 086b76abadf1..11e50bc3a8bd 100644 --- a/website/pages/sv/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/sv/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-drivna subgrafer ## Krav -Den här kokboken kräver [yarn](https://yarnpkg.com/), [de beroenden som krävs för utveckling av lokala underströmmar](https://substreams.streamingfast.io/developers-guide/installation-requirements) och den senaste versionen av graf CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { Kärnlogiken i Substreams-paketet är en `map_contract`-modul i `lib.rs`, som bearbetar varje block, filtrerar efter Skapa-anrop som inte återgick, returnerar `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ Ett Substreams-paket kan användas av en subgraf så länge det har en modul som > "substreams_entity_change"-lådan har också en dedikerad "Tables"-funktion för att helt enkelt generera entitetsändringar ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). Entitetsändringarna som genereras måste vara kompatibla med "schema.graphql"-entiteterna som definieras i "subgraph.graphql" i motsvarande subgraf. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result För närvarande stöder Subgraph Studio och The Graph Network Substreams-drivna subgrafer som indexerar "mainnet" (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 7e3ec66b18b22c03c91c51b6a2580fbe16a7cb31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:53 -0400 Subject: [PATCH 0965/2326] New translations substreams-powered-subgraphs.mdx (Turkish) --- .../tr/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/tr/cookbook/substreams-powered-subgraphs.mdx b/website/pages/tr/cookbook/substreams-powered-subgraphs.mdx index bd2911674994..17a9a4189fb6 100644 --- a/website/pages/tr/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/tr/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams destekli subgraphlar ## Gereksinimler -Bu cookbook, [yarn](https://yarnpkg.com/), [yerel Substreams geliştirme için gerekli bağımlılıklar](https://substreams.streamingfast.io/developers-guide/installation-requirements) ve Graph CLI'nin en son sürümünü (>=0.52.0) gerektirir: +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { Substreams paketinin temel mantığı, her bloğu işleyen, Create çağrıları için bir filtreleme yapan ve geri dönüş olarak `Contracts` verisini döndüren `lib.rs` içindeki bulunan `map_contract` modülüdür: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ Bir Substreams paketi, uyumlu varlık değişiklikleri üreten bir modüle sahip > `substreams_entity_change` paketi ayrıca varlık değişiklikleri oluşturmak için özel bir `Tables` işlevine sahiptir ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). Oluşturulan Varlık Değişiklikleri, buna karşılık gelen subgraph'ın `subgraph.graphql` dosyasında tanımlanan `schema.graphql` varlıklarıyla uyumlu olmalıdır. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Şu anda Subgraph Stüdyo ve Graph Ağı, `mainnet`i (Ethereum Ana Ağı) indeksleyen Substreams destekli subgraphları desteklemektedir. +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 8e1c6d6c184621ea2e9e43cc6e720d0298ec2014 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:54 -0400 Subject: [PATCH 0966/2326] New translations substreams-powered-subgraphs.mdx (Ukrainian) --- .../uk/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/uk/cookbook/substreams-powered-subgraphs.mdx b/website/pages/uk/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/uk/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/uk/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 19dab8a500e09fc569c9c7cca4693ab324ba56c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:55 -0400 Subject: [PATCH 0967/2326] New translations substreams-powered-subgraphs.mdx (Chinese Simplified) --- .../cookbook/substreams-powered-subgraphs.mdx | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/website/pages/zh/cookbook/substreams-powered-subgraphs.mdx b/website/pages/zh/cookbook/substreams-powered-subgraphs.mdx index 5f6fc7ca5a45..e59f46d04b23 100644 --- a/website/pages/zh/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/zh/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: 基于Substreams的子图 ## 要求 -本手册需要 [yarn](https://yarnpkg.com/) ,以及本地Substreams开发所需的依赖项 [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements),以及最新版本的Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { Substreams包的核心逻辑是lib.rs中的map_contract模块,它处理每个区块,过滤未回滚的Create调用,并返回Contracts: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ fn map_contract(block: eth::v2::Block) -> Result Substreams_entity_change crate还有一个专门的Tables函数,用于生成实体变更(文档[documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html))。生成的实体变更必须与相应子图的subgraph.graphql中定义的schema.graphql实体兼容。 -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,16 +90,16 @@ pub fn graph_out(contracts: Contracts) -> Result 目前,Subgraph Studio和The Graph Network支持使用Substreams强化的子图来索引"mainnet"(主网以太坊)数据。 +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From e19171eced36c37450c0da97234bc3ae83bb82ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:56 -0400 Subject: [PATCH 0968/2326] New translations substreams-powered-subgraphs.mdx (Urdu (Pakistan)) --- .../ur/cookbook/substreams-powered-subgraphs.mdx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/website/pages/ur/cookbook/substreams-powered-subgraphs.mdx b/website/pages/ur/cookbook/substreams-powered-subgraphs.mdx index ce46df2aea8b..146c2228f6c6 100644 --- a/website/pages/ur/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/ur/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: سب سٹریمز سے چلنے والے سب گرافس ## تقاضے -اس کک بک کے لیے [yarn](https://yarnpkg.com/)، [مقامی سب سٹریمز کی ترقی کے لیے ضروری انحصار](https://substreams.streamingfast.io/developers-guide/installation-requirements)، اور تازہ ترین ورژن کی ضرورت ہے.گراف CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { سب اسٹریمز پیکج کی بنیادی منطق `lib.rs` میں ایک `map_contract` ماڈیول ہے، جو ہر بلاک پر کارروائی کرتا ہے، ایسی کالز تخلیق کرنے کے لئے فلٹر کرتا ہے جو واپس نہیں آتیں، `Contracts` واپس کرتی ہیں: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ fn map_contract(block: eth::v2::Block) -> Result 'substreams_entity_change' کریٹ میں صرف ہستی کی تبدیلیاں پیدا کرنے کے لیے ایک وقف کردہ 'Tables' فنکشن ہے ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). تخلیق کردہ ہستی کی تبدیلیاں متعلقہ سب گراف کے `subgraph.graphql` میں بیان کردہ `schema.graphql` اداروں کے ساتھ ہم آہنگ ہونی چاہئیں. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result فی الحال سب گراف اسٹوڈیو اور گراف نیٹ ورک سب اسٹریمز سے چلنے والے سب گرافس کو سپورٹ کرتے ہیں جو انڈیکس `مین نیٹ` (مینیٹ ایتھیریم) کرتے ہیں. +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 35682d5753d787bba4aecdb5823968527f217a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:57 -0400 Subject: [PATCH 0969/2326] New translations substreams-powered-subgraphs.mdx (Vietnamese) --- .../vi/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/vi/cookbook/substreams-powered-subgraphs.mdx b/website/pages/vi/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/vi/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/vi/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 4053bbfaccd21f26cf029c26222de9d8cefc7ee2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:58 -0400 Subject: [PATCH 0970/2326] New translations substreams-powered-subgraphs.mdx (Marathi) --- .../mr/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/mr/cookbook/substreams-powered-subgraphs.mdx b/website/pages/mr/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/mr/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/mr/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From ab85deab303fc0054515257c09ea9fe8cf063a32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:59 -0400 Subject: [PATCH 0971/2326] New translations substreams-powered-subgraphs.mdx (Hindi) --- .../hi/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/hi/cookbook/substreams-powered-subgraphs.mdx b/website/pages/hi/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/hi/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/hi/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From ef79e6718dc0194b744db6adee0385da2b6666a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:42:59 -0400 Subject: [PATCH 0972/2326] New translations substreams-powered-subgraphs.mdx (Yoruba) --- .../yo/cookbook/substreams-powered-subgraphs.mdx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/website/pages/yo/cookbook/substreams-powered-subgraphs.mdx b/website/pages/yo/cookbook/substreams-powered-subgraphs.mdx index 6b84c84358c8..8a7998c325f8 100644 --- a/website/pages/yo/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/yo/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Substreams-powered subgraphs ## Requirements -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/developers-guide/installation-requirements), and the latest version of Graph CLI (>=0.52.0): +This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -45,7 +45,7 @@ message Contract { The core logic of the Substreams package is a `map_contract` module in `lib.rs`, which processes every block, filtering for Create calls which did not revert, returning `Contracts`: -``` +```rust #[substreams::handlers::map] fn map_contract(block: eth::v2::Block) -> Result { let contracts = block @@ -71,7 +71,7 @@ A Substreams package can be used by a subgraph as long as it has a module which > The `substreams_entity_change` crate also has a dedicated `Tables` function for simply generating entity changes ([documentation](https://docs.rs/substreams-entity-change/1.2.2/substreams_entity_change/tables/index.html)). The Entity Changes generated must be compatible with the `schema.graphql` entities defined in the `subgraph.graphql` of the corresponding subgraph. -``` +```rust #[substreams::handlers::map] pub fn graph_out(contracts: Contracts) -> Result { // hash map of name to a table @@ -90,7 +90,7 @@ pub fn graph_out(contracts: Contracts) -> Result Currently the Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). ```yaml specVersion: 0.0.4 From 133e235c7281dd1dcf259d25f16a12475b729609 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:00 -0400 Subject: [PATCH 0973/2326] New translations substreams-powered-subgraphs-faq.mdx (Romanian) --- .../ro/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ro/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/ro/developing/substreams-powered-subgraphs-faq.mdx index 02592fd21457..734cc376e81b 100644 --- a/website/pages/ro/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/ro/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ By contrast, substreams-powered subgraphs have a single datasource which referen ## What are the benefits of using Substreams-powered subgraphs? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## What are the benefits of Substreams? @@ -70,7 +70,7 @@ The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-su Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From bb5aaf1c3f9585d83a68078c703ddf1a64db6526 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:01 -0400 Subject: [PATCH 0974/2326] New translations substreams-powered-subgraphs-faq.mdx (French) --- .../fr/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/fr/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/fr/developing/substreams-powered-subgraphs-faq.mdx index 20c7e75502f6..901370eec911 100644 --- a/website/pages/fr/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/fr/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: FAQ sur les subgraphs alimentés par les sous-flux ## Que sont les sous-flux ? -Développé par [StreamingFast] (https://www.streamingfast.io/), Substreams est un moteur de traitement exceptionnellement puissant capable de consommer de riches flux de données blockchain. Substreams vous permet d'affiner et de façonner les données de la blockchain pour une digestion rapide et transparente par les applications des utilisateurs finaux. Plus précisément, Substreams est un moteur agnostique à la blockchain, parallélisé et à flux continu, qui sert de couche de transformation des données de la blockchain. Alimenté par le [Firehose](https://firehose.streamingfast.io/), il permet aux développeurs d'écrire des modules Rust, de s'appuyer sur des modules communautaires, de fournir une indexation extrêmement performante et de [sink] (https://substreams.streamingfast.io/developers-guide/sink-targets) leurs données n'importe où. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Rendez-vous sur le site [Substreams Documentation](/substreams) pour en savoir plus sur Substreams. @@ -22,7 +22,7 @@ En revanche, les subgraphs alimentés par des flux secondaires disposent d'une s ## Quels sont les avantages de l'utilisation de subgraphs alimentés par des courants descendants ? -Les subgraphs alimentés par Substreams combinent tous les avantages de Substreams avec la capacité d'interrogation des subgraphs. Ils apportent au graphe une plus grande composabilité et une indexation très performante. Ils permettent également de nouveaux cas d'utilisation des données ; par exemple, une fois que vous avez construit votre subgraph alimenté par Substreams, vous pouvez réutiliser vos [modules Substreams](https://substreams.streamingfast.io/developers-guide/modules) pour sortir vers différents [sinks] (https://substreams.streamingfast.io/developers-guide/sink-targets) tels que PostgreSQL, MongoDB et Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## Quels sont les avantages de Substreams ? @@ -70,7 +70,7 @@ La [documentation sur les subgraphs alimentés par des flux partiels] (/cookbook Les modules Rust sont l'équivalent des mappeurs AssemblyScript dans les subgraphs. Ils sont compilés dans WASM de la même manière, mais le modèle de programmation permet une exécution parallèle. Ils définissent le type de transformations et d'agrégations que vous souhaitez appliquer aux données brutes de la blockchain. -Voir [documentation des modules] (https://substreams.streamingfast.io/developers-guide/modules) pour plus de détails. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## Qu'est-ce qui rend Substreams composable ? From 913059ffe4df4391967913c1d1f27f27bd2bcc8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:02 -0400 Subject: [PATCH 0975/2326] New translations substreams-powered-subgraphs-faq.mdx (Spanish) --- .../es/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/es/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/es/developing/substreams-powered-subgraphs-faq.mdx index 02592fd21457..734cc376e81b 100644 --- a/website/pages/es/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/es/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ By contrast, substreams-powered subgraphs have a single datasource which referen ## What are the benefits of using Substreams-powered subgraphs? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## What are the benefits of Substreams? @@ -70,7 +70,7 @@ The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-su Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From 92424f12203e322ec3127d884a3efb3f488f56a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:03 -0400 Subject: [PATCH 0976/2326] New translations substreams-powered-subgraphs-faq.mdx (Arabic) --- .../ar/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ar/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/ar/developing/substreams-powered-subgraphs-faq.mdx index 66633e8820e3..702d81a1bf18 100644 --- a/website/pages/ar/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/ar/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -تم تطوير سبستريمز بواسطة [ستريمنج فاست] (https://www.streamingfast.io/) وهو محرك معالجة قوي بشكل استثنائي قادر على استيعاب تدفقات غنية من بيانات سلاسل الكتل. يتيح لك سبستريمز تحسين وتشكيل بيانات سلاسل الكتل لاستخلاص سريع وسلس بواسطة تطبيقات المستخدم النهائي. وبشكل أكثر تحديداً، فإن سبستريمز هو محرك يعمل بشكل مستقل عن سلاسل الكتل، وبالتوازي، بأولوية-التدفق ويعمل كطبقة لتحويل بيانات سلاسل الكتل. مدعوماً [بالفايرهوز](https://firehose.streamingfast.io/) يمكن المطورين من كتابة وحدات لغة رست والبناء على وحدات المجتمع وتوفير فهرسة عالية الأداء للبيانات وإدخال [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) بياناتهم إلى أي مكان. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. اذهب إلى [وثائق سبستريمز](/substreams) للتعرف على المزيد حول سبستريمز. @@ -22,7 +22,7 @@ title: Substreams-powered subgraphs FAQ ## ما هي فوائد استخدام الغرافات الفرعية المدعومة بسبستريمز؟ -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## ماهي فوائد سبستريمز؟ @@ -70,7 +70,7 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea تعتبر وحدات رست مكافئة لمعينات أسمبلي اسكريبت في الغرافات الفرعية. يتم ترجمتها إلى ويب أسيمبلي بنفس الطريقة، ولكن النموذج البرمجي يسمح بالتنفيذ الموازي. تحدد وحدات رست نوع التحويلات والتجميعات التي ترغب في تطبيقها على بيانات سلاسل الكتل الخام. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From 84cd1d9810a8a25e7296c86cda71521665409e4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:04 -0400 Subject: [PATCH 0977/2326] New translations substreams-powered-subgraphs-faq.mdx (Czech) --- .../cs/developing/substreams-powered-subgraphs-faq.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/cs/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/cs/developing/substreams-powered-subgraphs-faq.mdx index 8b961f3c8a46..cbd245107f83 100644 --- a/website/pages/cs/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/cs/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Podgrafy napájen substreamů ## Co jsou substreamu? -Substreams, vyvinutý společností [StreamingFast](https://www.streamingfast.io/), je mimořádně výkonný zpracovatelský engine, který dokáže konzumovat bohaté datové proudy blockchainu. Substreams umožňují zjemňovat a tvarovat blockchainová data pro rychlé a bezproblémové zpracování aplikacemi pro koncové uživatele. Přesněji řečeno, Substreams je blockchain-agnostický, paralelizovaný a streaming-first engine, který slouží jako vrstva pro transformaci blockchainových dat. Je poháněn [Firehose](https://firehose.streamingfast.io/) a umožňuje vývojářům psát moduly Rust, stavět na komunitních modulech, poskytovat extrémně výkonné indexování a [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) jejich data kdekoli. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Další informace o substreamu naleznete v [Dokumentace k substreamů](/substreams). @@ -22,7 +22,7 @@ Naproti tomu podgrafy napájené substreamy mají jediný zdroj dat, který odka ## Jaké jsou výhody používání substreamu, které jsou založeny na podgraf? -Podgrafy s substreamu kombinují všechny výhody substreamu s možností dotazování na podgrafy. Přinášejí do grafu lepší skladnost a vysoce výkonné indexování. Umožňují také nové případy využití dat; například jakmile jednou vytvoříte podgraf/ s podporou Substreams, můžete své moduly [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) opakovaně použít k výstupu do různých [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets), jako jsou PostgreSQL, MongoDB a Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## Jaké jsou výhody Substreams? @@ -70,7 +70,7 @@ Dokumentace [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraph Moduly Rust jsou ekvivalentem mapovačů AssemblyScript v podgraf. Jsou kompilovány do WASM podobným způsobem, ale programovací model umožňuje paralelní provádění. Definují druh transformací a agregací, které chcete aplikovat na surová data blockchainu. -Podrobnosti viz [dokumentace modulů](https://substreams.streamingfast.io/developers-guide/modules). +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## Co dělá Substreamy složitelnými? @@ -86,6 +86,6 @@ Po [definování](/cookbook/substreams-powered-subgraphs/) podgrafu s podporou s Příklady podgrafů Substreams a Substreams-powered najdete na [tomto repozitáři Github](https://github.com/pinax-network/awesome-substreams). -## What do Substreams and Substreams-powered subgraphs mean for The Graph Network? +## Co znamenají substreams a podgrafy napájené substreams pro síť grafů? -The integration promises many benefits, including extremely high-performance indexing and greater composability by leveraging community modules and building on them. +Integrace slibuje mnoho výhod, včetně extrémně výkonného indexování a větší složitelnosti díky využití komunitních modulů a stavění na nich. From b3b06c8e8374fbba96325ac95dec47c8c2fa4a52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:05 -0400 Subject: [PATCH 0978/2326] New translations substreams-powered-subgraphs-faq.mdx (German) --- .../de/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/de/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/de/developing/substreams-powered-subgraphs-faq.mdx index 02592fd21457..734cc376e81b 100644 --- a/website/pages/de/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/de/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ By contrast, substreams-powered subgraphs have a single datasource which referen ## What are the benefits of using Substreams-powered subgraphs? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## What are the benefits of Substreams? @@ -70,7 +70,7 @@ The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-su Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From bc5dfec1b11bb02da6d8ced8756f4885a4251d2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:06 -0400 Subject: [PATCH 0979/2326] New translations substreams-powered-subgraphs-faq.mdx (Italian) --- .../it/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/it/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/it/developing/substreams-powered-subgraphs-faq.mdx index 02592fd21457..734cc376e81b 100644 --- a/website/pages/it/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/it/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ By contrast, substreams-powered subgraphs have a single datasource which referen ## What are the benefits of using Substreams-powered subgraphs? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## What are the benefits of Substreams? @@ -70,7 +70,7 @@ The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-su Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From 5dd4a7b68fec5f56e89d361c9eccc5c7991541d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:07 -0400 Subject: [PATCH 0980/2326] New translations substreams-powered-subgraphs-faq.mdx (Japanese) --- .../ja/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ja/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/ja/developing/substreams-powered-subgraphs-faq.mdx index 61a91c4892b4..2f7867408a68 100644 --- a/website/pages/ja/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/ja/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: サブストリームを利用したサブグラフに関するよくあ ## サブストリームとは何ですか? -StreamingFast](https://www.streamingfast.io/)によって開発されたSubstreamsは、ブロックチェーンデータのリッチストリームを消費できる非常に強力な処理エンジンです。Substreamsを使用することで、エンドユーザーアプリケーションによる高速かつシームレスな消化のために、ブロックチェーンデータを洗練し、形成することができます。より具体的には、Substreams はブロックチェーンにとらわれない、並列化されたストリーミングファーストエンジンであり、ブロックチェーンデータ変換レイヤーの役割を果たします。Firehose](https://firehose.streamingfast.io/)を利用することで、開発者はRustモジュールを書いたり、コミュニティモジュールを基に構築したり、非常に高性能なインデックスを提供したり、データをどこにでも[sink](https://substreams.streamingfast.io/developers-guide/sink-targets)することができます。 +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. サブストリームの詳細については、[サブストリームのドキュメント](/substreams/) にアクセスしてください。 @@ -22,7 +22,7 @@ StreamingFast](https://www.streamingfast.io/)によって開発されたSubstrea ## サブストリームを利用したサブグラフを使用する利点は何ですか? -Substreams-powered subgraphs は、Substreams のすべての利点とサブグラフのクエリ機能を組み合わせたものです。サブストリームを利用することで、グラフの構成性が向上し、高性能なインデックス作成が可能になります。例えば、一度Substreams-powered Subgraphを構築すれば、その[Substreamsモジュール](https://substreams.streamingfast.io/developers-guide/modules)を再利用して、PostgreSQL、MongoDB、Kafkaなどの異なる[sinks](https://substreams.streamingfast.io/developers-guide/sink-targets)に出力することができます。 +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## サブストリームの利点は何ですか? @@ -70,7 +70,7 @@ Firehose を使用すると、次のような多くの利点があります。 Rust モジュールは、サブグラフの AssemblyScript マッパーに相当します。これらは同様の方法で WASM にコンパイルされますが、プログラミング モデルにより並列実行が可能になります。これらは、生のブロックチェーン データに適用する変換と集計の種類を定義します。 -詳しくは[modules documentation](https://substreams.streamingfast.io/developers-guide/modules)を参照してください。 +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## サブストリームを構成可能にするものは何ですか? From e4bcdee716ede77256f2b593900752019945b280 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:08 -0400 Subject: [PATCH 0981/2326] New translations substreams-powered-subgraphs-faq.mdx (Korean) --- .../ko/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ko/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/ko/developing/substreams-powered-subgraphs-faq.mdx index 02592fd21457..734cc376e81b 100644 --- a/website/pages/ko/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/ko/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ By contrast, substreams-powered subgraphs have a single datasource which referen ## What are the benefits of using Substreams-powered subgraphs? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## What are the benefits of Substreams? @@ -70,7 +70,7 @@ The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-su Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From 9946b5c374a42b0a1866932edc43d1252f22b206 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:09 -0400 Subject: [PATCH 0982/2326] New translations substreams-powered-subgraphs-faq.mdx (Dutch) --- .../nl/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/nl/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/nl/developing/substreams-powered-subgraphs-faq.mdx index 02592fd21457..734cc376e81b 100644 --- a/website/pages/nl/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/nl/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ By contrast, substreams-powered subgraphs have a single datasource which referen ## What are the benefits of using Substreams-powered subgraphs? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## What are the benefits of Substreams? @@ -70,7 +70,7 @@ The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-su Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From 1283048867ba0a0dff22d838cfea77db7277f878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:09 -0400 Subject: [PATCH 0983/2326] New translations substreams-powered-subgraphs-faq.mdx (Polish) --- .../pl/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pl/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/pl/developing/substreams-powered-subgraphs-faq.mdx index 02592fd21457..734cc376e81b 100644 --- a/website/pages/pl/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/pl/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ By contrast, substreams-powered subgraphs have a single datasource which referen ## What are the benefits of using Substreams-powered subgraphs? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## What are the benefits of Substreams? @@ -70,7 +70,7 @@ The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-su Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From 58ce250f565e450615c13f0add7cdee91ac29c6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:10 -0400 Subject: [PATCH 0984/2326] New translations substreams-powered-subgraphs-faq.mdx (Portuguese) --- .../pt/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/pt/developing/substreams-powered-subgraphs-faq.mdx index c271abe4b6f8..236938e41353 100644 --- a/website/pages/pt/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/pt/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Perguntas frequentes sobre subgraphs movidos por substreams ## O que são Substreams? -Desenvolvido pela [StreamingFast](https://www.streamingfast.io/), o Substreams é um motor de processamento de poder excepcional, capaz de consumir fluxos ricos de dados em blockchain. O Substreams lhe permite refinar e moldar dados em blockchain para serem digeridos rápida e suavemente por aplicativos de utilizador final. Mais especificamente, o Substreams é um motor paralelizado e agnóstico a blockchains, que põe transmissões em primeiro lugar e serve como uma camada de transformação de dados em blockchain. Movido pelo [Firehose](https://firehose.streamingfast.io/), ele permite que programadores escrevam módulos em Rust, construam sobre módulos da comunidade, providenciem indexações de altíssimo desempenho, e mandar seus dados para qualquer destino com [sink](https://substreams.streamingfast.io/developers-guide/sink-targets). +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Vá à [Documentação do Substreams](/substreams) para aprender mais sobre Substreams. @@ -22,7 +22,7 @@ Ao contrário, subgraphs movidos a substreams têm uma única fonte de dados que ## Quais os benefícios do uso de subgraphs movidos a Substreams? -Subgraphs movidos a Substreams combinam todos os benefícios do Substreams com o potencial de query de subgraphs. Eles também trazem mais composabilidade e indexação de alto desempenho ao The Graph. Eles também resultam em novos casos de uso de dados; por exemplo, após construir o seu Subgraph movido a Substreams, você pode reutilizar os seus [módulos de Substreams](https://substreams.streamingfast.io/developers-guide/modules) para usar [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) diferentes, como PostgreSQL, MongoDB e Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## Quais os benefícios do Substreams? @@ -70,7 +70,7 @@ A [documentação de subgraphs movidos a Substreams](/cookbook/substreams-powere Módulos de Rust são o equivalente aos mapeadores em AssemblyScript em subgraphs. Eles são compilados em WASM de forma parecida, mas o modelo de programação permite execuções paralelas. Eles definem a categoria de transformações e agregações que você quer aplicar aos dados de blockchain crus. -Veja a [documentação dos módulos](https://substreams.streamingfast.io/developers-guide/modules) para mais detalhes. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## O que faz o Substreams compostável? From 5f1b940f46efdc83a361e680e1add12166853309 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:11 -0400 Subject: [PATCH 0985/2326] New translations substreams-powered-subgraphs-faq.mdx (Russian) --- .../ru/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ru/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/ru/developing/substreams-powered-subgraphs-faq.mdx index 581e08b3a197..0e9f8f58d6a2 100644 --- a/website/pages/ru/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/ru/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Часто задаваемые вопросы о субграфах, р ## Что такое субпотоки? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ Go to the [Substreams Documentation](/substreams) to learn more about Substreams ## Каковы преимущества использования субграфов, работающих на основе Субпотоков? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## В чем преимущества Субпотоков? @@ -70,7 +70,7 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea Модули Rust - это эквивалент мапперов AssemblyScript в субграфах. Они компилируются в WASM аналогичным образом, но модель программирования допускает параллельное выполнение. Они определяют, какие преобразования и агрегации необходимо применить к необработанным данным блокчейна. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## Что делает Субпотоки компонуемыми? From 54d5d23c9319a1f6060e7e5abfc4302f599caeca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:12 -0400 Subject: [PATCH 0986/2326] New translations substreams-powered-subgraphs-faq.mdx (Swedish) --- .../sv/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/sv/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/sv/developing/substreams-powered-subgraphs-faq.mdx index a8bb2a9effdf..e04b0cb7a837 100644 --- a/website/pages/sv/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/sv/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Vanliga frågor om Substreams-drivna subgrafer ## Vad är Substreams? -Utvecklad av [StreamingFast](https://www.streamingfast.io/), är Substreams en exceptionellt kraftfull bearbetningsmotor som kan konsumera rika strömmar av blockkedjedata. Substreams tillåter dig att förädla och forma blockkedjedata för snabb och sömlös användning av slutanvändarprogram. Mer specifikt är Substreams en blockkedjeoberoende, paralleliserad och strömningsfokuserad motor som fungerar som ett blockkedjedata-transformationslager. Driven av [Firehose](https://firehose.streamingfast.io/), gör det det möjligt för utvecklare att skriva Rust-moduler, bygga på gemenskapsmoduler, erbjuda extremt högpresterande indexering och [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) sina data var som helst. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Gå till [Substreams Documentation](/substreams) för att lära dig mer om Substreams. @@ -22,7 +22,7 @@ Subgrafer består av datakällor som specificerar händelser på blockkedjan och ## Vilka fördelar har användning av Substreams-drivna subgrafer? -Substreams-drivna subgrafer kombinerar alla fördelar med Substreams med subgrafernas frågebarhet. De ger The Graph större komponerbarhet och högpresterande indexering. De möjliggör också nya dataanvändningsfall; till exempel, när du har byggt din Substreams-drivna Subgraph kan du återanvända dina [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) för att mata ut till olika [sinks](https:/ /substreams.streamingfast.io/developers-guide/sink-targets) som PostgreSQL, MongoDB och Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## Vilka fördelar har Substreams? @@ -70,7 +70,7 @@ Det finns många fördelar med att använda Firehose, inklusive: Rust-moduler är motsvarigheten till AssemblyScript-mappers i subgrafer. De kompileras till WASM på ett liknande sätt, men programmeringsmodellen tillåter parallell körning. De definierar vilken typ av omvandlingar och aggregeringar du vill tillämpa på råblockkedjedata. -Se [moduldokumentation](https://substreams.streamingfast.io/developers-guide/modules) för mer information. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## Vad gör Substreams sammansättbart? From fd3c24431708a4dfbef23c100bc63c7133f11e8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:13 -0400 Subject: [PATCH 0987/2326] New translations substreams-powered-subgraphs-faq.mdx (Turkish) --- .../tr/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/tr/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/tr/developing/substreams-powered-subgraphs-faq.mdx index 5c828dc8abec..e0caf07ecc3e 100644 --- a/website/pages/tr/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/tr/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams destekli subgraphlar SSS ## Substreams nedir? -[StreamingFast](https://www.streamingfast.io/) tarafından geliştirilen Substreams, zengin block zinciri verisini işleyebilen son derece güçlü bir işleme motorudur. Substreams, block zinciri verilerini hızlı ve sorunsuz bir şekilde son kullanıcı uygulamalarının kullanımına uygun hale getirerek, verileri şekillendirmenize olanak tanır. Daha spesifik olacak olursak, Substreams, block zinciri agnostik olan, paralelize edilmiş ve veri önceliğine odaklanan bir motor olup, blockzinciri verilerinin dönüştürülmesini sağlayan bir katmandır. [Firehose](https://firehose.streamingfast.io/) tarafından desteklenmektedir ve Rust modülleri yazmanıza, topluluk modüllerine inşa etmenize, son derece yüksek performanslı imdeksleme sağlamanıza ve verilerinizi herhangi bir yere göndermenize ([sink](https://substreams.streamingfast.io/developers-guide/sink-targets)) imkan tanır. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Substreams hakkında daha fazla bilgi için [SubstreamsDökümantasyonuna](/substreams) gidin. @@ -22,7 +22,7 @@ Buna karşılık, Substreams destekli subgraphlar, Substreams paketini referans ## Substreams destekli subgraphlar kullanmanın avantajları nelerdir? -Substreams destekli subgraphlar, Substreams'in tüm avantajlarını subgraphlar'ın sorgulanabilirliği ile birleştirir. Bunlar, Graph'a daha fazla birleştirilebilirlik ve yüksek performanslı indeksleme sağlar. Aynı zamanda yeni veri kullanım durumlarına olanak sağlar. Örneğin, Substreams destekli subgraph'ınızı oluşturduktan sonra, PostgreSQL, MongoDB ve Kafka gibi farklı [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) çıktı almak için [Substreams modüllerinizi](https://substreams.streamingfast.io/developers-guide/modules) yeniden kullanabilirsiniz. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## Substreams'in faydaları nelerdir? @@ -70,7 +70,7 @@ Firehose kullanmanın birçok faydası vardır, bunlar şunlardır: Rust modülleri, Subgraphs'teki AssemblyScript eşleştiricilerinin karşılığıdır. WASM'ye benzer şekilde derlenirler, ancak programlama modelleri paralel yürütme için olanak sağlar. Rust modülleri, ham blok zinciri verilerine uygulamak istediğiniz dönüşümleri ve birleştirmeleri tanımlar. -Detaylar için [modüller dökümantasyonuna](https://substreams.streamingfast.io/developers-guide/modules) göz atın. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## Substreams'i birleştirilebilir yapan nedir? From 89be8a5c9ac6eb97d7c71eb7dcb290d4964e46b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:13 -0400 Subject: [PATCH 0988/2326] New translations substreams-powered-subgraphs-faq.mdx (Ukrainian) --- .../uk/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/uk/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/uk/developing/substreams-powered-subgraphs-faq.mdx index 02592fd21457..734cc376e81b 100644 --- a/website/pages/uk/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/uk/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ By contrast, substreams-powered subgraphs have a single datasource which referen ## What are the benefits of using Substreams-powered subgraphs? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## What are the benefits of Substreams? @@ -70,7 +70,7 @@ The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-su Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From a80e6e4480acc351d7a9709380872d32a104d8f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:14 -0400 Subject: [PATCH 0989/2326] New translations substreams-powered-subgraphs-faq.mdx (Chinese Simplified) --- .../zh/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/zh/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/zh/developing/substreams-powered-subgraphs-faq.mdx index 22bba846642e..d0de31836ab9 100644 --- a/website/pages/zh/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/zh/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: 基于Substreams的子图 ## 什么是Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ Go to the [Substreams Documentation](/substreams) to learn more about Substreams ## 使用基于Substeams的子图的优势是什么? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## Substreams的优势是什么? @@ -70,7 +70,7 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea Rust模块相当于子图中的AssemblyScript mappers。它们以类似的方式编译为WASM,但编程模型允许并行执行。它们定义了您想要对原始区块链数据应用的转换和聚合类型。 -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## 什么使Substreams具有组合性? From 072dcee72560c3721bdba5a75404eed4c4be3078 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:15 -0400 Subject: [PATCH 0990/2326] New translations substreams-powered-subgraphs-faq.mdx (Urdu (Pakistan)) --- .../ur/developing/substreams-powered-subgraphs-faq.mdx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/website/pages/ur/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/ur/developing/substreams-powered-subgraphs-faq.mdx index 8cd83ceef138..12d7c4d7e631 100644 --- a/website/pages/ur/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/ur/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: سب اسٹریمز سے چلنے والے سب گرافس FAQ ## سب اسٹریمز کیا ہیں؟ -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. سب سٹریمز کے بارے میں مزید جاننے کے لیے [سب سٹریمز دستاویزات](/substreams) پر جائیں. @@ -22,7 +22,7 @@ Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an ex ## سب سٹریمز سے چلنے والے سب گرافس استعمال کرنے کے کیا فوائد ہیں؟ -سب سٹریمز سے چلنے والے سب گراف سب سٹریمز کے تمام فوائد کو سب گراف کی کیوری کے ساتھ یکجا کرتے ہیں۔ وہ گراف میں زیادہ کمپوز ایبلٹی اور اعلی کارکردگی کا انڈیکسنگ لاتے ہیں۔ وہ ڈیٹا کے استعمال کے نئے کیسز کو بھی اہل بناتے ہیں۔ مثال کے طور پر، ایک بار جب آپ اپنا سب سٹریمزسے چلنے والا سب گراف بنا لیتے ہیں، تو آپ اپنے [سب سٹریم ماڈیولز] (https://substreams.streamingfast.io/developers-guide/modules) کو مختلف [sinks] (https://substreams.streamingfast.io/developers-guide/sink-targets)کو دوبارہ استعمال کر سکتے ہیں جیسے PostgreSQL، MongoDB، اور Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## سب سٹریمز کے فوائد کہاں ہیں؟ @@ -44,7 +44,8 @@ Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an ex [StreamingFast](https://www.streamingfast.io/) کے ذریعے تیار کردہ، Firehose ایک بلاکچین ڈیٹا نکالنے کی پرت ہے جسے شروع سے بلاکچینز کی مکمل تاریخ کو اس رفتار سے پروسیس کرنے کے لیے ڈیزائن کیا گیا ہے جو پہلے نظر نہیں آتی تھیں۔ فائلوں پر مبنی اور سٹریمنگ فرسٹ اپروچ فراہم کرنا، یہ سٹریمنگ فاسٹ کے اوپن سورس ٹیکنالوجیز کے سوٹ کا بنیادی جزو اور سب اسٹریمز کی بنیاد ہے. -Firehose کے بارے میں مزید جاننے کے لیے[documentation] (https://firehose.streamingfast.io/) پر جائیں. +Firehose کے بارے میں مزید جاننے کے لیے[documentation] +(https://firehose.streamingfast.io/) پر جائیں. ## Firehose کے کیا فوائد ہیں؟ @@ -70,7 +71,7 @@ Firehose استعمال کرنے کے بہت سے فوائد ہیں، بشمول زنگ ماڈیول سب گراف میں اسمبلی اسکرپٹ میپرز کے مساوی ہیں۔ وہ اسی طرح WASM پر مرتب کیے گئے ہیں، لیکن پروگرامنگ ماڈل متوازی عمل درآمد کی اجازت دیتا ہے۔ وہ اس قسم کی تبدیلیوں اور مجموعوں کی وضاحت کرتے ہیں جسے آپ خام بلاکچین ڈیٹا پر لاگو کرنا چاہتے ہیں. -تفصیلات کے لیے [ماڈیول دستاویزات](https://substreams.streamingfast.io/developers-guide/modules) دیکھیں. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## سب سٹریمز کو کمپوز ایبل کیا بناتا ہے؟ From a0fdb890e4eb7020ba903fe4153b3e837b78cf77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:16 -0400 Subject: [PATCH 0991/2326] New translations substreams-powered-subgraphs-faq.mdx (Vietnamese) --- .../vi/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/vi/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/vi/developing/substreams-powered-subgraphs-faq.mdx index 02592fd21457..734cc376e81b 100644 --- a/website/pages/vi/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/vi/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ By contrast, substreams-powered subgraphs have a single datasource which referen ## What are the benefits of using Substreams-powered subgraphs? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## What are the benefits of Substreams? @@ -70,7 +70,7 @@ The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-su Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From b4d54a75253791823492c9474eafcf96e0ef17e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:17 -0400 Subject: [PATCH 0992/2326] New translations substreams-powered-subgraphs-faq.mdx (Marathi) --- .../mr/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/mr/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/mr/developing/substreams-powered-subgraphs-faq.mdx index 02592fd21457..734cc376e81b 100644 --- a/website/pages/mr/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/mr/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ By contrast, substreams-powered subgraphs have a single datasource which referen ## What are the benefits of using Substreams-powered subgraphs? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## What are the benefits of Substreams? @@ -70,7 +70,7 @@ The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-su Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From 65870ef8b0aadf443b6c88fd61162d494065494f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:18 -0400 Subject: [PATCH 0993/2326] New translations substreams-powered-subgraphs-faq.mdx (Hindi) --- .../hi/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/hi/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/hi/developing/substreams-powered-subgraphs-faq.mdx index 02592fd21457..734cc376e81b 100644 --- a/website/pages/hi/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/hi/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ By contrast, substreams-powered subgraphs have a single datasource which referen ## What are the benefits of using Substreams-powered subgraphs? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## What are the benefits of Substreams? @@ -70,7 +70,7 @@ The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-su Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From facbe09a0e74d4c20357960d45ba96753bbb3d33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:19 -0400 Subject: [PATCH 0994/2326] New translations substreams-powered-subgraphs-faq.mdx (Yoruba) --- .../yo/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/yo/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/yo/developing/substreams-powered-subgraphs-faq.mdx index 02592fd21457..734cc376e81b 100644 --- a/website/pages/yo/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/yo/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Substreams-powered subgraphs FAQ ## What are Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/developers-guide/sink-targets) their data anywhere. +Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. Go to the [Substreams Documentation](/substreams) to learn more about Substreams. @@ -22,7 +22,7 @@ By contrast, substreams-powered subgraphs have a single datasource which referen ## What are the benefits of using Substreams-powered subgraphs? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/developers-guide/modules) to output to different [sinks](https://substreams.streamingfast.io/developers-guide/sink-targets) such as PostgreSQL, MongoDB, and Kafka. +Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. ## What are the benefits of Substreams? @@ -70,7 +70,7 @@ The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-su Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. -See [modules documentation](https://substreams.streamingfast.io/developers-guide/modules) for details. +See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. ## What makes Substreams composable? From 96dd28739f6b2b978cdee9fea9383553c0a77f45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:20 -0400 Subject: [PATCH 0995/2326] New translations upgrading-a-subgraph.mdx (Romanian) --- .../ro/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/ro/cookbook/upgrading-a-subgraph.mdx b/website/pages/ro/cookbook/upgrading-a-subgraph.mdx index ff1ab368c0fa..5502b16d9288 100644 --- a/website/pages/ro/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/ro/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### Prerequisites -- You have already deployed a subgraph on the hosted service. -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Get the latest version of the graph-cli installed: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. Inside the subgraph's main project repository, authenticate the subgraph to deploy and build on the studio: - -```sh -graph auth --studio -``` - -3. Generate files and build the subgraph: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. At this point, your subgraph is now deployed on Subgraph Studio, but not yet published to the decentralized network. You can now test the subgraph to make sure it is working as intended using the temporary query URL as seen on top of the right column above. As this name already suggests, this is a temporary URL and should not be used in production. - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publish the subgraph on The Graph's decentralized network by hitting the "Publish" button. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Create an API key @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -At the end of each week, an invoice will be generated based on the query fees that have been incurred during this period. This invoice will be paid automatically using the GRT available in your balance. Your balance will be updated after the cost of your query fees are withdrawn. Query fees are paid in GRT via the Arbitrum network. You will need to add GRT to the Arbitrum billing contract to enable your API key via the following steps: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Purchase GRT on an exchange of your choice. -- Send the GRT to your wallet. -- On the Billing page in Studio, click on Add GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Follow the steps to add your GRT to your billing balance. -- Your GRT will be automatically bridged to the Arbitrum network and added to your billing balance. - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Securing your API key @@ -110,13 +51,13 @@ It is recommended that you secure the API by limiting its usage in two ways: 1. Authorized Subgraphs 2. Authorized Domain -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Querying your subgraph on the decentralized network -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Make changes to your current subgraph. A good idea is to test small fixes on the Subgraph Studio by publishing to Goerli. +1. Make changes to your current subgraph. 2. Deploy the following and specify the new version in the command (eg. v0.0.1, v0.0.2, etc): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Test the new version in the Subgraph Studio by querying in the playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publish the new version on The Graph Network. Remember that this requires gas (as described in the section above). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### Updating the Metadata of a Subgraph -You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in the Subgraph Studio where you can edit all applicable fields. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### Estimate Query Fees on the Network - -While this is not a live feature in the product UI, you can set your maximum budget per query by taking the amount you're willing to pay per month and dividing it by your expected query volume. - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -Remember that it's a dynamic and growing market, but how you interact with it is in your control. There is no maximum or minimum price specified in the protocol or the Gateways. For example, you can look at the price paid by a few of the dapps on the network (on a per-week basis), below. See the last column, which shows query fees in GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Additional Resources If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From 10cf7932c2d02dcffb641bb56ce21231d63ad268 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:21 -0400 Subject: [PATCH 0996/2326] New translations upgrading-a-subgraph.mdx (French) --- .../fr/cookbook/upgrading-a-subgraph.mdx | 117 ++++-------------- 1 file changed, 24 insertions(+), 93 deletions(-) diff --git a/website/pages/fr/cookbook/upgrading-a-subgraph.mdx b/website/pages/fr/cookbook/upgrading-a-subgraph.mdx index fa1225a9d7df..2edcb34acab8 100644 --- a/website/pages/fr/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/fr/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ Le processus de mise à niveau est rapide et vos subgraphs bénéficieront à ja ### Conditions préalables -- Vous avez déjà déployé un subgraph sur le service hébergé. -- Le subgraph indexe une blockchain déjà supportée par le réseau The Graph. -- Vous disposez d'un portefeuille avec ETH pour publier votre subgraph en chaîne. -- Vous disposez de ~10 000 GRT pour curer votre subgraph afin que les indexeurs puissent commencer à l'indexer. +- Vous avez un subgraph déployé sur le service hébergé. ## Mise à niveau d'un subgraph existant vers le réseau Graph -> Vous trouverez des commandes spécifiques pour votre subgraph dans le [Subgraph Studio] (https://thegraph.com/studio/). + -1. Obtenir la dernière version de graph-cli installée : +Si vous êtes connecté au service hébergé, vous pouvez accéder à un flux simple pour mettre à niveau vos subgraphs à partir de [votre tableau de bord](https://thegraph.com/hosted-service/dashboard) ou à partir d'une page de subgraph individuelle. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -npm install -g @graphprotocol/graph-cli -``` - -Assurez-vous que votre `apiVersion` dans subgraph.yaml est `0.0.5` ou supérieur. - -2. À l'intérieur du répertoire principal du projet du subgraph, authentifiez le pour déployer et construire sur le studio : - -```sh -graph auth --studio -``` - -3. Générez les fichiers et construisez le subgraph : - -```sh -graph codegen && graph build -``` - -Si votre subgraph présente des erreurs de construction, reportez-vous au [Guide de migration AssemblyScript](/release-notes/assemblyscript-migration-guide/). - -4. Connectez-vous à [Subgraph Studio] (https://thegraph.com/studio/) avec votre portefeuille et déployez le subgraphe. Vous pouvez trouver votre `` dans l'interface utilisateur de Studio, qui est basée sur le nom de votre subgraph. - -```sh -graph deploy --studio -``` +> Ce processus prend généralement moins de cinq minutes. -5. Testez les requêtes sur le terrain de jeu du Studio. Voici quelques exemples pour le [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground) : +1. Sélectionnez le(s) subgraph(s) que vous souhaitez mettre à niveau. +2. Connecter ou entrer dans le portefeuille destinataire (le portefeuille qui deviendra le propriétaire du subgraph). +3. Cliquez sur le bouton "Mise à niveau". -```sh -{ - users(first : 5) { - id - liquidityPositions { - id - } - } - bundles(first : 5) { - id - ethPrice - } -} -``` - -6. À ce stade, votre subgraph est maintenant déployé sur Subgraph Studio, mais pas encore publié sur le réseau décentralisé. Vous pouvez désormais tester le subgraph pour vous assurer qu'il fonctionne comme prévu en utilisant l'URL de requête temporaire, comme indiqué en haut de la colonne de droite ci-dessus. Comme son nom l'indique déjà, il s'agit d'une URL temporaire qui ne doit pas être utilisée en production. - -- La mise à jour consiste simplement à publier une autre version de votre subgraph existant sur la chaîne. -- Étant donné que cela entraîne un coût, il est fortement recommandé de déployer et de tester votre subgraph dans Subgraph Studio, en utilisant l'« URL de requête de développement » avant de le publier. Voir un exemple de transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Les prix sont d'environ 0,0425 ETH à 100 gwei. -- Chaque fois que vous devrez mettre à jour votre subgraph, des frais de mise à jour vous seront facturés. Comme cela engendre un coût, il est fortement recommandé de déployer et de tester votre subgraph sur Goerli avant de le déployer sur le réseau principal. Dans certains cas, cela peut également nécessiter un GRT s'il n'y a pas de signal sur ce subgraph. Dans le cas où il y a un signal/curation sur cette version du subgraph (en utilisant l'auto-migration), les taxes seront divisées. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publiez le subgraph sur le réseau décentralisé de The Graph en cliquant sur le bouton "Publier". +Vous pourrez visualiser vos subgraphs en direct sur le réseau décentralisé via [Graph Explorer](https://thegraph.com/explorer). -Vous devez curer votre subgraph avec des GRT pour vous assurer qu'il sera indexé par les indexeurs. Pour économiser du gaz, vous pouvez curer votre subgraph dans la même transaction que vous le publiez sur le réseau. Il est recommandé de curer votre subgraphe avec au moins 10 000 GRT pour une meilleure qualité de service. +### Quelle est la prochaine étape ? -Et c'est tout! Une fois la publication terminée, vous pourrez visualiser vos subgraphs en direct sur le réseau décentralisé via [The Graph Explorer](https://thegraph.com/explorer). +Lorsque votre subgraph est mis à jour, il sera automatiquement indexé par l'indexeur de mise à jour. Si la chaîne indexée est [entièrement prise en charge par The Graph Network](/developing/supported-networks), vous pouvez ajouter quelques GRT comme "signal", pour attirer plus d'indexeurs. Il est recommandé de curer votre subgraph avec au moins 3 000 GRT pour attirer 2-3 indexeurs pour une meilleure qualité de service. -N'hésitez pas à utiliser le [canal #Curators](https://discord.gg/s5HfGMXmbW) sur Discord pour informer les curateurs que votre subgraph est prêt à être signalé. Il serait également utile que vous leur fassiez part de votre volume de requêtes prévu. Ainsi, ils pourront estimer la quantité de TRG qu'ils doivent signaler sur votre subgraph. +Vous pouvez commencer à interroger votre subgraph immédiatement sur The Graph Network, une fois que vous avez généré une clé API. ### Créer une clé d'API @@ -88,20 +40,9 @@ Vous pouvez générer une clé API dans Subgraph Studio [Ici](https://thegraph.c ![Page de création de la clé API](/img/api-image.png) -À la fin de chaque semaine, une facture sera générée sur la base des frais de requête encourus pendant cette période. Cette facture sera payée automatiquement grâce au GRT disponible dans votre solde. Votre solde sera mis à jour une fois le coût de vos frais de requête retiré. Les frais de requête sont payés en GRT via le réseau Arbitrum. Vous devrez ajouter GRT au contrat de facturation Arbitrum pour activer votre clé API en suivant les étapes suivantes : +Vous pouvez utiliser cette clé API pour interroger des subgraphs sur le réseauThe Graph. Tous les utilisateurs commencent par le plan gratuit, qui comprend 100 000 requêtes gratuites par mois. Les développeurs peuvent s'inscrire au Growth Plan en connectant une carte de crédit ou de débit, ou en déposant des GRT dans le système de facturation de Subgraph Studio. -- Achetez GRT sur la bourse de votre choix. -- Envoyez le TRG à votre portefeuille. -- À la page Facturation de Studio, cliquez sur Ajouter un TRG. - -![Ajouter du GRT dans la facturation](/img/Add-GRT-New-Page.png) - -- Suivez les étapes pour ajouter votre TRG à votre solde de facturation. -- Votre GRT sera automatiquement relié au réseau Arbitrum et ajouté à votre solde de facturation. - -![Volet de facturation](/img/New-Billing-Pane.png) - -> . +> Note : voir la [documentation sur la facturation](../facturation) pour plus d'informations sur les plans, et sur la gestion de votre facturation sur Subgraph Studio. ### Sécurisation de votre clé API @@ -110,13 +51,13 @@ Il est recommandé de sécuriser l'API en limitant son utilisation de deux mani 1. Les subgraphs autorisés 2. Le Domaine autorisé -Vous pouvez sécuriser votre clé API [ici](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Page de verrouillage du subgraph](/img/subgraph-lockdown.png) ### Interroger votre subgraph sur le réseau décentralisé -Vous pouvez maintenant vérifier l'état d'indexation des indexeurs sur le réseau dans Graph Explorer (exemple [here](https://thegraph.com/explorer/subgraph? id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The Également dans l'onglet Indexeur, vous pouvez voir quels indexeurs ont récupéré votre subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Subgraph Rocket Pool](/img/rocket-pool-subgraph.png) @@ -134,7 +75,7 @@ Toutes nos félicitations! Vous êtes désormais un pionnier de la décentralisa ```graphql { - stakers(block: { number_gte: 14486109 }) { + stakers(block : { number_gte : 14486109 }) { id } } @@ -144,16 +85,16 @@ Plus d'informations sur la nature du réseau et sur la manière de gérer les r ## Mise à jour d'un subgraph sur le réseau -Si vous souhaitez mettre à jour un subgraph existant sur le réseau, vous pouvez le faire en déployant une nouvelle version de votre subgraph sur Subgraph Studio à l'aide du Graph CLI. +Si vous souhaitez mettre à jour un subgraph existant sur le réseau, vous pouvez le faire en déployant une nouvelle version de votre subgraph sur Subgraph Studio à l'aide de la CLI Graph. -1. Apportez des modifications à votre subgraph actuel. Une bonne idée est de tester les petites corrections sur le Subgraph Studio en les publiant sur Goerli. +1. Make changes to your current subgraph. 2. Déployez les éléments suivants et spécifiez la nouvelle version dans la commande (par exemple v0.0.1, v0.0.2, etc.) : ```sh -graph deploy --studio +graph déployer --studio --version ``` -3. Testez la nouvelle version dans le Subgraph Studio en effectuant des requêtes dans l'aire de jeu +3. Testez la nouvelle version dans Subgraph Studio en effectuant des requêtes dans l'aire de jeu 4. Publier la nouvelle version sur le réseau graph. N'oubliez pas que cela nécessite du gaz (comme décrit dans la section ci-dessus). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Les subgraphs sont des API ouvertes que les développeurs externes exploitent. L ### Mise à jour des métadonnées d'un subgraph -Vous pouvez mettre à jour les métadonnées de vos subgraphs sans avoir à publier une nouvelle version. Les métadonnées comprennent le nom du subgraph, l'image, la description, l'URL du site Web, l'URL du code source et les catégories. Les développeurs peuvent le faire en mettant à jour les détails de leur subgraph dans le Subgraph Studio, où vous pouvez modifier tous les champs applicables. +Vous pouvez mettre à jour les métadonnées de vos subgraphs sans avoir à publier une nouvelle version. Les métadonnées comprennent le nom du subgraph, l'image, la description, l'URL du site web, l'URL du code source et les catégories. Les développeurs peuvent le faire en mettant à jour les détails de leurs subgraphs dans Subgraph Studio, où vous pouvez modifier tous les champs applicables. Assurez-vous que **Mettre à jour les détails du subgraph dans l'Explorateur** est coché et cliquez sur **Enregistrer**. Si cette case est cochée, une transaction en chaîne sera générée qui mettra à jour les détails du subgraph dans l'Explorateur sans avoir à publier une nouvelle version avec un nouveau déploiement. @@ -201,23 +142,13 @@ Suivez les étapes [ici](/managing/deprecating-a-subgraph) pour déprécier votr Le service hébergé a été configuré pour permettre aux développeurs de déployer leurs subgraphs sans aucune restriction. -Pour que The Graph Network soit réellement décentralisé, les frais de requête doivent être payés en tant qu'élément central des incitations du protocole. Pour plus d'informations sur l'abonnement aux API et le paiement des frais de requête, consultez la documentation sur la facturation \[[here](/billing/). - -### Estimation des frais d'interrogation sur le réseau - -Bien que cette fonction ne soit pas encore disponible dans l'interface utilisateur du produit, vous pouvez définir votre budget maximum par requête en divisant le montant que vous êtes prêt à payer par mois par le volume de requêtes attendu. - -Même si vous décidez de votre budget de requêtes, rien ne garantit qu'un indexeur sera disposé à répondre à des requêtes à ce prix. Si une passerelle peut vous mettre en relation avec un indexeur disposé à répondre à une requête au prix que vous êtes prêt à payer ou à un prix inférieur, vous paierez le delta/la différence de votre budget **et** leur prix. Par conséquent, un prix de requête inférieur réduit le nombre d’indexeurs disponibles, ce qui peut affecter la qualité du service que vous recevez. Il est avantageux d'avoir des frais de requête élevés, car cela peut attirer des curateurs et des indexeurs de renom vers votre subgraph. - -N'oubliez pas qu'il s'agit d'un marché dynamique et en pleine expansion, mais la manière dont vous interagissez avec lui est sous votre contrôle. Il n'y a pas de prix maximum ou minimum spécifié dans le protocole ou les passerelles. Par exemple, vous pouvez regarder le prix payé par quelques-unes des dapps sur le réseau (sur une base hebdomadaire), ci-dessous. Regardez la dernière colonne, qui montre les frais de requête en GRT. - -![QueryFee](/img/QueryFee.png) +Sur The Graph Network, les frais de requête doivent être payés dans le cadre des incitations essentielles du protocole. Pour plus d'informations sur l'abonnement aux API et le paiement des frais de requête, consultez la documentation de facturation [ici](/billing/). ## Ressources additionnelles Si vous êtes encore confus, n'ayez crainte ! Consultez les ressources suivantes ou regardez notre guide vidéo sur la mise à niveau des subgraphs vers le réseau décentralisé ci-dessous : - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Contrat de curation] (https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - le contrat sous-jacent autour duquel le GNS s'articule From 574d73a29d04c454624c0cb65fbae550b6848ba6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:21 -0400 Subject: [PATCH 0997/2326] New translations upgrading-a-subgraph.mdx (Spanish) --- .../es/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/es/cookbook/upgrading-a-subgraph.mdx b/website/pages/es/cookbook/upgrading-a-subgraph.mdx index 352743fc8487..f58d9879d96a 100644 --- a/website/pages/es/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/es/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ El proceso de actualización es rápido y tus subgráfos se beneficiarán para s ### Prerrequisitos -- Ya has deployado un subgrafo en el Servicio Alojado. -- El subgrafo está indexando una cadena disponible en la red de The Graph. -- Tienes una billetera con ETH para publicar tu subgrafo en la cadena. -- Tienes aproximadamente 10,000 GRT para curar tu subgrafo, de modo que los Indexadores puedan comenzar a indexarlo. +- You have a subgraph deployed on the hosted service. ## Actualizando un Subgrafo Existente a la Red de The Graph -> Puedes encontrar comandos específicos para tu subgrafo en el [Subgraph Studio](https://thegraph.com/studio/). + -1. Obtén la última versión de graph-cli instalada: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Asegúrate de que tu `apiVersion` en subgraph.yaml sea `0.0.5` o superior. - -2. Dentro del repositorio del proyecto principal del subgrafo, autentifica el subgrafo para deployar y construir en el estudio: - -```sh -graph auth --studio -``` - -3. Genera archivos y construye el subgrafo: - -```sh -graph codegen && graph build -``` - -Si tu subgrafo tiene errores de construcción, consulta la [Guía de Migración de AssemblyScript](/release-notes/assemblyscript-migration-guide/). - -4. Inicia sesión en [Subgraph Studio](https://thegraph.com/studio/) con tu billetera y despliega el subgrafo. Puedes encontrar tu `` en la interfaz de usuario de Studio, el cual se basa en el nombre de tu subgrafo. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Realiza pruebas de consultas en el área de pruebas (playground) de Studio. Aquí tienes algunos ejemplos para el [Subgrafo de Intercambio en Mainnet de Sushi](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. En este punto, tu subgrafo está ahora deployado en Subgraph Studio, pero aún no está publicado en la red descentralizada. Ahora puedes probar el subgrafo para asegurarte de que funciona como se espera utilizando la URL de consulta temporal que se ve en la parte superior de la columna derecha. Como este nombre ya sugiere, esta es una URL temporal y no debe ser usada en producción. - -- Actualizar es simplemente publicar otra versión de tu subgrafo existente en la cadena. -- Debido a que esto conlleva un costo, se recomienda encarecidamente desplegar y probar tu subgrafo en el Subgraph Studio, utilizando la "URL de consulta de desarrollo" antes de publicarlo. Mira un ejemplo de transacción [aquí](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Los precios rondan aproximadamente los 0.0425 ETH a 100 gwei. -- Cada vez que necesites actualizar tu subgrafo, se te cobrará una tarifa de actualización. Debido a que esto conlleva un costo, se recomienda encarecidamente desplegar y probar tu subgrafo en Goerli antes de implementarlo en la red principal. En algunos casos, también puede ser necesario disponer de cierta cantidad de GRT si no hay señal en ese subgrafo. En el caso de que haya señal/curación en esa versión del subgrafo (usando la migración automática), los costos se dividirán. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publica el subgrafo en la red descentralizada de The Graph pulsando el botón "Publicar". +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -Deberías curar tu subgrafo con GRT para asegurarte de que sea indexado por los Indexadores. Para ahorrar en costos de gas, puedes curar tu subgrafo en la misma transacción en la que lo publicas en la red. Se recomienda curar tu subgrafo con al menos 10,000 GRT para obtener un servicio de alta calidad. +### What next? -¡Y eso es todo! Después de que hayas terminado de publicar, podrás ver tus subgráfos en vivo en la red descentralizada a través de [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Siéntete libre de utilizar el canal [#Curators](https://discord.gg/s5HfGMXmbW) en Discord para informar a los Curadores que tu subgrafo está listo para ser señalizado. También sería útil si compartes con ellos tu volumen esperado de consultas. De esta manera, podrán estimar cuánto GRT deberían señalizar en tu subgrafo. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Crear una clave API @@ -88,20 +40,9 @@ Puedes generar una clave API en Subgraph Studio [aquí](https://thegraph.com/stu ![API key creation page](/img/api-image.png) -Al final de cada semana, se generará una factura en función de las tarifas de consulta que hayan incurrido durante ese período. Esta factura se pagará automáticamente utilizando el GRT disponible en tu saldo. Tu saldo se actualizará después de que se retire el costo de las tarifas de consulta. Las tarifas de consulta se pagan en GRT a través de la red de Arbitrum. Deberás agregar GRT al contrato de facturación de Arbitrum para habilitar tu clave API mediante los siguientes pasos: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Adquiere GRT en un exchange de tu elección. -- Envía el GRT a tu wallet. -- En la página de facturación en Studio, haz clic en añadir GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Sigue los siguientes pasos para agregar tu GRT a tu saldo de facturación. -- Tu GRT se convertirá automáticamente en la red de Arbitrum y se agregará a tu saldo de facturación. - -![Billing pane](/img/New-Billing-Pane.png) - -> Nota: consulta la [página oficial de facturación](../billing.mdx) para obtener instrucciones completas sobre cómo agregar GRT a tu saldo de facturación. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Asegurando tu clave API @@ -110,13 +51,13 @@ Se recomienda asegurar la API limitando su uso de dos maneras: 1. Subgrafos autorizados 2. Dominio autorizado -Puedes asegurar tu clave API [aquí](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Consulta de su subgrafo en la red descentralizada -Ahora puedes verificar el estado de indexación de los Indexadores en la red en Graph Explorer (ejemplo [aquí](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). La línea verde en la parte superior indica que en el momento de la publicación, 8 Indexadores indexaron exitosamente ese subgrafo. También, en la pestaña de Indexadores, puedes ver qué Indexadores han seleccionado tu subgrafo. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ Más información sobre la naturaleza de la red y cómo manejar reorganizaciones ## Actualizando un subgráfo en la red -Si deseas actualizar un subgrafo existente en la red, puedes hacerlo desplegando una nueva versión de tu subgrafo en el Subgraph Studio utilizando la interfaz de línea de comandos de Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Haz cambios en tu subgrafo actual. Una buena idea es probar pequeñas correcciones en Subgraph Studio publicando en Goerli. +1. Make changes to your current subgraph. 2. Deploya lo siguiente y especifica la nueva versión en el comando (por ejemplo, v0.0.1, v0.0.2, etc.): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Prueba la nueva versión en el Subgraph Studio consultando en el Playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publica la nueva versión en The Graph Network. Recuerda que esto requiere gas (como se describe en la sección anterior). ### Tarifa de Actualización del Propietario: Análisis Profundo @@ -180,7 +121,7 @@ Los subgrafos son API abiertas que los desarrolladores externos están aprovecha ### Actualización de los Metadatos de un subgrafo -Puedes actualizar los metadatos de tu subgrafo sin tener que publicar una nueva versión. Los metadatos incluyen el nombre del subgrafo, la imagen, la descripción, la URL del sitio web, la URL del código fuente y las categorías. Los desarrolladores pueden hacer esto actualizando los detalles de sus subgrafos en el Subgraph Studio, donde se pueden editar todos los campos aplicables. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Asegúrate de que la opción **Actualizar Detalles del Subgrafo en el Explorador** esté marcada y haz clic en **Guardar**. Si esto está marcado, se generará una transacción en cadena que actualiza los detalles del subgrafo en el Explorador sin necesidad de publicar una nueva versión con una implementación diferente. @@ -201,23 +142,13 @@ Sigue los pasos [aquí](/managing/deprecating-a-subgraph) para retirar tu subgra El servicio alojado se estableció para permitir a los desarrolladores desplegar sus subgrafos sin restricciones. -Para que la red de The Graph sea verdaderamente descentralizada, las tarifas de consulta deben pagarse como parte central de los incentivos del protocolo. Para obtener más información sobre cómo suscribirse a APIs y pagar las tarifas de consulta, consulta la documentación de facturación [aquí](/billing/). - -### Estimación de las Tarifas de Consulta en la Red - -Aunque esta función no está disponible en la UI del producto, puedes establecer tu presupuesto máximo por consulta tomando la cantidad que estás dispuesto a pagar al mes y dividiéndola por el volumen de consultas previsto. - -Aunque puedes decidir sobre tu presupuesto de consulta, no hay garantía de que un Indexador esté dispuesto a atender consultas a ese precio. Si una Puerta puede emparejarte con un Indexador dispuesto a atender una consulta al precio que estás dispuesto a pagar o a un precio más bajo, pagarás la diferencia entre tu presupuesto **y** su precio. Como consecuencia, un precio de consulta más bajo reduce el grupo de Indexadores disponibles para ti, lo que puede afectar la calidad del servicio que recibes. Es beneficioso tener tarifas de consulta altas, ya que esto puede atraer la curación y a Indexadores reconocidos a tu subgrafo. - -Recuerda que se trata de un mercado dinámico y en crecimiento, pero la forma de interactuar con él está bajo tu control. No hay un precio máximo o mínimo especificado en el protocolo o en los Gateways. Por ejemplo, puedes ver el precio que pagan algunas de las dApps de la red (por semana), a continuación. Véase la última columna, que muestra las tarifas de consulta en GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Recursos Adicionales ¡Si aún estás confundido, no te preocupes! Consulta los siguientes recursos o mira nuestra guía en video sobre cómo actualizar subgrafos a la red descentralizada a continuación: - + - [Contratos de la red de the graph](https://github.com/graphprotocol/contracts) - [Contrato de Curación](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - el contrato subyacente que envuelve el GNS From 2c89b315c2c689eba91f3ecdc96a48e18d58d7a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:22 -0400 Subject: [PATCH 0998/2326] New translations upgrading-a-subgraph.mdx (Arabic) --- .../ar/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/ar/cookbook/upgrading-a-subgraph.mdx b/website/pages/ar/cookbook/upgrading-a-subgraph.mdx index aa6675676abe..4181a6b18255 100644 --- a/website/pages/ar/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/ar/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### المتطلبات الأساسية -- You have already deployed a subgraph on the hosted service. -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Get the latest version of the graph-cli installed: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. Inside the subgraph's main project repository, authenticate the subgraph to deploy and build on the studio: - -```sh -graph auth --studio -``` - -3. أنشئ الملفات وقم ببناء الـ الفرعيةرسمبياني: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. At this point, your subgraph is now deployed on Subgraph Studio, but not yet published to the decentralized network. You can now test the subgraph to make sure it is working as intended using the temporary query URL as seen on top of the right column above. As this name already suggests, this is a temporary URL and should not be used in production. - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publish the subgraph on The Graph's decentralized network by hitting the "Publish" button. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Create an API key @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -At the end of each week, an invoice will be generated based on the query fees that have been incurred during this period. This invoice will be paid automatically using the GRT available in your balance. Your balance will be updated after the cost of your query fees are withdrawn. Query fees are paid in GRT via the Arbitrum network. You will need to add GRT to the Arbitrum billing contract to enable your API key via the following steps: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Purchase GRT on an exchange of your choice. -- Send the GRT to your wallet. -- On the Billing page in Studio, click on Add GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Follow the steps to add your GRT to your billing balance. -- Your GRT will be automatically bridged to the Arbitrum network and added to your billing balance. - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Securing your API key @@ -110,13 +51,13 @@ It is recommended that you secure the API by limiting its usage in two ways: 1. Authorized Subgraphs 2. Authorized Domain -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Querying your subgraph on the decentralized network -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Make changes to your current subgraph. A good idea is to test small fixes on the Subgraph Studio by publishing to Goerli. +1. Make changes to your current subgraph. 2. انشر ما يلي وحدد الإصدار الجديد في الأمر (مثل v0.0.1 ، v0.0.2 ، إلخ): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Test the new version in the Subgraph Studio by querying in the playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publish the new version on The Graph Network. Remember that this requires gas (as described in the section above). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### Updating the Metadata of a Subgraph -You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in the Subgraph Studio where you can edit all applicable fields. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### Estimate Query Fees on the Network - -While this is not a live feature in the product UI, you can set your maximum budget per query by taking the amount you're willing to pay per month and dividing it by your expected query volume. - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -Remember that it's a dynamic and growing market, but how you interact with it is in your control. There is no maximum or minimum price specified in the protocol or the Gateways. For example, you can look at the price paid by a few of the dapps on the network (on a per-week basis), below. See the last column, which shows query fees in GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## مصادر إضافية If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From 6bb98e9ddbc1ede53cdb12a04767f2300b2b9c2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:23 -0400 Subject: [PATCH 0999/2326] New translations upgrading-a-subgraph.mdx (Czech) --- .../cs/cookbook/upgrading-a-subgraph.mdx | 117 ++++-------------- 1 file changed, 24 insertions(+), 93 deletions(-) diff --git a/website/pages/cs/cookbook/upgrading-a-subgraph.mdx b/website/pages/cs/cookbook/upgrading-a-subgraph.mdx index b26c1da4046b..31aee1c8fe1a 100644 --- a/website/pages/cs/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/cs/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ Proces aktualizace je rychlý a vaše subgrafy budou vždy profitovat z reliabil ### Předpoklady -- V hostované službě jste již nasadili podgraf. -- Subgraf indexuje řetězec dostupný na síti Grafu. -- Máte peněženku s ETH, ve které můžete publikovat svůj subgraf na řetězci. -- Máte k dispozici ~10,000 GRT na vylepšit podgrafu, aby jej indexátory mohly začít indexovat. +- V hostované službě je nasazen podgraf. ## Upgrade existujícího podgrafu na síť grafů -> Konkrétní příkazy pro svůj podgraf najdete v [Subgraph Studio](https://thegraph.com/studio/). + -1. Nainstalujte nejnovější verzi graph-cli: +Jste-li přihlášeni k hostované službě, můžete k jednoduchému postupu aktualizace podgrafů přistupovat z [vašeho ovládacího panelu](https://thegraph.com/hosted-service/dashboard) nebo ze stránky jednotlivých podgrafů. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Ujistěte se, že vaše `apiVersion` v souboru subgraph.yaml je `0.0.5` nebo vyšší. - -2. Uvnitř hlavního úložiště podgrafu projektu ověřte podgraf pro nasazení a sestavení ve studiu: - -```sh -graph auth --studio -``` - -3. Generování souborů a sestavení podgrafu: - -```sh -graph codegen && graph build -``` - -Pokud váš podgraf obsahuje chyby sestavení, podívejte se do příručky [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Přihlaste se do [Subgraph Studio](https://thegraph.com/studio/) pomocí peněženky a nasaďte subgraf. V uživatelském rozhraní Studio najdete svůj ``, který je založen na názvu vašeho subgrafu. - -```sh -graph deploy --studio -``` +> Tento proces obvykle trvá méně než pět minut. -5. Testování dotazů na hřišti Studio. Zde je několik příkladů pro [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Vyberte podgraf nebo podgrafy, které chcete aktualizovat. +2. Připojte nebo zadejte přijímající peněženku (peněženku, která se stane vlastníkem podgrafu). +3. Klikněte na tlačítko "Upgrade". -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. V tuto chvíli je váš podgraf nyní nasazen v aplikaci Subgraph Studio, ale ještě není zveřejněn v decentralizované síti. Nyní můžete subgraf otestovat a ujistit se, že funguje, jak má, pomocí dočasné adresy URL dotazu, jak je vidět v horní části pravého sloupce výše. Jak již tento název napovídá, jedná se o dočasnou adresu URL a neměla by být používána v produkčním provozu. - -- Aktualizace je pouze publikování další verze stávajícího podgrafu v řetězci. -- Protože to s sebou nese náklady, doporučujeme před zveřejněním nasadit a otestovat subgraf ve Studiu Subgraph pomocí "Development Query URL". See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Ceny se pohybují zhruba kolem 0,0425 ETH za 100 gwei. -- Kdykoli budete potřebovat aktualizovat svůj podgraf, bude vám účtován poplatek za aktualizaci. Vzhledem k tomu, že je to spojeno s náklady, doporučujeme před nasazením do mainnet nasadit a otestovat subgraf na Goerli. V některých případech to může také vyžadovat určité GRT, pokud na daném subgrafu není žádný signál. V případě, že na dané verzi podgrafu signál/určení je (pomocí automatického migrování), budou daně rozděleny. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Podgraf zveřejněte v decentralizované síti The Graph stisknutím tlačítka "Publish". +Své podgrafy si budete moci živě prohlížet v decentralizované síti prostřednictvím [Graph Explorer](https://thegraph.com/explorer). -Pomocí GRT byste měli svůj podgraf kurátorsky upravit, abyste zajistili jeho indexaci indexátory. Chcete-li ušetřit náklady na plyn, můžete svůj podgraf kurátorovat ve stejné transakci, kdy jej publikujete do sítě. Pro vysokou kvalitu služeb se doporučuje kurátorovat subgraf s alespoň 10,000 GRT. +### Další krok? -A je to! Po dokončení publikování si budete moci své podgrafy živě prohlížet v decentralizované síti prostřednictvím [The Graph Explorer](https://thegraph.com/explorer). +Při aktualizaci podgrafu bude automaticky indexován indexátorem aktualizace. Pokud je indexovaný řetězec [plně podporovaný sítí Graf](/developing/supported-networks), můžete přidat nějaký GRT jako "signál", abyste přilákali další indexátory. Doporučujeme kurýrovat podgraf s alespoň 3,000 GRT, abyste přilákali 2-3 indexátory pro vyšší kvalitu služeb. -Neváhejte využít kanál [#Curators](https://discord.gg/s5HfGMXmbW) na Discord, abyste dali kurátorům vědět, že je váš podgraf připraven k signalizaci. Bylo by také užitečné, kdybyste se s nimi podělili o očekávaný objem dotazů. Mohou tedy odhadnout, kolik GRT by měli na vašem subgrafu signalizovat. +Po vygenerování klíče API můžete v síti Graf ihned začít zadávat dotazy na svůj podgraf. ### Vytvoření klíče API @@ -88,20 +40,9 @@ Klíč API si můžete vygenerovat v podgraf Studio [zde](https://thegraph.com/s ![API key creation page](/img/api-image.png) -Na konci každého týdne bude vygenerována faktura na základě poplatků za dotazy, které vznikly během tohoto období. Tato faktura bude automaticky uhrazena pomocí GRT, které máte k dispozici na svém zůstatku. Váš zůstatek bude aktualizován po stažení nákladů na poplatky za dotazy. Poplatky za dotazy se platí v GRT prostřednictvím sítě Arbitrum. Abyste mohli aktivovat svůj klíč API, musíte přidat GRT do fakturační smlouvy Arbitrum prostřednictvím následujících kroků: +Tento klíč API můžete použít k dotazování podgrafů v síti Graf. Všichni uživatelé začínají s tarifem Free, který zahrnuje 100,000 bezplatných dotazů měsíčně. Vývojáři se mohou zaregistrovat do plánu růst kreditní nebo debetní karty nebo vložením GRT do fakturačního systému Podgraf Studio. -- Nakupte GRT na burze dle vlastního výběru. -- Pošlete GRT do své peněženky. -- Na stránce Fakturace ve Studiu klikněte na možnost Přidat GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Podle následujících kroků přidejte svůj GRT k zůstatku na faktuře. -- Vaše GRT bude automaticky přemostěno do sítě Arbitrum a přičteno k vašemu zúčtovacímu zůstatku. - -![Billing pane](/img/New-Billing-Pane.png) - -> Poznámka: úplné pokyny pro přidání GRT k vyúčtování naleznete na [oficiální stránce vyúčtování](../billing.mdx). +> Poznámka: další informace o plánech a o správě účtování v Podgraf Studio najdete v [billing documentation](../billing). ### Zabezpečení klíče API @@ -110,13 +51,13 @@ Doporučuje se zabezpečit API omezením jeho používání dvěma způsoby 1. Autorizované podgrafy 2. Autorizovaná doména -Klíč API si můžete zajistit [zde](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Dotazování na podgraf v decentralizované síti -Nyní můžete zkontrolovat stav indexování indexátorů v síti v nástroji Graph Explorer (příklad [zde](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). Zelená čára nahoře znamená, že v době odeslání příspěvku 8 Indexerů úspěšně indexovalo daný podgraf. Na kartě Indexer můžete také vidět, které indexery podgraf zachytily. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,17 +85,17 @@ Další informace o povaze sítě a o tom, jak zacházet s re-orgy, jsou popsán ## Aktualizace podgrafu v síti -Pokud chcete aktualizovat existující podgraf v síti, můžete to provést nasazením nové verze podgrafu do Subgraph Studio pomocí Graph CLI. +Pokud chcete aktualizovat existující podgraf v síti, můžete to provést nasazením nové verze podgrafu do Podgraf Studio pomocí Graph CLI. -1. Proveďte změny v aktuálním podgrafu. Dobrým nápadem je otestovat malé opravy ve Studiu subgrafu zveřejněním v Goerli. +1. Proveďte změny v aktuálním podgrafu. 2. Nasaďte následující a v příkazu zadejte novou verzi (např. v0.0.1, v0.0.2 atd.): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Otestujte novou verzi ve Studiu Subgraph dotazem na hřišti. -4. Publish the new version on The Graph Network. Remember that this requires gas (as described in the section above). +3. Otestujte novou verzi v Podgraf Studio dotazem na hřišti +4. Zveřejněte novou verzi v síti Graf. Nezapomeňte, že to vyžaduje plyn (jak je popsáno v části výše). ### Poplatek za aktualizaci vlastníka: Hluboký ponor @@ -180,7 +121,7 @@ Subgrafy jsou otevřená rozhraní API, která využívají externí vývojáři ### Aktualizace metadat podgrafu -Metadata dílčích grafů můžete aktualizovat, aniž byste museli publikovat novou verzi. Metadata zahrnují název podgrafu, obrázek, popis, adresu URL webové stránky, adresu URL zdrojového kódu a kategorie. Vývojáři tak mohou učinit aktualizací podrobností o podgrafu v aplikaci Subgraph Studio, kde lze upravit všechna příslušná pole. +Metadata dílčích grafů můžete aktualizovat, aniž byste museli publikovat novou verzi. Metadata zahrnují název podgrafu, obrázek, popis, adresu URL webové stránky, adresu URL zdrojového kódu a kategorie. Vývojáři tak mohou učinit aktualizací podrobností o podgrafu v Podgraf Studio, kde lze upravit všechna příslušná pole. Ujistěte se, že je zaškrtnuto políčko **Aktualizovat podrobnosti subgrafu v Průzkumníku**, a klikněte na tlačítko **Uložit**. Pokud je tato možnost zaškrtnuta, bude vygenerována řetězová transakce, která aktualizuje podrobnosti subgrafu v Průzkumníku, aniž by bylo nutné publikovat novou verzi s novým nasazením. @@ -201,23 +142,13 @@ Postupujte podle pokynů [zde](/managing/deprecating-a-subgraph), abyste svůj p Hostovaná služba byla vytvořena tak, aby umožnila vývojářům nasazovat své podgrafy bez jakýchkoli omezení. -Aby byla síť Grafu skutečně decentralizovaná, musí se poplatky za dotazy platit jako základní součást pobídek protokolu. Další informace o přihlašování k API a placení poplatků za dotazy najdete v dokumentaci k účtování [zde](/billing/). - -### Odhad poplatků za dotazy v síti - -Ačkoli se nejedná o živou funkci v uživatelském rozhraní produktu, můžete si nastavit maximální rozpočet na dotaz tak, že vezmete částku, kterou jste ochotni zaplatit za měsíc, a vydělíte ji očekávaným objemem dotazů. - -Rozpočet na dotazy sice určujete vy, ale není zaručeno, že indexátor bude ochoten dotazy za tuto cenu obsloužit. Pokud vás brána může spojit s indexátorem, který je ochoten obsloužit dotaz za cenu, kterou jste ochotni zaplatit, nebo nižší, zaplatíte deltu/rozdíl mezi vaším rozpočtem **a** jeho cenou. Nižší cena dotazu proto snižuje počet indexátorů, které máte k dispozici, což může ovlivnit kvalitu služby, kterou obdržíte. Je výhodné mít vysoké ceny dotazů, protože to může přilákat kurátory a indexátory velkých jmen do vašeho podgrafu. - -Nezapomeňte, že jde o dynamický a rostoucí trh, ale to, jak s ním budete komunikovat, je ve vaší režii. V protokolu ani v bránách není stanovena žádná maximální ani minimální cena. Níže se můžete podívat například na cenu, kterou platí několik dapů v síti (na týdenní bázi). Viz poslední sloupec, který ukazuje poplatky za dotazování v GRT. - -![QueryFee](/img/QueryFee.png) +V síti Graf jsou poplatky za dotazy hlavní součástí pobídek protokolu. Další informace o přihlášení k API a placení poplatků za dotazy najdete v dokumentaci k účtování [zde](/billing/). ## Další zdroje Pokud jste stále zmateni, nebojte se! Podívejte se na následující zdroje nebo se podívejte na našeho videoprůvodce upgradem subgrafů na decentralizovanou síť níže: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From 9dff39b37776a9b7350ebd2b670eb63d91725fe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:24 -0400 Subject: [PATCH 1000/2326] New translations upgrading-a-subgraph.mdx (German) --- .../de/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/de/cookbook/upgrading-a-subgraph.mdx b/website/pages/de/cookbook/upgrading-a-subgraph.mdx index 69b6b45e252c..f1b757e9942a 100644 --- a/website/pages/de/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/de/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### Prerequisites -- Sie haben bereits einen Subgrafen auf dem gehosteten Dienst bereitgestellt. -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Get the latest version of the graph-cli installed: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. Authentifizieren Sie den Subgrafen im Hauptprojekt-Repository des Subgrafen, um ihn im Studio bereitzustellen und zu erstellen: - -```sh -graph auth --studio -``` - -3. Generate files and build the subgraph: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. An diesem Punkt wird Ihr Subgraf jetzt auf Subgraph Studio bereitgestellt, aber noch nicht im dezentralen Netzwerk veröffentlicht. Sie können jetzt den Subgrafen testen, um sicherzustellen, dass es wie beabsichtigt funktioniert, indem Sie die temporäre Abfrage-URL verwenden, die oben in der rechten Spalte zu sehen ist. Wie der Name schon sagt, ist dies eine temporäre URL und sollte nicht in der Produktion verwendet werden. - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Veröffentlichen Sie den Subgrafen im dezentralen Netzwerk von The Graph, indem Sie auf die Schaltfläche „Veröffentlichen“ klicken. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Erstellen Sie einen API-Schlüssel @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -At the end of each week, an invoice will be generated based on the query fees that have been incurred during this period. This invoice will be paid automatically using the GRT available in your balance. Your balance will be updated after the cost of your query fees are withdrawn. Query fees are paid in GRT via the Arbitrum network. You will need to add GRT to the Arbitrum billing contract to enable your API key via the following steps: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Purchase GRT on an exchange of your choice. -- Send the GRT to your wallet. -- Klicken Sie auf der Abrechnungsseite in Studio auf GRT hinzufügen. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Follow the steps to add your GRT to your billing balance. -- Your GRT will be automatically bridged to the Arbitrum network and added to your billing balance. - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Securing your API key @@ -110,13 +51,13 @@ Es wird empfohlen, die API zu sichern, indem Sie ihre Verwendung auf zwei Arten 1. Autorisierte Subgrafen 2. Autorisierte Domäne -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Abfragen Ihres Subgrafen im dezentralen Netzwerk -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Make changes to your current subgraph. A good idea is to test small fixes on the Subgraph Studio by publishing to Goerli. +1. Make changes to your current subgraph. 2. Deploy the following and specify the new version in the command (eg. v0.0.1, v0.0.2, etc): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Test the new version in the Subgraph Studio by querying in the playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publish the new version on The Graph Network. Remember that this requires gas (as described in the section above). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### Updating the Metadata of a Subgraph -You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in the Subgraph Studio where you can edit all applicable fields. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### Estimate Query Fees on the Network - -While this is not a live feature in the product UI, you can set your maximum budget per query by taking the amount you're willing to pay per month and dividing it by your expected query volume. - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -Remember that it's a dynamic and growing market, but how you interact with it is in your control. There is no maximum or minimum price specified in the protocol or the Gateways. For example, you can look at the price paid by a few of the dapps on the network (on a per-week basis), below. See the last column, which shows query fees in GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Additional Resources If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From ba926515b2dee296c10b2a450c5f5d2057460594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:25 -0400 Subject: [PATCH 1001/2326] New translations upgrading-a-subgraph.mdx (Italian) --- .../it/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/it/cookbook/upgrading-a-subgraph.mdx b/website/pages/it/cookbook/upgrading-a-subgraph.mdx index bf834e310208..60165285850e 100644 --- a/website/pages/it/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/it/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### Prerequisites -- You have already deployed a subgraph on the hosted service. -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Get the latest version of the graph-cli installed: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. Inside the subgraph's main project repository, authenticate the subgraph to deploy and build on the studio: - -```sh -graph auth --studio -``` - -3. Generate files and build the subgraph: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. At this point, your subgraph is now deployed on Subgraph Studio, but not yet published to the decentralized network. You can now test the subgraph to make sure it is working as intended using the temporary query URL as seen on top of the right column above. As this name already suggests, this is a temporary URL and should not be used in production. - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publish the subgraph on The Graph's decentralized network by hitting the "Publish" button. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Create an API key @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -At the end of each week, an invoice will be generated based on the query fees that have been incurred during this period. This invoice will be paid automatically using the GRT available in your balance. Your balance will be updated after the cost of your query fees are withdrawn. Query fees are paid in GRT via the Arbitrum network. You will need to add GRT to the Arbitrum billing contract to enable your API key via the following steps: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Purchase GRT on an exchange of your choice. -- Send the GRT to your wallet. -- On the Billing page in Studio, click on Add GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Follow the steps to add your GRT to your billing balance. -- Your GRT will be automatically bridged to the Arbitrum network and added to your billing balance. - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Securing your API key @@ -110,13 +51,13 @@ It is recommended that you secure the API by limiting its usage in two ways: 1. Authorized Subgraphs 2. Authorized Domain -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Querying your subgraph on the decentralized network -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Make changes to your current subgraph. A good idea is to test small fixes on the Subgraph Studio by publishing to Goerli. +1. Make changes to your current subgraph. 2. Deploy the following and specify the new version in the command (eg. v0.0.1, v0.0.2, etc): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Test the new version in the Subgraph Studio by querying in the playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publish the new version on The Graph Network. Remember that this requires gas (as described in the section above). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### Updating the Metadata of a Subgraph -You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in the Subgraph Studio where you can edit all applicable fields. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### Estimate Query Fees on the Network - -While this is not a live feature in the product UI, you can set your maximum budget per query by taking the amount you're willing to pay per month and dividing it by your expected query volume. - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -Remember that it's a dynamic and growing market, but how you interact with it is in your control. There is no maximum or minimum price specified in the protocol or the Gateways. For example, you can look at the price paid by a few of the dapps on the network (on a per-week basis), below. See the last column, which shows query fees in GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Additional Resources If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From 2ebdedf0fe0cf5da7a1c9c34e085be76bb3d15c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:26 -0400 Subject: [PATCH 1002/2326] New translations upgrading-a-subgraph.mdx (Japanese) --- .../ja/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/ja/cookbook/upgrading-a-subgraph.mdx b/website/pages/ja/cookbook/upgrading-a-subgraph.mdx index 831288f0a548..fc1b71f8c0a2 100644 --- a/website/pages/ja/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/ja/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ title: 既存のサブグラフをThe Graph Networkにアップグレードす ### 前提条件 -- 私はすでにホストされたサービスにサブグラフを展開しました -- このサブグラフは、グラフ・ネットワークで利用可能なチェーンのインデックスとして機能します。 -- サブグラフをチェーン上に公開するためのETHを持つウォレットがあります。 -- インデクサーがインデックス作業を開始できるように、サブグラフをキュレートするために約10,000 GRTを持っています。 +- You have a subgraph deployed on the hosted service. ## 既存のサブグラフをThe Graph Networkにアップグレードする方法 -> あなたのサブグラフに特定のコマンドを見つけることができます。[Subgraph Studio](https://thegraph.com/studio/) をご覧ください。 + -1. 最新版の graph-cli をインストールする: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Subgraph.yamlの 'apiVersion' が '0.0.5' 以上であることを確認してください。 - -2. メイン・プロジェクトのサブグラフ・リポジトリ内で、スタジオ上でデプロイとビルドを行うためにサブグラフを認証します。 - -```sh -graph auth --studio -``` - -3. ファイルを生成し、サブグラフをビルドする: - -```sh -graph codegen && graph build -``` - -もしサブグラフにビルドエラーがある場合、[AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/) を参照してください。 - -4. ウォレットで[Subgraph Studio](https://thegraph.com/studio/)にサインインし、サブグラフをデプロイしてください。サブグラフの名前に基づく\は、Studio UIで見つけることができます。 - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Studioのプレイグラウンドでクエリをテストしてください。以下は、[Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground) のためのいくつかの例です。 +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. この時点で、サブグラフはSubgraph Studio上にデプロイされましたが、分散ネットワークにはまだ公開されていません。サブグラフが意図したとおりに動作しているか、右上の一時的なクエリURLを用いてテストすることができます。この名前が示すように、これは一時的なURLであり、実運用に使用すべきではありません。 - -- アップデートは、既存のサブグラフの別のバージョンをチェーン上に公開するだけです。 -- これにはコストがかかるため、公開する前に「開発クエリURL」を使用してSubgraph Studioでサブグラフをデプロイおよびテストすることを強くお勧めします。 [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b) でトランザクションの例をご覧ください。価格はおおよそ100 gweiで0.0425 ETH程度です。 -- サブグラフを更新する必要があるたびに、更新料が請求されます。これにはコストがかかるため、メインネットにデプロイする前にサブグラフをGoerliでデプロイしてテストすることを強くお勧めします。場合によっては、そのサブグラフにシグナルがない場合でも、一部のGRTが必要になることもあります。サブグラフバージョンにシグナル/キュレーションがある場合(自動移行を使用)、料金は分割されます。 +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. 「Publish」ボタンを押して、サブグラフをThe Graphの分散型ネットワーク上に公開する。 +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -インデクサーによるインデックス作成が行われるよう、サブグラフをGRTでキュレーションすることをお勧めします。ガスコストを節約するためには、サブグラフをネットワークに公開する同じトランザクションでキュレーションを行うことができます。高品質なサービスを提供するために、少なくとも10,000 GRTでサブグラフをキュレーションすることをおすすめします。 +### What next? -以上です!公開が完了すると、[The Graph Explorer](https://thegraph.com/explorer) を介して分散型ネットワーク上でサブグラフをライブで表示することができます。 +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Discord の [#Curators channel](https://discord.gg/s5HfGMXmbW) を自由に活用して、サブグラフが通知される準備ができていることをキュレーターに知らせてください。 また、予想されるクエリ量を共有していただけると助かります。 したがって、サブグラフ上でどの程度の GRT を通知するかを推定できます。 +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### APIキーの作成 @@ -88,20 +40,9 @@ Subgraph StudioでAPIキーを生成するには、[here](https://thegraph.com/s ![API key creation page](/img/api-image.png) -毎週末に、その期間に発生したクエリフィーに基づいて請求書が作成されます。この請求書は、お客様の残高にあるGRTを使用して自動的に支払われます。クエリ費用が引き落とされた後、残高が更新されます。クエリフィーは、ポリゴンネットワークを経由してGRTで支払われます。APIキーを有効にするには、以下の手順でPolygonの課金契約にGRTを追加する必要があります。 +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- ご希望の取引所でGRTをご購入ください。 -- GRT をウォレットに送る. -- StudioのBillingページで「Add GRT」をクリックします。 - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- 手順に沿って、GRTを課金バランスに追加してください。 -- GRTは自動的にArbitrumのネットワークにブリッジされ、課金バランスに加算されます。 - -![Billing pane](/img/New-Billing-Pane.png) - -> 注意: GRTを請求残高に追加するための詳細な手順については、[official billing page](../billing.mdx)をご覧ください。 +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### APIキーの確保 @@ -110,13 +51,13 @@ APIは2つの方法で利用を制限し、セキュリティを確保するこ 1. オーソライズド・サブグラフ 2. オーソライズド・ドメイン -APIキーを保護するには、[here](https://thegraph.com/studio/apikeys/test/)をクリックしてください。 +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### 分散ネットワーク上の自分のサブグラフをクエリ -これで、ネットワーク上のIndexersのインデックス作成状況をグラフエクスプローラで確認できます(example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers))。上部の緑の線は、投稿時に8つのインデクサーがそのサブグラフのインデックス付けに成功したことを示します。また、Indexerタブでは、どのインデクサーがあなたのサブグラフをピックアップしたかを見ることができます。 +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ APIキーを保護するには、[here](https://thegraph.com/studio/apikeys/test ## ネットワーク上のサブグラフの更新 -ネットワーク上の既存のサブグラフを更新したい場合、Graph CLIを使用して新しいバージョンのサブグラフをSubgraph Studioにデプロイすることで行えます。 +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. 現在のサブグラフに変更を加える。Goerliに公開してSubgraph Studio上で小さな修正をテストするのが良いアイデアでしょう。 +1. Make changes to your current subgraph. 2. 以下のようにデプロイし、コマンドに新しいバージョンを指定します(例:v0.0.1、v0.0.2 など)。 ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Subgraph Studio のプレイグラウンドでクエリを実行し、新バージョンをテストします。 +3. Test the new version in Subgraph Studio by querying in the playground 4. 新しいバージョンを The Graph Network で公開します。これにはガスが必要であることを忘れてはなりません(上のセクションで説明)。 ### 所有者更新料金: 詳細 @@ -180,7 +121,7 @@ _このメカニズムは現在ネットワーク上で稼働していますが ### サブグラフのメタデータの更新 -新しいバージョンを公開しなくても、サブグラフのメタデータを更新できます。メタデータには、サブグラフ名、画像、説明、Web サイトの URL、ソース コードの URL、およびカテゴリが含まれます。開発者は、該当するすべてのフィールドを編集できる Subgraph Studio でサブグラフの詳細を更新することで、これを行うことができます。 +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. **エクスプローラーでサブグラフの詳細を更新** がチェックされていることを確認し、**保存** をクリックします。これがチェックされている場合、新しいデプロイメントで新しいバージョンを公開することなく、エクスプローラー内のサブグラフの詳細を更新するオンチェーン トランザクションが生成されます。 @@ -201,23 +142,13 @@ _このメカニズムは現在ネットワーク上で稼働していますが ホストされたサービスは、開発者が制限なしでサブグラフをデプロイできるように設定されました。 -The Graph Network が真に分散化されるためには、プロトコルのインセンティブの中核部分としてクエリ料金を支払う必要があります。 API のサブスクライブとクエリ料金の支払いの詳細については、請求に関するドキュメントを[here](/billing/) で確認してください。 - -### ネットワーク上でのクエリ料の算出 - -これは製品 UI のライブ機能ではありませんが、1 か月に支払ってもよい金額を予想クエリ量で割ることで、クエリごとの最大予算を設定できます。 - -クエリの予算はあなたが決定することができますが、その価格でクエリを提供するインデクサーが用意されているとは限りません。ゲートウェイが、あなたが支払いたい価格以上でクエリを提供する意思のあるインデクサーに一致させる場合、あなたは予算と彼らの価格の差額を支払うことになります。その結果、より低いクエリ価格は利用可能なインデクサーのプールを減少させ、受け取るサービスの品質に影響を与える可能性があります。高いクエリ料金を持つことは有益であり、それによってキュレーションや有名なインデクサーがあなたのサブグラフに興味を持つかもしれません。 - -これはダイナミックで成長中の市場ですが、どのように関わるかは自分でコントロールできることを忘れないでください。プロトコルにもゲートウェイにも、上限や下限の価格は指定されていません。例えば、ネットワーク上のいくつかのdappsが支払う価格(週単位)を以下に示します。最後の列はGRTでのクエリ料を示していますのでご覧ください。例えば、Pickle Financeは1秒あたり回のリクエストがあり、1週間でGRTを支払っています。 - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## その他のリソース まだ混乱している場合でも、心配する必要はありません。次のリソースを確認するか、以下の分散ネットワークへのサブグラフのアップグレードに関するビデオ ガイドをご覧ください。 - + - [グラフネットワーク契約](https://github.com/graphprotocol/contracts) - [キュレーションコントラクト](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - GNSがラップする基礎となるコントラクト From b7de818e6d9298ee3d58259aa14155b51f4a312a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:27 -0400 Subject: [PATCH 1003/2326] New translations upgrading-a-subgraph.mdx (Korean) --- .../ko/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/ko/cookbook/upgrading-a-subgraph.mdx b/website/pages/ko/cookbook/upgrading-a-subgraph.mdx index ff1ab368c0fa..5502b16d9288 100644 --- a/website/pages/ko/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/ko/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### Prerequisites -- You have already deployed a subgraph on the hosted service. -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Get the latest version of the graph-cli installed: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. Inside the subgraph's main project repository, authenticate the subgraph to deploy and build on the studio: - -```sh -graph auth --studio -``` - -3. Generate files and build the subgraph: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. At this point, your subgraph is now deployed on Subgraph Studio, but not yet published to the decentralized network. You can now test the subgraph to make sure it is working as intended using the temporary query URL as seen on top of the right column above. As this name already suggests, this is a temporary URL and should not be used in production. - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publish the subgraph on The Graph's decentralized network by hitting the "Publish" button. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Create an API key @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -At the end of each week, an invoice will be generated based on the query fees that have been incurred during this period. This invoice will be paid automatically using the GRT available in your balance. Your balance will be updated after the cost of your query fees are withdrawn. Query fees are paid in GRT via the Arbitrum network. You will need to add GRT to the Arbitrum billing contract to enable your API key via the following steps: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Purchase GRT on an exchange of your choice. -- Send the GRT to your wallet. -- On the Billing page in Studio, click on Add GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Follow the steps to add your GRT to your billing balance. -- Your GRT will be automatically bridged to the Arbitrum network and added to your billing balance. - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Securing your API key @@ -110,13 +51,13 @@ It is recommended that you secure the API by limiting its usage in two ways: 1. Authorized Subgraphs 2. Authorized Domain -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Querying your subgraph on the decentralized network -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Make changes to your current subgraph. A good idea is to test small fixes on the Subgraph Studio by publishing to Goerli. +1. Make changes to your current subgraph. 2. Deploy the following and specify the new version in the command (eg. v0.0.1, v0.0.2, etc): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Test the new version in the Subgraph Studio by querying in the playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publish the new version on The Graph Network. Remember that this requires gas (as described in the section above). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### Updating the Metadata of a Subgraph -You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in the Subgraph Studio where you can edit all applicable fields. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### Estimate Query Fees on the Network - -While this is not a live feature in the product UI, you can set your maximum budget per query by taking the amount you're willing to pay per month and dividing it by your expected query volume. - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -Remember that it's a dynamic and growing market, but how you interact with it is in your control. There is no maximum or minimum price specified in the protocol or the Gateways. For example, you can look at the price paid by a few of the dapps on the network (on a per-week basis), below. See the last column, which shows query fees in GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Additional Resources If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From ba511d465056ad61a1e32b3cd28d9e44c3fc4152 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:28 -0400 Subject: [PATCH 1004/2326] New translations upgrading-a-subgraph.mdx (Dutch) --- .../nl/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/nl/cookbook/upgrading-a-subgraph.mdx b/website/pages/nl/cookbook/upgrading-a-subgraph.mdx index ff1ab368c0fa..5502b16d9288 100644 --- a/website/pages/nl/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/nl/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### Prerequisites -- You have already deployed a subgraph on the hosted service. -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Get the latest version of the graph-cli installed: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. Inside the subgraph's main project repository, authenticate the subgraph to deploy and build on the studio: - -```sh -graph auth --studio -``` - -3. Generate files and build the subgraph: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. At this point, your subgraph is now deployed on Subgraph Studio, but not yet published to the decentralized network. You can now test the subgraph to make sure it is working as intended using the temporary query URL as seen on top of the right column above. As this name already suggests, this is a temporary URL and should not be used in production. - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publish the subgraph on The Graph's decentralized network by hitting the "Publish" button. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Create an API key @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -At the end of each week, an invoice will be generated based on the query fees that have been incurred during this period. This invoice will be paid automatically using the GRT available in your balance. Your balance will be updated after the cost of your query fees are withdrawn. Query fees are paid in GRT via the Arbitrum network. You will need to add GRT to the Arbitrum billing contract to enable your API key via the following steps: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Purchase GRT on an exchange of your choice. -- Send the GRT to your wallet. -- On the Billing page in Studio, click on Add GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Follow the steps to add your GRT to your billing balance. -- Your GRT will be automatically bridged to the Arbitrum network and added to your billing balance. - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Securing your API key @@ -110,13 +51,13 @@ It is recommended that you secure the API by limiting its usage in two ways: 1. Authorized Subgraphs 2. Authorized Domain -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Querying your subgraph on the decentralized network -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Make changes to your current subgraph. A good idea is to test small fixes on the Subgraph Studio by publishing to Goerli. +1. Make changes to your current subgraph. 2. Deploy the following and specify the new version in the command (eg. v0.0.1, v0.0.2, etc): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Test the new version in the Subgraph Studio by querying in the playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publish the new version on The Graph Network. Remember that this requires gas (as described in the section above). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### Updating the Metadata of a Subgraph -You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in the Subgraph Studio where you can edit all applicable fields. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### Estimate Query Fees on the Network - -While this is not a live feature in the product UI, you can set your maximum budget per query by taking the amount you're willing to pay per month and dividing it by your expected query volume. - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -Remember that it's a dynamic and growing market, but how you interact with it is in your control. There is no maximum or minimum price specified in the protocol or the Gateways. For example, you can look at the price paid by a few of the dapps on the network (on a per-week basis), below. See the last column, which shows query fees in GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Additional Resources If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From 41e55c93a97724e15beeb64cabe43e63cf46b27b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:28 -0400 Subject: [PATCH 1005/2326] New translations upgrading-a-subgraph.mdx (Polish) --- .../pl/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/pl/cookbook/upgrading-a-subgraph.mdx b/website/pages/pl/cookbook/upgrading-a-subgraph.mdx index ff1ab368c0fa..5502b16d9288 100644 --- a/website/pages/pl/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/pl/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### Prerequisites -- You have already deployed a subgraph on the hosted service. -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Get the latest version of the graph-cli installed: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. Inside the subgraph's main project repository, authenticate the subgraph to deploy and build on the studio: - -```sh -graph auth --studio -``` - -3. Generate files and build the subgraph: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. At this point, your subgraph is now deployed on Subgraph Studio, but not yet published to the decentralized network. You can now test the subgraph to make sure it is working as intended using the temporary query URL as seen on top of the right column above. As this name already suggests, this is a temporary URL and should not be used in production. - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publish the subgraph on The Graph's decentralized network by hitting the "Publish" button. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Create an API key @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -At the end of each week, an invoice will be generated based on the query fees that have been incurred during this period. This invoice will be paid automatically using the GRT available in your balance. Your balance will be updated after the cost of your query fees are withdrawn. Query fees are paid in GRT via the Arbitrum network. You will need to add GRT to the Arbitrum billing contract to enable your API key via the following steps: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Purchase GRT on an exchange of your choice. -- Send the GRT to your wallet. -- On the Billing page in Studio, click on Add GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Follow the steps to add your GRT to your billing balance. -- Your GRT will be automatically bridged to the Arbitrum network and added to your billing balance. - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Securing your API key @@ -110,13 +51,13 @@ It is recommended that you secure the API by limiting its usage in two ways: 1. Authorized Subgraphs 2. Authorized Domain -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Querying your subgraph on the decentralized network -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Make changes to your current subgraph. A good idea is to test small fixes on the Subgraph Studio by publishing to Goerli. +1. Make changes to your current subgraph. 2. Deploy the following and specify the new version in the command (eg. v0.0.1, v0.0.2, etc): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Test the new version in the Subgraph Studio by querying in the playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publish the new version on The Graph Network. Remember that this requires gas (as described in the section above). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### Updating the Metadata of a Subgraph -You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in the Subgraph Studio where you can edit all applicable fields. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### Estimate Query Fees on the Network - -While this is not a live feature in the product UI, you can set your maximum budget per query by taking the amount you're willing to pay per month and dividing it by your expected query volume. - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -Remember that it's a dynamic and growing market, but how you interact with it is in your control. There is no maximum or minimum price specified in the protocol or the Gateways. For example, you can look at the price paid by a few of the dapps on the network (on a per-week basis), below. See the last column, which shows query fees in GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Additional Resources If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From c1df8ccd4dcb680b7829180203ef08c59a767b46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:29 -0400 Subject: [PATCH 1006/2326] New translations upgrading-a-subgraph.mdx (Portuguese) --- .../pt/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/pt/cookbook/upgrading-a-subgraph.mdx b/website/pages/pt/cookbook/upgrading-a-subgraph.mdx index f0801bcb3e29..1b261e0faf75 100644 --- a/website/pages/pt/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/pt/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ O processo é rápido, e os seus subgraphs só tem a ganhar com a confiabilidade ### Pré-requisitos -- Já lançaste um subgraph no serviço hospedado. -- O subgraph está a indexar uma chain disponível na The Graph Network. -- Tens uma carteira com ETH para publicar o seu subgraph on-chain. -- Tens cerca de 10 mil GRT para curar o seu subgraph para que Indexadores possam começar a indexá-lo. +- You have a subgraph deployed on the hosted service. ## Como Atualizar um Subgraph Existente à Graph Network -> Encontre comandos específicos para o seu subgraph no [Subgraph Studio](https://thegraph.com/studio/). + -1. Instale a versão mais recente do graph-cli: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Verifique se o seu `apiVersion` no subgraph.yaml está na versão 0.0.5 ou maior. - -2. No repositório principal do subgraph, autentique o subgraph para lançar e construir no Studio: - -```sh -graph auth --studio -``` - -3. Gere arquivos e construa o subgraph: - -```sh -graph codegen && graph build -``` - -Se o seu subgraph tiver erros de build, refira ao [Guia de Migração em AssemblyScript](/release-notes/assemblyscript-migration-guide/). - -4. Entre no [Subgraph Studio](https://thegraph.com/studio/) com a sua carteira e lance o subgraph. O seu `` está no UI do Studio, baseado no nome do seu subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Teste queries no playground do Studio. Aqui estão alguns exemplos para o [Sushi - Subraph de Trocas na Mainnet](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. Agora, seu subgraph já está lançado no Subgraph Studio, mas ainda não foi publicado na rede descentralizada. Agora é possível testar o subgraph para garantir que ele funciona como deve, com o uso do URL temporário de consulta como visto no topo da coluna acima. Como este nome já sugere, este é um URL temporário e não deve ser usado na produção. - -- Atualizar é apenas editar outra versão on-chain do seu subgraph existente. -- Como isto incorre um custo, recomendamos muito enviar e testar o seu subgraph no Subgraph Studio, com o uso da "URL de Query de Desenvolvimento" antes da edição. Veja um exemplo de transação [aqui](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Os preços giram em torno de 0.0425 ETH em 100 gwei. -- Sempre que precisar atualizar o seu subgraph, será cobrada uma taxa de atualização. Como isto incorre em um custo, é altamente recomendado lançar e testar seu subgraph no Goerli antes de lançar na mainnet. Isto pode, em alguns casos, exigir um pouco de GRT caso não haja sinal naquele subgraph. Se houver um sinal/curadoria naquela versão do subgraph (usando a automigração), as taxas serão divididas. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publique o subgraph na rede descentralizada do The Graph com um clique no botão "Publish" (Publicar). +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -O seu subgraph deve ser curado com GRT para garantir que ele seja indexado por Indexadores. Para poupar custos em gas, dá para curar o seu subgraph na mesma transação em que o editou à rede. É recomendado curar o seu subgraph com pelo menos 10.000 GRT para mais qualidade de serviço. +### What next? -Pronto! Após terminar de editar, seus subgraphs poderão ser visualizados ao vivo na rede descentralizada, através do [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Use o [canal #Curators](https://discord.gg/s5HfGMXmbW) no Discord à vontade para avisar aos Curadores que o seu subgraph está pronto para ser sinalizado. Também sugerimos compartilhar o seu volume esperado de consulta com eles. Assim, eles podem estimar quanto GRT devem sinalizar no seu subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Como criar uma chave API @@ -88,20 +40,9 @@ Use o [canal #Curators](https://discord.gg/s5HfGMXmbW) no Discord à vontade par ![Página de criação de chave API](/img/api-image.png) -Ao fim de toda semana, um recibo será gerado baseado nas taxas de query acumuladas durante este período. Este recibo será pago automaticamente com o GRT disponível em seu saldo. Seu saldo será atualizado após o saque do custo das suas taxas de query. As taxas de query são pagas em GRT através da rede Arbitrum. É necessário adicionar GRT ao contrato de cobrança do Arbitrum para ativar sua chave API através dos seguintes passos: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Compre GRT em uma exchange da sua escolha. -- Envie o GRT à sua carteira. -- Na página Billing (Cobrança) no Studio, clique em Add GRT (Adicionar GRT). - -![Adição de GRT na cobrança](/img/Add-GRT-New-Page.png) - -- Siga os passos para adicionar o seu GRT ao saldo de cobrança. -- Seu GRT será automaticamente ligado à rede Arbitrum e adicionado ao seu saldo de cobrança. - -![Painel de cobrança](/img/New-Billing-Pane.png) - -> Nota: confira a [página oficial de cobrança](../billing.mdx) para instruções completas sobre como adicionar GRT ao seu saldo de cobrança. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Como proteger a sua chave API @@ -110,13 +51,13 @@ Ao fim de toda semana, um recibo será gerado baseado nas taxas de query acumula 1. Subgraphs Autorizados 2. Domínio Autorizado -A sua chave API pode ser assegurada aqui: [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Página de trancamento de subgraphs](/img/subgraph-lockdown.png) ### Como consultar o seu subgraph na rede descentralizada -Agora é possível verificar o estado dos Indexers da rede no Graph Explorer (exemplo [aqui](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)).. A linha verde no topo indica que na hora da postagem, 8 Indexadores indexaram aquele subgraph com sucesso. Na aba Indexer, dá para ver quais Indexadores captaram seu subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Subgraph do Rocket Pool](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ Veja mais informações sobre a rede, e como lidar com reorganizações, no arti ## Como Atualizar um Subgraph na Rede -Caso queira atualizar um subgraph já existente na rede, isto é possível ao lançar uma nova versão do seu subgraph ao Subgraph Studio, através do Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Faça alterações no seu subgraph atual. É bom testar pequenos consertos no Subgraph Studio com publicações no Goerli. +1. Make changes to your current subgraph. 2. Lance o seguinte e especifique a nova versão no comando (por ex. v0.0.1, v0.0.2, etc.): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Teste a nova versão no Subgraph Studio com queries no playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publique a nova versão na rede do The Graph. Não esqueça que isto exige gas (como descrito acima). ### Sobre as Taxas de Upgrade para o Dono @@ -180,7 +121,7 @@ Subgraphs são APIs abertas usadas por programadores externos. As APIs abertas d ### Como Atualizar os Metadados de um Subgraph -Os metadados dos seus subgraphs podem ser atualizados sem precisar publicar uma versão nova. Os metadados incluem o nome do subgraph, a imagem, a descrição, o URL do site, o URL do código fonte, e categorias. Os programadores podem fazê-lo a atualizar os detalhes dos seus subgraphs no Subgraph Studio, onde todos os campos aplicáveis podem ser editados. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Marque a opção **Update Subgraph Details in Explorer\* (Atualizar Detalhes do Subgraph no Explorador) e clique em **Save\*\* (Salvar). Se marcada, será gerada uma transação on-chain que atualiza detalhes do subgraph no Explorer, sem precisar publicar uma nova versão com um novo lançamento. @@ -201,23 +142,13 @@ Siga os passos [aqui](/managing/deprecating-a-subgraph) para depreciar o seu sub O Serviço Hospedado foi preparado para que os programadores lancem os seus subgraphs sem qualquer restrição. -Para que a The Graph Network seja descentralizada, é necessário pagar taxas de query como uma parte essencial dos incentivos do protocolo. Para saber mais sobre subscrições em APIs e pagamentos de taxas de query, confira a documentação das cobranças: [here](/billing/). - -### Estimação de Taxas de Query na Rede - -Atualmente isto não está disponível na interface do produto, mas seu orçamento máximo por query pode ser determinado ao dividir a quantidade que deseja pagar por mês pelo volume esperado de consultas. - -Enquanto podes decidir seu orçamento de consultas, não há garantia que um Indexador poderá servir queries naquele preço. Se um Gateway puder conectar-te com um Indexador disposto a servir uma query ao preço em que deseja pagar ou menos, será necessário pagar a delta/diferença do seu orçamento **e** o preço dele. Portanto, um preço menor de query reduz o pool de Indexadores disponíveis para ti, que pode afetar a qualidade do serviço que recebes. É bom ter taxas altas de query, pois isto pode atrair curação e Indexadores de renome ao seu subgraph. - -Lembre-se que este é um mercado dinâmico e emergente, mas como interages com ele só depende de ti. Não há especificações de preço máximo ou mínimo, no protocolo ou nos Gateways. Por exemplo, podes olhar o preço pago por alguns dos dapps na rede (numa base semanal) abaixo. Veja a última coluna, que mostra taxas de query em GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Outros Recursos Se ainda tem dúvidas, não tem problema! Confira os seguintes recursos ou assista o nosso guia em vídeo sobre atualizar e migrar subgraphs à rede descentralizada abaixo: - + - [Contratos da Graph Network](https://github.com/graphprotocol/contracts) - [Contrato de Curadoria](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - o contrato subjacente em qual o GNS se revolve From 5a549172c7aca6be9a145c6068f4eb40bb6e4003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:30 -0400 Subject: [PATCH 1007/2326] New translations upgrading-a-subgraph.mdx (Russian) --- .../ru/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/ru/cookbook/upgrading-a-subgraph.mdx b/website/pages/ru/cookbook/upgrading-a-subgraph.mdx index 06db59c4239e..99b079b53900 100644 --- a/website/pages/ru/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/ru/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### Предварительные требования -- Вы уже разместили подграф на базе hosted service. -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Установите последнюю версию graph-cli: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. Внутри основного репозитория проекта в подграфе выполните аутентификацию подграфа для развертывания и сборки в studio: - -```sh -graph auth --studio -``` - -3. Сгенерируйте файлы и создайте подграф: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. На данный момент ваш подграф теперь развернут в Subgraph Studio, но еще не опубликован в децентрализованной сети. Теперь вы можете протестировать подграф, чтобы убедиться, что он работает должным образом, используя временный URL-адрес запроса, как показано в верхней части правой колонки выше. Как уже следует из этого названия, это временный URL-адрес, и его не следует использовать в рабочей среде. - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Опубликуйте подграф в децентрализованной сети Graph, нажав кнопку "Publish". +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Создание API ключа @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -В конце каждой недели будет формироваться счет на основе сборов за запрос, которые были понесены за этот период. Этот счет будет оплачен автоматически с использованием GRT, имеющейся на вашем балансе. Ваш баланс будет обновлен после того, как будут сняты сборы за ваш запрос. Плата за запрос оплачивается в GRT через сеть Arbitrium. Вам нужно будет добавить GRT в биллинговый контракт Arbitrum'а, чтобы включить ваш API-ключ, выполнив следующие действия: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Приобретите GRT на бирже по своему выбору. -- Отправьте GRT на свой кошелек. -- На странице выставления счетов в Studio нажмите Add GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Следуйте инструкциям, чтобы добавить токен GRT к платежному балансу. -- Ваш GRT будет автоматически перенесен в сеть Arbitrum с помощью моста и добавлен к вашему платежному балансу. - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Обеспечение безопасности вашего API ключа @@ -110,13 +51,13 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi 1. Авторизованные подграфы 2. Авторизованный домен -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Запрос вашего подграфа в децентрализованной сети -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Внесите изменения в свой текущий подграф. Хорошая идея - протестировать небольшие исправления в Subgraph Studio, опубликовав их в сети Goerli. +1. Make changes to your current subgraph. 2. Задеплойте следующее и укажите новую версию в команде (например, v0.0.1, v0.0.2 и т. д.): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Протестируйте новую версию в Subgraph Studio, выполнив запрос на тестовой площадке +3. Test the new version in Subgraph Studio by querying in the playground 4. Опубликуйте новую версию в сети Graph. Помните, что для этого требуется газ (как описано в разделе выше). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### Обновление метаданных подграфа -Вы можете обновить метаданные своих подграфов без необходимости публиковать новую версию. Метаданные включают название подграфа, изображение, описание, URL веб-сайта, URL исходного кода и категории. Разработчики могут сделать это, обновив сведения о своих подграфах в Subgraph Studio, где вы можете редактировать все применимые поля. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### Оценка стоимости запросов в сети - -Хотя это не реализовано в пользовательском интерфейсе продукта, вы можете установить максимальный бюджет для каждого запроса, взяв сумму, которую вы готовы платить в месяц, и разделив ее на ожидаемый объем запроса. - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -Помните, что это динамичный и растущий рынок, но то, как вы с ним взаимодействуете, контролируется вами. В протоколе или Gateways нет максимальной или минимальной цены. Например, вы можете посмотреть на цену, которую платят несколько dapps в сети (на недельной основе), ниже. Смотрите последний столбец, где указана плата за запрос в GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Дополнительные источники If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From 37c2817191b7219bb230f9fe3833346deadba295 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:31 -0400 Subject: [PATCH 1008/2326] New translations upgrading-a-subgraph.mdx (Swedish) --- .../sv/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/sv/cookbook/upgrading-a-subgraph.mdx b/website/pages/sv/cookbook/upgrading-a-subgraph.mdx index 50a672295994..fc848cc59124 100644 --- a/website/pages/sv/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/sv/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ Processen att uppgradera är snabb och dina subgrafer kommer för alltid att dra ### Förutsättningar -- Du har redan distribuerat en subgraf på värdtjänsten. -- The subgraph is indexing a chain available on The Graph Network. -- Du har en plånbok hos ETH för att publicera din subgraf i kedjan. -- Du har ~10 000 GRT att kurera din subgraf så att indexerare kan börja indexera den. +- You have a subgraph deployed on the hosted service. ## Uppgradera en befintlig subgraf till The Graph Nätverk -> Du kan hitta specifika kommandon för din subgraf i [Subgraf Studio](https://thegraph.com/studio/). + -1. Få den senaste versionen av graph-cli installerad: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Se till att din `apiVersion` i subgraph.yaml är `0.0.5` eller högre. - -2. Inuti subgrafen: s huvud projektförråd, autentisera subgrafen för att distribuera och bygga på studion: - -```sh -graph auth --studio -``` - -3. Generera filer och bygg subgrafen: - -```sh -graph codegen && graph build -``` - -Om din subgraf har byggfel, se [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Logga in på [Subgraf Studio](https://thegraph.com/studio/) med din plånbok och distribuera subgrafen. Du kan hitta din `` i Studio UI, som baseras på namnet på din subgraf. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Testa frågor på Studions lekplats. Här är några exempel för [Sushi - Mainnet Exchange Subgraf](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. Vid det här laget är din subgraf nu distribuerad på Subgraf Studio, men ännu inte publicerad i det decentraliserade nätverket. Du kan nu testa subgrafen för att se till att den fungerar som avsett med hjälp av den tillfälliga sökadressen som visas överst i den högra kolumnen ovan. Som detta namn redan antyder är detta en tillfällig URL och bör inte användas i produktionen. - -- Uppdatering är bara att publicera en annan version av din befintliga subgraf i kedjan. -- Eftersom detta medför en kostnad rekommenderas det starkt att du distribuerar och testar din subgraf i Subgraph Studio, med hjälp av "Utvecklingsfrågans URL" innan du publicerar. Se ett exempel på transaktion[here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Priserna är ungefär runt 0,0425 ETH vid 100 gwei. -- Varje gång du behöver uppdatera din subgraf kommer du att debiteras en uppdateringsavgift. Eftersom detta medför en kostnad, rekommenderas det starkt att distribuera och testa din subgraf på Goerli innan du distribuerar till mainnet. Det kan i vissa fall också kräva viss GRT om det inte finns någon signal på den subgrafen. Om det finns signal/kuration på den subgrafversionen (med automigrera), kommer skatterna att delas upp. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publicera subgrafen på The Graph: s decentraliserade nätverk genom att trycka på knappen "Publicera". +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -Du bör kurera din subgraf med GRT för att säkerställa att den indexeras av indexerare. För att spara på gaskostnaderna kan du kurera din subgraf i samma transaktion som du publicerar den i nätverket. Det rekommenderas att kurera din subgraf med minst 10 000 GRT för hög servicekvalitet. +### What next? -Och det är allt! När du är klar med publiceringen kommer du att kunna se dina subgrafer live på det decentraliserade nätverket via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Tveka inte att utnyttja kanalen [#Curators](https://discord.gg/s5HfGMXmbW) på Discord för att informera Curators om att din subgraf är redo att signaleras. Det skulle också vara till hjälp om du delar din förväntade frågevolym med dem. På så sätt kan de uppskatta hur mycket GRT de bör signalera på din subgraf. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Skapa en API nyckel @@ -88,20 +40,9 @@ Du kan generera en API-nyckel i Subgraf Studio [here](https://thegraph.com/studi ![Sida för att skapa API-nyckel](/img/api-image.png) -I slutet av varje vecka kommer en faktura att genereras baserat på de frågeavgifter som har uppkommit under denna period. Denna faktura kommer att betalas automatiskt med den GRT som finns på ditt saldo. Ditt saldo kommer att uppdateras efter att kostnaden för dina frågeavgifter har dragits tillbaka. Frågeavgifter betalas i GRT via Arbitrum-nätverket. Du måste lägga till GRT i Arbitrum-faktureringsavtalet för att aktivera din API-nyckel via följande steg: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Köp BRT på ett valfritt utbyte. -- Skicka GRT till din plånbok. -- På sidan Fakturering i Studio klickar du på Lägg till GRT. - -![Lägg till GRT i fakturering](/img/Add-GRT-New-Page.png) - -- Följ stegen för att lägga till din GRT till ditt faktureringssaldo. -- Din GRT kommer automatiskt att kopplas till Arbitrum nätverket och läggas till ditt faktureringssaldo. - -![Faktureringspanel](/img/New-Billing-Pane.png) - -> Obs! Se den [officiella faktureringssidan](../billing.mdx) för fullständiga instruktioner om hur du lägger till GRT till ditt faktureringssaldo. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Säkra din API nyckel @@ -110,13 +51,13 @@ Det rekommenderas att du säkrar API: et genom att begränsa dess användning p 1. Auktoriserade subgrafer 2. Auktoriserad Domän -Du kan säkra din API-nyckel [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraf lockdown sida](/img/subgraph-lockdown.png) ### Fråga din subgraf på det decentraliserade nätverket -Nu kan du kontrollera indexeringsstatusen för indexerarna på nätverket i Graph Explorer (exempel [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). Den gröna linjen överst indikerar att 8 indexerare lyckades indexera den subgrafen vid tidpunkten för inlägget. Även på fliken Indexerare kan du se vilka Indexerare som plockade upp din subgraf. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraf](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ Mer information om nätverkets karaktär och hur man hanterar omorganisationer b ## Uppdatera en subgraf i nätverket -Om du vill uppdatera en befintlig subgraf på nätverket kan du göra detta genom att distribuera en ny version av din subgraf till Subgraf Studio med hjälp av Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Gör ändringar i din nuvarande subgraf. En bra idé är att testa små fixar på Subgraf Studio genom att publicera till Goerli. +1. Make changes to your current subgraph. 2. Distribuera följande och ange den nya versionen i kommandot (t. ex. v0.0.1, v0.0.2, etc): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Testa den nya versionen i Subgraf Studio genom att fråga på lekplatsen +3. Test the new version in Subgraph Studio by querying in the playground 4. Publicera den nya versionen på The Graph Nätverk. Kom ihåg att detta kräver gas (som beskrivs i avsnittet ovan). ### Ägaruppdateringsavgift: Djupdykning @@ -180,7 +121,7 @@ Subgrafer är öppna API: er som externa utvecklare utnyttjar. Öppna API: er m ### Uppdatera metadata för en subgraf -Du kan uppdatera metadata för dina subgrafer utan att behöva publicera en ny version. Metadata inkluderar subgrafnamn, bild, beskrivning, webbadress, källkods-URL och kategorier. Utvecklare kan göra detta genom att uppdatera sina subgrafdetaljer i Subgraph Studio där du kan redigera alla tillämpliga fält. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Se till att **Uppdatera subgraf detaljer i Utforskaren** är markerad och klicka på **Spara**. Om detta är markerat kommer en transaktion i kedjan att genereras som uppdaterar subgraf detaljer i Utforskaren utan att behöva publicera en ny version med en ny distribution. @@ -201,23 +142,13 @@ Följ stegen [here](/managing/deprecating-a-subgraph) för att depreciera din su Den hostade tjänsten skapades för att låta utvecklare distribuera sina subgrafer utan några begränsningar. -För att The Graph Nätverk verkligen ska vara decentraliserat måste förfrågningsavgifter betalas som en central del av protokollets incitament. Mer information om hur man prenumererar på API: er och betalar förfrågningsavgifterna finns i faktureringsdokumentationen [here](/billing/). - -### Uppskatta avgifter för förfrågningar på nätverket - -Även om detta inte är en live-funktion i produktgränssnittet kan du ställa in din maximala budget per fråga genom att ta det belopp du är villig att betala per månad och dividera det med din förväntade frågevolym. - -Även om du får bestämma din förfrågningsbudget, finns det ingen garanti för att en indexerare är villig att betjäna förfrågningar till det priset. Om en Gateway kan matcha dig med en Indexerare som är villig att hantera en förfrågan till, eller lägre än, det pris du är villig att betala, kommer du att betala delta/skillnaden mellan din budget **och** deras pris. Som en konsekvens av ett lägre pris för frågan minskar poolen av indexerare som är tillgängliga för dig, vilket kan påverka kvaliteten på den tjänst du får. Det är fördelaktigt att ha höga förfrågningsavgifter, eftersom det kan locka curation och stora namnindexerare till din subgraf. - -Kom ihåg att det är en dynamisk och växande marknad, men hur du interagerar med den är i din kontroll. Det finns inget max- eller lägsta pris specificerat i protokollet eller Gateways. Till exempel kan du titta på priset som betalas av några av dapparna på nätverket (per vecka), nedan. Se den sista kolumnen, som visar frågeavgifter i BRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Ytterligare resurser Om du fortfarande är förvirrad, var inte rädd! Kolla in följande resurser eller se vår videoguide om uppgradering av undergrafer till det decentraliserade nätverket nedan: - + - [The Graf Nätverk Kontrakt](https://github.com/graphprotocol/contracts) - [Kuration Kontrakt](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - det underliggande kontraktet som GNS omsluter From c7b88bc21b15b633e3c5d8fc357324c2da51cada Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:32 -0400 Subject: [PATCH 1009/2326] New translations upgrading-a-subgraph.mdx (Turkish) --- .../tr/cookbook/upgrading-a-subgraph.mdx | 117 ++++-------------- 1 file changed, 24 insertions(+), 93 deletions(-) diff --git a/website/pages/tr/cookbook/upgrading-a-subgraph.mdx b/website/pages/tr/cookbook/upgrading-a-subgraph.mdx index 3696ac878671..1b81a456b415 100644 --- a/website/pages/tr/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/tr/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ Yükseltme işlemi hızlıdır ve subgraphlar'ınız yalnızca Graph Ağı'nda e ### Ön Koşullar -- Barındırılan hizmet üzerinde zaten bir subgraph dağıttınız. -- Subgraph, Graph Network'te bulunan bir zinciri indeksler. -- Subgraph'ınızı zincir üzerinde yayınlamak için ETH içeren bir cüzdanınız var. -- İndeksleyicilerin indekslemeye başlayabilmesi için subgraph'ınızı düzenlemek üzere ~10.000 GRT'ye sahipsiniz. +- You have a subgraph deployed on the hosted service. ## Mevcut Bir Subgraph'ı Graph Ağına Yükseltme -> Subgraph'ınız için özel komutları [Subgraph Stüdyo'da](https://thegraph.com/studio/) bulabilirsiniz. + -1. Graph-cli'nin en son sürümünü yükleyin: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -subgraph.yaml dosyasındaki `apiVersion` sürümünüzün `0.0.5` veya daha yüksek olduğundan emin olun. - -2. Subgraph'ın ana proje deposunun içinde, stüdyoda dağıtmak ve derlemek için subgraph'ın doğrulamasını yapın: - -```sh -graph auth --studio -``` - -3. Dosyaları ve subgraph'ı oluşturun: - -```sh -graph codegen && graph build -``` - -Subgraph'ınızda oluşturma hataları varsa, [AssemblyScript Geçiş Kılavuzu](/release-notes/assemblyscript-migration-guide/)'na bakın. - -4. Cüzdanınızla [Subgraph Stüdyo] (https://thegraph.com/studio/) adresinde oturum açın ve subgraph'ı dağıtın. Subgraph'ınızın adını temel alan Stüdyo kullanıcı arayüzünde `` öğenizi bulabilirsiniz. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Stüdyo'nun test alanında sorguları test edin. İşte [Sushi - Mainnet Exchange Subgraph'ı](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground) için bazı örnekler: +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. Bu noktada, subgraph'ınız artık Subgraph Stüdyo'da dağıtılmıştır, fakat henüz merkeziyetsiz ağda yayınlanmamıştır. Artık yukarıdaki sağ sütunun üst kısmında görülen geçici sorgu URL'sini kullanarak amaçlandığı gibi çalıştığından emin olmak için subgraph'ı test edebilirsiniz. Bu addan da anlaşılacağı gibi, bu geçici bir URL'dir ve üretimde kullanılmamalıdır. - -- Güncelleme sadece mevcut subgraph'ınızın başka bir versiyonunu zincir üzerinde yayınlamaktır. -- Bunun bir maliyeti olduğundan, yayınlamadan önce "Geliştirme Sorgusu URL'sini" kullanarak Subgraph Stüdyo'da subgraph'ınızı dağıtmanız ve test etmeniz şiddetle tavsiye edilir. Örnek bir işlemi görün [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Fiyatlar kabaca 100 gwei'de 0,0425 ETH civarındadır. -- Subgraph'ınızı güncellemeniz gerektiğinde, sizden bir güncelleme ücreti alınacaktır. Bu bir maliyet oluşturduğundan, ana ağa dağıtmadan önce subgraph'ınızı Göerli'de dağıtmanız ve test etmeniz şiddetle tavsiye edilir. Bazı durumlarda, o subgraph'ta sinyal yoksa bir miktar GRT de gerektirebilir. Bu subgraph sürümünde sinyal/kürasyon olması durumunda (otomatik geçiş kullanılarak), vergiler bölünecektir. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. "Yayınla" düğmesine basarak subgraph'ı Graph'ın merkeziyetsiz ağında yayınlayın. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -İndeksleyiciler tarafından indekslendiğinden emin olmak için subgraph'ınızı GRT ile kürate etmelisiniz. Gaz maliyetlerinden tasarruf etmek için, subgraph'ınızı ağda yayınladığınız işlemle aynı işlemde kürate edebilirsiniz. Yüksek hizmet kalitesi için subgraph'ınızı en az 10.000 GRT ile kürate etmeniz önerilir. +### What next? -İşte bu kadar! Yayınlamayı tamamladıktan sonra, subgraph'ınızı [Graph Gezgini] (https://thegraph.com/explorer) aracılığıyla merkeziyetsiz ağ üzerinde canlı olarak görüntüleyebileceksiniz. +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Küratörlere subgraph'ınızın sinyal vermeye hazır olduğunu bildirmek için Discord'daki [#Curators kanalından] (https://discord.gg/s5HfGMXmbW) yararlanabilirsiniz. Beklenen sorgu hacminizi onlarla paylaşmanız da faydalı olacaktır. Böylece, subgraph'ınızda ne kadar GRT sinyali vermeleri gerektiğini kestirebilirler. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Bir API anahtarı oluşturun @@ -88,20 +40,9 @@ Subgraph Stüdyo'da bir API anahtarı oluşturabilirsiniz [here](https://thegrap ![API key creation page](/img/api-image.png) -Her haftanın sonunda, bu süre zarfında gerçekleşen sorgu ücretlerine dayalı bir fatura oluşturulacaktır. Bu fatura, bakiyenizde bulunan GRT kullanılarak otomatik olarak ödenecektir. Sorgu ücretlerinizin maliyeti çekildikten sonra bakiyeniz güncellenecektir. Sorgu ücretleri Arbitrum ağı üzerinden GRT olarak ödenir. API anahtarınızı etkinleştirmek için aşağıdaki adımları izleyerek GRT'yi Arbitrum faturalandırma sözleşmesine eklemeniz gerekmektedir: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Seçtiğiniz bir borsadan GRT satın alın. -- GRT'yi cüzdanınıza gönderin. -- Stüdyo'daki Faturalandırma sayfasında GRT Ekle'ye tıklayın. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- GRT'nizi fatura bakiyenize eklemek için adımları izleyin. -- GRT'niz otomatik olarak Arbitrum ağına köprülenecek ve fatura bakiyenize eklenecektir. - -![Billing pane](/img/New-Billing-Pane.png) - -> Not: GRT'nin fatura bakiyenize eklenmesine ilişkin tüm talimatlar için [resmi faturalandırma sayfasına] (../billing.mdx) bakın. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### API anahtarınızın güvenliğini sağlama @@ -110,13 +51,13 @@ API'nin kullanımını iki şekilde sınırlandırarak güvenliğini sağlamanı 1. Yetkilendirilmiş Subgraphlar 2. Yetkilendirilmiş Domain -API anahtarınızı güvence altına alabilirsiniz [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Merkeziyetsiz ağ üzerinde subgraph'ınızı sorgulama -Artık ağdaki İndeksleyicilerin indeksleme durumunu Graph Gezgini'nde kontrol edebilirsiniz (örnek [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). Üstteki yeşil çizgi, gönderme sırasında 8 İndeksleyicinin bu subgraph'ı başarıyla indekslediğini göstermektedir. Ayrıca İndeksleyici sekmesinde hangi İndeksleyicilerin subgraph'ınızı aldığını görebilirsiniz. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,21 +85,21 @@ Ağın doğası ve yeniden düzenlemelerin nasıl ele alınacağı hakkında dah ## Ağ Üzerinde Bir Subgraph'ın Güncellenmesi -Ağdaki mevcut bir subgraph'ı güncellemek isterseniz, bunu Graph CLI aracılığıyla subgraph'ınızın yeni bir sürümünü Subgraph Stüdyo'ya dağıtarak yapabilirsiniz. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Mevcut subgraph'ınızda değişiklikler yapın. Küçük düzeltmeleri Göerli'de yayınlayarak Subgraph Stüdyo'da test etmek iyi bir fikir olabilir. +1. Make changes to your current subgraph. 2. Aşağıdakileri dağıtın ve komutta yeni sürümü belirtin (örn. v0.0.1, v0.0.2, vb.): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Test alanında(playground) sorgulama yaparak Subgraph Stüdyo'da yeni sürümü test edin +3. Test the new version in Subgraph Studio by querying in the playground 4. Yeni sürümü Graph Ağı'nda yayınlayın. Bunun için gas gerektiğini unutmayınız (yukarıdaki bölümde açıklandığı gibi). ### Sahip Güncelleme Ücreti: Derinlemesine İnceleme -> Not: Arbitrum'daki kürasyonun düz bir bağlanma eğrisi vardır. Arbitrum [buradan](/arbitrum/arbitrum-faq/) hakkında daha fazla bilgi edinin. +> Note: Curation on Arbitrum has a flat bonding curve. Learn more about Arbitrum [here](/arbitrum/arbitrum-faq/). Bir güncelleme GRT'nin subgraph eski versiyonundan yeni versiyonuna taşınmasını gerektirmektedir. Bu, her güncelleme için yeni bir bağlanma eğrisinin oluşturulacağı anlamına gelir (bağlanma eğrileri hakkında daha fazla bilgi [here](/network/curating#bonding-curve-101)). @@ -180,7 +121,7 @@ Subgraphlar, harici geliştiricilerin yararlandığı açık API'lerdir. Açık ### Bir Subgraph'ın Üst Verisini Güncelleme -Yeni bir sürüm yayınlamak zorunda kalmadan subgraphlar'ınızın üst verisini güncelleyebilirsiniz. Üst veri subgraph adını, görüntüsünü, açıklamasını, web site URL'sini, kaynak kodu URL'sini ve kategorileri içerir. Geliştiriciler bunu, geçerli tüm alanları düzenleyebilmenize olanak sağlayan Subgraph Stüdyo'da subgraph ayrıntılarını güncelleyerek yapabilirler. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. **Gezgin'de Subgraph Ayrıntılarını Güncelle** seçeneğinin işaretli olduğundan emin olun ve **Kaydet** seçeneğine tıklayın. Bunu işaretlediğiniz takdirde, yeni bir dağıtımla, yeni bir sürüm yayınlamak zorunda kalmadan Gezgin'deki subgraph ayrıntılarını güncelleyen bir zincir içi işlem oluşturulacaktır. @@ -201,23 +142,13 @@ Subgraph'ınızı kullanımdan kaldırmak ve Graph Ağı'ndan silmek için adım Barındırılan hizmet, geliştiricilerin subgrpahlar'ını herhangi bir kısıtlama olmaksızın dağıtmalarına izin verecek şekilde oluşturulmuştur. -Graph Ağı'nın gerçekten merkeziyetsiz olması için, protokol teşviklerinin temel bir parçası olarak sorgu ücretlerinin ödenmesi gerekir. API'lere abone olma ve sorgu ücretlerini ödeme hakkında daha fazla bilgi için faturalandırma belgelerine göz atın [here](/billing/). - -### Ağdaki Sorgu Ücretlerini Tahmin Etme - -Bu özellik şu anda ürün arayüzünde aktif olmasa da, her ay ödemek istediğiniz tutarı alıp beklenen sorgu hacminize bölerek sorgu başına maksimum bütçenizi ayarlayabilirsiniz. - -Sorgu bütçenize siz karar verirken, bir İndeksleyicinin sorguları karar verdiğiniz fiyattan sunmaya istekli olacağının garantisi yoktur. Bir Ağ Geçidi sizi, ödemeye razı olduğunuz fiyattan veya daha düşük bir fiyattan sorgu sunmaya istekli bir İndeksleyici ile eşleştirebilirse, bütçenizin **ve** onların fiyatının deltasını/farkını ödersiniz. Sonuç olarak, daha düşük bir sorgu fiyatı, kullanabileceğiniz İndeksleyici havuzunu daraltır ve bu da aldığınız hizmetin kalitesini etkileyebilir. Subgraph'ınıza kürasyonu ve büyük isim İndeksleyicileri çekebileceğinden ötürü yüksek sorgu ücretlerinizin faydalıdır. - -Bunun dinamik ve büyüyen bir pazar olduğunu, fakat bununla nasıl etkileşim kuracağınızın sizin kontrolünüzde olduğunu unutmayın. Protokolde veya Ağ Geçitlerinde belirtilen maksimum veya minimum bir fiyat yoktur. Örneğin, ağdaki birkaç merkeziyetsiz uygulama tarafından ödenen ücrete (haftalık bazda) aşağıdan bakabilirsiniz. GRT cinsinden sorgu ücretlerini gösteren son sütuna bakın. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Ek Kaynaklar Eğer hala kafanız karışıksa, endişelenmeyin! Aşağıdaki kaynaklara göz atın veya subgraphları merkeziyetsiz ağa yükseltme hakkındaki video kılavuzumuzu izleyin: - + - [Graph Ağı Kontratları](https://github.com/graphprotocol/contracts) - [Kürasyon Sözleşmesi] (https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - GNS'nin sarmaladığı temel sözleşme From 5b40c482c325da74e9aa8162a8c4e1b3903a5e01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:33 -0400 Subject: [PATCH 1010/2326] New translations upgrading-a-subgraph.mdx (Ukrainian) --- .../uk/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/uk/cookbook/upgrading-a-subgraph.mdx b/website/pages/uk/cookbook/upgrading-a-subgraph.mdx index ff1ab368c0fa..5502b16d9288 100644 --- a/website/pages/uk/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/uk/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### Prerequisites -- You have already deployed a subgraph on the hosted service. -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Get the latest version of the graph-cli installed: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. Inside the subgraph's main project repository, authenticate the subgraph to deploy and build on the studio: - -```sh -graph auth --studio -``` - -3. Generate files and build the subgraph: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. At this point, your subgraph is now deployed on Subgraph Studio, but not yet published to the decentralized network. You can now test the subgraph to make sure it is working as intended using the temporary query URL as seen on top of the right column above. As this name already suggests, this is a temporary URL and should not be used in production. - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publish the subgraph on The Graph's decentralized network by hitting the "Publish" button. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Create an API key @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -At the end of each week, an invoice will be generated based on the query fees that have been incurred during this period. This invoice will be paid automatically using the GRT available in your balance. Your balance will be updated after the cost of your query fees are withdrawn. Query fees are paid in GRT via the Arbitrum network. You will need to add GRT to the Arbitrum billing contract to enable your API key via the following steps: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Purchase GRT on an exchange of your choice. -- Send the GRT to your wallet. -- On the Billing page in Studio, click on Add GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Follow the steps to add your GRT to your billing balance. -- Your GRT will be automatically bridged to the Arbitrum network and added to your billing balance. - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Securing your API key @@ -110,13 +51,13 @@ It is recommended that you secure the API by limiting its usage in two ways: 1. Authorized Subgraphs 2. Authorized Domain -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Querying your subgraph on the decentralized network -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Make changes to your current subgraph. A good idea is to test small fixes on the Subgraph Studio by publishing to Goerli. +1. Make changes to your current subgraph. 2. Deploy the following and specify the new version in the command (eg. v0.0.1, v0.0.2, etc): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Test the new version in the Subgraph Studio by querying in the playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publish the new version on The Graph Network. Remember that this requires gas (as described in the section above). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### Updating the Metadata of a Subgraph -You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in the Subgraph Studio where you can edit all applicable fields. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### Estimate Query Fees on the Network - -While this is not a live feature in the product UI, you can set your maximum budget per query by taking the amount you're willing to pay per month and dividing it by your expected query volume. - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -Remember that it's a dynamic and growing market, but how you interact with it is in your control. There is no maximum or minimum price specified in the protocol or the Gateways. For example, you can look at the price paid by a few of the dapps on the network (on a per-week basis), below. See the last column, which shows query fees in GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Additional Resources If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From a90f3cf7078db9c5452ebee35eacd71c421be71e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:34 -0400 Subject: [PATCH 1011/2326] New translations upgrading-a-subgraph.mdx (Chinese Simplified) --- .../zh/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/zh/cookbook/upgrading-a-subgraph.mdx b/website/pages/zh/cookbook/upgrading-a-subgraph.mdx index bf9f1c938c27..8dfd60d3a265 100644 --- a/website/pages/zh/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/zh/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ title: 将现有子图升级到Graph网络 ### 先决条件 -- 您已经在托管服务上部署了子图。 -- The subgraph is indexing a chain available on The Graph Network. -- 您钱包里有ETH去在链上发布子图 -- 您有10,000GRT去策展你的子图使得索引人可以索引子图 +- You have a subgraph deployed on the hosted service. ## 将现有子图升级到Graph网络 -> 你能在此找到子图的命令 [Subgraph Studio](https://thegraph.com/studio/). + -1. 获取已安装的最新版本的 graph-cli: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -还要确保subgrap.yaml中的apiVersion为0.0.5或更高版本。 - -2. 在子图的主项目存储库中,对子图进行身份验证,以便在studio上部署和构建: - -```sh -graph auth --studio -``` - -3. 生成文件并构建子图: - -```sh -graph codegen && graph build -``` - -如果您的子图有编译问题,请看 [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. 用您的钱包登录Subgraph Studio并部署子图。您可以在Studio UI中找到您的基于子图名称的\。 - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. 在子图工作室内测查询语句. 这里是一些示例 [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. 此时,您的子图现在已经部署在Subgraph Studio上,但还没有发布到去中心化网络上。现在,您可以使用上面右列顶部的临时查询URL来测试子图,以确保它正常工作。正如这个名称已经表明的那样,这是一个临时URL,不应该在生产环境中使用。 - -- 升级是在链上发布您已有子图的另一版本. -- 因为这样会造成损失, 推荐您在子图工作室里发布和测试子图, 发布前使用"Development Query URL" . 请看示例交易 [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- 任何时候您需要升级您的子图,您将支付升级费用。记住,升级只是发布现有子图的另一个版本。因为这会带来成本,所以强烈建议在将子图部署到主网之前在Goerli进行部署和测试。在某些情况下,如果该子图上没有信号,那么它也需要一些GRT。在子图版本(使用自动迁移) 上有信号/策展的情况下,税收将被切分。 +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. 通过点击“发布”按钮在Graph的去中心化网络上发布子图。 +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -您可以使用GRT管理子图,以确保它被Indexers索引。为了节省gas成本,您可以在将子图发布到网络的同一交易中管理子图。为了获得高质量的服务,建议使用至少10,000个GRT来策展子图。 +### What next? -就是这样!在您完成发布之后,您将能够通过Graph浏览器(https://thegraph.com/explorer)在去中心化的网络上实时查看您的子图。 +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### 创建一个API密钥 @@ -88,20 +40,9 @@ Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on ![API key creation page](/img/api-image.png) -在每周结束时,将根据在此期间发生的查询费用生成发票。此发票将自动使用您的余额中的GRT支付。您的查询费用的成本被撤回后,您的余额将被更新。查询费用通过Arbitrum网络以GRT支付。您需要将GRT添加到Arbitrum计费合同中,通过以下步骤启用您的API密钥: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- 在你选择的交换机上购买GRT。 -- 把GRT送到你的钱包里。 -- 在Studio中的Billing page上,单击Add GRT。 - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- 按照以下步骤将GRT添加到您的账单余额中。 -- 您的GRT将自动连接到Arbitrum网络并添加到您的账单余额。 - -![Billing pane](/img/New-Billing-Pane.png) - -> 注意:有关将GRT添加到您的账单余额的完整说明(../billing.mdx) ,请参阅正式账单页。 +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### 保护您的API密钥 @@ -110,13 +51,13 @@ Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on 1. 授权子图 2. 授权域名 -您可以点击这里保护您的API密钥。 +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### 在去中心化网络上查询子图 -现在,您可以在Graph浏览器中检查网络上的索引人的索引状态(这里的示例)。顶部的绿线表示在发布8个索引人时,成功索引该子图。另外,在索引人选项卡中,您可以看到哪些索引人选择了您的子图。 +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on ## 升级网络上的子图 -如果您想升级网络上的现有子图,可以通过使用 Graph CLI 将新版本的子图部署到 Subgraph Studio 来实现。 +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. 更改您当前的子图。一个好主意是通过向Goerli发布内容来测试Subgraph Studio的小修补程序。 +1. Make changes to your current subgraph. 2. 部署以下内容并在命令中指定新版本(例如 v0.0.1、v0.0.2 等): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. 通过在 Playground 中查询来测试 Subgraph Studio 中的新版本。 +3. Test the new version in Subgraph Studio by querying in the playground 4. 在 The Graph Network 上发布新版本。 请记住,这需要gas(如上一节所述)。 ### 所有者升级费用:Deep Dive @@ -180,7 +121,7 @@ If you're making a lot of changes to your subgraph, it is not a good idea to con ### 更新子图的元数据 -您可以更新子图的元数据,而无需发布新版本。 元数据包括子图名称、图像、描述、网站 URL、源代码 URL 和类别。 开发人员可以通过在 Subgraph Studio 中更新他们的子图详细信息来实现,您可以在其中编辑所有适用的字段。 +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. 确保选中Update Subgraph Details in Explorer,然后点击保存。 如果选中此项,将生成一个链上交易,更新浏览器中的子图详细信息,而无需发布具有新部署的新版本。 @@ -201,23 +142,13 @@ If you're making a lot of changes to your subgraph, it is not a good idea to con 托管服务的设置允许开发人员不受任何限制地部署他们的子图。 -为了使Graph 网络真正去中心化,查询费用必须作为协议激励的核心部分支付。有关订阅API和支付查询费用的详细信息,请参阅此处的账单文档。 - -### 估算网络上的查询费用 - -虽然这不是产品 UI 中的实时功能,但您可以通过将每月愿意支付的金额除以预期查询量来设置每次查询的最大预算。 - -虽然您可以决定查询预算,但不能保证索引人愿意以该价格提供查询服务。 如果网关可以将您与您愿意支付的价格或低于您愿意支付价格提供查询的索引人相匹配,您将支付预算的增量/差异 与他们的价格。 因此,较低的查询价格会减少可供您使用的索引人池,这可能会影响您获得的服务质量。 收取高额查询费用是有益的,因为这可能会吸引策展和知名索引人到您的子图。 - -请记住,这是一个充满活力且不断增长的市场,但您如何与之互动在您的控制之下。 协议或网关中没有指定最高或最低价格。 例如,您可以查看网络上一些 dapps 支付的价格(每周),如下所示。 请参阅最后一列,它显示了 GRT 中的查询费用。 例如,Pickle Finance 每秒有 个请求,支付 GRT 一周。 - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## 其他资源 如果您仍然感到困惑,请不要害怕! 查看以下资源或观看我们的视频指南,了解将子图迁移到下面的去中心化网络: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - 策展合约 - GNS 包裹的底层合约 From d9c3afb0094e88f6fa8a0635f234d46fd3489116 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:35 -0400 Subject: [PATCH 1012/2326] New translations upgrading-a-subgraph.mdx (Urdu (Pakistan)) --- .../ur/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/ur/cookbook/upgrading-a-subgraph.mdx b/website/pages/ur/cookbook/upgrading-a-subgraph.mdx index 4ca978c6c573..0a3a917f5b62 100644 --- a/website/pages/ur/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/ur/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ title: موجودہ سب گراف کو گراف نیٹ ورک میں اپ گری ### شرطیں -- آپ نے پہلے ہی ہوسٹڈ سروس پر سب گراف تعینات کر دیا ہے. -- The subgraph is indexing a chain available on The Graph Network. -- آپ کے پاس اپنے سب گراف کو آن چین شائع کرنے کے لیے ایتھیریم کے ساتھ ایک والیٹ ہے. -- آپ کے پاس اپنے سب گراف کو کیوریٹ کرنے کے لیے ~10,000 GRT ہے تاکہ انڈیکسرز اسے انڈیکس کرنا شروع کر سکیں. +- You have a subgraph deployed on the hosted service. ## موجودہ سب گراف کو گراف نیٹ ورک میں اپ گریڈ کرنا -> آپ اپنے سب گراف کے لیے مخصوص کمانڈز [سب گراف اسٹوڈیو](https://thegraph.com/studio/) میں حاصل کر سکتے ہیں. + -1. graph-cli کا جدید ورژن انسٹال کریں: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -یقینی بنائیں کہ subgraph.yaml میں آپ کا `apiVersion` `0.0.5` یا اس سے زیادہ ہے. - -2. سب گراف کے مرکزی پروجیکٹ کے ذخیرے کے اندر، سٹوڈیو پر تعینات اور تعمیر کرنے کے لیے سب گراف کی تصدیق کریں: - -```sh -graph auth --studio -``` - -3. فائلیں اور سب گراف بنائیں: - -```sh -گراف کوڈجن اور گراف بلڈ -``` - -اگر آپ کے سب گراف میں تعمیراتی خامیاں ہیں، تو [اسمبلی سکرپٹ مائیگریشن گائڈ](/release-notes/assemblyscript-migration-guide/) سے رجوع کریں. - -4. اپنے والیٹ سے [سب گراف اسٹوڈیو](https://thegraph.com/studio/) میں سائن ان کریں اور سب گراف کو تعینات کریں۔ آپ اسٹوڈیو UI میں اپنا `` تلاش کر سکتے ہیں، جو آپ کے سب گراف کے نام پر مبنی ہے. - -```sh -گراف کی تعیناتی --سٹوڈیو -``` +> This process typically takes less than five minutes. -5. اسٹوڈیو کے پلے گراؤنڈ پر ٹیسٹ کیوریز۔ یہاں [Sushi - مین نیٹ ایکسچینج سب گراف](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground) کی کچھ مثالیں ہیں: +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. اس وقت، آپ کا سب گراف اب سب گراف سٹوڈیو پر تعینات ہے، لیکن ابھی تک ڈیسینٹرالائزڈ نیٹ ورک پر شائع نہیں ہوا ہے۔ اب آپ سب گراف کی جانچ کر سکتے ہیں تاکہ یہ یقینی بنایا جا سکے کہ یہ عارضی کیوری کے URL کا استعمال کرتے ہوئے جیسا کہ اوپر دائیں کالم کے اوپر دیکھا گیا ہے کام کر رہا ہے۔ جیسا کہ یہ نام پہلے ہی تجویز کرتا ہے، یہ ایک عارضی URL ہے اور اسے پروڈکشن میں استعمال نہیں کیا جانا چاہیے. - -- اپ ڈیٹ کرنا صرف آپ کے موجودہ سب گراف آن چین کا دوسرا ورژن شائع کرنا ہے. -- چونکہ اس پر لاگت آتی ہے، اس لیے یہ انتہائی سفارش کی جاتی ہے کہ شائع کرنے سے پہلے "ترقیاتی کیوری URL" کا استعمال کرتے ہوئے سب گراف اسٹوڈیو میں اپنے سب گراف کو تعینات اور جانچیں۔ ٹرانزیکشن کی ایک مثال دیکھیں [یہاں](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b)۔ قیمتیں 100 gwei پر تقریباً 0.0425 ایتھیریم ہیں. -- جب بھی آپ کو اپنا سب گراف اپ ڈیٹ کرنے کی ضرورت ہو، آپ سے اپ ڈیٹ فیس وصول کی جائے گی۔ چونکہ اس پر لاگت آتی ہے، اس لیے مین نیٹ پر تعینات کرنے سے پہلے اپنے سب گراف کو Goerli پر تعینات کرنے اور جانچنے کی انتہائی سفارش کی جاتی ہے۔ اگر اس سب گراف پر کوئی سگنل نہیں ہے تو اسے، بعض صورتوں میں، کچھ GRT کی بھی ضرورت پڑ سکتی ہے۔ اس سب گراف ورژن پر سگنل/کیوریشن ہونے کی صورت میں (آٹو مائیگریٹ کا استعمال کرتے ہوئے)، ٹیکس تقسیم ہو جائیں گے. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. "شائع کریں" کے بٹن کو دبا کر گراف کے ڈیسینٹرالائزڈ نیٹ ورک پر سب گراف کو شائع کریں. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -آپ کو اپنے سب گراف کو GRT کے ساتھ کیوریٹ کرنا چاہیے تاکہ یہ یقینی بنایا جا سکے کہ اسے انڈیکسرز کے ذریعے ترتیب دیا گیا ہے۔ گیس کے اخراجات کو بچانے کے لیے، آپ اپنے سب گراف کو اسی ٹرانزیکشن میں درست کر سکتے ہیں جسے آپ نیٹ ورک پر شائع کرتے ہیں۔ اعلی معیار کی خدمت کے لیے کم از کم 10,000 GRT کے ساتھ اپنے سب گراف کو درست کرنے کی سفارش کی جاتی ہے. +### What next? -اور یہ بات ہے! آپ کی اشاعت مکمل ہونے کے بعد، آپ اپنے سب گرافس کو ڈیسینٹرلائزڈ نیٹ ورک پر [گراف ایکسپلورر](https://thegraph.com/explorer) کے ذریعے لائیو دیکھ سکیں گے. +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -ڈسکورڈ پر [#Curators چینل](https://discord.gg/s5HfGMXmbW) کا فائدہ اٹھانے کے لیے بلا جھجھک کیوریٹرز کو یہ بتانے کے لیے کہ آپ کا سب گراف سگنل کیے جانے کے لیے تیار ہے۔ اگر آپ اپنے متوقع کیوری کا حجم ان کے ساتھ شیئر کریں تو یہ بھی مددگار ثابت ہوگا۔ لہذا، وہ اندازہ لگا سکتے ہیں کہ انہیں آپ کے سب گراف پر کتنا GRT سگنل دینا چاہیے. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### ایک API key بنائیں @@ -88,20 +40,9 @@ graph auth --studio ![API کلیدی تخلیق کا پیج](/img/api-image.png) -ہر ہفتے کے آخر میں، کیوری کی فیس کی بنیاد پر ایک رسید تیار کی جائے گی جو اس مدت کے دوران خرچ کی گئی ہیں۔ یہ انوائس آپ کے بیلنس میں دستیاب جی آر ٹی کا استعمال کرتے ہوئے خود بخود ادا کی جائے گی۔ آپ کی کیوری فیس کی لاگت واپس لینے کے بعد آپ کا بیلنس اپ ڈیٹ ہو جائے گا۔ کیوری کی فیس آربٹرم نیٹ ورک کے ذریعے جی آر ٹی میں ادا کی جاتی ہے۔ آپ کو درج ذیل مراحل کے ذریعے اپنی API کلید کو فعال کرنے کے لیے آربٹرم بلنگ کنٹریکٹ میں جی آر ٹی شامل کرنے کی ضرورت ہوگی: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- اپنی پسند کے ایکسچینج پر جی آر ٹی خریدیں. -- اپنے والیٹ پر جی آر ٹی بھیجیں. -- اسٹوڈیو میں بلنگ صفحہ پر، جی آر ٹی شامل کریں پر کلک کریں. - -![بلنگ میں GRT شامل کریں](/img/Add-GRT-New-Page.png) - -- اپنے بلنگ بیلنس میں اپنا GRT شامل کرنے کے لیے اقدامات پر عمل کریں. -- آپ کا GRT خود بخود آربٹرم نیٹ ورک سے منسلک ہو جائے گا اور آپ کے بلنگ بیلنس میں شامل ہو جائے گا. - -![بلنگ پین](/img/New-Billing-Pane.png) - -> نوٹ: اپنے بلنگ بیلنس میں GRT شامل کرنے سے متعلق مکمل ہدایات کے لیے [آفیشل بلنگ صفحہ](../billing.mdx) دیکھیں. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### اپنی API کلید کو محفوظ کرنا @@ -110,13 +51,13 @@ graph auth --studio 1. مجاز سب گراف 2. مجاز ڈومین -آپ اپنی API کلید کو[یہاں](https://thegraph.com/studio/apikeys/test/) محفوظ کر سکتے ہیں. +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![سب گراف لاک ڈاؤن پیج](/img/subgraph-lockdown.png) ### ڈیسینٹرالائزڈ نیٹ ورک پر آپ کے سب گراف سے کیوری کرنا -اب آپ گراف ایکسپلورر (مثال کے طور پر [یہاں](https://thegraph.com/explorer/subgraph؟ id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers))سب سے اوپر کی سبز لکیر اس بات کی نشاندہی کرتی ہے کہ پوسٹ کرنے کے وقت 8 انڈیکسرز نے اس سب گراف کو کامیابی کے ساتھ انڈیکس کیا۔ انڈیکس ٹیب میں بھی آپ دیکھ سکتے ہیں کہ کن انڈیکسرز نے آپ کا سب گراف اٹھایا. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ graph auth --studio ## نیٹ ورک پر سب گراف کو اپ ڈیٹ کرنا -اگر آپ نیٹ ورک پر موجودہ سب گراف کو اپ ڈیٹ کرنا چاہتے ہیں، تو آپ گراف CLI کا استعمال کرتے ہوئے اپنے سب گراف کا نیا ورژن سب گراف اسٹوڈیو میں تعینات کر کے ایسا کر سکتے ہیں. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. اپنے موجودہ سب گراف میں بدلاو کریں. ایک اچھا خیال یہ ہے کہ Goerli پر شائع کرکے سب گراف اسٹوڈیو پر چھوٹی اصلاحات کی جانچ کریں. +1. Make changes to your current subgraph. 2. درج ذیل کو تعینات کریں اور نۓ ورزن کی کمانڈ میں وضاحت کریں (eg. v0.0.1, v0.0.2, etc): ```sh -گراف کی تعیناتی --سٹوڈیو +graph deploy --studio --version ``` -3. پلے گراونڈ میں کیوری کرکے سب گراف اسٹوڈیو میں نئے ورژن کی جانچ کریں۔ +3. Test the new version in Subgraph Studio by querying in the playground 4. گراف نیٹ ورک پر نۓ ورزن کو شائع کریں. یاد رکہیں کے اس کو گیس فیس کی ضرورت ہوتی ہے (جیسا کے اوپر والے حصے میں بیان کیا گیا ہے). ### مالک کی تازہ کاری کی فیس: ڈیپ ڈائیو @@ -180,7 +121,7 @@ _جبکہ یہ طریقہ کار فی الحال نیٹ ورک پر رواں ہ ### سب گراف کے میٹا ڈیٹا کو اپ ڈیٹ کرنا -آپ نیا ورزن شائع کیے بغیر اپنے سب گراف کا میٹا ڈیٹا اپڈیٹ کر سکتے ہیں. میٹا ڈیٹا میں سب گراف کا نام، تصویر، تفصیل، ویب سائٹ URL, سورس کوڈ URL, اور اقسام شامل ہیں. ڈویلپرز سب گراف سٹوڈیو میں اپنے سب گراف کی تفصیلات اپڈیٹ کر کے یہ کر سکتے ہیں جہاں آپ تمام قابل اطلاق فیلڈز میں ترمیم کر سکتے ہیں. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. یقینی بنائیں کہ **ایکسپلورر میں سب گراف کی تفصیلات اپ ڈیٹ کریں** کو چیک کیا گیا ہے اور **محفوظ کریں** پر کلک کریں۔ اگر اس کی جانچ پڑتال کی جاتی ہے تو، ایک آن چین ٹرانزیکشن تیار کیا جائے گا جو ایکسپلورر میں سب گراف کی تفصیلات کو نئی تعیناتی کے ساتھ نیا ورژن شائع کیے بغیر اپ ڈیٹ کرتا ہے. @@ -201,23 +142,13 @@ _جبکہ یہ طریقہ کار فی الحال نیٹ ورک پر رواں ہ ہوسٹڈ سروس ڈویلپرز کو بغیر کسی پابندی کے اپنے سب گرافس کو تعینات کرنے کی اجازت دینے کے لیے ترتیب دی گئی تھی. -گراف نیٹ ورک کو صحیح معنوں میں ڈیسنٹرالا ئزڈ بنانے کے لیے، کیوری کی فیس کو پروٹوکول کی ترغیبات کے بنیادی حصے کے طور پر ادا کرنا ہوگا۔ APIs کو سبسکرائب کرنے اور کیوری فیس ادا کرنے کے بارے میں مزید معلومات کے لیے، بلنگ دستاویزات [یہاں](/billing/) دیکھیں. - -### نیٹ ورک پر کیوری کی فیس کا تخمینہ لگائیں - -اگرچہ یہ پروڈکٹ UI میں لائیو خصوصیت نہیں ہے، آپ فی کیوری اپنا زیادہ سے زیادہ بجٹ مقرر کر سکتے ہیں اس رقم کو لے کر جو آپ ہر ماہ ادا کرنا چاہتے ہیں اور اسے اپنے متوقع کیوری کی رقم سے تقسیم کر سکتے ہیں. - -جب آپ اپنے کیوری کے بجٹ کا فیصلہ کرتے ہیں، تو اس بات کی کوئی گارنٹی نہیں ہے کہ انڈیکسر اس قیمت پر کیوریز پیش کرنے کے لیے تیار ہوگا۔ اگر کوئی گیٹ وے آپ کو کسی ایسے انڈیکسر سے ملا سکتا ہے جو آپ جس قیمت کی ادائیگی کے لیے تیار ہیں، یا اس سے کم قیمت پر کیوری پیش کرنے کے لیے تیار ہے، تو آپ اپنے بجٹ کے ڈیلٹا/فرق **اور** ان کی قیمت ادا کریں گے۔ نتیجے کے طور پر، کم کیوری کی قیمت آپ کے لیے دستیاب انڈیکسرز کے پول کو کم کر دیتی ہے، جو آپ کو موصول ہونے والی سروس کے معیار کو متاثر کر سکتی ہے۔ کیوریز کی زیادہ فیس لینا فائدہ مند ہے، کیونکہ یہ آپ کے سب گراف میں کیوریشن اور بڑے نام کے انڈیکسرز کو راغب کر سکتا ہے. - -یاد رکھیں کہ یہ ایک متحرک اور بڑھتی ہوئی مارکیٹ ہے، لیکن آپ اس کے ساتھ کیسے تعامل کرتے ہیں یہ آپ کے اختیار میں ہے۔ پروٹوکول یا گیٹ ویز میں کوئی زیادہ سے زیادہ یا کم از کم قیمت نہیں بتائی گئی ہے۔ مثال کے طور پر، آپ ذیل میں نیٹ ورک پر (فی ہفتہ کی بنیاد پر) چند ڈیپ کے ذریعے ادا کی گئی قیمت کو دیکھ سکتے ہیں۔ آخری کالم دیکھیں، جو GRT میں کیوری کی فیس دکھاتا ہے. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## اضافی وسائل اگر آپ اب بھی الجھن میں ہیں، تو ڈرو نہیں! درج ذیل وسائل کو دیکھیں یا ذیل میں ڈیسنٹرالا ئزڈ نیٹ ورک میں سب گرافس کو اپ گریڈ کرنے کے بارے میں ہماری ویڈیو گائیڈ دیکھیں: - + - [گراف نیٹ ورک کنٹریکٹس](https://github.com/graphprotocol/contracts) - [کیوریشن کنٹریکٹ](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - بنیادی کنٹریکٹ جسے GNS لپیٹتا ہے From 2ebb27a549abc46c054450f91af2e28824edadd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:36 -0400 Subject: [PATCH 1013/2326] New translations upgrading-a-subgraph.mdx (Vietnamese) --- .../vi/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/vi/cookbook/upgrading-a-subgraph.mdx b/website/pages/vi/cookbook/upgrading-a-subgraph.mdx index 845be90803fd..4917df67de8d 100644 --- a/website/pages/vi/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/vi/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### Điều kiện tiên quyết -- You have already deployed a subgraph on the hosted service. -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Get the latest version of the graph-cli installed: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. Inside the subgraph's main project repository, authenticate the subgraph to deploy and build on the studio: - -```sh -graph auth --studio -``` - -3. Generate files and build the subgraph: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. At this point, your subgraph is now deployed on Subgraph Studio, but not yet published to the decentralized network. You can now test the subgraph to make sure it is working as intended using the temporary query URL as seen on top of the right column above. As this name already suggests, this is a temporary URL and should not be used in production. - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publish the subgraph on The Graph's decentralized network by hitting the "Publish" button. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Create an API key @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -At the end of each week, an invoice will be generated based on the query fees that have been incurred during this period. This invoice will be paid automatically using the GRT available in your balance. Your balance will be updated after the cost of your query fees are withdrawn. Query fees are paid in GRT via the Arbitrum network. You will need to add GRT to the Arbitrum billing contract to enable your API key via the following steps: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Purchase GRT on an exchange of your choice. -- Send the GRT to your wallet. -- On the Billing page in Studio, click on Add GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Follow the steps to add your GRT to your billing balance. -- Your GRT will be automatically bridged to the Arbitrum network and added to your billing balance. - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Securing your API key @@ -110,13 +51,13 @@ It is recommended that you secure the API by limiting its usage in two ways: 1. Authorized Subgraphs 2. Authorized Domain -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Querying your subgraph on the decentralized network -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Make changes to your current subgraph. A good idea is to test small fixes on the Subgraph Studio by publishing to Goerli. +1. Make changes to your current subgraph. 2. Deploy the following and specify the new version in the command (eg. v0.0.1, v0.0.2, etc): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Test the new version in the Subgraph Studio by querying in the playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publish the new version on The Graph Network. Remember that this requires gas (as described in the section above). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### Updating the Metadata of a Subgraph -You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in the Subgraph Studio where you can edit all applicable fields. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### Estimate Query Fees on the Network - -While this is not a live feature in the product UI, you can set your maximum budget per query by taking the amount you're willing to pay per month and dividing it by your expected query volume. - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -Remember that it's a dynamic and growing market, but how you interact with it is in your control. There is no maximum or minimum price specified in the protocol or the Gateways. For example, you can look at the price paid by a few of the dapps on the network (on a per-week basis), below. See the last column, which shows query fees in GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Additional Resources If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From c6310e4f2cec356c94a5602e91b9165dc171a2c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:37 -0400 Subject: [PATCH 1014/2326] New translations upgrading-a-subgraph.mdx (Marathi) --- .../mr/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/mr/cookbook/upgrading-a-subgraph.mdx b/website/pages/mr/cookbook/upgrading-a-subgraph.mdx index 6143392db2c4..9351c87da358 100644 --- a/website/pages/mr/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/mr/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### पूर्वतयारी -- You have already deployed a subgraph on the hosted service. -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Get the latest version of the graph-cli installed: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. Inside the subgraph's main project repository, authenticate the subgraph to deploy and build on the studio: - -```sh -graph auth --studio -``` - -3. Generate files and build the subgraph: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. At this point, your subgraph is now deployed on Subgraph Studio, but not yet published to the decentralized network. You can now test the subgraph to make sure it is working as intended using the temporary query URL as seen on top of the right column above. As this name already suggests, this is a temporary URL and should not be used in production. - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publish the subgraph on The Graph's decentralized network by hitting the "Publish" button. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Create an API key @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -At the end of each week, an invoice will be generated based on the query fees that have been incurred during this period. This invoice will be paid automatically using the GRT available in your balance. Your balance will be updated after the cost of your query fees are withdrawn. Query fees are paid in GRT via the Arbitrum network. You will need to add GRT to the Arbitrum billing contract to enable your API key via the following steps: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Purchase GRT on an exchange of your choice. -- Send the GRT to your wallet. -- On the Billing page in Studio, click on Add GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Follow the steps to add your GRT to your billing balance. -- Your GRT will be automatically bridged to the Arbitrum network and added to your billing balance. - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Securing your API key @@ -110,13 +51,13 @@ It is recommended that you secure the API by limiting its usage in two ways: 1. Authorized Subgraphs 2. Authorized Domain -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Querying your subgraph on the decentralized network -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Make changes to your current subgraph. A good idea is to test small fixes on the Subgraph Studio by publishing to Goerli. +1. Make changes to your current subgraph. 2. Deploy the following and specify the new version in the command (eg. v0.0.1, v0.0.2, etc): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Test the new version in the Subgraph Studio by querying in the playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publish the new version on The Graph Network. Remember that this requires gas (as described in the section above). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### Updating the Metadata of a Subgraph -You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in the Subgraph Studio where you can edit all applicable fields. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### Estimate Query Fees on the Network - -While this is not a live feature in the product UI, you can set your maximum budget per query by taking the amount you're willing to pay per month and dividing it by your expected query volume. - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -Remember that it's a dynamic and growing market, but how you interact with it is in your control. There is no maximum or minimum price specified in the protocol or the Gateways. For example, you can look at the price paid by a few of the dapps on the network (on a per-week basis), below. See the last column, which shows query fees in GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Additional Resources If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From 14de78492f4a054c841e8831b13879e2f0a6de1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:37 -0400 Subject: [PATCH 1015/2326] New translations upgrading-a-subgraph.mdx (Hindi) --- .../hi/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/hi/cookbook/upgrading-a-subgraph.mdx b/website/pages/hi/cookbook/upgrading-a-subgraph.mdx index f68f6c24293a..3ea603cdfc7e 100644 --- a/website/pages/hi/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/hi/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### आवश्यक शर्तें -- आप पहले से ही होस्ट की गई सेवा पर एक सबग्राफ तैनात कर चुके हैं। -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Graph-cli का नवीनतम संस्करण प्राप्त करें: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. सबग्राफ के मुख्य प्रोजेक्ट रिपॉजिटरी के अंदर, सबग्राफ को स्टूडियो पर तैनात करने और बनाने के लिए प्रमाणित करें: - -```sh -graph auth --studio -``` - -3. फाइलें उत्पन्न करें और सबग्राफ बनाएं: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. इस समय पर, आपका सबग्राफ अब सबग्राफ स्टूडियो पर तैनात है, लेकिन अभी तक विकेंद्रीकृत नेटवर्क पर प्रकाशित नहीं हुआ है। अब आप यह सुनिश्चित करने के लिए सबग्राफ का परीक्षण कर सकते हैं कि यह अस्थायी क्वेरी URL का उपयोग करके काम कर रहा है, जैसा कि ऊपर दाएं कॉलम के शीर्ष पर दिखाया गया है। जैसा कि इस नाम से पहले ही पता चलता है, यह एक अस्थायी URL है और इसे उत्पादन में इस्तेमाल नहीं किया जाना चाहिए। - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. "प्रकाशित करें" बटन दबाकर ग्राफ़ के विकेंद्रीकृत नेटवर्क पर सबग्राफ प्रकाशित करें। +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### एक एपीआई key बनाएँ @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -प्रत्येक सप्ताह के अंत में, इस अवधि के दौरान किए गए क्वेरी शुल्क के आधार पर एक चालान जनरेट किया जाएगा। आपके बैलेंस में उपलब्ध GRT का उपयोग करके इस चालान का स्वचालित रूप से भुगतान किया जाएगा। आपकी क्वेरी शुल्क की लागत वापस लेने के बाद आपकी शेष राशि अपडेट की जाएगी। क्वेरी शुल्क का भुगतान आर्बिट्रम नेटवर्क के माध्यम से जीआरटी में किया जाता है। आपको निम्नलिखित चरणों के माध्यम से अपनी एपीआई key को सक्षम करने के लिए आर्बिट्रम बिलिंग कॉन्ट्रैक्ट में जीआरटी जोड़ने की आवश्यकता होगी: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- अपनी पसंद के एक्सचेंज पर जीआरटी खरीदें। -- अपने वॉलेट में जीआरटी भेजें। -- स्टूडियो में बिलिंग पेज पर, ऐड जीआरटी पर क्लिक करें। - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- अपनी बिलिंग शेष राशि में अपना GRT जोड़ने के लिए चरणों का पालन करें। -- आपका GRT स्वचालित रूप से आर्बिट्रम नेटवर्क से जुड़ जाएगा और आपके बिलिंग बैलेंस में जुड़ जाएगा। - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### अपनी एपीआई key सुरक्षित करना @@ -110,13 +51,13 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi 1. अधिकृत सबग्राफ 2. अधिकृत डोमेन -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### विकेंद्रीकृत नेटवर्क पर अपने सबग्राफ को क्वेरी करना -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. अपने वर्तमान सबग्राफ में परिवर्तन करें। गोएर्ली में प्रकाशित करके सबग्राफ स्टूडियो पर छोटे सुधारों का परीक्षण करना एक अच्छा विचार है। +1. Make changes to your current subgraph. 2. निम्नलिखित को तैनात करें और कमांड में नया संस्करण निर्दिष्ट करें (जैसे। v0.0.1, v0.0.2, आदि): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. खेल के मैदान में क्वेरी करके सबग्राफ स्टूडियो में नए संस्करण का परीक्षण करें +3. Test the new version in Subgraph Studio by querying in the playground 4. ग्राफ़ नेटवर्क पर नया संस्करण प्रकाशित करें। याद रखें कि इसके लिए गैस की आवश्यकता होती है (जैसा कि ऊपर अनुभाग में बताया गया है)। ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### सबग्राफ के मेटाडेटा को अपडेट करना -आप एक नया संस्करण प्रकाशित किए बिना अपने सबग्राफ के मेटाडेटा को अपडेट कर सकते हैं। मेटाडेटा में सबग्राफ नाम, छवि, विवरण, वेबसाइट URL, मुल कोड के URL और श्रेणियां शामिल हैं। डेवलपर सबग्राफ स्टूडियो में अपने सबग्राफ विवरण अपडेट करके ऐसा कर सकते हैं जहां आप सभी लागू फ़ील्ड संपादित कर सकते हैं। +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### नेटवर्क पर क्वेरी शुल्क का अनुमान लगाना - -जबकि यह उत्पाद UI में एक लाइव विशेषता नहीं है, आप प्रति माह भुगतान करने के इच्छुक राशि को लेकर और इसे अपनी अपेक्षित क्वेरी मात्रा से विभाजित करके अपना अधिकतम बजट प्रति क्वेरी निर्धारित कर सकते हैं। - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -याद रखें कि यह एक गतिशील और बढ़ता हुआ बाजार है, लेकिन आप इसके साथ कैसे इंटरैक्ट करते हैं यह आपके नियंत्रण में है। प्रोटोकॉल या गेटवे में निर्दिष्ट कोई अधिकतम या न्यूनतम मूल्य नहीं है। उदाहरण के लिए, आप नीचे नेटवर्क पर (प्रति सप्ताह के आधार पर) कुछ डैप द्वारा भुगतान की गई कीमत को देख सकते हैं। अंतिम कॉलम देखें, जो जीआरटी में क्वेरी फीस दिखाता है। - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## अतिरिक्त संसाधन If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From 422d86d456020d9943f58315bb7b8d824d5a3a5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:38 -0400 Subject: [PATCH 1016/2326] New translations upgrading-a-subgraph.mdx (Yoruba) --- .../yo/cookbook/upgrading-a-subgraph.mdx | 115 ++++-------------- 1 file changed, 23 insertions(+), 92 deletions(-) diff --git a/website/pages/yo/cookbook/upgrading-a-subgraph.mdx b/website/pages/yo/cookbook/upgrading-a-subgraph.mdx index ff1ab368c0fa..5502b16d9288 100644 --- a/website/pages/yo/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/yo/cookbook/upgrading-a-subgraph.mdx @@ -10,77 +10,29 @@ The process of upgrading is quick and your subgraphs will forever benefit from t ### Prerequisites -- You have already deployed a subgraph on the hosted service. -- The subgraph is indexing a chain available on The Graph Network. -- You have a wallet with ETH to publish your subgraph on-chain. -- You have ~10,000 GRT to curate your subgraph so Indexers can begin indexing it. +- You have a subgraph deployed on the hosted service. ## Upgrading an Existing Subgraph to The Graph Network -> You can find specific commands for your subgraph in the [Subgraph Studio](https://thegraph.com/studio/). + -1. Get the latest version of the graph-cli installed: +If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. -```sh -npm install -g @graphprotocol/graph-cli -``` - -```sh -yarn global add @graphprotocol/graph-cli -``` - -Make sure your `apiVersion` in subgraph.yaml is `0.0.5` or greater. - -2. Inside the subgraph's main project repository, authenticate the subgraph to deploy and build on the studio: - -```sh -graph auth --studio -``` - -3. Generate files and build the subgraph: - -```sh -graph codegen && graph build -``` - -If your subgraph has build errors, refer to the [AssemblyScript Migration Guide](/release-notes/assemblyscript-migration-guide/). - -4. Sign into [Subgraph Studio](https://thegraph.com/studio/) with your wallet and deploy the subgraph. You can find your `` in the Studio UI, which is based on the name of your subgraph. - -```sh -graph deploy --studio -``` +> This process typically takes less than five minutes. -5. Test queries on the Studio's playground. Here are some examples for the [Sushi - Mainnet Exchange Subgraph](https://thegraph.com/explorer/subgraph?id=0x4bb4c1b0745ef7b4642feeccd0740dec417ca0a0-0&view=Playground): +1. Select the subgraph(s) you want to upgrade. +2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -```sh -{ - users(first: 5) { - id - liquidityPositions { - id - } - } - bundles(first: 5) { - id - ethPrice - } -} -``` - -6. At this point, your subgraph is now deployed on Subgraph Studio, but not yet published to the decentralized network. You can now test the subgraph to make sure it is working as intended using the temporary query URL as seen on top of the right column above. As this name already suggests, this is a temporary URL and should not be used in production. - -- Updating is just publishing another version of your existing subgraph on-chain. -- Because this incurs a cost, it is highly recommended to deploy and test your subgraph in the Subgraph Studio, using the "Development Query URL" before publishing. See an example transaction [here](https://etherscan.io/tx/0xd0c3fa0bc035703c9ba1ce40c1862559b9c5b6ea1198b3320871d535aa0de87b). Prices are roughly around 0.0425 ETH at 100 gwei. -- Any time you need to update your subgraph, you will be charged an update fee. Because this incurs a cost, it is highly recommended to deploy and test your subgraph on Goerli before deploying to mainnet. It can, in some cases, also require some GRT if there is no signal on that subgraph. In the case there is signal/curation on that subgraph version (using auto-migrate), the taxes will be split. +That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. -7. Publish the subgraph on The Graph's decentralized network by hitting the "Publish" button. +You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). -You should curate your subgraph with GRT to ensure that it is indexed by Indexers. To save on gas costs, you can curate your subgraph in the same transaction that you publish it to the network. It is recommended to curate your subgraph with at least 10,000 GRT for high quality of service. +### What next? -And that's it! After you are done publishing, you'll be able to view your subgraphs live on the decentralized network via [The Graph Explorer](https://thegraph.com/explorer). +When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. -Feel free to leverage the [#Curators channel](https://discord.gg/s5HfGMXmbW) on Discord to let Curators know that your subgraph is ready to be signaled. It would also be helpful if you share your expected query volume with them. Therefore, they can estimate how much GRT they should signal on your subgraph. +You can start to query your subgraph right away on The Graph Network, once you have generated an API key. ### Create an API key @@ -88,20 +40,9 @@ You can generate an API key in Subgraph Studio [here](https://thegraph.com/studi ![API key creation page](/img/api-image.png) -At the end of each week, an invoice will be generated based on the query fees that have been incurred during this period. This invoice will be paid automatically using the GRT available in your balance. Your balance will be updated after the cost of your query fees are withdrawn. Query fees are paid in GRT via the Arbitrum network. You will need to add GRT to the Arbitrum billing contract to enable your API key via the following steps: +You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. -- Purchase GRT on an exchange of your choice. -- Send the GRT to your wallet. -- On the Billing page in Studio, click on Add GRT. - -![Add GRT in billing](/img/Add-GRT-New-Page.png) - -- Follow the steps to add your GRT to your billing balance. -- Your GRT will be automatically bridged to the Arbitrum network and added to your billing balance. - -![Billing pane](/img/New-Billing-Pane.png) - -> Note: see the [official billing page](../billing.mdx) for full instructions on adding GRT to your billing balance. +> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. ### Securing your API key @@ -110,13 +51,13 @@ It is recommended that you secure the API by limiting its usage in two ways: 1. Authorized Subgraphs 2. Authorized Domain -You can secure your API key [here](https://thegraph.com/studio/apikeys/test/). +You can secure your API key [here](https://thegraph.com/studio/apikeys/). ![Subgraph lockdown page](/img/subgraph-lockdown.png) ### Querying your subgraph on the decentralized network -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraph?id=S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo&view=Indexers)). The green line at the top indicates that at the time of posting 8 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. ![Rocket Pool subgraph](/img/rocket-pool-subgraph.png) @@ -144,16 +85,16 @@ More information about the nature of the network and how to handle re-orgs are d ## Updating a Subgraph on the Network -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to the Subgraph Studio using the Graph CLI. +If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. -1. Make changes to your current subgraph. A good idea is to test small fixes on the Subgraph Studio by publishing to Goerli. +1. Make changes to your current subgraph. 2. Deploy the following and specify the new version in the command (eg. v0.0.1, v0.0.2, etc): ```sh -graph deploy --studio +graph deploy --studio --version ``` -3. Test the new version in the Subgraph Studio by querying in the playground +3. Test the new version in Subgraph Studio by querying in the playground 4. Publish the new version on The Graph Network. Remember that this requires gas (as described in the section above). ### Owner Update Fee: Deep Dive @@ -180,7 +121,7 @@ Subgraphs are open APIs that external developers are leveraging. Open APIs need ### Updating the Metadata of a Subgraph -You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in the Subgraph Studio where you can edit all applicable fields. +You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. Make sure **Update Subgraph Details in Explorer** is checked and click on **Save**. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. @@ -201,23 +142,13 @@ Follow the steps [here](/managing/deprecating-a-subgraph) to deprecate your subg The hosted service was set up to allow developers to deploy their subgraphs without any restrictions. -In order for The Graph Network to truly be decentralized, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). - -### Estimate Query Fees on the Network - -While this is not a live feature in the product UI, you can set your maximum budget per query by taking the amount you're willing to pay per month and dividing it by your expected query volume. - -While you get to decide on your query budget, there is no guarantee that an Indexer will be willing to serve queries at that price. If a Gateway can match you to an Indexer willing to serve a query at, or lower than, the price you are willing to pay, you will pay the delta/difference of your budget **and** their price. As a consequence, a lower query price reduces the pool of Indexers available to you, which may affect the quality of service you receive. It's beneficial to have high query fees, as that may attract curation and big-name Indexers to your subgraph. - -Remember that it's a dynamic and growing market, but how you interact with it is in your control. There is no maximum or minimum price specified in the protocol or the Gateways. For example, you can look at the price paid by a few of the dapps on the network (on a per-week basis), below. See the last column, which shows query fees in GRT. - -![QueryFee](/img/QueryFee.png) +On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). ## Additional Resources If you're still confused, fear not! Check out the following resources or watch our video guide on upgrading subgraphs to the decentralized network below: - + - [The Graph Network Contracts](https://github.com/graphprotocol/contracts) - [Curation Contract](https://github.com/graphprotocol/contracts/blob/dev/contracts/curation/Curation.sol) - the underlying contract that the GNS wraps around From 331c7d2a3f74cf7ca564e7bca7816b6727d31e73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:39 -0400 Subject: [PATCH 1017/2326] New translations new-chain-integration.mdx (Romanian) --- website/pages/ro/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/ro/new-chain-integration.mdx b/website/pages/ro/new-chain-integration.mdx index c4c7d1122368..35b2bc7c8b4a 100644 --- a/website/pages/ro/new-chain-integration.mdx +++ b/website/pages/ro/new-chain-integration.mdx @@ -54,11 +54,11 @@ For Graph Node to be able to ingest data from an EVM chain, the RPC node must ex **Test the integration by locally deploying a subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Create a simple example subgraph. Some options are below: 1. The pre-packed [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) smart contract and subgraph is a good starting point 2. Bootstrap a local subgraph from any existing smart contract or solidity dev environment [using Hardhat with a Graph plugin](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing [`dataSources.network`](http://dataSources.network) to the same name previously passed on to Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Create your subgraph in Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From 4c7056f41cb41a4c32bb36c94c66e7399b3ce914 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:40 -0400 Subject: [PATCH 1018/2326] New translations new-chain-integration.mdx (French) --- website/pages/fr/new-chain-integration.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/fr/new-chain-integration.mdx b/website/pages/fr/new-chain-integration.mdx index e71af1b013cb..ec6a7423d079 100644 --- a/website/pages/fr/new-chain-integration.mdx +++ b/website/pages/fr/new-chain-integration.mdx @@ -1,5 +1,5 @@ --- -title: Integrating New Networks +title: Intégration de nouveaux réseaux --- Graph Node peut actuellement indexer les données des types de chaînes suivants : @@ -31,7 +31,7 @@ Les nouveaux intégrateurs de chaîne EVM peuvent également envisager l'approch --- -## Testing an EVM JSON-RPC +## Tester un EVM JSON-RPC Pour que Graph Node puisse ingérer des données à partir d'une chaîne EVM, le nœud RPC doit exposer les méthodes EVM JSON RPC suivantes : @@ -43,32 +43,32 @@ Pour que Graph Node puisse ingérer des données à partir d'une chaîne EVM, le - `eth_getTransactionReceipt`, in a JSON-RPC batch request - _`trace_filter`_ _(optionally required for Graph Node to support call handlers)_ -### Graph Node Configuration +### Configuration Graph Node **Commencez par préparer votre environnement local** 1. [Clone Graph Node](https://github.com/graphprotocol/graph-node) -2. Modify [this line](https://github.com/graphprotocol/graph-node/blob/master/docker/docker-compose.yml#L22) to include the new network name and the EVM JSON RPC compliant URL +2. Modifiez [cette ligne](https://github.com/graphprotocol/graph-node/blob/master/docker/docker-compose.yml#L22) pour inclure le nouveau nom de réseau et l'URL compatible avec le RPC JSON EVM > Ne modifiez pas le nom de la variable d'environnement lui-même. Il doit rester « Ethereum » même si le nom du réseau est différent. 3. Exécutez un nœud IPFS ou utilisez celui utilisé par The Graph : https://api.thegraph.com/ipfs/ **Testez l'intégration en déployant localement un subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) -2. Create a simple example subgraph. Some options are below: +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) +2. Créez un exemple de subgraph simple. Certaines options sont ci-dessous : 1. Le contrat intelligent et le subgraph pré-emballés [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) sont un bon point de départ 2. Amorcez un subgraph local à partir de n'importe quel contrat intelligent ou environnement de développement Solidity existant [en utilisant Hardhat avec un plugin Graph](https://github.com/graphprotocol/hardhat-graph) -3. Adaptez le `subgraph.yaml` obtenu en remplaçant [`dataSources.network`](http://dataSources.network) par le même nom précédemment transmis à Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Créez votre subgraph dans Graph Node : `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` -5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` +5. Publiez votre subgraph sur Graph Node : `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` -Graph Node should be syncing the deployed subgraph if there are no errors. Give it time to sync, then send some GraphQL queries to the API endpoint printed in the logs. +Graph Node devrait synchroniser le subgraph déployé s'il n'y a pas d'erreurs. Laissez-lui le temps de se synchroniser, puis envoyez des requêtes GraphQL au point de terminaison de l'API indiqué dans les journaux. --- ## Intégration d'une nouvelle chaîne Firehose -Integrating a new chain is also possible using the Firehose approach. This is currently the best option for non-EVM chains and a requirement for substreams support. Additional documentation focuses on how Firehose works, adding Firehose support for a new chain and integrating it with Graph Node. Recommended docs for integrators: +L'intégration d'une nouvelle chaîne est également possible en utilisant l'approche Firehose. Il s'agit actuellement de la meilleure option pour les chaînes non-EVM et d'une exigence pour la prise en charge des substreams. La documentation supplémentaire se concentre sur le fonctionnement de Firehose, l'ajout de la prise en charge de Firehose pour une nouvelle chaîne et son intégration avec Graph Node. Documentation recommandée aux intégrateurs : 1. [Documentation générale sur Firehose](firehose/) 2. [Ajout du support Firehose pour une nouvelle chaîne](https://firehose.streamingfast.io/integrate-new-chains/integration-overview) From 3490a0d6354e7e6e932dfcee118aaba732420213 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:41 -0400 Subject: [PATCH 1019/2326] New translations new-chain-integration.mdx (Spanish) --- website/pages/es/new-chain-integration.mdx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/website/pages/es/new-chain-integration.mdx b/website/pages/es/new-chain-integration.mdx index 737ab77226a4..a241730db981 100644 --- a/website/pages/es/new-chain-integration.mdx +++ b/website/pages/es/new-chain-integration.mdx @@ -4,7 +4,8 @@ title: Integración de nuevas redes El Graph Node actualmente puede indexar datos de los siguientes tipos de cadena: -- Ethereum, a través de EVM JSON-RPC y [Ethereum Firehose] (https://github.com/streamingfast/firehose-ethereum) +- Ethereum, a través de EVM JSON-RPC y [Ethereum Firehose] + (https://github.com/streamingfast/firehose-ethereum) - NEAR, a través de [NEAR Firehose] (https://github.com/streamingfast/near-firehose-indexer) - Cosmos, a través de [Cosmos Firehose](https://github.com/graphprotocol/firehose-cosmos) - Arweave, a través de [Arweave Firehose](https://github.com/graphprotocol/firehose-arweave) @@ -54,11 +55,11 @@ Para que Graph Node pueda ingerir datos de una cadena EVM, el nodo RPC debe expo **Prueba la integración implementando localmente un subgrafo** -1. Instale [graph-cli] (https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Crea un subgrafo simple de prueba. Algunas opciones están a continuación: 1. El contrato inteligente y el subgrafo [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) preempaquetados son un buen comienzo 2. Arranca un subgrafo local desde cualquier contrato inteligente existente o entorno de desarrollo de solidity [usando Hardhat con un plugin Graph] (https://github.com/graphprotocol/hardhat-graph) -3. Adapta el `subgraph.yaml` resultante cambiando [`dataSources.network`](http://dataSources.network) al mismo nombre que se pasó previamente a Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Crea tu subgrafo en Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publica tu subgrafo en Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From 09e4ac923fe2701d965e73739256bd3fd4230fae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:42 -0400 Subject: [PATCH 1020/2326] New translations new-chain-integration.mdx (Arabic) --- website/pages/ar/new-chain-integration.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ar/new-chain-integration.mdx b/website/pages/ar/new-chain-integration.mdx index 7f7a29c0d860..91b17ab20954 100644 --- a/website/pages/ar/new-chain-integration.mdx +++ b/website/pages/ar/new-chain-integration.mdx @@ -15,7 +15,7 @@ title: تكامل الشبكات الجديدة **1. استدعاء إجراء عن بُعد باستخدام تمثيل كائنات جافا سكريبت لآلة الإيثريوم الافتراضية** -إذا كانت سلسلة الكتل متوافقة مع آلة الإيثريوم الافتراضية وإذا كان العميل/العقدة يوفر واجهة برمجة التطبيقات القياسية لاستدعاء إجراء عن بُعد باستخدام تمثيل كائنات جافا سكريبت لآلة الإيثريوم الافتراضية، ، فإنه يمكن لعقدة الغراف فهرسة هذه السلسلة الجديدة. لمزيد من المعلومات، يرجى الاطلاع على [اختبار استدعاء إجراء عن بُعد باستخدام تمثيل كائنات جافا سكريبت لآلة الإيثريوم الافتراضية] (تكامل*سلسة*جديدة #اختبار*استدعاء*إجراء*عن*بُعد*باستخدام*تمثيل*كائنات*جافا*سكريبت*لآلة*التشغيل*الافتراضية_لإثريوم). +إذا كانت سلسلة الكتل متوافقة مع آلة الإيثريوم الافتراضية وإذا كان العميل/العقدة يوفر واجهة برمجة التطبيقات القياسية لاستدعاء إجراء عن بُعد باستخدام تمثيل كائنات جافا سكريبت لآلة الإيثريوم الافتراضية، ، فإنه يمكن لعقدة الغراف فهرسة هذه السلسلة الجديدة. لمزيد من المعلومات، يرجى الاطلاع على [اختبار استدعاء إجراء عن بُعد باستخدام تمثيل كائنات جافا سكريبت لآلة الإيثريوم الافتراضية] (تكامل_سلسة_جديدة #اختبار_استدعاء_إجراء_عن_بُعد_باستخدام_تمثيل_كائنات_جافا_سكريبت_لآلة_التشغيل_الافتراضية\_لإثريوم). **2. فايرهوز** @@ -54,11 +54,11 @@ title: تكامل الشبكات الجديدة **اختبر التكامل من خلال نشر الغراف الفرعي محليًا.** -1. قم بتثبيت [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. قم بإنشاء مثالًا بسيطًا للغراف الفرعي. بعض الخيارات المتاحة هي كالتالي: 1. يُعتبر [غرافيتار](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) المُعد مسبقًا مثالًا جيدًا لعقد ذكي وغراف فرعي كنقطة انطلاقة جيدة 2. قم بإعداد غراف فرعي محلي من أي عقد ذكي موجود أو بيئة تطوير صلبة [باستخدام هاردهات وملحق الغراف](https://github.com/graphprotocol/hardhat-graph) -3. قم بتعديل subgraph.yaml الناتج عن طريق تغيير [`dataSources.network`](http://dataSources.network) إلى نفس الاسم الذي تم تمريره سابقًا إلى عقدة الغراف. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. أنشئ غرافك الفرعي في عقدة الغراف: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. انشر غرافك الفرعي إلى عقدة الغراف: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From c29e5a3ef1b4736835b254f84db4ae03ac77f992 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:42 -0400 Subject: [PATCH 1021/2326] New translations new-chain-integration.mdx (Czech) --- website/pages/cs/new-chain-integration.mdx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/website/pages/cs/new-chain-integration.mdx b/website/pages/cs/new-chain-integration.mdx index d630858a40ad..1c5466566491 100644 --- a/website/pages/cs/new-chain-integration.mdx +++ b/website/pages/cs/new-chain-integration.mdx @@ -54,22 +54,22 @@ Aby mohl uzel Grafu přijímat data z řetězce EVM, musí uzel RPC zpřístupni **Testování integrace lokálním nasazením podgrafu** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Vytvořte jednoduchý příklad podgrafu. Některé možnosti jsou uvedeny níže: 1. Předpřipravený chytrá smlouva [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) a podgraf je dobrým výchozím bodem 2. Zavedení lokálního podgrafu z jakéhokoli existujícího chytrého kontraktu nebo vývojového prostředí Solidity [pomocí Hardhat s plugin Graph](https://github.com/graphprotocol/hardhat-graph) -3. Upravte výsledný soubor `subgraph.yaml` změnou názvu [`dataSources.network`](http://dataSources.network) na stejný název, který byl dříve předán z Uzel Graf. +3. Upravte výsledný soubor `subgraph.yaml` změnou názvu `dataSources.network` na stejný, který byl dříve předán uzlu Graf. 4. Vytvořte podgraf v uzlu Graf: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Zveřejněte svůj podgraf v uzlu Graf: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` -Graph Node should be syncing the deployed subgraph if there are no errors. Give it time to sync, then send some GraphQL queries to the API endpoint printed in the logs. +Pokud nedošlo k chybám, měl by uzel Graf synchronizovat nasazený podgraf. Dejte mu čas na synchronizaci a poté odešlete několik dotazů GraphQL na koncový bod API vypsaný v protokolech. --- -## Integrating a new Firehose-enabled chain +## Integrace nového řetězce s podporou služby Firehose -Integrating a new chain is also possible using the Firehose approach. This is currently the best option for non-EVM chains and a requirement for substreams support. Additional documentation focuses on how Firehose works, adding Firehose support for a new chain and integrating it with Graph Node. Recommended docs for integrators: +Integrace nového řetězce je možná také pomocí přístupu Firehose. To je v současné době nejlepší možnost pro řetězce, které nejsou součástí EVM, a požadavek na podporu substreamů. Další dokumentace se zaměřuje na to, jak Firehose funguje, přidání podpory Firehose pro nový řetězec a jeho integraci s Uzel Graf. Doporučená dokumentace pro integrátory: 1. [General docs on Firehose](firehose/) -2. [Adding Firehose support for a new chain](https://firehose.streamingfast.io/integrate-new-chains/integration-overview) -3. [Integrating Graph Node with a new chain via Firehose](https://github.com/graphprotocol/graph-node/blob/master/docs/implementation/add-chain.md) +2. [Přidání podpory Firehose pro nový řetězec](https://firehose.streamingfast.io/integrate-new-chains/integration-overview) +3. [Integrace graf uzlu s novým řetězcem přes Firehose](https://github.com/graphprotocol/graph-node/blob/master/docs/implementation/add-chain.md) From fc652fd31d3432d9c303c3ee918ff6669b97844d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:43 -0400 Subject: [PATCH 1022/2326] New translations new-chain-integration.mdx (German) --- website/pages/de/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/de/new-chain-integration.mdx b/website/pages/de/new-chain-integration.mdx index c4c7d1122368..35b2bc7c8b4a 100644 --- a/website/pages/de/new-chain-integration.mdx +++ b/website/pages/de/new-chain-integration.mdx @@ -54,11 +54,11 @@ For Graph Node to be able to ingest data from an EVM chain, the RPC node must ex **Test the integration by locally deploying a subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Create a simple example subgraph. Some options are below: 1. The pre-packed [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) smart contract and subgraph is a good starting point 2. Bootstrap a local subgraph from any existing smart contract or solidity dev environment [using Hardhat with a Graph plugin](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing [`dataSources.network`](http://dataSources.network) to the same name previously passed on to Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Create your subgraph in Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From 8e764f8e1ece853f9187c29304da954167717f2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:44 -0400 Subject: [PATCH 1023/2326] New translations new-chain-integration.mdx (Italian) --- website/pages/it/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/it/new-chain-integration.mdx b/website/pages/it/new-chain-integration.mdx index c4c7d1122368..35b2bc7c8b4a 100644 --- a/website/pages/it/new-chain-integration.mdx +++ b/website/pages/it/new-chain-integration.mdx @@ -54,11 +54,11 @@ For Graph Node to be able to ingest data from an EVM chain, the RPC node must ex **Test the integration by locally deploying a subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Create a simple example subgraph. Some options are below: 1. The pre-packed [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) smart contract and subgraph is a good starting point 2. Bootstrap a local subgraph from any existing smart contract or solidity dev environment [using Hardhat with a Graph plugin](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing [`dataSources.network`](http://dataSources.network) to the same name previously passed on to Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Create your subgraph in Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From 1b9488998cdcdb718e261aa98d45a4cb95833e11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:45 -0400 Subject: [PATCH 1024/2326] New translations new-chain-integration.mdx (Japanese) --- website/pages/ja/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/ja/new-chain-integration.mdx b/website/pages/ja/new-chain-integration.mdx index c3971a530a60..d4d71e358463 100644 --- a/website/pages/ja/new-chain-integration.mdx +++ b/website/pages/ja/new-chain-integration.mdx @@ -54,11 +54,11 @@ Graph NodeがEVMチェーンからデータを取り込むためには、RPCノ **サブグラフをローカルにデプロイして統合をテストします。** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. 簡単なサブグラフの例を作成します。 いくつかのオプションを以下に示します。 1. 事前にパックされた [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) スマート コントラクトとサブグラフは良い出発点です。 2. 既存のスマート コントラクトまたは Solidity 開発環境からローカル サブグラフをブートストラップする [グラフ プラグインで Hardhat を使用](https://github.com/graphprotocol/hardhat-graph) -3. [`dataSources.network`](http://dataSources.network) を以前にグラフ ノードに渡した同じ名前に変更して、結果の `subgraph.yaml` を調整します。 +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. グラフ ノードでサブグラフを作成します: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. サブグラフをGraph Nodeに公開するには、次のコマンドを使用します:graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT From 1a4e0bd96c050c5374ef327fa01acc20ef0de05e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:46 -0400 Subject: [PATCH 1025/2326] New translations new-chain-integration.mdx (Korean) --- website/pages/ko/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/ko/new-chain-integration.mdx b/website/pages/ko/new-chain-integration.mdx index c4c7d1122368..35b2bc7c8b4a 100644 --- a/website/pages/ko/new-chain-integration.mdx +++ b/website/pages/ko/new-chain-integration.mdx @@ -54,11 +54,11 @@ For Graph Node to be able to ingest data from an EVM chain, the RPC node must ex **Test the integration by locally deploying a subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Create a simple example subgraph. Some options are below: 1. The pre-packed [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) smart contract and subgraph is a good starting point 2. Bootstrap a local subgraph from any existing smart contract or solidity dev environment [using Hardhat with a Graph plugin](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing [`dataSources.network`](http://dataSources.network) to the same name previously passed on to Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Create your subgraph in Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From b87222e2dd2581f64da86ee3c38dab4567efca70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:47 -0400 Subject: [PATCH 1026/2326] New translations new-chain-integration.mdx (Dutch) --- website/pages/nl/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/nl/new-chain-integration.mdx b/website/pages/nl/new-chain-integration.mdx index c4c7d1122368..35b2bc7c8b4a 100644 --- a/website/pages/nl/new-chain-integration.mdx +++ b/website/pages/nl/new-chain-integration.mdx @@ -54,11 +54,11 @@ For Graph Node to be able to ingest data from an EVM chain, the RPC node must ex **Test the integration by locally deploying a subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Create a simple example subgraph. Some options are below: 1. The pre-packed [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) smart contract and subgraph is a good starting point 2. Bootstrap a local subgraph from any existing smart contract or solidity dev environment [using Hardhat with a Graph plugin](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing [`dataSources.network`](http://dataSources.network) to the same name previously passed on to Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Create your subgraph in Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From be6dee17f0f052a3eefef59c2e5aaa7e12aebc95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:47 -0400 Subject: [PATCH 1027/2326] New translations new-chain-integration.mdx (Polish) --- website/pages/pl/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/pl/new-chain-integration.mdx b/website/pages/pl/new-chain-integration.mdx index c4c7d1122368..35b2bc7c8b4a 100644 --- a/website/pages/pl/new-chain-integration.mdx +++ b/website/pages/pl/new-chain-integration.mdx @@ -54,11 +54,11 @@ For Graph Node to be able to ingest data from an EVM chain, the RPC node must ex **Test the integration by locally deploying a subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Create a simple example subgraph. Some options are below: 1. The pre-packed [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) smart contract and subgraph is a good starting point 2. Bootstrap a local subgraph from any existing smart contract or solidity dev environment [using Hardhat with a Graph plugin](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing [`dataSources.network`](http://dataSources.network) to the same name previously passed on to Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Create your subgraph in Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From 579ad95d72f3ed42e09b98f4c71362e80309c291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:48 -0400 Subject: [PATCH 1028/2326] New translations new-chain-integration.mdx (Portuguese) --- website/pages/pt/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/new-chain-integration.mdx b/website/pages/pt/new-chain-integration.mdx index cf5e3fdbc029..1ca4bb5b6f32 100644 --- a/website/pages/pt/new-chain-integration.mdx +++ b/website/pages/pt/new-chain-integration.mdx @@ -54,11 +54,11 @@ Para que o Graph Node possa ingerir dados de uma chain EVM, o node RPC deve expo **Teste a integração com o lançamento local de um subgraph** -1. Instale o [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Crie um subgraph de exemplo simples. Aqui estão algumas opções: 1. O contrato inteligente e o subgraph [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) pré-inclusos são bons para começar 2. Inicie um subgraph local de qualquer contrato inteligente existente ou de um ambiente de programação em solidity [com o uso do Hardhat com um plugin do Graph](https://github.com/graphprotocol/hardhat-graph) -3. Adapte o `subgraph.yaml` resultante com a mudança do [`dataSources.network`](http://dataSources.network) para o mesmo nome passado anteriormente ao Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Crie o seu subgraph no Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publique o seu subgraph no Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From 68df5f6155e662a8e23d391229955d177606ff40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:49 -0400 Subject: [PATCH 1029/2326] New translations new-chain-integration.mdx (Russian) --- website/pages/ru/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/ru/new-chain-integration.mdx b/website/pages/ru/new-chain-integration.mdx index 5a95ed5a7be7..a394134ffc62 100644 --- a/website/pages/ru/new-chain-integration.mdx +++ b/website/pages/ru/new-chain-integration.mdx @@ -54,11 +54,11 @@ For Graph Node to be able to ingest data from an EVM chain, the RPC node must ex \*_Протестируйте интеграцию, локально развернув субграф_ -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Create a simple example subgraph. Some options are below: 1. The pre-packed [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) smart contract and subgraph is a good starting point 2. Bootstrap a local subgraph from any existing smart contract or solidity dev environment [using Hardhat with a Graph plugin](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing [`dataSources.network`](http://dataSources.network) to the same name previously passed on to Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Create your subgraph in Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From 2624513892e11fd27b9797f5f0dafdece1341b4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:50 -0400 Subject: [PATCH 1030/2326] New translations new-chain-integration.mdx (Swedish) --- website/pages/sv/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/sv/new-chain-integration.mdx b/website/pages/sv/new-chain-integration.mdx index 46695200aa52..8ebd913a3766 100644 --- a/website/pages/sv/new-chain-integration.mdx +++ b/website/pages/sv/new-chain-integration.mdx @@ -54,11 +54,11 @@ För att Graf Node ska kunna ta emot data från en EVM-blockkedja måste RPC-nod **Testa integrationen genom att lokalt distribuera en subgraf** -1. Installera [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Skapa en enkel exempelsubgraf. Några alternativ är nedan: 1. Den förpackade [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323)-smartkontrakt och subgraf är en bra startpunkt 2. Starta en lokal subgraf från ett befintligt smart kontrakt eller en Solidity-utvecklingsmiljö [med hjälp av Hardhat med ett Graf-plugin](https://github.com/graphprotocol/hardhat-graph) -3. Anpassa den resulterande `subgraph.yaml` genom att ändra [`dataSources.network`](http://dataSources.network) till samma namn som tidigare angavs för Graf Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Skapa din subgraf i Graf Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publicera din subgraf till Graf Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From 0798343ade993104c6ebbd25994bb3576ddf9788 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:51 -0400 Subject: [PATCH 1031/2326] New translations new-chain-integration.mdx (Turkish) --- website/pages/tr/new-chain-integration.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/tr/new-chain-integration.mdx b/website/pages/tr/new-chain-integration.mdx index e81058d9263c..f9e7086bc07f 100644 --- a/website/pages/tr/new-chain-integration.mdx +++ b/website/pages/tr/new-chain-integration.mdx @@ -11,7 +11,7 @@ Graph Düğümü şu anda aşağıdaki zincir türlerinden verileri indeksleyebi Bu zincirlerden herhangi biriyle ilgileniyorsanız, entegrasyon Graph Düğümü yapılandırması ve testinden ibarettir. -Farklı bir zincir tipiyle ilgileniyorsanız Graph Node ile yeni bir entegrasyon kurulmalıdır. Önerilen yaklaşımımız, söz konusu zincir için yeni bir Firehose geliştirmek ve ardından bu Firehose'un Graph Node ile entegrasyonunu sağlamaktır. Daha fazla bilgi aşağıda yer almaktadır. +If you are interested in a different chain type, a new integration with Graph Node must be built. Our recommended approach is developing a new Firehose for the chain in question and then the integration of that Firehose with Graph Node. More info below. **1. EVM JSON-RPC** @@ -43,7 +43,7 @@ Graph Düğümü'nün bir EVM zincirinden veri alabilmesi için RPC düğümün - `eth_getTransactionReceipt`, bir JSON-RPC toplu talebinde - _`trace_filter`_ _(Graph Düğümü'nün çağrı işleyicilerini desteklemesi için opsiyonel olarak gereklidir)_ -### Graph Node Konfigürasyonu +### Graph Node Configuration **Yerel ortamınızı hazırlayarak başlayın** @@ -54,11 +54,11 @@ Graph Düğümü'nün bir EVM zincirinden veri alabilmesi için RPC düğümün **Bir subgraph'ı yerel olarak dağıtarak entegrasyonu test edin** -1. [graph-cli](https://github.com/graphprotocol/graph-cli)'ı yükleyin +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Basit bir örnek subgraph oluşturun. Bazı seçenekler aşağıdadır: 1. Önceden paketlenmiş [Gravitar] (https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) akıllı sözleşmesi ve subgraph'ı iyi bir başlangıç noktasıdır 2. [Bir Graph eklentisi ile Hardhat kullanarak](https://github.com/graphprotocol/hardhat-graph) mevcut herhangi bir akıllı sözleşmeden veya solidity geliştirme ortamından yerel bir subgraph'ı önyükleyin -3. Elde edilen `subgraph.yaml`'ı, [`dataSources.network`](http://dataSources.network)'ü daha önce Graph Node'a aktarılan adla değiştirerek uyarlayın. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Graph Düğümü'nde subgraph'ınızı oluşturun: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Subgraph'ınızı Graph Düğümü'nde yayınlayın: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From e851c6ded8d33524af9365213d7c168ff7a46244 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:52 -0400 Subject: [PATCH 1032/2326] New translations new-chain-integration.mdx (Ukrainian) --- website/pages/uk/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/uk/new-chain-integration.mdx b/website/pages/uk/new-chain-integration.mdx index c4c7d1122368..35b2bc7c8b4a 100644 --- a/website/pages/uk/new-chain-integration.mdx +++ b/website/pages/uk/new-chain-integration.mdx @@ -54,11 +54,11 @@ For Graph Node to be able to ingest data from an EVM chain, the RPC node must ex **Test the integration by locally deploying a subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Create a simple example subgraph. Some options are below: 1. The pre-packed [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) smart contract and subgraph is a good starting point 2. Bootstrap a local subgraph from any existing smart contract or solidity dev environment [using Hardhat with a Graph plugin](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing [`dataSources.network`](http://dataSources.network) to the same name previously passed on to Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Create your subgraph in Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From d09772e4cb795dd1abf0680385820e1a13f653a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:53 -0400 Subject: [PATCH 1033/2326] New translations new-chain-integration.mdx (Chinese Simplified) --- website/pages/zh/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/zh/new-chain-integration.mdx b/website/pages/zh/new-chain-integration.mdx index 15f32f01db74..99a5e5bdb30a 100644 --- a/website/pages/zh/new-chain-integration.mdx +++ b/website/pages/zh/new-chain-integration.mdx @@ -54,11 +54,11 @@ For non-EVM-based chains, Graph Node must ingest blockchain data via gRPC and kn **Test the integration by locally deploying a subgraph** -1. 安装[graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. 创建一个简单的示例子图。以下是一些选项: 1. 预打包的[Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323)智能合约和子图是一个很好的起点 2. 使用任何现有的智能合约或solidity开发环境使用Hardhat和Graph插件引导本地子图(https://github.com/graphprotocol/hardhat-graph) -3. 通过将dataSources.network(http://dataSources.network) 更改为之前传递给Graph Node的相同名称,来调整生成的subgraph.yaml。 +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. 在Graph Node中创建子图:graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT 5. 将子图发布到Graph Node:graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT From 769cafb8ce85f12a384cb68cbb3ba75b1010ea47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:54 -0400 Subject: [PATCH 1034/2326] New translations new-chain-integration.mdx (Urdu (Pakistan)) --- website/pages/ur/new-chain-integration.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ur/new-chain-integration.mdx b/website/pages/ur/new-chain-integration.mdx index b1a142fb672a..2d9d4dcc33ec 100644 --- a/website/pages/ur/new-chain-integration.mdx +++ b/website/pages/ur/new-chain-integration.mdx @@ -27,7 +27,7 @@ title: نئے نیٹ ورکس کو انٹیگریٹ کرنا نئے EVM چین انٹیگریٹرز سب سٹریمز کے فوائد اور اس کے بڑے پیمانے پر متوازی انڈیکسنگ کی صلاحیتوں کو دیکھتے ہوئے، Firehose پر مبنی نقطہ نظر پر بھی غور کر سکتے ہیں۔ دونوں کو سپورٹ کرنے سے ڈویلپرز کو نئی چین کے لیے سب سٹریمز کی تعمیر یا سب گراف کے درمیان انتخاب کرنے کی اجازت ملتی ہے۔ -> **نوٹ**: EVM چینز کے لیے فائر ہوز پر مبنی انٹیگریشن کے لیے اب بھی انڈیکسرز کو چین کے آرکائیو RPC نوڈ کو صحیح طریقے سے سب گرافس کو انڈیکس کرنے کے لیے چلانے کی ضرورت ہوگی۔ یہ فائر ہوز کی سمارٹ کنٹریکٹ سٹیٹ فراہم کرنے میں ناکامی کی وجہ سے ہے جو عام طور پر `eth_call` RPC طریقہ سے قابل رسائی ہے۔ (یہ یاد دلانے کے قابل ہے کہ ایتھ_کالز [ڈویلپرز کے لیے اچھا عمل نہیں ہے](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)) +> **نوٹ**: EVM چینز کے لیے فائر ہوز پر مبنی انٹیگریشن کے لیے اب بھی انڈیکسرز کو چین کے آرکائیو RPC نوڈ کو صحیح طریقے سے سب گرافس کو انڈیکس کرنے کے لیے چلانے کی ضرورت ہوگی۔ یہ فائر ہوز کی سمارٹ کنٹریکٹ سٹیٹ فراہم کرنے میں ناکامی کی وجہ سے ہے جو عام طور پر `eth_call` RPC طریقہ سے قابل رسائی ہے۔ (یہ یاد دلانے کے قابل ہے کہ ایتھ\_کالز [ڈویلپرز کے لیے اچھا عمل نہیں ہے](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)) --- @@ -54,11 +54,11 @@ title: نئے نیٹ ورکس کو انٹیگریٹ کرنا **مقامی طور پر سب گراف کو تعینات کر کے انٹیگریشن کی جانچ کریں** -1. [graph-cli] انسٹال کریں(https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. ایک سادہ مثالی سب گراف بنائیں۔ کچھ آپشنز ذیل میں ہیں: 1. پہلے سے پیک [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) سمارٹ کنٹریکٹ اور سب گراف ایک اچھا نقطہ آغاز ہے 2. کسی بھی موجودہ سمارٹ کنٹریکٹ یا سولیٹی ڈویلپر ماحول سے مقامی سب گراف کو بوٹسٹریپ کریں [گراف پلگ ان کے ساتھ Hardhat کا استعمال کرتے ہوئے](https://github.com/graphprotocol/hardhat-graph) -3. نتیجے میں آنے والے `subgraph.yaml` کو [`dataSources.network`](http://dataSources.network) کو اسی نام سے تبدیل کر کے موافق بنائیں جو پہلے گراف نوڈ پر دیا گیا تھا۔ +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. اپنا سب گراف گراف نوڈ میں بنائیں: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. اپنا سب گراف گراف نوڈ پر شائع کریں: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From 790c5548ee289e7b639a625f8fcff3488ad6286a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:55 -0400 Subject: [PATCH 1035/2326] New translations new-chain-integration.mdx (Vietnamese) --- website/pages/vi/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/vi/new-chain-integration.mdx b/website/pages/vi/new-chain-integration.mdx index c4c7d1122368..35b2bc7c8b4a 100644 --- a/website/pages/vi/new-chain-integration.mdx +++ b/website/pages/vi/new-chain-integration.mdx @@ -54,11 +54,11 @@ For Graph Node to be able to ingest data from an EVM chain, the RPC node must ex **Test the integration by locally deploying a subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Create a simple example subgraph. Some options are below: 1. The pre-packed [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) smart contract and subgraph is a good starting point 2. Bootstrap a local subgraph from any existing smart contract or solidity dev environment [using Hardhat with a Graph plugin](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing [`dataSources.network`](http://dataSources.network) to the same name previously passed on to Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Create your subgraph in Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From 12c54298ab0779edd0e49ee99fc9cdc953b08fa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:55 -0400 Subject: [PATCH 1036/2326] New translations new-chain-integration.mdx (Marathi) --- website/pages/mr/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/mr/new-chain-integration.mdx b/website/pages/mr/new-chain-integration.mdx index c4c7d1122368..35b2bc7c8b4a 100644 --- a/website/pages/mr/new-chain-integration.mdx +++ b/website/pages/mr/new-chain-integration.mdx @@ -54,11 +54,11 @@ For Graph Node to be able to ingest data from an EVM chain, the RPC node must ex **Test the integration by locally deploying a subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Create a simple example subgraph. Some options are below: 1. The pre-packed [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) smart contract and subgraph is a good starting point 2. Bootstrap a local subgraph from any existing smart contract or solidity dev environment [using Hardhat with a Graph plugin](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing [`dataSources.network`](http://dataSources.network) to the same name previously passed on to Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Create your subgraph in Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From cb29b7706aec38ae4503c7088791fa4cb8ff0635 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:56 -0400 Subject: [PATCH 1037/2326] New translations new-chain-integration.mdx (Hindi) --- website/pages/hi/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/hi/new-chain-integration.mdx b/website/pages/hi/new-chain-integration.mdx index c4c7d1122368..35b2bc7c8b4a 100644 --- a/website/pages/hi/new-chain-integration.mdx +++ b/website/pages/hi/new-chain-integration.mdx @@ -54,11 +54,11 @@ For Graph Node to be able to ingest data from an EVM chain, the RPC node must ex **Test the integration by locally deploying a subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Create a simple example subgraph. Some options are below: 1. The pre-packed [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) smart contract and subgraph is a good starting point 2. Bootstrap a local subgraph from any existing smart contract or solidity dev environment [using Hardhat with a Graph plugin](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing [`dataSources.network`](http://dataSources.network) to the same name previously passed on to Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Create your subgraph in Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From 7568612e0325c514bf4e74b0de362a58e1fb4e65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:57 -0400 Subject: [PATCH 1038/2326] New translations new-chain-integration.mdx (Yoruba) --- website/pages/yo/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/yo/new-chain-integration.mdx b/website/pages/yo/new-chain-integration.mdx index c4c7d1122368..35b2bc7c8b4a 100644 --- a/website/pages/yo/new-chain-integration.mdx +++ b/website/pages/yo/new-chain-integration.mdx @@ -54,11 +54,11 @@ For Graph Node to be able to ingest data from an EVM chain, the RPC node must ex **Test the integration by locally deploying a subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-cli) +1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Create a simple example subgraph. Some options are below: 1. The pre-packed [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) smart contract and subgraph is a good starting point 2. Bootstrap a local subgraph from any existing smart contract or solidity dev environment [using Hardhat with a Graph plugin](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing [`dataSources.network`](http://dataSources.network) to the same name previously passed on to Graph Node. +3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. 4. Create your subgraph in Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publish your subgraph to Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From f4e5979ae9816adf9344e5d387ddef6afe534858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:43:58 -0400 Subject: [PATCH 1039/2326] New translations chain-integration-overview.mdx (French) --- website/pages/fr/chain-integration-overview.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/fr/chain-integration-overview.mdx b/website/pages/fr/chain-integration-overview.mdx index 98111a2dd987..9310317d84ca 100644 --- a/website/pages/fr/chain-integration-overview.mdx +++ b/website/pages/fr/chain-integration-overview.mdx @@ -12,7 +12,7 @@ Un processus d'intégration transparent et basé sur la gouvernance a été con ## Étape 2. Validation de l'intégration - Les équipes collaborent avec les développeurs principaux, Graph Foundation et les opérateurs d'interfaces graphiques et de passerelles réseau, tels que [Subgraph Studio](https://thegraph.com/studio/), pour garantir un processus d'intégration fluide. Cela implique de fournir l'infrastructure backend nécessaire, telle que les points de terminaison JSON RPC ou Firehose de la chaîne d'intégration. Les équipes souhaitant éviter d'auto-héberger une telle infrastructure peuvent s'appuyer sur la communauté d'opérateurs de nœuds (indexeurs) de The Graph, ce que la Fondation peut aider à faire. -- Les Graph Indexeurs testent l'intégration sur le réseau de test du Graph. +- Les Graph Indexeurs testent l'intégration sur le réseau de testnet du graph. - Les développeurs principaux et les indexeurs surveillent la stabilité, les performances et le déterminisme des données. ## Étape 3. Intégration du réseau principal From 3532a22e06b65057d8e328c92332c3c2c16e47d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:06 -0400 Subject: [PATCH 1040/2326] New translations chain-integration-overview.mdx (Turkish) --- website/pages/tr/chain-integration-overview.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/tr/chain-integration-overview.mdx b/website/pages/tr/chain-integration-overview.mdx index b1bbb263d648..ea08112b11fc 100644 --- a/website/pages/tr/chain-integration-overview.mdx +++ b/website/pages/tr/chain-integration-overview.mdx @@ -46,4 +46,4 @@ Ana ağa geçiş süresinin entegrasyon geliştirme süresine, ek araştırma ge ### 4. Öncelikler nasıl ele alınacak? -\#3'e benzer şekilde, genel hazırlığa ve ilgili paydaşların bant genişliğine bağlı olacaktır. Örneğin, yepyeni bir Firehose uygulamasına sahip yeni bir zincir, halihazırda savaşta test edilmiş veya yönetişim sürecinde daha ileride olan entegrasyonlardan daha uzun sürebilir. Bu özellikle daha önce [barındırılan hizmette](https://thegraph.com/hosted-service) desteklenen zincirler veya halihazırda test edilmiş yığınlara dayanan zincirler için geçerlidir. +Similar to #3, it will depend on overall readiness and involved stakeholders' bandwidth. For example, a new chain with a brand new Firehose implementation may take longer than integrations that have already been battle-tested or are farther along in the governance process. This is especially true for chains previously supported on the [hosted service](https://thegraph.com/hosted-service) or those relying on already tested stacks. From c49832277705b59df2ca45f6c4808f3b8d3e7560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:07 -0400 Subject: [PATCH 1041/2326] New translations chain-integration-overview.mdx (Urdu (Pakistan)) --- website/pages/ur/chain-integration-overview.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/ur/chain-integration-overview.mdx b/website/pages/ur/chain-integration-overview.mdx index f09de51959b9..6855823bae83 100644 --- a/website/pages/ur/chain-integration-overview.mdx +++ b/website/pages/ur/chain-integration-overview.mdx @@ -7,7 +7,8 @@ title: چین انٹیگریشن کے عمل کا جائزہ ## مرحلہ 1. تکنیکی انٹیگریشن - ٹیمیں غیر ای وی ایم پر مبنی چینز کے لیے گراف نوڈ انٹیگریشن اور فائر ہوز پر کام کرتی ہیں۔ [یہ طریقہ ہے](/new-chain-integration/). -- ٹیمیں فورم تھریڈ بنا کر پروٹوکول انٹیگریشن کا عمل شروع کرتی ہیں [here](https://forum.thegraph.com/c/governance-gips/new-chain-support/71)(گورننس اور GIPs کے تحت نئے ڈیٹا ذرائع ذیلی زمرہ) ۔ پہلے سے طے شدہ فورم ٹیمپلیٹ کا استعمال لازمی ہے. +- ٹیمیں فورم تھریڈ بنا کر پروٹوکول انٹیگریشن کا عمل شروع کرتی ہیں [here](https://forum.thegraph.com/c/governance-gips/new-chain-support/71)(گورننس اور GIPs کے تحت نئے ڈیٹا ذرائع ذیلی زمرہ) + ۔ پہلے سے طے شدہ فورم ٹیمپلیٹ کا استعمال لازمی ہے. ## مرحلہ 2۔ انٹیگریشن کی توثیق From b59fb90eea0fab03bb6f4fb564a7b461d2030d0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:10 -0400 Subject: [PATCH 1042/2326] New translations quick-start.mdx (Romanian) --- website/pages/ro/quick-start.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/ro/quick-start.mdx b/website/pages/ro/quick-start.mdx index c205b755317c..295de75c8a0f 100644 --- a/website/pages/ro/quick-start.mdx +++ b/website/pages/ro/quick-start.mdx @@ -2,7 +2,7 @@ title: Quick Start --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). @@ -16,7 +16,7 @@ This guide is written assuming that you have: Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “create a subgraph.” Select the network of your choice and click continue. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Install the Graph CLI @@ -67,13 +67,13 @@ See the following screenshot for an example for what to expect when initializing The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- 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. +- 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 [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Deploy to the Subgraph Studio +## 5. Deploy to Subgraph Studio Once your subgraph is written, run the following commands: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Publish Your Subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to the Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -In the Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Before you can query your subgraph, Indexers need to begin serving queries on it. In order to streamline this process, you can curate your own subgraph using GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -At the time of writing, it is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +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. To save on gas costs, you can curate your subgraph in the same transaction that you published it by selecting this button when you publish your subgraph to The Graph’s decentralized network: From 5b8af50bafe1c9d76efdab705940c94085fa9041 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:11 -0400 Subject: [PATCH 1043/2326] New translations quick-start.mdx (French) --- website/pages/fr/quick-start.mdx | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/website/pages/fr/quick-start.mdx b/website/pages/fr/quick-start.mdx index 1c4fc9f55376..f857e59eacfa 100644 --- a/website/pages/fr/quick-start.mdx +++ b/website/pages/fr/quick-start.mdx @@ -1,22 +1,22 @@ --- -title: Début rapide +title: Démarrage Rapide --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. -Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). +Assurez-vous que votre subgraph indexera les données d'un [réseau pris en charge] (/developing/supported-networks). Ce guide est rédigé en supposant que vous possédez : - Une adresse de smart contract sur le réseau de votre choix -- GRT pour créer votre subgraph -- Un portefeuille de crypto +- Des GRT pour la curation de votre subgraph +- Un portefeuille crypto ## 1. Créez un subgraph sur Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Une fois connecté, vous pouvez commencer par cliquer sur « créer un subgraph ». Sélectionnez le réseau de votre choix et cliquez sur Continuer. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Installez la CLI Graph @@ -67,13 +67,13 @@ La capture d'écran suivante donne un exemple de ce qui vous attend lors de l'in Les commandes précédentes créent un subgraph d'échafaudage que vous pouvez utiliser comme point de départ pour construire votre propre subgraph. Lorsque vous apporterez des modifications au subgraph, vous travaillerez principalement avec trois fichiers : -- Manifest (subgraph.yaml) : le manifeste définit les sources de données que vos subgraphs indexeront. -- Schéma (schema.graphql) - Le schéma GraphQL définit les données que vous souhaitez récupérer du subgraph. -- Mappages AssemblyScript (mapping.ts) - Il s'agit du code qui traduit les données de vos sources de données vers les entités définies dans le schéma. +- 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. -Pour plus d'informations sur la façon d'écrire votre subgraph, voir [Création d'un subgraph](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Déployer vers le Subgraph Studio +## 5. Deploy to Subgraph Studio Une fois votre subgraph écrit, exécutez les commandes suivantes : @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Publier votre subgraph sur le réseau décentralisé de The Graph -Une fois que votre subgraph a été déployé dans le Subgraph Studio, que vous l'avez testé et que vous êtes prêt à le mettre en production, vous pouvez alors le publier sur le réseau décentralisé. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -Dans le Subgraph Studio, cliquez sur votre subgraph. Sur la page du subgraph, vous pouvez cliquer sur le bouton de publication en haut à droite. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Avant de pouvoir interroger votre subgraph, les indexeurs doivent commencer à servir des requêtes sur celui-ci. Afin de rationaliser ce processus, vous pouvez créer votre propre subgraph à l'aide de GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -Au moment de la rédaction, il est recommandé de créer votre propre subgraph avec 10 000 GRT pour vous assurer qu'il est indexé et disponible pour interrogation dès que possible. +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. Pour économiser sur les coûts de gaz, vous pouvez organiser votre subgraph dans la même transaction que celle où vous l'avez publié en sélectionnant ce bouton lorsque vous publiez votre subgraph sur le réseau décentralisé de The Graph : From 57b0b56501e66176c8099b6b7dd0fbf8f52fa904 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:12 -0400 Subject: [PATCH 1044/2326] New translations quick-start.mdx (Spanish) --- website/pages/es/quick-start.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/es/quick-start.mdx b/website/pages/es/quick-start.mdx index 0ee39a3ca33e..0d862cde7716 100644 --- a/website/pages/es/quick-start.mdx +++ b/website/pages/es/quick-start.mdx @@ -2,7 +2,7 @@ title: Comienzo Rapido --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). @@ -16,7 +16,7 @@ Esta guía está escrita asumiendo que tú tienes: Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Una vez conectado, puedes comenzar presionando "Crea un subgrafo". Selecciona la red de tu elección y presiona continuar. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Instala the graph CLI @@ -67,13 +67,13 @@ Ve la siguiente captura para un ejemplo de que debes de esperar cuando inicializ Los comandos anteriores crean un subgrafo de andamio que puedes utilizar como punto de partida para construir tu subgrafo. Al realizar cambios en el subgrafo, trabajarás principalmente con tres archivos: -- Manifest (subgraph.yaml) - El manifiesto define qué fuentes de datos indexarán tus subgrafos. -- Schema (schema.graphql) - El esquema GraphQL define los datos que deseas recuperar del subgrafo. -- AssemblyScript Mappings (mapping.ts) - Este es el código que traduce los datos de tus fuentes de datos a las entidades definidas en el esquema. +- 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. -Para obtener más información sobre cómo escribir tu subgrafo, consulta [Crear un subgrafo](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Despliega en Subgraph Studio +## 5. Deploy to Subgraph Studio Una vez escrito tu subgrafo, ejecuta los siguientes comandos: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Publica tu subgrafo en la red descentralizada de the graph -Una vez que tu subgrafo se haya deployado en Subgraph Studio, lo hayas probado y estés listo para ponerlo en producción, lo podrás publicar en la red descentralizada. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -En el subgraph studio, da click en tu subgrafo. En la pagina del subgrafo, podrás darle click en el boton de publicar que se encuentra en la parte superior derecha. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Antes de poder hacer consultas a tu subgrafo, los indexadores deben comenzar a responder a las consultas sobre él. Para simplificar este proceso, puedes curar tu propio subgrafo utilizando GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -Al momento de escribir este artículo, se recomienda que cures tu propio subgrafo con 10,000 GRT para asegurarte de que esté indexado y disponible para consultas lo antes posible. +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. Para ahorrar en costos de gas, puedes curar tu subgrafo en la misma transacción en la que lo publicas seleccionando este botón al publicar tu subgrafo en la red descentralizada de The Graph: From 7f318c0b844a668cfcbd4ee576763b0cc0d62ab4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:13 -0400 Subject: [PATCH 1045/2326] New translations quick-start.mdx (Arabic) --- website/pages/ar/quick-start.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/ar/quick-start.mdx b/website/pages/ar/quick-start.mdx index 004970c10ac8..2c51215d041b 100644 --- a/website/pages/ar/quick-start.mdx +++ b/website/pages/ar/quick-start.mdx @@ -2,7 +2,7 @@ title: بداية سريعة --- -هذا الدليل سيأخذك سريعا خلال كيفية تهيئة وإنشاء ونشر الغراف الفرعي الخاص بك في سبغراف استيديو أو [الخدمة المستضافة]. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. تأكد من أن الغراف الفرعي الخاص بك سيقوم بفهرسة البيانات من [الشبكة المدعومة](/developing/supported-networks). @@ -16,7 +16,7 @@ title: بداية سريعة انتقل إلى [سبغراف استوديو] (https://thegraph.com/studio) وقم بربط محفظتك. -بمجرد الريط، يمكنك البدء بالنقر على "إنشاء غراف فرعي." اختر الشبكة من اختيارك وانقر على "استمرار". +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Install the Graph CLI @@ -67,13 +67,13 @@ graph init --studio الأوامر السابقة تنشئ هيكل غرافك الفرعي والذي يمكنك استخدامه كنقطة بداية لبناء غرافك الفرعي. عند إجراء تغييرات على الغراف الفرعي، ستعمل بشكل رئيسي مع ثلاثة ملفات: -- البيان التعريفي (subgraph.yaml) - يقوم بتحديد أي من مصادر البيانات التي ستقوم غرافاتك الفرعية بفهرستها. -- المخطط (schema.graphql) - مخطط لغة استعلام الغراف GraphQL يحدد البيانات التي ترغب في استردادها من الغراف الفرعي. -- (AssemblyScript Mappings (mapping.ts هذا هو الكود الذي يترجم البيانات من مصادر البيانات الخاصة بك إلى الكيانات المحددة في المخطط. +- 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. للمزيد من المعلومات حول كيفية كتابة غرافك الفرعي، يُرجى الاطلاع على إنشاء غراف فرعي(/developing/creating-a-subgraph). -## 5. Deploy to the Subgraph Studio +## 5. Deploy to Subgraph Studio عند كتابة غرافك الفرعي، قم بتنفيذ الأوامر التالية: @@ -145,15 +145,15 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 7. قم بنشر غرافك الفرعي على شبكة الغراف اللامركزية -حالما يتم نشر غرافك الفرعي على سبغراف استيديو، وقمت باختباره، وهو جاهز لوضع الإنتاج، يمكنك عندها نشره على الشبكة اللامركزية. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -في سبغراف استيديو، انقر على غرافك الفرعي. في صفحة الغراف الفرعي، ستتمكن من النقر على زر النشر في أعلى اليمين. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. حدد الشبكة التي ترغب في نشر غرافك الفرعي عليها. يُوصى بنشر الغرافات الفرعية على شبكة أربترم ون للاستفادة من [سرعة معاملات أسرع وتكاليف غاز أقل](/arbitrum/arbitrum-faq). -قبل أن تتمكن من استعلام غرافك الفرعي، يجب أن يبدأ المفهرسون في تقديم الاستعلامات عليه. لتتمكن من تسريع هذه العملية، تستطيع أن تنسِّق غرافك الفرعي باستخدام عملة الغراف GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -في الوقت الحالي، يُوصى بأن تنسق غرافك الفرعي باستخدام 10,000 من عملة الغراف GRT لضمان أن يتم فهرسته ويكون متاحاً للاستعلام في أقرب وقت ممكن. +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. لتوفير تكاليف الغاز، يمكنك تنسيق غرافك الفرعي في نفس العملية التي نشرته عن طريق اختيار هذا الزر عند نشر غرافك الفرعي على شبكة الغراف اللامركزية: From cd16d36ed2a3445662bda47519051c624a3e13f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:14 -0400 Subject: [PATCH 1046/2326] New translations quick-start.mdx (Czech) --- website/pages/cs/quick-start.mdx | 44 ++++++++++++++++---------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/website/pages/cs/quick-start.mdx b/website/pages/cs/quick-start.mdx index 13af4b54b95d..ac5c6f14f09b 100644 --- a/website/pages/cs/quick-start.mdx +++ b/website/pages/cs/quick-start.mdx @@ -1,10 +1,10 @@ --- -title: Rychlé spuštění +title: Rychlé Začít --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. -Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). +Ujistěte se, že váš podgraf bude indexovat data z [podporované sítě](/developing/supported-networks). Tato příručka je napsána za předpokladu, že máte: @@ -14,23 +14,23 @@ Tato příručka je napsána za předpokladu, že máte: ## 1. Vytvoření podgrafu v Subgraph Studio -Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. +Přejděte do [Subgraph Studio](https://thegraph.com/studio/) a připojte peněženku. -Po připojení můžete začít kliknutím na tlačítko "create a subgraph". Vyberte vybranou síť a klikněte na tlačítko pokračovat. +Po připojení můžete začít kliknutím na tlačítko "Create a Subgraph". ## 2. Nainstalujte Graph CLI -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +Graph CLI je napsáno v JavaScript a k jeho použití je třeba mít nainstalovaný buď `npm`, nebo `yarn`. V místním počítači spusťte jeden z následujících příkazů: -Using [npm](https://www.npmjs.com/): +Použitím [npm](https://www.npmjs.com/): ```sh npm install -g @graphprotocol/graph-cli ``` -Using [yarn](https://yarnpkg.com/): +Použitím [yarn](https://yarnpkg.com/): ```sh yarn global add @graphprotocol/graph-cli @@ -38,7 +38,7 @@ yarn global add @graphprotocol/graph-cli ## 3. Inicializujte podgraf -> You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). +> Příkazy pro konkrétní podgraf najdete na stránce podgrafu v [Subgraph Studio](https://thegraph.com/studio/). Při inicializaci podgrafu vás nástroj CLI požádá o následující informace: @@ -48,7 +48,7 @@ Při inicializaci podgrafu vás nástroj CLI požádá o následující informac - Ethereum síť (nepovinné): možná budete muset zadat, ze které sítě kompatibilní s EVM bude váš subgraf indexovat data. - Adresa zakázky: Vyhledejte adresu chytré smlouvy, ze které se chcete dotazovat na data. - ABI: Pokud se ABI nevyplňuje automaticky, je třeba jej zadat ručně jako soubor JSON. -- Počáteční blok: Doporučuje se zadat počáteční blok, abyste ušetřili čas, zatímco váš subgraf indexuje data blockchainu. Počáteční blok můžete vyhledat tak, že najdete blok, ve kterém byl váš kontrakt nasazen. +- Počáteční blok: Doporučuje se zadat počáteční blok, abyste ušetřili čas, zatímco váš subgraf indexuje data blockchainu. Počáteční blok můžete vyhledat tak, že najdete blok, ve kterém byl váš kontrakt nasazen. - Název smlouvy: zadejte název své smlouvy. - Indexovat události smlouvy jako entity: doporučujeme nastavit tuto hodnotu na true, protože se automaticky přidá mapování do vašeho subgrafu pro každou emitovanou událost - Přidat další smlouvu(nepovinné): můžete přidat další smlouvu @@ -67,13 +67,13 @@ Na následujícím snímku najdete příklad toho, co můžete očekávat při i Předchozí příkazy vytvořily podgraf lešení, který můžete použít jako výchozí bod pro sestavení podgrafu. Při provádění změn v podgrafu budete pracovat především se třemi soubory: -- Manifest (subgraph.yaml) - Manifest definuje, jaké datové zdroje budou vaše podgrafy indexovat. -- Schéma (schema.graphql) - Schéma GraphQL definuje, jaká data chcete z podgrafu získat. -- AssemblyScript Mapování (mapping.ts) - Jedná se o kód, který převádí data z datových zdrojů na entity definované ve schématu. +- Manifest (`subgraph.yaml`) - Manifest definuje, jaké datové zdroje budou vaše podgrafy indexovat. +- Schéma (`schema.graphql`) - Schéma GraphQL definuje, jaká data chcete z podgrafu získat. +- AssemblyScript Mapování (`mapping.ts`) - Jedná se o kód, který převádí data z vašich datových zdrojů na entity definované ve schématu. Další informace o zápisu podgrafu naleznete v části [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Nasazení do studia Subgraph Studio +## 5. Deploy to Subgraph Studio Jakmile je podgraf napsán, spusťte následující příkazy: @@ -89,7 +89,7 @@ $ graph auth --studio $ graph deploy --studio ``` -You will be asked for a version label. It's strongly recommended to use [semver](https://semver.org/) for versioning like `0.0.1`. That said, you are free to choose any string as version such as:`v1`, `version1`, `asdf`. +Budete vyzváni k zadání štítku verze. Důrazně se doporučuje použít [semver](https://semver.org/) pro označení verzí jako `0.0.1`. Přesto můžete jako verzi zvolit libovolný řetězec, například:`v1`, `version1`, `asdf`. ## 6. Otestujte svůj podgraf @@ -99,7 +99,7 @@ V protokolech se dozvíte, zda se v podgrafu vyskytly nějaké chyby. Protokoly ![Subgraph logs](/img/subgraph-logs-image.png) -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: +Pokud podgraf selhává, můžete se na stav podgrafu zeptat pomocí nástroje GraphiQL Playground. Všimněte si, že můžete využít níže uvedený dotaz a zadat ID nasazení vašeho podgrafu. V tomto případě je `Qm...` ID nasazení (které najdete na stránce podgrafu v části **Podrobnosti**). Níže uvedený dotaz vás informuje o selhání podgrafu, takže můžete podle toho provádět ladění: ```graphql { @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Zveřejnění subgrafu v decentralizované síti grafu -Jakmile je váš subgraf nasazen do Subgraph Studia, otestován a připraven k uvedení do produkčního provozu, můžete jej publikovat v decentralizované síti. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -Ve Studio podgrafů klikněte na svůj podgraf. Na stránce podgrafu budete moci kliknout na tlačítko publikovat vpravo nahoře. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. -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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). +Vyberte síť, do které chcete podgraf publikovat. Doporučujeme publikovat podgrafy do sítě Arbitrum One, abyste mohli využít výhod [vyšší rychlost transakcí a nižší náklady na plyn](/arbitrum/arbitrum-faq). -Než se budete moci dotazovat na podgraf, je třeba, aby na něm indexery začaly obsluhovat dotazy. Abyste tento proces zefektivnili, můžete si pomocí GRT vytvořit vlastní podgraf. +(Upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] začne obsluhovat dotazy na vašem podgrafu bez ohledu na kurátorství podgrafu a poskytne vám 100,000 dotazů měsíčně zdarma. -V době psaní tohoto článku se doporučuje, abyste si vytvořili vlastní podgraf s 10,000 GRT, abyste zajistili, že bude co nejdříve indexován a dostupný pro dotazování. +Pro vyšší kvalitu služeb a silnější redundanci můžete svůj podgraf upravit tak, aby přilákal více indexátorů. V době psaní tohoto článku je doporučeno, abyste svůj podgraf kurátorovali s alespoň 3,000 GRT, abyste zajistili, že 3-5 dalších Indexerů začne obsluhovat dotazy na vašem podgrafu. Abyste ušetřili náklady na benzín, můžete svůj subgraf kurátorovat ve stejné transakci, v níž jste ho publikovali, a to výběrem tohoto tlačítka při publikování subgrafu do decentralizované sítě The Graph: @@ -165,4 +165,4 @@ Nyní se můžete dotazovat na svůj podgraf odesláním dotazů GraphQL na adre Pokud nemáte svůj klíč API, můžete se ze své aplikace dotazovat prostřednictvím bezplatné dočasné adresy URL pro dotazy s omezenou sazbou, kterou lze použít pro vývoj a staging. -For more information about querying data from your subgraph, read more [here](/querying/querying-the-graph/). +Další informace o dotazování na data z podgrafu najdete [zde](/querying/querying-the-graph/). From e91cbb91b43b27a188ae13ad18ba8a0dc73b11c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:14 -0400 Subject: [PATCH 1047/2326] New translations quick-start.mdx (German) --- website/pages/de/quick-start.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/de/quick-start.mdx b/website/pages/de/quick-start.mdx index 23d52976da80..8b79ba8d53d4 100644 --- a/website/pages/de/quick-start.mdx +++ b/website/pages/de/quick-start.mdx @@ -2,7 +2,7 @@ title: Schnellstart --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Stellen Sie sicher, dass Ihr Subgraph Daten aus einem [unterstützten Netzwerk] (/developing/supported-networks) indiziert. @@ -16,7 +16,7 @@ Bei der Erstellung dieses Leitfadens wird davon ausgegangen, dass Sie über die Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Sobald die Verbindung hergestellt ist, können Sie auf " Subgraph erstellen" klicken. Wählen Sie das Netzwerk Ihrer Wahl und klicken Sie auf "Weiter". +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Installieren der Graph-CLI @@ -67,13 +67,13 @@ Der folgende Screenshot zeigt ein Beispiel dafür, was Sie bei der Initialisieru Die vorangegangenen Befehle erstellen einen gerüstartigen Subgraphen, den Sie als Ausgangspunkt für den Aufbau Ihres Subgraphen verwenden können. Wenn Sie Änderungen an dem Subgraphen vornehmen, werden Sie hauptsächlich mit -- Manifest (subgraph.yaml) - Das Manifest definiert, welche Datenquellen Ihre Subgraphen indizieren werden. -- Schema (schema.graphql) - Das GraphQL-Schema definiert, welche Daten Sie aus dem Subgraph abrufen möchten. -- AssemblyScript Mappings (mapping.ts) - Dies ist der Code, der die Daten aus Ihren Datenquellen in die im Schema definierten Entitäten übersetzt. +- 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 [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Bereitstellung für das Subgraph Studio +## 5. Deploy to Subgraph Studio Sobald Ihr Subgraph geschrieben ist, führen Sie die folgenden Befehle aus: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Veröffentlichen Sie Ihren Subgraphen im dezentralen Netzwerk von The Graph -Sobald Ihr Subgraph im Subgraph Studio bereitgestellt wurde, Sie ihn getestet haben und bereit sind, ihn in Betrieb zu nehmen, können Sie ihn im dezentralen Netzwerk veröffentlichen. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -Klicken Sie im Subgraph Studio auf Ihren Subgraphen. Auf der Seite des Subgraphen können Sie oben rechts auf die Schaltfläche "Veröffentlichen" klicken. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Bevor Sie Ihren Subgraphen abfragen können, müssen die Indexer damit beginnen, die Abfragen zu verarbeiten. Bevor Sie Ihren Subgraphen abfragen können, müssen die Indexer damit beginnen, die Abfragen zu bedienen. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -Zum Zeitpunkt der Erstellung dieses Dokuments wird empfohlen, einen eigenen Subgraphen mit 10.000 GRT zu kuratieren, um sicherzustellen, dass er so schnell wie möglich indiziert und für Abfragen verfügbar ist. +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. Um Gaskosten zu sparen, können Sie Ihren Subgraphen in der gleichen Transaktion kuratieren, in der Sie ihn veröffentlicht haben, indem Sie diese Schaltfläche auswählen, wenn Sie Ihren Subgraphen im dezentralen Netzwerk von The Graph veröffentlichen: From 3fe159a46af786a6c62085b3bf2c417c35ba7609 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:15 -0400 Subject: [PATCH 1048/2326] New translations quick-start.mdx (Italian) --- website/pages/it/quick-start.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/it/quick-start.mdx b/website/pages/it/quick-start.mdx index c205b755317c..295de75c8a0f 100644 --- a/website/pages/it/quick-start.mdx +++ b/website/pages/it/quick-start.mdx @@ -2,7 +2,7 @@ title: Quick Start --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). @@ -16,7 +16,7 @@ This guide is written assuming that you have: Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “create a subgraph.” Select the network of your choice and click continue. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Install the Graph CLI @@ -67,13 +67,13 @@ See the following screenshot for an example for what to expect when initializing The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- 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. +- 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 [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Deploy to the Subgraph Studio +## 5. Deploy to Subgraph Studio Once your subgraph is written, run the following commands: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Publish Your Subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to the Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -In the Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Before you can query your subgraph, Indexers need to begin serving queries on it. In order to streamline this process, you can curate your own subgraph using GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -At the time of writing, it is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +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. To save on gas costs, you can curate your subgraph in the same transaction that you published it by selecting this button when you publish your subgraph to The Graph’s decentralized network: From 9befdaa19c18c2686f1c90f9dc5fcf069542f8bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:16 -0400 Subject: [PATCH 1049/2326] New translations quick-start.mdx (Japanese) --- website/pages/ja/quick-start.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/ja/quick-start.mdx b/website/pages/ja/quick-start.mdx index a862bbf521e8..979635a35b04 100644 --- a/website/pages/ja/quick-start.mdx +++ b/website/pages/ja/quick-start.mdx @@ -2,7 +2,7 @@ title: クイックスタート --- -このガイドでは、サブグラフの初期化、作成、Subgraph Studioまたはホスティングサービスへのデプロイ方法を説明します。 +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. サブグラフが [supported network](/developing/supported-networks) からのデータにインデックスを付けることを確認してください。 @@ -16,7 +16,7 @@ title: クイックスタート [Subgraph Studio](https://thegraph.com/studio/)にアクセスし、ウォレットを接続する。 -接続したら、「サブグラフの作成」をクリックして開始できます。選択したネットワークを選択し、[続行] をクリックします。 +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Graph CLI をインストールする @@ -67,13 +67,13 @@ graph init --studio 前述のコマンドでは、サブグラフを作成するための出発点として使用できる scaffold サブグラフを作成します。 サブグラフに変更を加える際には、主に 3 つのファイルを使用します: -- マニフェスト (subgraph.yaml) - マニフェストは、サブグラフがインデックスするデータソースを定義します。 -- スキーマ (schema.graphql) - GraphQL スキーマは、サブグラフから取得するデータを定義します. -- AssemblyScript Mappings (mapping.ts) - データソースからのデータを、スキーマで定義されたエンティティに変換するコードです。 +- 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. -サブグラフの書き方については、[サブグラフの作成](/developing/creating-a-subgraph) をご覧ください。 +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Subgraph Studio にデプロイする +## 5. Deploy to Subgraph Studio サブグラフが作成されたら、次のコマンドを実行します。 @@ -144,15 +144,15 @@ $ graph deploy --studio ## 7. サブグラフをグラフの分散型ネットワークに公開する -サブグラフが Subgraph Studio にデプロイされたら、それをテストして、本番環境に配置する準備ができたら、それを分散ネットワークに公開できます。 +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -Subgraph Studio で、サブグラフをクリックします。サブグラフのページでは、右上の公開ボタンをクリックできます。 +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. サブグラフを公開したいネットワークを選択します。 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq) を利用するために、サブグラフを Arbitrum One に公開することをお勧めします。 -サブグラフにクエリを実行する前に、インデクサーはサブグラフに対するクエリの提供を開始する必要があります。このプロセスを合理化するために、GRT を使用して独自のサブグラフをキュレートできます。 +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -執筆時点では、独自のサブグラフを 10,000 GRT でキュレートして、できるだけ早くインデックスを作成してクエリに使用できるようにすることをお勧めします。 +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. ガスのコストを節約するために、サブグラフを The Graph の分散型ネットワークに公開するときにこのボタンを選択すると、公開したのと同じトランザクションでサブグラフをキュレートできます。 From 29deab15aefd1bd612c586036c048ba28a4a1019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:17 -0400 Subject: [PATCH 1050/2326] New translations quick-start.mdx (Korean) --- website/pages/ko/quick-start.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/ko/quick-start.mdx b/website/pages/ko/quick-start.mdx index c205b755317c..295de75c8a0f 100644 --- a/website/pages/ko/quick-start.mdx +++ b/website/pages/ko/quick-start.mdx @@ -2,7 +2,7 @@ title: Quick Start --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). @@ -16,7 +16,7 @@ This guide is written assuming that you have: Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “create a subgraph.” Select the network of your choice and click continue. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Install the Graph CLI @@ -67,13 +67,13 @@ See the following screenshot for an example for what to expect when initializing The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- 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. +- 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 [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Deploy to the Subgraph Studio +## 5. Deploy to Subgraph Studio Once your subgraph is written, run the following commands: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Publish Your Subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to the Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -In the Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Before you can query your subgraph, Indexers need to begin serving queries on it. In order to streamline this process, you can curate your own subgraph using GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -At the time of writing, it is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +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. To save on gas costs, you can curate your subgraph in the same transaction that you published it by selecting this button when you publish your subgraph to The Graph’s decentralized network: From 855338cc3f96546f2af29deb5323c3985829d5a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:18 -0400 Subject: [PATCH 1051/2326] New translations quick-start.mdx (Dutch) --- website/pages/nl/quick-start.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/nl/quick-start.mdx b/website/pages/nl/quick-start.mdx index 709cb6213a04..4d0ca69cd11b 100644 --- a/website/pages/nl/quick-start.mdx +++ b/website/pages/nl/quick-start.mdx @@ -2,7 +2,7 @@ title: Snelle Start --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). @@ -16,7 +16,7 @@ This guide is written assuming that you have: Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “create a subgraph.” Select the network of your choice and click continue. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Install the Graph CLI @@ -67,13 +67,13 @@ See the following screenshot for an example for what to expect when initializing The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- 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. +- 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. -Voor meer informatie over hoe je je subgraph kunt schrijven, zie [Creating a Subgraph](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Deploy to the Subgraph Studio +## 5. Deploy to Subgraph Studio Once your subgraph is written, run the following commands: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Publish Your Subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to the Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -In the Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Before you can query your subgraph, Indexers need to begin serving queries on it. In order to streamline this process, you can curate your own subgraph using GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -At the time of writing, it is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +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. To save on gas costs, you can curate your subgraph in the same transaction that you published it by selecting this button when you publish your subgraph to The Graph’s decentralized network: From d50fb90f3c1d9e87a285862d7464ad18680885df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:19 -0400 Subject: [PATCH 1052/2326] New translations quick-start.mdx (Polish) --- website/pages/pl/quick-start.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/pl/quick-start.mdx b/website/pages/pl/quick-start.mdx index da9324f4ad3d..88e79f60f3a7 100644 --- a/website/pages/pl/quick-start.mdx +++ b/website/pages/pl/quick-start.mdx @@ -1,8 +1,8 @@ --- -title: ' Na start' +title: " Na start" --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). @@ -16,7 +16,7 @@ This guide is written assuming that you have: Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “create a subgraph.” Select the network of your choice and click continue. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Install the Graph CLI @@ -67,13 +67,13 @@ See the following screenshot for an example for what to expect when initializing The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- 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. +- 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 [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Deploy to the Subgraph Studio +## 5. Deploy to Subgraph Studio Once your subgraph is written, run the following commands: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Publish Your Subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to the Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -In the Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Before you can query your subgraph, Indexers need to begin serving queries on it. In order to streamline this process, you can curate your own subgraph using GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -At the time of writing, it is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +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. To save on gas costs, you can curate your subgraph in the same transaction that you published it by selecting this button when you publish your subgraph to The Graph’s decentralized network: From 8b61b5b24848147021c6e3b2febee35b6a757cd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:19 -0400 Subject: [PATCH 1053/2326] New translations quick-start.mdx (Portuguese) --- website/pages/pt/quick-start.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/pt/quick-start.mdx b/website/pages/pt/quick-start.mdx index 3373f1beef31..cd3d5f86595f 100644 --- a/website/pages/pt/quick-start.mdx +++ b/website/pages/pt/quick-start.mdx @@ -2,7 +2,7 @@ title: Começo Rápido --- -Neste guia, aprenda como inicializar, criar e lançar o seu subgraph ao Subgraph Studio ou ao serviço hospedado. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Garanta que o seu subgraph indexará dados de uma [rede apoiada](/developing/supported-networks). @@ -16,7 +16,7 @@ Este guia presume que tem: Entre no [Subgraph Studio](https://thegraph.com/studio/) e conecte a sua carteira de criptomoedas. -Após conectar, pode começar com um clique em "create a subgraph" (criar um subgraph). Selecione a sua rede preferida e clique em Continue. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Como instalar o Graph CLI @@ -67,13 +67,13 @@ Veja a imagem a seguir para um exemplo do que esperar quando for inicializar o s O comando interior cria um subgraph de altura que pode ser usado como ponto de partida para construir o seu subgraph. Enquanto faz mudanças ao subgraph, trabalhará principalmente com três arquivos: -- Manifest (subgraph.yaml) - O manifest define quais fontes de dados serão indexadas pelos seus subgraphs. -- Schema (schema.graphql) - O schema GraphQL define quais dados deseja retirar do subgraph. -- Mapeamentos em AssemblyScript (mapping.ts) — Este é o código que traduz dados das suas fontes de dados às entidades definidas no schema. +- 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. -Para mais informações sobre como escrever o seu subgraph, veja [Criando um Subgraph](/desenvolvimento/criando-um-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Como fazer um lançamento ao Subgraph Studio +## 5. Deploy to Subgraph Studio Quando o seu subgraph estiver escrito, execute os seguintes comandos: @@ -145,15 +145,15 @@ Se o seu subgraph continuar a falhar, faça um query sobre a saúde do subgraph ## 7. Como Publicar um Subgraph na Rede Descentralizada do The Graph -Quando o seu subgraph for lançado ao Subgraph Studio, estiver testado, e estiver pronto para produção, pode então ser editado na rede descentralizada. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -No Subgraph Studio, clique no seu subgraph. Na página do subgraph, clique no botão Publish (editar) no canto superior direito. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. Selecione a rede onde quer editar o seu subgraph. Vale editar subgraphs no Arbitrum One, para aproveitar as [transações mais rápidas e custos menores de gas](/arbitrum/arbitrum-faq). -Antes de poder consultar o seu subgraph, os Indexadores precisam começar a servir queries nele. O processo fica mais simples se curares o seu próprio subgraph com GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -Até o fechamento deste texto, é recomendado que cure o seu próprio subgraph com 10.000 GRT para garantir que ele seja indexado e aberto a queries o mais rápido possível. +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. Para poupar custos de gas, cure o seu subgraph na mesma transação em que ele foi publicado, ao selecionar este botão quando publicar o seu subgraph na rede descentralizada do The Graph: From 91d0eecf5f872ec40f09b730791485201920b883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:20 -0400 Subject: [PATCH 1054/2326] New translations quick-start.mdx (Russian) --- website/pages/ru/quick-start.mdx | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/website/pages/ru/quick-start.mdx b/website/pages/ru/quick-start.mdx index 59f792fdd4de..16d3b270152e 100644 --- a/website/pages/ru/quick-start.mdx +++ b/website/pages/ru/quick-start.mdx @@ -2,7 +2,7 @@ title: Быстрый старт --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Убедитесь, что ваш субграф будет индексировать данные из [поддерживаемой сети](/developing/supported-networks). @@ -16,7 +16,7 @@ This guide will quickly take you through how to initialize, create, and deploy y Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -После подключения Вы можете начать с нажатия кнопки «Создать субграф». Выберите нужную сеть и нажмите «Продолжить». +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Установка Graph CLI @@ -36,7 +36,7 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Инициализация вашего Подграфа +## 3. Инициализация Вашего Субграфа > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -67,13 +67,13 @@ graph init --studio Предыдущая команда создала "скелет" субграфа, который Вы можете использовать в качестве отправной точки для построения своего субграфа. При внесении изменений в субграф Вы будете в основном работать с тремя файлами: -- Манифест (subgraph.yaml) - Манифест определяет, какие источники данных будут индексироваться Вашими субграфами. -- Схема (schema.graphql) - Схема GraphQL определяет, какие данные Вы хотите извлечь из субграфа. -- AssemblyScript Mappings (mapping.ts) - это код, который преобразует данные из ваших источников данных в объекты, определенные в схеме. +- 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. -Для получения дополнительной информации о том, как написать свой подграф, см. [Creating a Subgraph](/developing/creating-a-subgraph). +Для получения дополнительной информации о том, как создать свой субграф, см. [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Развертывание в Subgraph Studio +## 5. Deploy to Subgraph Studio После того как Ваш субграф будет написан, выполните следующие команды: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## Публикация субграфа в децентрализованной сети The Graph -После того как Ваш субграф был развернут в Subgraph Studio, Вы его протестировали и готовы запустить в производство, Вы можете опубликовать его в децентрализованной сети. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -В Subgraph Studio кликните по своему субграфу. На странице субграфа Вы сможете нажать кнопку публикации в правом верхнем углу. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Прежде чем Вы сможете запросить свой субграф, индексаторы должны начать обслуживать запросы к нему. Чтобы упростить этот процесс, Вы можете создать свой собственный субграф, используя GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -На момент написания этой статьи рекомендуется создать собственный субграф с 10 000 GRT, чтобы обеспечить его индексацию и доступность для запросов как можно скорее. +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. Чтобы сэкономить на расходах за газ, Вы можете курировать свой субграф в той же транзакции, в которой Вы его опубликовали, нажав эту кнопку при публикации своего субграфа в децентрализованной сети The Graph: From 88109530a5390507fc43fe5024aab1c530d7597a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:21 -0400 Subject: [PATCH 1055/2326] New translations quick-start.mdx (Swedish) --- website/pages/sv/quick-start.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/sv/quick-start.mdx b/website/pages/sv/quick-start.mdx index 7813265c319b..c6cc10579365 100644 --- a/website/pages/sv/quick-start.mdx +++ b/website/pages/sv/quick-start.mdx @@ -2,7 +2,7 @@ title: Snabbstart --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +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). @@ -16,7 +16,7 @@ Den här guiden är skriven förutsatt att du har: Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -När du är ansluten kan du börja med att klicka på "skapa en subgraf". Välj det nätverk du vill ha och klicka på fortsätt. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Installera Graph CLI @@ -67,13 +67,13 @@ Se följande skärmdump för ett exempel för vad du kan förvänta dig när du 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) - Manifestet definierar vilka datakällor dina subgrafer kommer att indexera. -- Schema (schema.graphql) - GraphQL schemat definierar vilken data du vill hämta från subgrafen. -- AssemblyScript mappningar (mapping.ts) - Detta är koden som översätter data från dina datakällor till de enheter som definieras i schemat. +- 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. -För mer information om hur du skriver din subgraf, se [Skapa en subgraf](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Distribuera till Subgraph Studio +## 5. Deploy to Subgraph Studio När din subgraf är skriven, kör följande kommandon: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Publicera din subgraf till The Graph's decentraliserade nätverk -När din subgraf har distribuerats till Subgraph Studio, du har testat den och är redo att sätta den i produktion, du kan sedan publicera den till det decentraliserade nätverket. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -I Subgraph Studio klickar du på din undergraf. På subgrafens sida kan du klicka på publiceringsknappen längst upp till höger. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Innan du kan fråga efter din subgraf måste indexerare börja skicka frågor på den. För att effektivisera denna process kan du kurera din egen subgraf med GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -I skrivande stund rekommenderas det att du kurerar din egen subgraf med 10 000 GRT för att säkerställa att den är indexerad och tillgänglig för sökning så snart som möjligt. +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: From 419f477f97199559a0376beec84c7c30299b92cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:22 -0400 Subject: [PATCH 1056/2326] New translations quick-start.mdx (Turkish) --- website/pages/tr/quick-start.mdx | 38 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/website/pages/tr/quick-start.mdx b/website/pages/tr/quick-start.mdx index 961ef4a5d925..d856bdd90e23 100644 --- a/website/pages/tr/quick-start.mdx +++ b/website/pages/tr/quick-start.mdx @@ -2,7 +2,7 @@ title: Hızlı Başlangıç --- -Bu kılavuz, subgraph'inizi Subgraph Studio'ya veya barındırılan hizmete nasıl başlatacağınız, oluşturacağınız ve deploy edeceğiniz konusunda size hızlı bir şekilde yol gösterecektir. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Subgraph'ınızın [desteklenen bir ağdan](/developing/supported-networks) gelen verileri indeksleyeceğinden emin olun. @@ -14,9 +14,9 @@ Bu rehber, aşağıdakilere sahip olduğunuzu varsayar: ## 1. Subgraph Stüdyo'da bir subgraph oluşturun -[Subgraph Studio'ya](https://thegraph.com/studio/) gidin ve cüzdanınızı bağlayın. +Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Bağlandıktan sonra, "bir subgraph oluştur" seçeneğine tıklayarak başlayabilirsiniz. Tercih ettiğiniz ağı seçin ve devam et'e tıklayın. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Graph CLI'yi yükleyin @@ -24,13 +24,13 @@ Graph CLI JavaScript ile yazılmıştır ve kullanmak için `npm` ya da `yarn` y Yerel makinenizde aşağıdaki komutlardan birini çalıştırın: -[npm](https://www.npmjs.com/) kullanımı: +Using [npm](https://www.npmjs.com/): ```sh npm install -g @graphprotocol/graph-cli ``` -[yarn](https://yarnpkg.com/) kullanımı: +Using [yarn](https://yarnpkg.com/): ```sh yarn global add @graphprotocol/graph-cli @@ -38,7 +38,7 @@ yarn global add @graphprotocol/graph-cli ## 3. Subgraph'ınızı başlatın -> Özel subgraph'inize yönelik komutları, [Subgraph Studio](https://thegraph.com/studio/) subgraph'i sayfasında bulabilirsiniz. +> You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). Subgraph'ınızı başlattığınızda, CLI aracı sizden aşağıdaki bilgileri isteyecektir: @@ -67,13 +67,13 @@ Subgraph'ınızı başlatırken neyle karşılaşacağınıza dair bir örnek i Önceki komutlar, subgraph'ınızı oluşturmak için bir başlangıç noktası olarak kullanabileceğiniz bir subgraph iskeletini oluşturur. Subgraph'ta değişiklik yaparken, temel olarak üç dosya ile çalışacaksınız: -- Manifest (subgraph.yaml) - Manifest, subgraph'ınızın hangi veri kaynaklarını indeksleyeceğini tanımlar. -- Şema (schema.graphql) - GraphQL şeması, subgraph'tan hangi verileri almak istediğinizi tanımlar. -- AssemblyScript Eşleştirmeleri (mapping.ts) - Bu, veri kaynaklarınızdaki verileri şemada tanımlanan varlıklara çeviren koddur. +- 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. -Subgraph'ınızı nasıl yazacağınıza dair daha fazla bilgi için, [Subgraph Oluşturma](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Subgraph Stüdyo'ya Dağıtın +## 5. Deploy to Subgraph Studio Subgraph'ınız yazıldıktan sonra aşağıdaki komutları çalıştırın: @@ -89,7 +89,7 @@ $ graph auth --studio $ graph deploy --studio ``` -Sizden bir sürüm etiketi istenecektir. '0.0.1' gibi sürümler için [semver](https://semver.org/) kullanılması önemle tavsiye edilir. Bununla birlikte, sürüm olarak herhangi bir dizeyi seçmekte özgürsünüz: `v1`, `version1`, `asdf` gibi. +You will be asked for a version label. It's strongly recommended to use [semver](https://semver.org/) for versioning like `0.0.1`. That said, you are free to choose any string as version such as:`v1`, `version1`, `asdf`. ## 6. Subgraph'ınızı Test Edin @@ -99,7 +99,7 @@ Kayıtlar, subgraph'ınızla ilgili herhangi bir hata olup olmadığını size s ![Subgraph logs](/img/subgraph-logs-image.png) -Subgraph'iniz arızalanıyorsa GraphiQL Playground'u kullanarak subgraph durumunu sorgulayabilirsiniz. Aşağıdaki sorgudan yararlanabileceğinizi ve subgraph'iniz için dağıtım kimliğinizi girebileceğinizi unutmayın. Bu durumda, `Qm...` dağıtım kimliğidir (bu, Subgraph sayfasında **Ayrıntılar** altında bulunabilir). Aşağıdaki sorgu, bir subgraph'in ne zaman başarısız olduğunu size söyleyecektir, böylece buna göre hata ayıklayabilirsiniz: +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: ```graphql { @@ -145,15 +145,15 @@ Subgraph'iniz arızalanıyorsa GraphiQL Playground'u kullanarak subgraph durumun ## 7. Subgraph'ınızı Graph'ın Merkeziyetsiz Ağında Yayınlayın -Subgraph'ınız Subgraph Stüdyo'ya dağıtıldıktan, test ettikten ve kullanıma hazır hale geldikten sonra, bunu merkeziyetsiz ağda yayınlayabilirsiniz. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -Subgraph Stüdyo'da subgraph'ınıza tıklayın. Subgraph'ın sayfasında, sağ üstteki yayınla düğmesine tıklayabileceksiniz. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. -Subgraph'inizi yayınlamak istediğiniz ağı seçin. [Daha hızlı işlem hızları ve daha düşük gas maliyetlerinden](/arbitrum/arbitrum-faq) yararlanmak için Arbitrum One'da subgraph'lerin yayınlanması önerilir. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Subgraph'ınızı sorgulayabilmeniz için önce İndeksleyicilerin bu subgraph üzerinde sorgu sunmaya başlaması gerekir. Bu süreci kolaylaştırmak için GRT kullanarak kendi subgraph'ınızı oluşturabilirsiniz. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -Bu rehberin yazıldığı sırada, kendi subgraph'ınızın mümkün olan en kısa sürede indekslenmesini ve sorgulanabilir olmasını sağlamanız için 10.000 GRT ile kürate etmeniz önerilir. +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. Gas maliyetlerinden tasarruf etmek için, subgraph'ınızı Graph'ın merkeziyetsiz ağında yayınlarken bu düğmeyi seçerek subgraph'ınızı yayınladığınız işlemle aynı işlemde kürate edebilirsiniz: @@ -165,4 +165,4 @@ Gas maliyetlerinden tasarruf etmek için, subgraph'ınızı Graph'ın merkeziyet API anahtarınız yoksa, geliştirme ve hazırlama için kullanılabilen ücretsiz, rate limit'li geçici sorgu URL'si aracılığıyla merkeziyetsiz uygulamanızdan sorgulama yapabilirsiniz. -Subgraph'inizden veri sorgulama hakkında daha fazla bilgi için daha fazlasını [buradan okuyun](/querying/querying-the-graph/). +For more information about querying data from your subgraph, read more [here](/querying/querying-the-graph/). From 7bd13362e127a4ca7875231ad1527322c9e2dd30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:23 -0400 Subject: [PATCH 1057/2326] New translations quick-start.mdx (Ukrainian) --- website/pages/uk/quick-start.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/uk/quick-start.mdx b/website/pages/uk/quick-start.mdx index 84a4b25df3fc..ddfc89ce9bfe 100644 --- a/website/pages/uk/quick-start.mdx +++ b/website/pages/uk/quick-start.mdx @@ -2,7 +2,7 @@ title: Швидкий старт --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). @@ -16,7 +16,7 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Як тільки ви це зробите, можете починати, натиснувши кнопку "create a subgraph" Оберіть ту мережу, з якою бажаєте працювати та натисніть продовжити. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Встановлення Graph CLI @@ -67,13 +67,13 @@ graph init --studio Попередні команди створюють так званий "скелет" підграфа, який ви можете використовувати як відправну точку для побудови вашого підграфа. При внесенні змін до підграфа ви будете працювати переважно з трьома файлами: -- Маніфест (subgraph.yaml) - Маніфест визначає, які джерела даних будуть індексуватися вашими підграфами. -- Схема (schema.graphql) - схема The GraphQL визначає, які дані ви хочете отримати з підграфа. -- AssemblyScript Mappings (mapping.ts) - Це код, який транслює дані з ваших джерел даних до елементів, визначених у схемі. +- 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 [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Розгортання в Subgraph Studio +## 5. Deploy to Subgraph Studio Як тільки ваш підграф буде написаний, виконайте наступні команди: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Публікація вашого підграфа в децентралізованій мережі The Graph -Після того, як ваш підграф буде розгорнуто в Subgraph Studio, протестовано і ви будете готові запустити його у роботу, ви можете опублікувати його в децентралізованій мережі. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -У Subgraph Studio натисніть на ваш підграф. На сторінці підграфа ви зможете натиснути кнопку "publish" у верхньому правому куті. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Перш ніж ви зможете запитувати ваш підграф, індексатори повинні почати обслуговувати запити до нього. Щоб спростити цей процес, ви можете надіслати сигнал на власний підграф за допомогою токенів GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -На момент написання статті рекомендується використовувати для подання сигналу щонайменше 10 000 GRT, щоб переконатися, що ваш підграф буде проіндексований і доступний для запитів якнайшвидше. +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. Щоб заощадити на витратах на газ, ви можете надіслати сигнал на власний підграф у тій самій транзакції, в якій ви його опублікували, вибравши цю функцію під час публікації підграфа в децентралізованій мережі The Graph: From fa721094d5f0b5188bcd2634d6b90d806bad4ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:24 -0400 Subject: [PATCH 1058/2326] New translations quick-start.mdx (Chinese Simplified) --- website/pages/zh/quick-start.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/zh/quick-start.mdx b/website/pages/zh/quick-start.mdx index 93daaf1ee641..7d78d2473e5a 100644 --- a/website/pages/zh/quick-start.mdx +++ b/website/pages/zh/quick-start.mdx @@ -2,7 +2,7 @@ title: 快速开始 --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. 确保您的子图将从一个[受支持的网络](/developing/supported-networks) 中索引数据。 @@ -16,7 +16,7 @@ This guide will quickly take you through how to initialize, create, and deploy y Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -连接后,您可以单击“创建子图”开始。选择您选择的网络,然后单击“继续”。 +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. 安装 Graph CLI @@ -67,13 +67,13 @@ graph init --studio 前面的命令创建了一个原始子图,可以将其用作构建子图的起点。当对子图进行更改时,将主要使用三个文件: -- 清单(subgraph.yaml)--清单定义子图将索引哪些数据源。 -- 模式(schema.graphql)--GraphQL 模式定义从子图中检索到的数据。 -- AssemblyScript 映射(mapping.ts)--将数据源中的数据转换为模式中定义的实体的代码。 +- 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. -想了解更多如何编写子图的信息,请参阅[创建子图](/development/Creating-a-subgraph)。 +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. 部署到子图工作室 +## 5. Deploy to Subgraph Studio 一旦您的子图被编写好,请运行以下命令: @@ -145,15 +145,15 @@ $ graph deploy --studio ## 7. 将你的子图发布到Graph的去中心化网络 -一旦你的子图被部署到子图工作室,你已经测试了它,并准备把它投入生产,你就可以把它发布到去中心化的网络。 +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -在子图工作室中,单击您的子图。在子图的页面上,您可以单击右上角的发布按钮。 +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 选择您希望发布子图的网络。建议将子图发布到 Arbitrum One,以利用[更快的交易速度和更低的Gas费用](/arbitrum/arbitrum-faq)。 -在你可以查询你的子图之前,索引人需要开始在上面提供查询。为了简化这个过程,你可以使用GRT来策展你自己的子图。 +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -在撰写本文时,建议您用10000 GRT策展自己的子图,以确保它被索引并可尽快查询。 +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. 为了节省gas成本,您可以在将子图发布到Graph的去中心化网络时选择此按钮,在发布子图的同一交易中策展子图: From ec41d8d930058ee649a9361b5a17ed183be145f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:24 -0400 Subject: [PATCH 1059/2326] New translations quick-start.mdx (Urdu (Pakistan)) --- website/pages/ur/quick-start.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/ur/quick-start.mdx b/website/pages/ur/quick-start.mdx index 50539e798104..14f3e84d2ea6 100644 --- a/website/pages/ur/quick-start.mdx +++ b/website/pages/ur/quick-start.mdx @@ -2,7 +2,7 @@ title: فورا شروع کریں --- -یہ گائیڈ آپ کو سب گراف سٹوڈیو یا ہوسٹڈ سروس میں اپنے سب گراف کو شروع کرنے، تخلیق کرنے اور تعینات کرنے کے طریقے کے بارے میں فوری طور پر لے جائے گا۔ +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. اس بات کو یقینی بنائیں کہ آپ کا سب گراف کسی [تعاون یافتہ نیٹ ورک] (/developing/supported-networks) سے ڈیٹا کو ترتیب دے رہا ہے۔. @@ -16,7 +16,7 @@ title: فورا شروع کریں [سب گراف سٹوڈیو](https://thegraph.com/studio/) پر جائیں اور اپنے والیٹ کو منسلک کریں۔ -ایک بار منسلک ہو جاۓ، آپ "سب گراف بنائیں" کو دبا کر شروع کر سکتے ہیں. اپنی مرظی کے نیٹ ورک کو چنیں اور جاری رکھیں پر کلک کریں. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. گراف CLI انسٹال کریں @@ -67,13 +67,13 @@ graph init --studio پچھلی کمانڈز ایک سکیفولڈ سب گراف بناتی ہیں جسے آپ اپنے سب گراف کی تعمیر کے لیے نقطہ آغاز کے طور پر استعمال کر سکتے ہیں۔ سب گراف میں تبدیلی کرتے وقت، آپ بنیادی طور پر تین فائلوں کے ساتھ کام کریں گے: -- مینی فیسٹ (subgraph.yaml) - مینی فیسٹ اس بات کی وضاحت کرتا ہے کہ آپ کے سب گراف کس ڈیٹا سورسز کو انڈیکس کریں گے. -- سکیما (schema.graphql) - GraphQL سکیما اس بات کی وضاحت کرتا ہے کہ آپ سب گراف سے کون سا ڈیٹا حاصل کرنا چاہتے ہیں. -- اسمبلی اسکرپٹ میپنگ (mapping.ts) - یہ وہ کوڈ ہے جو آپ کے ڈیٹا سورس سے ڈیٹا کو اسکیما میں بیان کردہ اداروں میں ترجمہ کرتا ہے. +- 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. -اپنا سب گراف لکھنے کے طریقے کے بارے میں مزید معلومات کے لیے، دیکھیں [سب گراف بنانا](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. سب گراف سٹوڈیو پر تعینات کریں +## 5. Deploy to Subgraph Studio ایک بار آپ کا سب گراف لکھا جائے، درج ذیل کمانڈز رن کریں: @@ -145,15 +145,15 @@ $ graph deploy --studio ## 7. اپنے سب گراف کو گراف کے ڈیسینٹرالائزڈ نیٹ ورک پر شائع کریں -ایک بار آپ کا سب گراف سب گراف سٹوڈیو میں تعینات ہو جاتا ہے، آپ نے اسے ٹیسٹ کر لیا ہے، اور اسے پروڈکشن میں ڈالنے کے لیے تیار ہیں، پھر آپ اسے ڈیسینٹرالائزڈ نیٹ ورک پر شائع کر سکتے ہیں. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -سب گراف سٹوڈیو میں، سب گراف پر کلک کریں۔ سب گراف کے پیج پر، آپ اوپر دائیں جانب شائع کے بٹن پر کلک کر سکیں گے. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. وہ نیٹ ورک منتخب کریں جس پر آپ اپنا سب گراف شائع کرنا چاہتے ہیں۔ Arbitrum One کے سب گراف شائع کرنے کی سفارش کی جاتی ہے تاکہ [تیز تر ٹرانزیکشن کی رفتار اور گیس کے کم اخراجات] (/arbitrum/arbitrum-faq) سے فائدہ اٹھایا جا سکے۔ -اس سے پہلے کے آپ اپنا سب گراف کیوری کریں، انڈیکسرز کو اس پر کیوریز پیش کرنا شروع کرنے کی ضرورت ہے۔ اس عمل کو ہموار کرنے کے لیے، آپ جی آر ٹی کا استعمال کرتے ہوئے اپنا سب گراف کیوریٹ کر سکتے ہیں. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -لکھنے کے وقت، یہ تجویز کیا جاتا ہے کہ آپ 10,000 GRT کے ساتھ اپنا سب گراف کیوریٹ کریں تاکہ یہ یقینی بنایا جا سکے کہ یہ انڈیکسڈ ہے اور جلد از جلد کیوری کے لیے دستیاب ہے. +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. گیس کی قیمتیں بچانے کے لیے، جب آپ اپنا سب گراف گراف کے ڈیسینٹرالائزڈ نیٹ ورک پر شائع کرتے ہیں تو آپ اس بٹن کو منتخب کرکے اپنے سب گراف کو اسی ٹرانزیکشن میں درست کر سکتے ہیں جسے آپ نے شائع کیا تھا: From 412488f424cbbb3d2f68e7e4bfd3efea8597fac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:25 -0400 Subject: [PATCH 1060/2326] New translations quick-start.mdx (Vietnamese) --- website/pages/vi/quick-start.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/vi/quick-start.mdx b/website/pages/vi/quick-start.mdx index d694df7d3654..06067021785e 100644 --- a/website/pages/vi/quick-start.mdx +++ b/website/pages/vi/quick-start.mdx @@ -2,7 +2,7 @@ title: Bắt đầu nhanh --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). @@ -16,7 +16,7 @@ This guide is written assuming that you have: Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “create a subgraph.” Select the network of your choice and click continue. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Install the Graph CLI @@ -67,13 +67,13 @@ See the following screenshot for an example for what to expect when initializing The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- Tệp kê khai (subgraph.yaml) - Tệp kê khai xác định nguồn dữ liệu mà các subgraph của bạn sẽ lập chỉ mục. -- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retrieve from the subgraph. -- Ánh xạ AssemblyScript (mapping.ts) - Đây là mã dịch dữ liệu từ các nguồn dữ liệu của bạn sang các thực thể được xác định trong lược đồ. +- 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 [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Deploy to the Subgraph Studio +## 5. Deploy to Subgraph Studio Once your subgraph is written, run the following commands: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Publish Your Subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to the Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -In the Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Before you can query your subgraph, Indexers need to begin serving queries on it. In order to streamline this process, you can curate your own subgraph using GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -At the time of writing, it is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +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. To save on gas costs, you can curate your subgraph in the same transaction that you published it by selecting this button when you publish your subgraph to The Graph’s decentralized network: From b8483de8672f118811317b78b33acfd788e96c50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:26 -0400 Subject: [PATCH 1061/2326] New translations quick-start.mdx (Marathi) --- website/pages/mr/quick-start.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/mr/quick-start.mdx b/website/pages/mr/quick-start.mdx index 0b3be8abcac2..7c8f709f11fc 100644 --- a/website/pages/mr/quick-start.mdx +++ b/website/pages/mr/quick-start.mdx @@ -2,7 +2,7 @@ title: क्विक स्टार्ट --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). @@ -16,7 +16,7 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -एकदा कनेक्ट झाल्यानंतर, तुम्ही "सबग्राफ तयार करा" वर क्लिक करून सुरुवात करू शकता. तुमच्या पसंतीचे नेटवर्क निवडा आणि सुरू ठेवा क्लिक करा. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. आलेख CLI स्थापित करा @@ -67,13 +67,13 @@ graph init --studio मागील कमांड एक स्कॅफोल्ड सबग्राफ तयार करतात ज्याचा वापर तुम्ही तुमचा सबग्राफ तयार करण्यासाठी प्रारंभिक बिंदू म्हणून करू शकता. सबग्राफमध्ये बदल करताना, तुम्ही प्रामुख्याने तीन फाइल्ससह कार्य कराल: -- मॅनिफेस्ट (subgraph.yaml) - मॅनिफेस्ट हे परिभाषित करते की तुमचे सबग्राफ कोणते डेटास्रोत अनुक्रमित करतील. -- स्कीमा (schema.graphql) - ग्राफक्यूएल स्कीमा तुम्हाला सबग्राफमधून कोणता डेटा मिळवायचा आहे ते परिभाषित करते. -- असेंबलीस्क्रिप्ट मॅपिंग (mapping.ts) - हा असा कोड आहे जो तुमच्या डेटास्रोतमधील डेटाचे स्कीमामध्ये परिभाषित केलेल्या घटकांमध्ये भाषांतर करतो. +- 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. -तुमचा सबग्राफ कसा लिहायचा याबद्दल अधिक माहितीसाठी, [एक सबग्राफ तयार करणे](/developing/creating-a-subgraph) पहा. +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. सबग्राफ स्टुडिओमध्ये तैनात करा +## 5. Deploy to Subgraph Studio तुमचा सबग्राफ लिहिल्यानंतर, खालील आदेश चालवा: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. ग्राफच्या विकेंद्रीकृत नेटवर्कवर तुमचा सबग्राफ प्रकाशित करा -एकदा तुमचा सबग्राफ सबग्राफ स्टुडिओमध्ये तैनात केला गेला की, तुम्ही त्याची चाचणी घेतली आणि उत्पादनात ठेवण्यास तयार असाल, त्यानंतर तुम्ही ते विकेंद्रित नेटवर्कवर प्रकाशित करू शकता. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -सबग्राफ स्टुडिओमध्ये, तुमच्या सबग्राफवर क्लिक करा. सबग्राफच्या पृष्ठावर, आपण शीर्षस्थानी उजवीकडे प्रकाशित बटणावर क्लिक करण्यास सक्षम असाल. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -तुम्‍ही तुमच्‍या सबग्राफची क्‍वेरी करण्‍यापूर्वी, इंडेक्सर्सना त्यावर क्‍वेरी देणे सुरू करणे आवश्‍यक आहे. ही प्रक्रिया सुव्यवस्थित करण्यासाठी, तुम्ही GRT वापरून तुमचा स्वतःचा सबग्राफ क्युरेट करू शकता. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -लेखनाच्या वेळी, तो अनुक्रमित केला गेला आहे आणि शक्य तितक्या लवकर क्वेरीसाठी उपलब्ध आहे याची खात्री करण्यासाठी तुम्ही तुमचा स्वतःचा सबग्राफ 10,000 GRT सह क्युरेट करा अशी शिफारस केली जाते. +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. गॅसच्या खर्चावर बचत करण्यासाठी, जेव्हा तुम्ही तुमचा सबग्राफ The Graph च्या विकेंद्रित नेटवर्कवर प्रकाशित करता तेव्हा हे बटण निवडून तुम्ही प्रकाशित केलेल्या व्यवहारात तुम्ही तुमचा सबग्राफ क्युरेट करू शकता: From fec8208f644f48e2e6b8a95fdfb0e6eb797963a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:27 -0400 Subject: [PATCH 1062/2326] New translations quick-start.mdx (Hindi) --- website/pages/hi/quick-start.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/website/pages/hi/quick-start.mdx b/website/pages/hi/quick-start.mdx index bb901db2c9e7..71d62ddb2651 100644 --- a/website/pages/hi/quick-start.mdx +++ b/website/pages/hi/quick-start.mdx @@ -2,7 +2,7 @@ title: जल्दी शुरू --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). @@ -16,7 +16,7 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -एक बार कनेक्ट होने के बाद, आप "एक सबग्राफ बनाएं" पर क्लिक करके शुरू कर सकते हैं। अपनी पसंद का नेटवर्क चुनें और जारी रखें पर क्लिक करें। +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. ग्राफ़ सीएलआई स्थापित करें @@ -67,13 +67,13 @@ graph init --studio पिछले आदेश एक मचान सबग्राफ बनाते हैं जिसका उपयोग आप अपने सबग्राफ के निर्माण के लिए शुरुआती बिंदु के रूप में कर सकते हैं। सबग्राफ में बदलाव करते समय, आप मुख्य रूप से तीन फाइलों के साथ काम करेंगे: -- मेनिफेस्ट (subgraph.yaml) - मेनिफेस्ट परिभाषित करता है कि आपके सबग्राफ को कौन से डेटा सोर्स इंडेक्स करेंगे। -- स्कीमा (schema.graphql) - ग्राफक्यूएल स्कीमा परिभाषित करता है कि आप सबग्राफ से कौन सा डेटा प्राप्त करना चाहते हैं। -- असेंबलीस्क्रिप्ट मैपिंग (mapping.ts) - यह वह कोड है जो स्कीमा में परिभाषित इकाई के लिए आपके डेटा सोर्स से डेटा का अनुवाद करता है। +- 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. -अपना सबग्राफ कैसे लिखना है, इस बारे में अधिक जानकारी के लिए, [Creating a Subgraph](/developing/creating-a-subgraph). +For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. सबग्राफ स्टूडियो में तैनात करें +## 5. Deploy to Subgraph Studio एक बार आपका सबग्राफ लिखे जाने के बाद, निम्नलिखित कमांड चलाएँ: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. अपने सबग्राफ को ग्राफ़ के विकेंद्रीकृत नेटवर्क पर प्रकाशित करें -एक बार जब आपका सबग्राफ सबग्राफ स्टूडियो में तैनात हो जाता है, तो आपने इसका परीक्षण कर लिया है, और इसे उत्पादन में लगाने के लिए तैयार हैं, फिर आप इसे विकेंद्रीकृत नेटवर्क पर प्रकाशित कर सकते हैं। +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -सबग्राफ स्टूडियो में, अपने सबग्राफ पर क्लिक करें। सबग्राफ के पृष्ठ पर, आप शीर्ष दाईं ओर प्रकाशित बटन पर क्लिक कर सकेंगे। +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -इससे पहले कि आप अपने सबग्राफ को क्वेरी कर सकें, इंडेक्सर्स को इस पर क्वेरीज़ परोसना शुरू करना होगा। इस प्रक्रिया को सुव्यवस्थित करने के लिए, आप GRT का उपयोग करके अपने स्वयं के सबग्राफ को क्यूरेट कर सकते हैं। +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -यह लिखते समय, यह अनुशंसा की जाती है कि आप 10,000 GRT के साथ अपने स्वयं के सबग्राफ को क्यूरेट करें ताकि यह सुनिश्चित हो सके कि यह अनुक्रमित है और जितनी जल्दी हो सके पूछताछ के लिए उपलब्ध है। +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. गैस की लागत बचाने के लिए, जब आप ग्राफ़ के विकेंद्रीकृत नेटवर्क पर अपना सबग्राफ प्रकाशित करते हैं, तो आप अपने सबग्राफ को उसी लेन-देन में क्यूरेट कर सकते हैं, जिसे आपने इस बटन का चयन करके प्रकाशित किया था: From 8be056db9642a71a4c6bd3e93582c54a667e5aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:28 -0400 Subject: [PATCH 1063/2326] New translations quick-start.mdx (Yoruba) --- website/pages/yo/quick-start.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/yo/quick-start.mdx b/website/pages/yo/quick-start.mdx index b8e55f0ee08e..382dcc83c6d4 100644 --- a/website/pages/yo/quick-start.mdx +++ b/website/pages/yo/quick-start.mdx @@ -2,7 +2,7 @@ title: Ibẹrẹ kiakia --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to the Subgraph Studio or the hosted service. +This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. Ensure that your subgraph will be indexing data from a [supported network](/developing/supported-networks). @@ -16,7 +16,7 @@ This guide is written assuming that you have: Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “create a subgraph.” Select the network of your choice and click continue. +Once connected, you can begin by clicking “Create a Subgraph”. ## 2. Install the Graph CLI @@ -67,13 +67,13 @@ See the following screenshot for an example for what to expect when initializing The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: -- 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. +- 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 [Creating a Subgraph](/developing/creating-a-subgraph). -## 5. Deploy to the Subgraph Studio +## 5. Deploy to Subgraph Studio Once your subgraph is written, run the following commands: @@ -145,15 +145,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap ## 7. Publish Your Subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to the Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. -In the Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. 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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -Before you can query your subgraph, Indexers need to begin serving queries on it. In order to streamline this process, you can curate your own subgraph using GRT. +The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. -At the time of writing, it is recommended that you curate your own subgraph with 10,000 GRT to ensure that it is indexed and available for querying as soon as possible. +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. To save on gas costs, you can curate your subgraph in the same transaction that you published it by selecting this button when you publish your subgraph to The Graph’s decentralized network: From 53e36078f214b764e7091efc4bac9f9b66049fde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:29 -0400 Subject: [PATCH 1064/2326] New translations sunrise.mdx (Romanian) --- website/pages/ro/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/ro/sunrise.mdx b/website/pages/ro/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/ro/sunrise.mdx +++ b/website/pages/ro/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 93d83575df725251a013b28e60e0616cc897b909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:29 -0400 Subject: [PATCH 1065/2326] New translations sunrise.mdx (French) --- website/pages/fr/sunrise.mdx | 150 ++++++++++++++++++++++++++--------- 1 file changed, 111 insertions(+), 39 deletions(-) diff --git a/website/pages/fr/sunrise.mdx b/website/pages/fr/sunrise.mdx index 568c000384c9..8f522860a7ab 100644 --- a/website/pages/fr/sunrise.mdx +++ b/website/pages/fr/sunrise.mdx @@ -1,90 +1,122 @@ --- -title: Sunrise of decentralized data FAQ +title: L'aube de la FAQ sur les données décentralisées --- > Note : ce document est continuellement mis à jour afin de fournir les informations les plus précises et les plus utiles. De nouvelles questions et réponses sont ajoutées régulièrement. Si vous ne trouvez pas l'information que vous cherchez, ou si vous avez besoin d'une assistance immédiate [contactez-nous sur Discord] (https://discord.gg/vtvv7FP). -## Qu'est-ce que l'aube des données décentralisées ? +## Quel est l'essor des données décentralisées ? -L'aube des données décentralisées est une initiative lancée par Edge & Node, qui travaille sur The Graph. L'objectif est de permettre aux développeurs de subgraphs et aux consommateurs de données de passer en toute transparence au réseau décentralisé de The Graph. +Le lever du soleil sur les données décentralisées est une initiative lancée par Edge & Node. L'objectif est de permettre aux développeurs de subgraphs de passer en toute transparence au réseau décentralisé de The Graph. Ce plan s'appuie sur de nombreux développements antérieurs de l'écosystème The Graph, y compris un indexeur de mise à niveau pour servir des requêtes sur les subgraphs nouvellement publiés, et la capacité d'intégrer de nouveaux réseaux de blockchain à The Graph. -### Quelles sont les phases de l’émergence des données décentralisées ? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Dois-je gérer ma propre infrastructure ? +## Mise à jour des subgraphs dans le réseau The Graph -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### Quand les subgraphs du service hébergé ne seront-ils plus disponibles ? -Vous pouvez utiliser le [Subgraph Studio] (https://thegraph.com/studio/) pour créer, tester et publier votre subgraph. Tous les utilisateurs de services hébergés sont encouragés à mettre à niveau leurs subgraphs vers le Réseau de graphes. L'indexeur de mise à niveau vous permet d'interroger votre subgraph même sans signal de curation. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Une fois que votre subgraph a atteint un signal de curation adéquat et que d'autres indexeurs commencent à le soutenir, l'indexeur de mise à niveau se retire progressivement, ce qui permet aux autres indexeurs de percevoir des récompenses d'indexation et des frais d'interrogation. +### Mon subgraph de service hébergé sera-t-il pris en charge sur le réseau The Graph ? -### Dois-je héberger ma propre infrastructure d'indexation ? +Oui, l'indexeur de mise à niveau prendra automatiquement en charge tous les subgraphs de services hébergés publiés sur le réseau The Graph pour une expérience de mise à niveau transparente. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### Comment mettre à jour mon subgraph de services hébergés ? -En outre, le réseau Graph est nettement plus robuste, plus fiable et plus rentable que tout ce qui peut être fourni par une seule organisation ou équipe. Des centaines d'indexeurs indépendants répartis dans le monde entier alimentent le réseau Graph, garantissant ainsi la sécurité et la redondance. +> Note : La mise à niveau d'un subgraph vers le réseau The Graph ne peut pas être annulée. -Cela dit, si vous êtes toujours intéressé par l'exploitation d'un [nœud de graphe] (https://github.com/graphprotocol/graph-node), envisagez de rejoindre The Graph Network [en tant qu'indexeur] (https://thegraph.com/blog/how-to-become-indexer/) pour gagner des récompenses d'indexation et des frais de requête en servant des données sur votre subgraph et d'autres. + -### Dois-je utiliser un fournisseur d’indexation centralisé ? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -Si vous construisez dans Web3, dès que vous utilisez un fournisseur d'indexation centralisé, vous leur donnez le contrôle de votre dapp et de vos données. Le réseau décentralisé de Graph offre une [qualité de service supérieure](https://thegraph.com/blog/qos-the-graph-network/), une fiabilité avec une disponibilité imbattable grâce à la redondance des nœuds, ainsi que des [coûts inférieurs](/network/benefits/), et vous ne serez pas pris en otage au niveau de la couche de données. +1. Sélectionnez le(s) subgraph(s) que vous souhaitez mettre à niveau. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Cliquez sur le bouton "Mise à niveau". -Avec The Graph Network, votre subgraph est public et tout le monde peut l'interroger ouvertement, ce qui augmente l'utilisation et les effets réseau de votre dapp. Avec une solution d'indexation centralisée, le subgraph est privé du fournisseur centralisé. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Voici une description détaillée des avantages de The Graph par rapport à l'hébergement centralisé : +### Comment puis-je obtenir de l'aide pour le processus de mise à niveau ? -- **Résilience et redondance** : Les systèmes décentralisés sont intrinsèquement plus robustes et résilients en raison de leur nature distribuée. Les données ne sont pas stockées sur un seul serveur ou emplacement. Au lieu de cela, elles sont servies par des centaines d'indexeurs indépendants répartis dans le monde entier. Cela réduit le risque de perte de données ou d'interruption de service en cas de défaillance d'un nœud, ce qui se traduit par un temps de disponibilité exceptionnel (99,99 %). +La communauté Graph est là pour aider les développeurs à passer au réseau Graph. Rejoignez le [serveur Discord] de The Graph (https://discord.gg/vtvv7FP) et demandez de l'aide dans le #canal mise à niveau-du réseau-décentralisé. -- **Qualité de service** : En plus d'un temps de disponibilité impressionnant, The Graph Network se caractérise par une vitesse médiane d'interrogation (latence) d'environ 106 ms et par des taux de réussite des requêtes plus élevés que ceux des autres solutions hébergées. Pour en savoir plus, consultez [ce blog] (https://thegraph.com/blog/qos-the-graph-network/). +### Comment puis-je garantir une haute qualité de service et une redondance pour les subgraphs sur le réseau The Graph ? -- **Résistance à la censure** : les systèmes centralisés peuvent devenir des cibles de censure, soit par le biais de pressions réglementaires, soit d'attaques de réseau. En revanche, les systèmes décentralisés, en raison de leur architecture dispersée, sont beaucoup plus difficiles à censurer, garantissant ainsi une disponibilité continue des données. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- \*Transparence et confiance\*\* : Les systèmes décentralisés fonctionnent ouvertement, ce qui permet à quiconque de vérifier les données de manière indépendante. Cette transparence renforce la confiance entre les participants au réseau, car ils peuvent vérifier l'intégrité du système sans dépendre d'une autorité centrale. +Les subgraphs qui ne sont pas éligibles aux récompenses d'indexation peuvent avoir des difficultés à attirer d'autres indexeurs. Par exemple, les récompenses d'indexation peuvent ne pas être disponibles pour les subgraphs de certaines chaînes (vérifier le support [ici](/developing/supported-networks)). -Tout comme vous avez choisi votre réseau blockchain pour sa nature décentralisée, sa sécurité et sa transparence, opter pour The Graph Network est une extension de ces mêmes principes. En alignant votre infrastructure de données sur ces valeurs, vous garantissez un environnement de développement cohésif, résilient et axé sur la confiance. +Les membres de ces communautés blockchain sont encouragés à intégrer leur chaîne via le [Processus d'intégration de la chaîne](/chain-integration-overview/). + +### Comment publier les nouvelles versions sur le réseau ? + +Vous pouvez déployer de nouvelles versions de votre subgraph directement dans Subgraph Studio, qui fournit un environnement de test, avant de les publier sur le réseau pour une utilisation en production. Subgraph Studio a une commande de déploiement différente de celle de , et nécessite un `version-label` pour chaque nouveau déploiement. -### Mon subgraph de service hébergé sera-t-il pris en charge par l'indexeur de mise à niveau ? +1. Mettez à niveau vers la dernière version de [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Mettez à jour votre commande de déploiement -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -Cependant, certains subgraphs peuvent ne pas être éligibles aux récompenses d'indexation et, par conséquent, avoir des difficultés à attirer d'autres indexeurs. Par exemple, les récompenses d'indexation peuvent ne pas être disponibles pour les subgraphs de certaines chaînes. Les membres de ces communautés blockchain sont encouragés à intégrer leur chaîne via le [Processus d'intégration de la chaîne](/chain-integration-overview/). +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -## Qu'est-ce qu'un indexeur de mise à niveau ? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -### Que signifie « mettre à niveau l'indexeur » ? +> La publication nécessite Arbitrum ETH - la mise à niveau de votre subgraph permet également de déposer une petite quantité pour faciliter vos premières interactions avec le protocole 🧑‍🚀 -Il est conçu pour améliorer l'expérience de mise à niveau des subgraphs du service hébergé vers le Réseau Graph et pour prendre en charge les nouvelles versions des subgraphs existants qui n'ont pas encore été indexés. +### Que se passe-t-il si je ne mets pas à jour mon subgraph ? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### J'utilise un subgraph développé par quelqu'un d'autre, comment puis-je m'assurer que mon service n'est pas interrompu ? + +Lorsque le propriétaire aura mis à niveau son subgraph, vous pourrez facilement passer de la page du service hébergé du subgraph au subgraph correspondant sur The Graph Network, et mettre à jour votre application pour utiliser l'URL de requête du nouveau subgraph ([en savoir plus](requête/requête -le graph)). + +Vers début juin, Edge & Node mettront automatiquement à niveau les subgraphs activement interrogés. Cela donnera à tous les consommateurs de données tiers la possibilité de passer aux nouveaux points de terminaison du subgraph réseau avant la date limite. Les propriétaires de subgraphs pourront toujours « réclamer » ces subgraphs sur le réseau à l'aide du flux de mise à niveau du service hébergé. + +### Comment puis-je commencer à interroger des subgraphs sur The Graph Network ? + +Vous pouvez explorer les subgraphs disponibles sur [Graph Explorer](https://thegraph.com/explorer). [En savoir plus sur l'interrogation des subgraphs sur The Graph](/querying/querying-the-graph). + +## À propos de l'indexeur de mise à niveau + +### Qu'est-ce que l'indexeur de mise à niveau ? + +L'indexeur de mise à niveau est conçu pour améliorer l'expérience de mise à niveau des subgraphs du service hébergé vers le Graph Network et pour prendre en charge les nouvelles versions des subgraphs existants qui n'ont pas encore été indexés. L'indexeur de mise à niveau est destiné à l'amorçage des chaînes qui n'ont pas encore de récompenses d'indexation sur le réseau, ainsi qu'à servir de solution de repli pour les nouvelles versions de subgraphs. L'objectif est de s'assurer qu'un indexeur est disponible pour répondre aux requêtes le plus rapidement possible après la publication d'un subgraph. -### Quelles chaînes la mise à niveau de l'Indexeur prendra-t-elle en charge ? +### Quelles chaînes l’indexeur de mise à niveau prend-il en charge ? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +L'indexeur de mise à niveau prend en charge les chaînes qui n'étaient auparavant disponibles que sur le service hébergé. -Find a comprehensive list of supported chains [here](/developing/supported-networks/). +Vous trouverez une liste complète des chaînes soutenues [ici] (/developing/supported-networks/). ### Pourquoi Edge & Node exécutent-ils l'indexeur de mise à niveau ? Edge et Node a historiquement maintenu le service hébergé et, par conséquent, a déjà synchronisé les données pour les subgraphs du service hébergé. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +Tous les indexeurs sont encouragés à devenir des indexeurs de mise à niveau. Cependant, notez que l'activité d'indexeur de mise à niveau est largement fournie en tant que service public pour soutenir les nouveaux subgraphs et les chaînes supplémentaires en raison du manque de récompenses d'indexation avant qu'ils ne soient approuvés par le Graph Council. -### Qu'est-ce que cela signifie pour les indexeurs existants ? +### Que signifie la mise à niveau de l'indexeur pour les indexeurs existants ? -Les chaînes qui sont actuellement exclusivement prises en charge par le service hébergé seront mises à la disposition des développeurs sur The Graph sans récompenses d'indexation dans un premier temps, bien que cela permette de débloquer des frais de requête pour tout indexeur intéressé. Cela devrait conduire à une augmentation du nombre de subgraphs publiés sur le réseau, offrant plus d'opportunités aux indexeurs d'indexer et de servir ces subgraphs en échange de frais de requête, avant même que les récompenses d'indexation ne soient activées pour une chaîne. +Les chaînes qui étaient auparavant exclusivement supportées par le service hébergé sont disponibles pour les développeurs sur The Graph sans récompenses d'indexation dans un premier temps, bien que cela débloque les frais de requête pour tout indexeur intéressé. Cela devrait conduire à une augmentation du nombre de subgraphs publiés sur le réseau, offrant plus d'opportunités aux indexeurs d'indexer et de servir ces subgraphs en échange de frais de requête, avant même que les récompenses d'indexation ne soient activées pour une chaîne. L'indexeur de mise à niveau fournit également à la communauté des indexeurs des informations sur la demande potentielle de subgraphs et de nouvelles chaînes sur le réseau de graphs. ### What does this mean for Delegators? -The upgrade Indexer offers a powerful opportunity for Delegators. As more subgraphs are upgraded from the hosted service to The Graph Network, Delegators stand to benefit from the increased network activity. +L'indexeur de mise à niveau offre une opportunité puissante pour les délégués. Au fur et à mesure que de nouveaux subgraphs sont transférés du service hébergé vers le réseau The Graph, les délégués devraient bénéficier de l'activité accrue du réseau. ### L'indexeur mis à niveau sera-t-il en concurrence avec les indexeurs existants pour l'obtention de récompenses ? @@ -94,11 +126,11 @@ Il fonctionne selon les besoins et sert de solution de repli jusqu'à ce qu'au m ### Comment cela affectera-t-il les développeurs de subgraphs ? -Les développeurs de subgraphs pourront interroger leurs subgraphs sur le réseau presque immédiatement après les avoir mis à jour à partir du service hébergé ou les avoir publiés à partir du Subgraph Studio, car aucun délai ne sera nécessaire pour l'indexation. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -L'indexeur de mise à niveau permet d'utiliser sur le réseau des chaînes qui ne sont actuellement prises en charge que par le service hébergé. Elle élargit donc la portée et la disponibilité des données qui peuvent être interrogées sur le réseau. +L'indexeur de mise à niveau active les chaînes sur le réseau qui n'étaient auparavant prises en charge que sur le service hébergé. Par conséquent, il élargit la portée et la disponibilité des données pouvant être interrogées sur le réseau. ### Quel sera le prix des requêtes de l'indexeur de mise à niveau ? @@ -111,3 +143,43 @@ L'indexeur de mise à niveau servira un subgraph jusqu'à ce qu'il soit suffisam En outre, l'indexeur de mise à niveau cessera de prendre en charge un subgraph s'il n'a pas été intégré au cours des 30 derniers jours. D'autres indexeurs sont incités à prendre en charge les subgraphs avec un volume de requêtes continu, de sorte que le volume de requêtes vers l'indexeur de mise à niveau devrait tendre vers zéro, car l'indexeur aura une petite taille d'allocation et d'autres indexeurs seront choisis pour les requêtes avant l'indexeur de mise à niveau. + +## À propos du réseau Graph + +### Dois-je gérer ma propre infrastructure ? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +Vous pouvez utiliser [Subgraph Studio](https://thegraph.com/studio/) pour créer, tester et publier votre subgraph. Tous les utilisateurs du service hébergé doivent mettre à niveau leur subgraph vers le réseau The Graph avant la fin de la fenêtre de mise à niveau se terminant le 12 juin 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Une fois que votre subgraph a atteint un signal de curation adéquat et que d'autres indexeurs commencent à le soutenir, l'indexeur de mise à niveau se retire progressivement, ce qui permet aux autres indexeurs de percevoir des récompenses d'indexation et des frais d'interrogation. + +### Dois-je héberger ma propre infrastructure d'indexation ? + +L'exploitation d'une infrastructure pour votre propre projet est [nettement plus gourmande en ressources] (/network/benefits/) par rapport à l'utilisation du réseau Graph. + +En outre, le réseau Graph est nettement plus robuste, plus fiable et plus rentable que tout ce qui peut être fourni par une seule organisation ou équipe. Des centaines d'indexeurs indépendants répartis dans le monde entier alimentent le réseau Graph, garantissant ainsi la sécurité et la redondance. + +Cela dit, si vous êtes toujours intéressé par l'exploitation d'un [nœud de graphe] (https://github.com/graphprotocol/graph-node), envisagez de rejoindre The Graph Network [en tant qu'indexeur] (https://thegraph.com/blog/how-to-become-indexer/) pour gagner des récompenses d'indexation et des frais de requête en servant des données sur votre subgraph et d'autres. + +### Dois-je utiliser un fournisseur d’indexation centralisé ? + +Si vous construisez dans Web3, dès que vous utilisez un fournisseur d'indexation centralisé, vous leur donnez le contrôle de votre dapp et de vos données. Le réseau décentralisé de Graph offre une [qualité de service supérieure](https://thegraph.com/blog/qos-the-graph-network/), une fiabilité avec une disponibilité imbattable grâce à la redondance des nœuds, ainsi que des [coûts inférieurs](/network/benefits/), et vous ne serez pas pris en otage au niveau de la couche de données. + +Avec The Graph Network, votre subgraph est public et tout le monde peut l'interroger ouvertement, ce qui augmente l'utilisation et les effets réseau de votre dapp. Avec une solution d'indexation centralisée, le subgraph est privé du fournisseur centralisé. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Voici une description détaillée des avantages de The Graph par rapport à l'hébergement centralisé : + +- **Résilience et redondance** : Les systèmes décentralisés sont intrinsèquement plus robustes et résilients en raison de leur nature distribuée. Les données ne sont pas stockées sur un seul serveur ou emplacement. Au lieu de cela, elles sont servies par des centaines d'indexeurs indépendants répartis dans le monde entier. Cela réduit le risque de perte de données ou d'interruption de service en cas de défaillance d'un nœud, ce qui se traduit par un temps de disponibilité exceptionnel (99,99 %). + +- **Qualité de service** : En plus d'un temps de disponibilité impressionnant, The Graph Network se caractérise par une vitesse médiane d'interrogation (latence) d'environ 106 ms et par des taux de réussite des requêtes plus élevés que ceux des autres solutions hébergées. Pour en savoir plus, consultez [ce blog] (https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- \*Transparence et confiance\*\* : Les systèmes décentralisés fonctionnent ouvertement, ce qui permet à quiconque de vérifier les données de manière indépendante. Cette transparence renforce la confiance entre les participants au réseau, car ils peuvent vérifier l'intégrité du système sans dépendre d'une autorité centrale. + +Tout comme vous avez choisi votre réseau blockchain pour sa nature décentralisée, sa sécurité et sa transparence, opter pour The Graph Network est une extension de ces mêmes principes. En alignant votre infrastructure de données sur ces valeurs, vous garantissez un environnement de développement cohésif, résilient et axé sur la confiance. From 770aaf733e295dbb9d8b051d6e03574bf4b4d09a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:30 -0400 Subject: [PATCH 1066/2326] New translations sunrise.mdx (Spanish) --- website/pages/es/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/es/sunrise.mdx b/website/pages/es/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/es/sunrise.mdx +++ b/website/pages/es/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 7a895e3c8c12c3f77a3c99c2e2e513fe79a267f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:31 -0400 Subject: [PATCH 1067/2326] New translations sunrise.mdx (Arabic) --- website/pages/ar/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/ar/sunrise.mdx b/website/pages/ar/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/ar/sunrise.mdx +++ b/website/pages/ar/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 990d6113f79001d24228351e0cf5c23ffe7d76ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:32 -0400 Subject: [PATCH 1068/2326] New translations sunrise.mdx (Czech) --- website/pages/cs/sunrise.mdx | 186 ++++++++++++++++++++++++----------- 1 file changed, 129 insertions(+), 57 deletions(-) diff --git a/website/pages/cs/sunrise.mdx b/website/pages/cs/sunrise.mdx index 20e06d584e4b..f9b41e8ee248 100644 --- a/website/pages/cs/sunrise.mdx +++ b/website/pages/cs/sunrise.mdx @@ -1,113 +1,185 @@ --- -title: Sunrise of decentralized data FAQ +title: Východ slunce decentralizovaných dat FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Poznámka: tento dokument je průběžně aktualizován, aby byly poskytnuty co nejpřesnější a nejužitečnější informace. Pravidelně jsou přidávány nové otázky a odpovědi. Pokud nemůžete najít informace, které hledáte, nebo pokud potřebujete okamžitou pomoc [kontaktujte Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## Jaký je východ slunce decentralizovaných dat? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +Východ slunce decentralizovaných dat je iniciativa, za kterou stojí společnost Edge & Node. Jejím cílem je umožnit vývojářům podgrafů bezproblémový přechod na decentralizovanou síť Graf. -This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. +Tento plán vychází z mnoha předchozích změn v ekosystému Graf, včetně vylepšeného indexeru pro obsluhu dotazů na nově publikované podgrafy a možnosti integrovat do Graf nové blockchainové sítě. -### What are the phases of the sunrise of decentralized data? +### Jaké jsou fáze východu Slunce? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Aktualizace podgrafů do sítě grafů -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### Kdy přestanou být podgrafy hostovaných služeb k dispozici? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Bude můj podgraf hostované služby podporován v síti Graf? -### Should I host my own indexing infrastructure? +Ano, nástroj Indexer pro upgrade bude automaticky podporovat všechny podgrafy hostovaných služeb publikované v síti Graf pro bezproblémový upgrade. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### Jak mohu aktualizovat podgraf hostované služby? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Poznámka: Upgrade podgrafu na síť grafů nelze vrátit zpět. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +Chcete-li aktualizovat podgraf hostované služby, můžete navštívit ovládací panel podgrafu na adrese [hostovaná služba](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Vyberte podgraf nebo podgrafy, které chcete aktualizovat. +2. Vyberte přijímající peněženku (peněženku, která se stane vlastníkem podgrafu). +3. Klikněte na tlačítko "Upgrade". -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### Jak mohu získat podporu pro proces aktualizace? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +Komunita Graf je zde, aby podporovala vývojáře při přechodu na síť Graf. Připojte se k [serveru Discord](https://discord.gg/vtvv7FP) společnosti The Graph a požádejte o pomoc v kanálu #upgrade-decentralized-network. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### Jak lze zajistit vysokou kvalitu služeb a redundanci podgrafů v síti Graf? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Podgrafy, které nemají nárok na odměnu za indexaci, mohou mít potíže s přilákáním dalších indexátorů. Odměny za indexaci například nemusí být dostupné pro podgrafy v určitých řetězcích (zkontrolujte podporu [zde](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Členové těchto blockchainových komunit jsou vyzýváni k integraci svého řetězce prostřednictvím [procesu integrace řetězce](/chain-integration-overview/). -### Will my hosted service subgraph be supported by the upgrade Indexer? +### Jak mohu publikovat nové verze do sítě? -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +Nové verze podgrafu můžete nasadit přímo do aplikace Podgraf Studio, která poskytuje testovací prostředí, a teprve poté je publikovat do sítě pro produkční použití. Podgraf Studio má jiný příkaz pro nasazení než , a pro každé nové nasazení vyžaduje `version-label`. -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +1. Upgrade na nejnovější verzi [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Aktualizace příkazu deploy -## What is an upgrade Indexer? +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -### What does "upgrade Indexer" mean? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +> Publikování vyžaduje Arbitrum ETH - při upgradu vašeho subgrafu se také uvolní malá částka, která vám usnadní první interakce s protokolem 🧑‍🚀 -### What chains will the upgrade Indexer support? +### Co se stane, když svůj podgraf neaktualizuji? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. -Find a comprehensive list of supported chains [here](/developing/supported-networks/). +### Používám podgraf vytvořený někým jiným, jak mohu zajistit, aby nedošlo k přerušení mé služby? -### Why is Edge & Node running the upgrade Indexer? +Jakmile vlastník aktualizuje svůj podgraf, budete moci snadno přejít ze stránky hostované služby podgrafu na odpovídající podgraf v síti Graf a aktualizovat svou aplikaci tak, aby používala adresu URL dotazu nového podgrafu ([více informací](querying/querying-the-graph)). -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Přibližně od začátku června bude služba Edge & Node automaticky aktualizovat aktivně dotazované podgrafy. To poskytne všem spotřebitelům dat třetích stran příležitost přejít na nové koncové body podgrafů sítě před datem ukončení. Vlastníci podgrafů budou mít stále možnost "nárokovat" tyto podgrafy v síti pomocí aktualizačního toku hostované služby. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +### Jak se mohu začít dotazovat na podgrafy v síti grafů? -### What does this mean for existing Indexers? +Dostupné podgrafy můžete prozkoumat na stránce [Graph Explorer](https://thegraph.com/explorer). [Více informací o dotazování na podgrafy na Graf](/querying/querying-the-graph). -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +## O Upgrade Indexer -The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. +### Co je to upgrade Indexer? -### What does this mean for Delegators? +Upgrade Indexer je navržen tak, aby zlepšil zkušenosti s upgradem podgrafů z hostované služby do Síť grafů a podporoval nové verze stávajících podgrafů, které dosud nebyly indexovány. -The upgrade Indexer offers a powerful opportunity for Delegators. As more subgraphs are upgraded from the hosted service to The Graph Network, Delegators stand to benefit from the increased network activity. +Upgrade Indexer je určen pro zavádění řetězců, které ještě nemají indexační odměny v síti, a také jako záložní řešení pro nové verze podgrafů. Cílem je zajistit, aby byl indexer k dispozici pro obsluhu dotazů co nejrychleji po zveřejnění podgrafu. -### Will the upgrade Indexer compete with existing Indexers for rewards? +### Jaké řetězce podporuje upgrade Indexer? -No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. +Upgrade Indexeru podporuje řetězce, které byly dříve dostupné pouze v hostované službě. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +Úplný seznam podporovaných řetěz najdete [zde](/developing/supported-networks/). -### How will this affect subgraph developers? +### Proč Edge & Node spouští aktualizaci Indexer? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Edge & Node vv minulosti udržovaly hostovanou službu a v důsledku toho již synchronizovaly data pro podgrafy hostované služby. -### How does this benefit data consumers? +Všichni indexátoři jsou vyzýváni, aby se stali také indexátory aktualizace. Vezměte však na vědomí, že provozování indexátoru upgradu je z velké části poskytováno jako veřejná služba na podporu nových podgrafů a dalších řetězců kvůli nedostatku odměn za indexaci před jejich schválením Radou grafů. -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +### Co znamená upgrade indexeru pro stávající indexery? -### How will the upgrade Indexer price queries? +Řetězce, které byly dříve podporovány výhradně v hostované službě, jsou vývojářům v Graf zpočátku k dispozici bez odměn za indexování, ačkoli se tím odemykají poplatky za dotazy pro všechny indexátory, které o to projeví zájem. Očekává se, že to povede k nárůstu počtu podgrafů zveřejňovaných v síti, což Indexerům poskytne více příležitostí indexovat a obsluhovat tyto podgrafy výměnou za poplatky za dotazy, a to ještě předtím, než budou odměny za indexování pro řetězec povoleny. -The upgrade Indexer will price queries at the market rate so as not to influence the query fee market. +Upgrade Indexer také poskytuje komunitě Indexer informace o potenciální poptávce po podgraf nových řetězcích v síti grafů. -### What are the criteria for the upgrade Indexer to stop supporting a subgraph? +### Co to znamená pro delegáti? -The upgrade Indexer will serve a subgraph until it is sufficiently and successfully served with consistent queries served by at least 3 other Indexers. +Upgrade Indexer nabízí delegátům velkou příležitost. Jakmile bude více podgrafů upgradováno z hostované služby do sítě Graf, budou mít delegáti prospěch ze zvýšené aktivity v síti. -Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. +### Bude upgrade Indexeru soutěžit o odměny se stávajícími Indexery? -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Ne, indexátor aktualizace přidělí pouze minimální částku na podgraf a nebude vybírat odměny za indexování. + +Pracuje podle potřeby a slouží jako záložní řešení, dokud není dosaženo dostatečné kvality služeb alespoň 3 dalších indexátorů v síti pro příslušné řetězce a podgrafy. + +### Jak to ovlivní vývojáře podgrafů? + +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. + +### Jaký to má přínos pro spotřebitele dat? + +Aktualizace Indexeru umožňuje podporu blockchainů v síti, které byly dříve dostupné pouze v rámci hostované služby. Tímto se rozšiřuje rozsah a dostupnost dat, která lze v síti dotazovat. + +### Jak bude aktualizace Indexer oceňovat dotazy? + +Upgrade Indexer stanoví cenu dotazů podle tržní sazby, aby neovlivňoval trh s poplatky za dotazy. + +### Jaká jsou kritéria pro to, aby nástroj Indexer přestal podporovat podgraf? + +Aktualizační indexátor bude obsluhovat podgraf, dokud nebude dostatečně a úspěšně obsloužen konzistentními dotazy obsluhovanými alespoň třemi dalšími indexátory. + +Kromě toho indexátor aktualizace přestane podgraf podporovat, pokud se na něj v posledních 30 dnech nikdo nezeptal. + +Ostatní indexery jsou motivovány k podpoře podgrafů s probíhajícím objemem dotazů, takže objem dotazů na upgradovaný indexer by měl směřovat k nule, protože indexer bude mít malou velikost alokace a ostatní indexery budou vybrány pro dotazy před upgradovaným indexerem. + +## O síti grafů + +### Musím provozovat vlastní infrastrukturu? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +K vytvoření, otestování a publikování podgrafu můžete použít [Subgraph Studio](https://thegraph.com/studio/). Všichni uživatelé hostovaných služeb musí svůj podgraf aktualizovat na síť Grafu před koncem aktualizačního okna, které končí 12. června 2024. + +Aktualizace Indexer zajišťuje, že se můžete dotazovat na podgraf i bez signálu kurátoru. + +Jakmile váš podgraf dosáhne dostatečného kurátorského signálu a ostatní indexátory jej začnou podporovat, upgrade indexátoru se postupně sníží a umožní ostatním indexátorům vybírat odměny za indexování a poplatky za dotazy. + +### Měl bych hostovat vlastní indexovací infrastrukturu? + +Provozování infrastruktury pro vlastní projekt je [výrazně náročnější na zdroje](/network/benefits/) ve srovnání s používáním sit' Graf. + +Síť Grafje navíc výrazně robustnější, spolehlivější a nákladově efektivnější než cokoli, co poskytuje jedna organizace nebo tým. Síť Graf pohání stovky nezávislých indexátorů po celém světě, což zajišťuje bezpečnost, zabezpečení a redundanci. + +Pokud přesto máte zájem o provozování [Graph Node](https://github.com/graphprotocol/graph-node), zvažte možnost připojit se k síti The Graph Network [jako indexátor](https://thegraph.com/blog/how-to-become-indexer/) a získávat odměny za indexování a poplatky za dotazy tím, že budete poskytovat data na svém podgrafu a dalších. + +### Měl bych používat centralizovaného poskytovatele indexování? + +Pokud stavíte ve Web3, v okamžiku, kdy použijete centralizovaného poskytovatele indexování, předáváte mu kontrolu nad vaším dapp a daty. Decentralizovaná síť Graf nabízí [vynikající kvalitu služeb](https://thegraph.com/blog/qos-the-graph-network/), spolehlivost s bezkonkurenční dobou provozu díky redundanci uzlů a také výrazně [nižší náklady](/network/benefits/) a nebudete rukojmím na datové vrstvě. + +V síti Graf je váš podgraf veřejný a kdokoli se na něj může otevřeně dotazovat, což zvyšuje využití a síťové efekty vašeho dapp. S centralizovaným řešením indexování je subgraf soukromý pro centralizovaného poskytovatele. + +Upgrade Indexer navíc umožňuje 100,000 bezplatných měsíčních dotazů pro váš podgraf, než bude nutné za dotazy platit. + +Zde je podrobný přehled výhod Graf oproti centralizovanému hosting: + +- **Odolnost a redundance**: Decentralizované systémy jsou díky své distribuované povaze ze své podstaty robustnější a odolnější. Data nejsou uložena na jediném serveru nebo místě. Místo toho je obsluhují stovky nezávislých indexérů po celém světě. Tím se snižuje riziko ztráty dat nebo přerušení služby v případě selhání jednoho uzlu, což vede k výjimečné provozuschopnosti (99.99%). + +- **Kvalita služeb**: Kromě působivé doby provozu se Sit' Graf vyznačuje průměrnou rychlostí dotazů (latence) ~106 ms a vyšší úspěšností dotazů ve srovnání s hostovanými alternativami. Více informací naleznete v [tomto blogu](https://thegraph.com/blog/qos-the-graph-network/). + +- **Odpor proti cenzuře**: Centralizované systémy jsou cílem cenzury, ať už v důsledku regulačních tlaků nebo síťových útoků. Naproti tomu decentralizované systémy je díky jejich rozptýlené architektuře mnohem obtížnější cenzurovat, což zajišťuje nepřetržitou dostupnost dat. + +- **Transparentnost a důvěra**: Decentralizované systémy fungují otevřeně a umožňují komukoli nezávisle ověřit data. Tato transparentnost buduje důvěru mezi účastníky sítě, protože mohou ověřit integritu systému, aniž by se museli spoléhat na centrální autoritu. + +Stejně jako jste si vybrali blockchainovou síť kvůli její decentralizované povaze, bezpečnosti a transparentnosti, je volba sit' Graf rozšířením stejných principů. Sladěním své datové infrastruktury s těmito hodnotami zajistíte soudržné, odolné a důvěryhodné vývojové prostředí. From eadc20c5e85b984b92363da5e18298ee5cac56bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:33 -0400 Subject: [PATCH 1069/2326] New translations sunrise.mdx (German) --- website/pages/de/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/de/sunrise.mdx b/website/pages/de/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/de/sunrise.mdx +++ b/website/pages/de/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 120fe9e6a339a0db820cc7ea98510d71b3678723 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:34 -0400 Subject: [PATCH 1070/2326] New translations sunrise.mdx (Italian) --- website/pages/it/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/it/sunrise.mdx b/website/pages/it/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/it/sunrise.mdx +++ b/website/pages/it/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 20807aac89977956539fcac8b37d8ac81e69ac1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:35 -0400 Subject: [PATCH 1071/2326] New translations sunrise.mdx (Japanese) --- website/pages/ja/sunrise.mdx | 142 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 34 deletions(-) diff --git a/website/pages/ja/sunrise.mdx b/website/pages/ja/sunrise.mdx index 6eb05e59e427..d1232f27f4c7 100644 --- a/website/pages/ja/sunrise.mdx +++ b/website/pages/ja/sunrise.mdx @@ -1,70 +1,104 @@ --- -title: Sunriseに関するFAQ +title: Sunrise of Decentralized Data FAQ --- > 注:この文書は、最も正確で役立つ情報を提供するために継続的に更新されています。新しい質問と回答は定期的に追加されます。お探しの情報が見つからない場合、または緊急のサポートが必要な場合は、[Discordでご連絡ください](https://discord.gg/vtvv7FP)。 -## 分散型データプログラム「Sunrise」とは? +## What is the Sunrise of Decentralized Data? -Sunriseは、The Graphに取り組むEdge & Nodeが主導するイニシアチブです。その目的は、サブグラフの開発者とデータ消費者がシームレスにThe Graphの分散型ネットワークにアップグレードできるようにすることにあります。 +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. この計画は、新しく公開されたサブグラフに対するクエリを提供するためのアップグレードされたIndexerや、新しいブロックチェーンネットワークをThe Graphに統合する機能など、The Graphエコシステムのこれまでの多くの開発を利用しています。 -### Sunriseの各フェーズとは? +### What are the phases of the Sunrise? -**Sunray**:ホスティングサービスチェーンのサポート、シームレスなアップグレードフローの提供、The Graph Networkでの無料プランの提供。 **Sunbeam**:サブグラフ開発者がサブグラフをThe Graph Networkにアップグレードするためのアップグレードウィンドウ。詳細は近日中に発表されます。 **Sunrise**:トラフィックがThe Graph Networkに移動すると、ホストされているサービスのエンドポイントが失効します。 +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### インフラは自分で用意する必要がありますか? +## The Graph Networkへのサブグラフのアップグレード -いいえ、すべてのインフラは、アップグレード・インデクサーを含む、グラフネットワークの独立したインデクサーによって運営されています。 +### When will hosted service subgraphs no longer be available? -サブグラフ・スタジオ](https://thegraph.com/studio/)を使用して、サブグラフを作成、テスト、公開することができます。全てのホスト・サービス・ユーザーは、自分のサブグラフをThe Graph Networkにアップグレードすることが推奨されます。アップグレード・インデクサーは、キュレーション・シグナルがなくても、サブグラフをクエリできるようにします。 +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -サブグラフが十分なキュレーションシグナルに達し、他のIndexerがそれをサポートし始めると、アップグレード・インデクサーは徐々に先細りになり、他のインデクサーがインデックス作成報酬とクエリ手数料を徴収できるようになります。 +### Will my hosted service subgraph be supported on The Graph Network? -### 独自のインデックス作成インフラをホストすべきか? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -自身のプロジェクトのためにインフラストラクチャを実行することは、グラフネットワークを使用する場合と比較して、[著しくリソースを消費します](/network/benefits/)。 +### How do I upgrade my hosted service subgraph? -さらに、The Graph Networkは、単一の組織やチームが提供するものよりもはるかに堅牢で、信頼性が高く、コスト効率に優れています。世界中の何百もの独立したインデクサが Graph Network を支え、安全性、セキュリティ、冗長性を確保しています。 +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -とはいえ、もしまだ[グラフ・ノード](https://github.com/graphprotocol/graph-node)を運営することに興味があるのであれば、グラフ・ネットワーク[インデクサーとして](https://thegraph.com/blog/how-to-become-indexer/)に参加し、自分のサブグラフや他のサブグラフのデータを提供することで、インデクシング報酬やクエリ報酬を得ることを検討しましょう。 + -### 集中型インデクシング・プロバイダを使うべきでしょうか? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -もしweb3で構築しているのであれば、中央集権的なインデックス・プロバイダを利用した瞬間に、あなたのダップとデータを彼らにコントロールさせることになります。Graphの分散型ネットワークは、[優れたサービス品質](https://thegraph.com/blog/qos-the-graph-network/)、ノードの冗長性による無敵のアップタイムによる信頼性、大幅な[低コスト](/network/benefits/)を提供し、データレイヤーを人質に取られることはありません。 +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -グラフネットワークでは、サブグラフは公開され、誰でもオープンにクエリすることができます。中央集中型のインデックス・ソリューションでは、サブグラフは中央集中型のプロバイダーに非公開です。 +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -集中型ホスティングに対するThe Graphの利点について詳しく説明します: +### How can I get support with the upgrade process? -- **レジリエンスと冗長性**: 分散型システムは、その分散された性質により、本質的により堅牢で回復力があります。データは単一のサーバーや場所に保存されるわけではありません。その代わり、世界中にある何百もの独立したIndexerがデータを提供します。これにより、1つのノードに障害が発生した場合のデータ損失やサービス中断のリスクを低減し、卓越したアップタイム(99.99%)を実現します。 +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **サービスの質**: 印象的なアップタイムに加え、The Graph Networkはクエリ速度(レイテンシー)の中央値が106msであり、他のホスティングサービスと比較して高いクエリー成功率を誇ります。詳しくは[このブログ](https://thegraph.com/blog/qos-the-graph-network/)をご覧ください。 +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **検閲への抵抗** 中央集権型システムは、規制の圧力やネットワーク攻撃によって、検閲の対象となる可能性があります。対照的に、分散型システムは、その分散されたアーキテクチャにより、検閲がはるかに難しく、継続的なデータの可用性を保証します。 +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **透明性と信頼**: 分散型システムはオープンに運用され、誰もが独立してデータを検証することができます。この透明性によって、ネットワーク参加者は中央機関に依存することなくシステムの完全性を検証できるため、信頼が構築されます。 +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -非中央集権的な性質、セキュリティ、透明性のためにブロックチェーン・ネットワークを選択したように、The Graph Networkを選択することも同じ原則の延長線上にあります。データインフラストラクチャをこれらの価値観に合わせることで、結束力があり、弾力性があり、信頼に基づいた開発環境を確保することができます。 +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### 私のホスティングサービス・サブグラフは、アップグレード・インデクサーでサポートされますか? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -はい、アップグレード版インデクサーは、The Graph Networkに公開されたすべてのホストされたサービスのサブグラフをサポートします。 +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -しかし、サブグラフの中には、インデックス作成報酬の対象とならないものがあり、 その結果、さらなるインデクサーの獲得が困難になることがあります。例えば、インデックス作成報酬は、特定のチェーン上のサブグラフでは利用できないかもしれません。このようなブロックチェーンコミュニティのメンバーは、[チェーン統合プロセス](/chain-integration-overview/) を通してチェーンを統合することが推奨されます。 +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## アップグレード・インデクサーとは? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### 「アップグレード・インデクサー」とはどういう意味ですか? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -これは、ホスティングサービスからThe Graph Networkにサブグラフをアップグレードする際のエクスペリエンスを向上させ、まだインデックス化されていない既存のサブグラフの新しいバージョンをサポートするために設計されています。 +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. アップグレード・インデクサーは、まだネットワーク上でインデックスの報酬を得ていないチェーンのブートストラップや、新しいサブグラフのバージョンに対するフォールバックを目的としています。目標は、サブグラフが公開された後、できるだけ早くクエリに対応できるようにすることです。 -### アップグレード・インデクサーはどのチェーンに対応しますか? +### What chains does the upgrade Indexer support? -アップグレード版インデクサーは、現在のホスティングサービスでのみ利用可能なチェーンをサポートします。これには、すでに同期されている多くのホストサービスのサブグラフが含まれます。 +The upgrade Indexer supports chains that were previously only available on the hosted service. サポートされているチェーンの包括的なリストは[こちら](/developing/supported-networks/)。 @@ -74,9 +108,9 @@ Edge & Nodeは歴史的にホスティングサービスを維持しており すべてのインデクサーは、アップグレード・インデックサーになることが推奨されます。しかしながら、アップグレード・インデクサーの活動は、グラフ評議会によって承認される前にインデックスの報酬が得られないため、新しい部分グラフや追加の連鎖をサポートするための公共サービスとして提供されています。 -### これは既存のインデクサーのために何を意味するのか? +### What does the upgrade indexer mean for existing Indexers? -現在ホスティングサービスでのみサポートされているチェーンは、インデックス報酬なしでThe Graph上で開発者に提供されます。これによって、ネットワーク上で公開されるサブグラフの数が増加し、インデックス作成報酬がチェーンに対して有効になる前であっても、クエリ報酬と引き換えにインデックス作成者がこれらのサブグラフにインデックスを作成し、提供する機会が増えることが期待されます。 +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. アップグレード・インデクサーはまた、グラフ・ネットワーク上のサブグラフや新しいチェーンの潜在的な需要に関する情報を、インデクサー・コミュニティに提供します。 @@ -92,11 +126,11 @@ Edge & Nodeは歴史的にホスティングサービスを維持しており ### これはサブグラフ開発者にどのような影響を与えるのでしょうか? -サブグラフ開発者は、ホスティング・サービスからアップグレードしたり、Subgraph Studioからサブグラフを公開した後、インデックス作成のリードタイムが不要なため、すぐにネットワーク上のサブグラフを照会することができます。 +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### これはデータ消費者にとってどのようなメリットがあるのでしょうか? -アップグレード・インデクサーは、現在ホスティング・サービスでのみサポートされているチェインをネットワーク上で可能にします。したがって、ネットワーク上で照会できるデータの範囲と可用性が広がります。 +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### アップグレード・インデクサーは、クエリにどのような価格をつけるのでしょうか? @@ -109,3 +143,43 @@ Edge & Nodeは歴史的にホスティングサービスを維持しており さらに、アップグレード・インデクサーは、そのサブグラフが過去30日間にクエリされなかった場合、そのサブグラフのサポートを停止します。 他のインデクサーは、継続的なクエリボリュームを持つサブグラフをサポートするインセンティブがあるため、アップグレード・インデクサーへのクエリボリュームはゼロになるはずです。 + +## About The Graph Network + +### インフラは自分で用意する必要がありますか? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +サブグラフが十分なキュレーションシグナルに達し、他のIndexerがそれをサポートし始めると、アップグレード・インデクサーは徐々に先細りになり、他のインデクサーがインデックス作成報酬とクエリ手数料を徴収できるようになります。 + +### 独自のインデックス作成インフラをホストすべきか? + +自身のプロジェクトのためにインフラストラクチャを実行することは、グラフネットワークを使用する場合と比較して、[著しくリソースを消費します](/network/benefits/)。 + +さらに、The Graph Networkは、単一の組織やチームが提供するものよりもはるかに堅牢で、信頼性が高く、コスト効率に優れています。世界中の何百もの独立したインデクサが Graph Network を支え、安全性、セキュリティ、冗長性を確保しています。 + +とはいえ、もしまだ[グラフ・ノード](https://github.com/graphprotocol/graph-node)を運営することに興味があるのであれば、グラフ・ネットワーク[インデクサーとして](https://thegraph.com/blog/how-to-become-indexer/)に参加し、自分のサブグラフや他のサブグラフのデータを提供することで、インデクシング報酬やクエリ報酬を得ることを検討しましょう。 + +### 集中型インデクシング・プロバイダを使うべきでしょうか? + +もしweb3で構築しているのであれば、中央集権的なインデックス・プロバイダを利用した瞬間に、あなたのダップとデータを彼らにコントロールさせることになります。Graphの分散型ネットワークは、[優れたサービス品質](https://thegraph.com/blog/qos-the-graph-network/)、ノードの冗長性による無敵のアップタイムによる信頼性、大幅な[低コスト](/network/benefits/)を提供し、データレイヤーを人質に取られることはありません。 + +グラフネットワークでは、サブグラフは公開され、誰でもオープンにクエリすることができます。中央集中型のインデックス・ソリューションでは、サブグラフは中央集中型のプロバイダーに非公開です。 + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +集中型ホスティングに対するThe Graphの利点について詳しく説明します: + +- **レジリエンスと冗長性**: 分散型システムは、その分散された性質により、本質的により堅牢で回復力があります。データは単一のサーバーや場所に保存されるわけではありません。その代わり、世界中にある何百もの独立したIndexerがデータを提供します。これにより、1つのノードに障害が発生した場合のデータ損失やサービス中断のリスクを低減し、卓越したアップタイム(99.99%)を実現します。 + +- **サービスの質**: 印象的なアップタイムに加え、The Graph Networkはクエリ速度(レイテンシー)の中央値が106msであり、他のホスティングサービスと比較して高いクエリー成功率を誇ります。詳しくは[このブログ](https://thegraph.com/blog/qos-the-graph-network/)をご覧ください。 + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **透明性と信頼**: 分散型システムはオープンに運用され、誰もが独立してデータを検証することができます。この透明性によって、ネットワーク参加者は中央機関に依存することなくシステムの完全性を検証できるため、信頼が構築されます。 + +非中央集権的な性質、セキュリティ、透明性のためにブロックチェーン・ネットワークを選択したように、The Graph Networkを選択することも同じ原則の延長線上にあります。データインフラストラクチャをこれらの価値観に合わせることで、結束力があり、弾力性があり、信頼に基づいた開発環境を確保することができます。 From 0d5f22c9ae2cdc1e57d662c430f9e0e61d676ab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:36 -0400 Subject: [PATCH 1072/2326] New translations sunrise.mdx (Korean) --- website/pages/ko/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/ko/sunrise.mdx b/website/pages/ko/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/ko/sunrise.mdx +++ b/website/pages/ko/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 77e46536d14c715895a7acedf535d01882de420d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:37 -0400 Subject: [PATCH 1073/2326] New translations sunrise.mdx (Dutch) --- website/pages/nl/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/nl/sunrise.mdx b/website/pages/nl/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/nl/sunrise.mdx +++ b/website/pages/nl/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 99f92d84bcb5f51dbdafa2aa8f66915cca2bc8f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:38 -0400 Subject: [PATCH 1074/2326] New translations sunrise.mdx (Polish) --- website/pages/pl/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/pl/sunrise.mdx b/website/pages/pl/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/pl/sunrise.mdx +++ b/website/pages/pl/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 6c01d22c901d937c3e3f1609db81676ffa41b5f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:38 -0400 Subject: [PATCH 1075/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index 64ec31beccdf..be3d8a0943ac 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Perguntas frequentes do nascente dos dados descentralizados +title: Sunrise of Decentralized Data FAQ --- > Nota: este documento é continuamente atualizado para garantir a providência das informações mais precisas e úteis. Novas perguntas e respostas são adicionadas de forma regular. Se não achar a informação que procura, ou se precisar de assistência imediata, [entre em contacto no Discord](https://discord.gg/vtvv7FP). -## O que é o nascente dos dados descentralizados? +## What is the Sunrise of Decentralized Data? -O nascente dos dados descentralizados é uma iniciativa liderada pela Edge & Node, que trabalha no The Graph. A meta é garantir a atualização à rede descentralizada do The Graph por programadores de subgraph e consumidores de dados. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. Este plano usa vários desenvolvimentos prévios do ecossistema do The Graph, inclusive um Indexador de atualização para servir queries em subgraphs recém-publicados, e a habilidade de integrar novas redes de blockchain ao The Graph. -### Quais são as fases do nascente dos dados descentralizados? +### What are the phases of the Sunrise? -**Raio de sol**: Ativar o apoio a chains do serviço hospedado, oferecer um fluxo suave de atualização e oferecer um plano grátis na Graph Network.\ -**Luz do sol**: A janela de tempo para programadores de subgraph atualizarem os seus subgraphs à Graph Network. O início e a duração deste passo serão anunciados em breve.\ -**Nascer do sol**: Endpoints do serviço hospedado expirarão quando o tráfego migrar à Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Eu tenho que executar a minha própria infraestrutura? +## Atualização de subgraphs à Graph Network -Não, toda a infraestrutura é operada por Indexadores independentes na Graph Network, o que inclui o Indexador de atualização ([leia mais abaixo](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -Você pode usar o [Subgraph Studio](https://thegraph.com/studio/) para criar, testar e editar o seu subgraph. Todos os utilizadores do serviço hospedado são encorajados a migrar os seus subgraphs à Graph Network. O Indexador de atualização garante que você possa consultar o seu subgraph mesmo sem sinal de curadoria. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Quando o seu subgraph alcançar um sinal de curadoria adequado e outros Indexadores começarem a apoiá-lo, o Indexador de atualização se estabilizará gradualmente, de modo a permitir que outros Indexadores coletem recompensas de indexação e taxas de query. +### Will my hosted service subgraph be supported on The Graph Network? -### Devo hospedar a minha própria infraestrutura de indexação? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -A execução de infraestrutura para o seu próprio projeto [requer muito mais recursos](/network/benefits/) em comparação ao uso da Graph Network. +### How do I upgrade my hosted service subgraph? -Além disto, a Graph Network é muito mais robusta, confiável, com um custo-benefício muito melhor em comparação a qualquer coisa providenciada por uma única organização ou equipa. Centenas de Indexadores independentes ao redor do mundo movem a Graph Network para garantir segurança e redundância. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -Dito isto, se ainda tiver interesse em executar um [Graph Node](https://github.com/graphprotocol/graph-node), considere entrar na Graph Network [como Indexador](https://thegraph.com/blog/how-to-become-indexer/) para ganhar recompensas de indexação e taxas de query ao servir dados no seu subgraph e em outros. + -### Devo usar um provedor de indexação centralizado? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -Se construir na web3, a partir do momento que usa um provedor de indexação centralizado, você dá-os controle do seu dApp e dos seus dados. A rede descentralizada do The Graph oferece [uma qualidade melhor de serviço](https://thegraph.com/blog/qos-the-graph-network/), confiança com atividade imbatível graças à redundância de nodes, além de [custos muito menores](/network/benefits/), e você não será feito de refém na camada de dados. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -Com a Graph Network, o seu subgraph é público e qualquer pessoa pode consultá-lo abertamente, o que aumenta o uso e os efeitos na rede do seu dApp. Com uma solução centralizada de indexação, o subgraph é privado para o provedor centralizado. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Aqui está um resumo detalhado dos benefícios do The Graph em comparação à hospedagem centralizada: +### How can I get support with the upgrade process? -- **Resiliência e Redundância**: Sistemas descentralizados, por natureza, são mais robustos e resilientes devido à sua natureza distribuída. Os dados não são guardados num único servidor ou local, mas sim, servidos por centenas de Indexadores independentes ao redor do mundo. Isto reduz o risco de perda de dados ou interrupções do serviço se um node falhar, o que leva a um tempo de atividade excepcional (99,99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Qualidade de Serviço**: Além do tempo de atividade impressionante, a Graph Network tem uma velocidade de query mediana (latência) de cerca de 106ms, e índices maiores de sucesso de query em comparação a alternativas hospedadas. Leia mais [neste blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Resistência a Censura**: Sistemas centralizados podem tornar-se alvos para censura, seja por pressão regulatória ou ataques à rede. Ao contrário, sistemas descentralizados, com a sua arquitetura dispersada, são muito mais difíceis de censurar, o que garante a disponibilidade contínua dos dados. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparência e Confiança**: Sistemas descentralizados operam de forma aberta, o que permite que qualquer pessoa verifique os dados de forma independente. Esta transparência constrói confiança entre participantes da rede, já que podem verificar a integridade do sistema sem depender de uma autoridade central. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Assim como você escolheu a sua rede de blockchain pela natureza descentralizada, segurança e transparência, optar pela Graph Network é uma extensão destes mesmos princípios. Ao alinhar a sua infraestrutura de dados com estes valores, você garante um ambiente de programação coeso, resiliente e cheio de confiança. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### O meu subgraph do serviço hospedado será apoiado pelo Indexador de atualização? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Sim, o Indexador de atualização apoiará todos os subgraphs do serviço hospedado publicados na Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -Porém, alguns subgraphs podem não ser elegíveis a recompensas de indexação, e como resultado, podem ter dificuldades em atrair mais Indexadores. Por exemplo, recompensas de indexação podem não estar disponíveis para subgraphs em certas chains. Convidamos os membros destas comunidades de blockchain para integrar a sua chain através do [Processo de Integração de Chain](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## O que é um Indexador de atualização? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### O que significa "Indexador de atualização"? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -Este é construído para melhorar a experiência de atualizar subgraphs do serviço hospedado à Graph Network e apoiar novas versões de subgraphs existentes que ainda não foram indexados. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. O Indexador de atualização mira inicializar chains que ainda não tenham recompensas de indexação na rede, além de uma reserva para novas versões de subgraph. A meta é garantir que um Indexador esteja disponível para servir queries o mais rápido possível após a publicação de um subgraph. -### Quais chains serão apoiadas pelo Indexador de atualização? +### What chains does the upgrade Indexer support? -O Indexador de atualização apoiará chains que atualmente estejam disponíveis apenas no serviço hospedado. Isto incluirá muitos dos subgraphs no serviço hospedado que já foram sincronizados. +The upgrade Indexer supports chains that were previously only available on the hosted service. Encontre uma lista compreensiva de chains apoiadas [aqui](/developing/supported-networks/). @@ -76,9 +108,9 @@ A Edge & Node manteve historicamente o serviço hospedado, e como resultado, já Convidamos todos e quaisquer Indexadores a tornar-se também Indexadores de atualização. Porém, perceba que a operação de um Indexador de atualização tende a ser fornecida como um serviço público para apoiar subgraphs novos e chains adicionais, devido à falta de recompensas de indexação antes de serem aprovados pelo Graph Council. -### O que isto significa para Indexadores existentes? +### What does the upgrade indexer mean for existing Indexers? -Chains que são atualmente apoiadas no serviço hospedado serão disponibilizadas para programadores no The Graph sem recompensas de indexação inicialmente, mas isto ativará taxas de query para qualquer Indexador interessado. Espera-se que isto cause um aumento no número de subgraphs editados na rede, o que proverá mais oportunidades para os Indexadores indexarem e servirem estes subgraphs em troca de taxas de query, antes mesmo da ativação de recompensas de indexação para uma chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. O Indexador de atualização também fornece à comunidade de Indexadores informações sobre demanda em potencial para subgraphs e novas chains na Graph Network. @@ -94,11 +126,11 @@ Ele opera numa base de "necessidade" e serve como uma reserva até que uma quali ### Como isto afetará os programadores de subgraph? -Estes poderão consultar os seus subgraphs na rede quase imediatamente após atualizá-los do serviço hospedado ou publicá-los do Subgraph Studio, já que não será necessário tempo de espera para a indexação. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### Como isto beneficiará os consumidores de dados? -O Indexador de atualização ativa na rede chains que são atualmente apoiadas apenas no serviço hospedado. Assim, ele aumenta o alcance e a disponibilidade de dados que podem ser consultados na rede. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### Como o Indexador de atualização precificará queries? @@ -111,3 +143,43 @@ O Indexador de atualização servirá um subgraph até ele for servido suficient Além disto, o Indexador de atualização parará de apoiar um subgraph se ele não tiver sido consultado nos últimos 30 dias. Outros Indexadores são incentivados a apoiar subgraphs com o volume de query atual, para que o volume de query ao Indexador de atualização tenda a aproximar zero, já que o Indexador terá um tamanho de alocação pequeno e outros Indexadores serão escolhidos por queries antes do Indexador de atualização. + +## About The Graph Network + +### Eu tenho que executar a minha própria infraestrutura? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Quando o seu subgraph alcançar um sinal de curadoria adequado e outros Indexadores começarem a apoiá-lo, o Indexador de atualização se estabilizará gradualmente, de modo a permitir que outros Indexadores coletem recompensas de indexação e taxas de query. + +### Devo hospedar a minha própria infraestrutura de indexação? + +A execução de infraestrutura para o seu próprio projeto [requer muito mais recursos](/network/benefits/) em comparação ao uso da Graph Network. + +Além disto, a Graph Network é muito mais robusta, confiável, com um custo-benefício muito melhor em comparação a qualquer coisa providenciada por uma única organização ou equipa. Centenas de Indexadores independentes ao redor do mundo movem a Graph Network para garantir segurança e redundância. + +Dito isto, se ainda tiver interesse em executar um [Graph Node](https://github.com/graphprotocol/graph-node), considere entrar na Graph Network [como Indexador](https://thegraph.com/blog/how-to-become-indexer/) para ganhar recompensas de indexação e taxas de query ao servir dados no seu subgraph e em outros. + +### Devo usar um provedor de indexação centralizado? + +Se construir na web3, a partir do momento que usa um provedor de indexação centralizado, você dá-os controle do seu dApp e dos seus dados. A rede descentralizada do The Graph oferece [uma qualidade melhor de serviço](https://thegraph.com/blog/qos-the-graph-network/), confiança com atividade imbatível graças à redundância de nodes, além de [custos muito menores](/network/benefits/), e você não será feito de refém na camada de dados. + +Com a Graph Network, o seu subgraph é público e qualquer pessoa pode consultá-lo abertamente, o que aumenta o uso e os efeitos na rede do seu dApp. Com uma solução centralizada de indexação, o subgraph é privado para o provedor centralizado. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Aqui está um resumo detalhado dos benefícios do The Graph em comparação à hospedagem centralizada: + +- **Resiliência e Redundância**: Sistemas descentralizados, por natureza, são mais robustos e resilientes devido à sua natureza distribuída. Os dados não são guardados num único servidor ou local, mas sim, servidos por centenas de Indexadores independentes ao redor do mundo. Isto reduz o risco de perda de dados ou interrupções do serviço se um node falhar, o que leva a um tempo de atividade excepcional (99,99%). + +- **Qualidade de Serviço**: Além do tempo de atividade impressionante, a Graph Network tem uma velocidade de query mediana (latência) de cerca de 106ms, e índices maiores de sucesso de query em comparação a alternativas hospedadas. Leia mais [neste blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparência e Confiança**: Sistemas descentralizados operam de forma aberta, o que permite que qualquer pessoa verifique os dados de forma independente. Esta transparência constrói confiança entre participantes da rede, já que podem verificar a integridade do sistema sem depender de uma autoridade central. + +Assim como você escolheu a sua rede de blockchain pela natureza descentralizada, segurança e transparência, optar pela Graph Network é uma extensão destes mesmos princípios. Ao alinhar a sua infraestrutura de dados com estes valores, você garante um ambiente de programação coeso, resiliente e cheio de confiança. From f2eeccb2271f02a9197584f0dc98c9e7bca43931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:39 -0400 Subject: [PATCH 1076/2326] New translations sunrise.mdx (Russian) --- website/pages/ru/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/ru/sunrise.mdx b/website/pages/ru/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/ru/sunrise.mdx +++ b/website/pages/ru/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 8554df77ecec7516290a202af317299930e86085 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:40 -0400 Subject: [PATCH 1077/2326] New translations sunrise.mdx (Swedish) --- website/pages/sv/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/sv/sunrise.mdx b/website/pages/sv/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/sv/sunrise.mdx +++ b/website/pages/sv/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From ab83bf601b5e3a70deb6e29af1e2a2ff3b200c9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:41 -0400 Subject: [PATCH 1078/2326] New translations sunrise.mdx (Turkish) --- website/pages/tr/sunrise.mdx | 142 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 34 deletions(-) diff --git a/website/pages/tr/sunrise.mdx b/website/pages/tr/sunrise.mdx index b1df7292ebed..9ff2b7fe1f01 100644 --- a/website/pages/tr/sunrise.mdx +++ b/website/pages/tr/sunrise.mdx @@ -1,70 +1,104 @@ --- -title: Merkeziyetsiz Verinin Doğuşu SSS +title: Sunrise of Decentralized Data FAQ --- > Not: Bu belge, en doğru ve yararlı bilgilerin sunulmasını sağlamak amacıyla sürekli olarak güncellenmektedir. Yeni sorular ve cevaplar düzenli olarak eklenmektedir. Aradığınız bilgiyi bulamazsanız veya acil yardıma ihtiyacınız olursa [Discord] (https://discord.gg/vtvv7FP) üzerinden bize ulaşın. -## Merkeziyetsiz verinin doğuşu nedir? +## What is the Sunrise of Decentralized Data? -Merkeziyetsiz verinin doğuşu, Graph üzerinde çalışan Edge & Node'un öncülük ettiği bir girişimdir. Hedef, subgraph geliştiricilerinin ve veri tüketicilerinin Graph'ın merkeziyetsiz ağına sorunsuz bir şekilde geçebilmelerini sağlamaktır. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. Bu plan, yeni yayınlanan subgraphlar üzerinde sorgular sunmak için bir yükseltme İndeksleyicisi ve yeni blok zinciri ağlarını Graph'a entegre etme yeteneği de dahil olmak üzere Graph ekosistemindeki önceki birçok önceki gelişmeyi içermektedir. -### Merkeziyetsiz verinin doğuşunun aşamaları nelerdir? +### What are the phases of the Sunrise? -**Sunray**: Barındırılan hizmet zincirleri için desteği etkinleştirin, sorunsuz bir yükseltme akışı sunun, Graph Network'te ücretsiz bir plan sunun. **Sunbeam**: Subgraph geliştiricilerinin subgraph'lerini Graph Network'e yükseltmeleri gereken yükseltme penceresi. Bunun başlangıcı ve süresi yakında açıklanacak. **Sunrise**: Barındırılan hizmet uç noktalarının süresi, trafik Graph Network'e taşındıkça sona erecektir. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Kendi altyapımı çalıştırmam gerekiyor mu? +## Upgrading subgraphs to The Graph Network -Hayır, yükseltme İndeksleyicisi de ([aşağıda daha fazlasını okuyun](#what-is-an-upgrade-indexer)) dahil olmak üzere tüm altyapı Graph Ağı'ndaki bağımsız İndeksleyiciler tarafından işletilmektedir. +### When will hosted service subgraphs no longer be available? -[Subgraph Stüdyo](https://thegraph.com/studio/) kullanarak subgraph oluşturabilir, test edebilir ve yayınlayabilirsiniz. Tüm barındırılan hizmet kullanıcılarının subgraphlar'ını Graph Ağı'na yükseltmeleri tavsiye edilmektedir. Yükseltme Endeksleyicisi, kürasyon sinyali olmadan bile subgraph'ınızı sorgulayabilmenizi sağlar. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Subgraph'ınız yeterli kürasyon sinyaline ulaştığında ve diğer İndeksleyiciler tarafından desteklemeye başladığında, yükseltme İndeksleyicisi kademeli olarak azalacak ve diğer İndeksleyicilerin indeksleme ödüllerini ve sorgu ücretlerini toplama fırsatı tanıyacaktır. +### Will my hosted service subgraph be supported on The Graph Network? -### Kendi indeksleme altyapımı barındırmalı mıyım? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Kendi projeniz için altyapıyı çalıştırmak, Graph Ağı'nı kullanmaya kıyasla [önemli ölçüde daha fazla kaynak](/network/benefits/) gerektirir. +### How do I upgrade my hosted service subgraph? -Ayrıca, Graph Ağı, tek bir organizasyon veya ekip tarafından sağlanan herhangi bir şeyden önemli ölçüde daha güçlü, güvenilir ve uygun maliyetli bir yapıya sahiptir. Dünya genelinde yüzlerce bağımsız İndeksleyici, Graph Ağı'nı destekleyerek güvenlik, güvenilirlik ve yedeklilik sağlar. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -Bununla birlikte, hala bir [Graph Düğümü](https://github.com/graphprotocol/graph-node) çalıştırmakla ilgileniyorsanız, subgraph'ınızda ve diğerlerinde veri sunarak indeksleme ödülleri ve sorgu ücretleri kazanmak için Graph Ağı'na [İndeksleyici olarak](https://thegraph.com/blog/how-to-become-indexer/) katılmayı düşünün. + -### Merkezi bir indeksleme sağlayıcısı kullanmalı mıyım? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -Web3'te bir şeyler geliştiriyorsanız, merkezi bir indeksleme sağlayıcısı kullandığınızda, merkeziyetsiz uygulamanız ve verileriniz üzerindeki kontrolü onlara veriyorsunuz demektir. Graph'ın merkeziyetsiz ağı, düğüm yedekliliği sayesinde kusursuz çalışma süresi, önemli ölçüde [daha düşük maliyetler](/network/benefits/) ve veri katmanında rehine alınmama gibi [üstün hizmet kalitesi](https://thegraph.com/blog/qos-the-graph-network/) ve güvenilirlik sunar. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -Graph Ağı ile subgraph'ınız herkese açıktır ve herkes tarafından açıkça sorgulanabilir, bu da merkeziyetsiz uygulamanızın kullanımını ve ağ etkilerini artırır. Merkezi bir indeksleme çözümüyle, subgraph merkezi sağlayıcıya özeldir. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -İşte Graph'ın merkezi barındırmaya göre avantajlarının ayrıntılı bir açıklaması: +### How can I get support with the upgrade process? -- **Dayanıklılık ve Yedeklilik**: Merkeziyetsiz sistemler, dağıtık yapıları nedeniyle doğal olarak daha dayanıklı ve esnektir. Veriler tek bir sunucuda veya konumda depolanmaz. Bunun yerine, dünyanın dört bir yanındaki yüzlerce bağımsız İndeksleyici tarafından sunulur. Bu, bir düğümün arızalanması durumunda veri kaybı veya hizmet kesintisi riskini azaltır ve olağanüstü çalışma süreleri (%99,99) sağlar. +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Hizmet Kalitesi**: Etkileyici çalışma süresine ek olarak, Graph Ağı yaklaşık 106 ms medyan sorgu hızı (gecikme) ve barındırılan alternatiflere kıyasla daha yüksek sorgu başarı oranlarına sahiptir. Daha fazla bilgi için [bu bloğa göz atın] (https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Sansüre Direnç**: Merkezi sistemler, düzenleyici baskılar veya ağ saldırıları aracılığıyla sansürün hedefi haline gelebilir. Buna karşın, merkeziyetsiz sistemlerin, dağıtık mimarileri nedeniyle sansürlenmeleri çok daha zordur ve sürekli veri kullanılabilirliği sağlarlar. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Şeffaflık ve Güven**: Merkeziyetsiz sistemler açık bir şekilde işler, bu da herkesin veriyi bağımsız olarak doğrulayabilmesine olanak tanır. Bu şeffaflık, ağ katılımcıları arasında güven oluşturur, çünkü sistemın bütünlüğünü merkezi bir otoriteye güvenmeden doğrulayabilirler. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Merkezi olmayan yapısı, güvenliği ve şeffaflığı nedeniyle blok zincir ağını seçtiğiniz gibi, aynı şekilde Graph Ağı'nı tercih etmek bu ilkelerin bir devamı niteliğindedir. Veri altyapınızı bu değerlerle uyumlu hale getirerek bütünlük, dayanıklılık ve güvene dayalı bir geliştirme ortamını sağlarsınız. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Barındırılan hizmet subgraph'ım yükseltme İndeksleyicisi tarafından desteklenecek mi? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Evet, yükseltme indeksleyicisi Graph Network'te yayınlanan tüm barındırılan hizmet subgraph'lerini destekleyecektir. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -Ancak, bazı subgraphlar indeksleme ödülleri için uygun olmayabilir ve bu nedenle daha fazla İndeksleyici çekmekte zorlanabilir. Örneğin, belirli zincirlerdeki subgraphlar için indeksleme ödülleri mevcut olmayabilir. Bu blok zinciri toplulukları üyelerinin, [Zincir Entegrasyon Süreci](/chain-integration-overview/) aracılığıyla zincirlerini entegre etmeleri tavsiye edilir. +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## Yükseltme İndeksleyicisi nedir? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### "Yükseltme İndeksleyicisi" ne anlama geliyor? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -Bu, subgraphlar'ın barındırılan hizmetten Graph Ağı'na yükseltilme deneyimini iyileştirmek ve henüz indekslenmemiş mevcut subgraphlar'ın yeni sürümlerini desteklemek amacıyla tasarlanmıştır. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. Yükseltme İndeksleyicisi, ağda henüz indeksleme ödülleri olmayan zincirleri önyüklemeyi ve yeni subgraph sürümleri için bir geri dönüş noktası sağlamayı amaçlamaktadır. Hedef, bir subgraph yayınlandıktan sonra mümkün olan en kısa sürede sorguları sunmak için bir İndeksleyicinin hazır olmasını sağlamaktır. -### Yükseltme İndeksleyicisi hangi zincirleri destekleyecek? +### What chains does the upgrade Indexer support? -Yükseltme indeksleyicisi, şu anda yalnızca barındırılan hizmette bulunan zincirleri destekleyecektir. Bu, halihazırda senkronize edilmiş olan birçok barındırılan hizmet subgraph'ini içerecektir. +The upgrade Indexer supports chains that were previously only available on the hosted service. Desteklenen zincirlerin kapsamlı bir listesini inceleyin [here](/developing/supported-networks/). @@ -74,9 +108,9 @@ Edge and Node geçmişte barındırılan hizmeti sürdürmüş ve dolayısıyla Tüm İndeksleyicilerin, aynı zamanda yükseltme İndeksleyicisi olmaları teşvik edilir. Ancak, unutulmamalıdır ki Graph Konseyi tarafından onaylanmadan indeksleme ödüllerinin olmaması nedeniyle yükseltme İndeksleyicisi çalıştırmak büyük ölçüde yeni subgraphları ve ek zincirleri desteklemek için bir kamu hizmeti olarak sağlanmaktadır. -### Bu mevcut İndeksleyiciler için ne anlama gelmektedir? +### What does the upgrade indexer mean for existing Indexers? -Şu an için yalnızca barındırılan hizmette desteklenen zincirler, ilk etapta indeksleme ödülleri olmaksızın Graph üzerindeki geliştiricilere sunulacak. Ancak bu durum ilgilenen tüm İndeksleyiciler için sorgu ücretlerinin önünü açacaktır. Bu durumun, ağda yayınlanan subgraph sayısında bir artışa yol açması ve İndeksleyicilerin, indeksleme ödülleri bir zincir için etkinleştirilmeden önce bile, sorgu ücretleri karşılığında bu subgraphlar'ı indekslemesi ve sunması için daha fazla fırsat sağlaması beklenmektedir. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. Yükseltme İndeksleyicisi ayrıca İndeksleyici topluluğuna Graph Ağı'ndaki subgraphlar ve yeni zincirler konusunda potansiyel talep hakkında bilgi sunmaktadır. @@ -92,11 +126,11 @@ Yükseltme İndeksleyicisi, "gerektiğinde" çalışır ve ilgili zincirler ve s ### Bu durum subgraph geliştiricilerini nasıl etkileyecek? -Subgraph geliştiricileri, indeksleme için herhangi bir hazırlık süresi gerekmeyeceğinden dolayı subgraphlar'ını barındırılan hizmetten yükselttikten veya Subgraph Stüdyo'dan yayınladıktan hemen sonra ağ üzerinde sorgulayabilecekler. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### Bu, veri tüketicilerine nasıl fayda sağlar? -Yükseltme İndeksleyicisi, ağ üzerinde şu anda yalnızca barındırılan hizmette kullanılan zincirleri etkinleştirir. Bu nedenle, ağda sorgulanabilir verilerin kapsamını ve erişilebilirliğini genişletir. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### Yükseltme İndeksleyicisi sorguları nasıl fiyatlandıracak? @@ -109,3 +143,43 @@ Yükseltme İndeksleyicisi, bir subgraph'a, en az 3 diğer İndeksleyici tarafı Ayrıca, yükseltme İndeksleyicisi, bir subhraph son 30 günde sorgulanmamış ise desteğini durduracaktır. Diğer İndeksleyiciler, süregiden sorgu hacmi olan subgraphlar'a destek sağlamaya teşvik edildiği için, yükseltme İndeksleyicisine yönelik sorgu hacmi sıfıra doğru eğilim göstermelidir. Çünkü İndeksleyici, küçük bir tahsis kapasitesine sahip olacak ve diğer İndeksleyiciler sorgular için, yükseltme İndeksleyicisinden önce seçilecektir. + +## About The Graph Network + +### Kendi altyapımı çalıştırmam gerekiyor mu? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Subgraph'ınız yeterli kürasyon sinyaline ulaştığında ve diğer İndeksleyiciler tarafından desteklemeye başladığında, yükseltme İndeksleyicisi kademeli olarak azalacak ve diğer İndeksleyicilerin indeksleme ödüllerini ve sorgu ücretlerini toplama fırsatı tanıyacaktır. + +### Kendi indeksleme altyapımı barındırmalı mıyım? + +Kendi projeniz için altyapıyı çalıştırmak, Graph Ağı'nı kullanmaya kıyasla [önemli ölçüde daha fazla kaynak](/network/benefits/) gerektirir. + +Ayrıca, Graph Ağı, tek bir organizasyon veya ekip tarafından sağlanan herhangi bir şeyden önemli ölçüde daha güçlü, güvenilir ve uygun maliyetli bir yapıya sahiptir. Dünya genelinde yüzlerce bağımsız İndeksleyici, Graph Ağı'nı destekleyerek güvenlik, güvenilirlik ve yedeklilik sağlar. + +Bununla birlikte, hala bir [Graph Düğümü](https://github.com/graphprotocol/graph-node) çalıştırmakla ilgileniyorsanız, subgraph'ınızda ve diğerlerinde veri sunarak indeksleme ödülleri ve sorgu ücretleri kazanmak için Graph Ağı'na [İndeksleyici olarak](https://thegraph.com/blog/how-to-become-indexer/) katılmayı düşünün. + +### Merkezi bir indeksleme sağlayıcısı kullanmalı mıyım? + +Web3'te bir şeyler geliştiriyorsanız, merkezi bir indeksleme sağlayıcısı kullandığınızda, merkeziyetsiz uygulamanız ve verileriniz üzerindeki kontrolü onlara veriyorsunuz demektir. Graph'ın merkeziyetsiz ağı, düğüm yedekliliği sayesinde kusursuz çalışma süresi, önemli ölçüde [daha düşük maliyetler](/network/benefits/) ve veri katmanında rehine alınmama gibi [üstün hizmet kalitesi](https://thegraph.com/blog/qos-the-graph-network/) ve güvenilirlik sunar. + +Graph Ağı ile subgraph'ınız herkese açıktır ve herkes tarafından açıkça sorgulanabilir, bu da merkeziyetsiz uygulamanızın kullanımını ve ağ etkilerini artırır. Merkezi bir indeksleme çözümüyle, subgraph merkezi sağlayıcıya özeldir. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +İşte Graph'ın merkezi barındırmaya göre avantajlarının ayrıntılı bir açıklaması: + +- **Dayanıklılık ve Yedeklilik**: Merkeziyetsiz sistemler, dağıtık yapıları nedeniyle doğal olarak daha dayanıklı ve esnektir. Veriler tek bir sunucuda veya konumda depolanmaz. Bunun yerine, dünyanın dört bir yanındaki yüzlerce bağımsız İndeksleyici tarafından sunulur. Bu, bir düğümün arızalanması durumunda veri kaybı veya hizmet kesintisi riskini azaltır ve olağanüstü çalışma süreleri (%99,99) sağlar. + +- **Hizmet Kalitesi**: Etkileyici çalışma süresine ek olarak, Graph Ağı yaklaşık 106 ms medyan sorgu hızı (gecikme) ve barındırılan alternatiflere kıyasla daha yüksek sorgu başarı oranlarına sahiptir. Daha fazla bilgi için [bu bloğa göz atın] (https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Şeffaflık ve Güven**: Merkeziyetsiz sistemler açık bir şekilde işler, bu da herkesin veriyi bağımsız olarak doğrulayabilmesine olanak tanır. Bu şeffaflık, ağ katılımcıları arasında güven oluşturur, çünkü sistemın bütünlüğünü merkezi bir otoriteye güvenmeden doğrulayabilirler. + +Merkezi olmayan yapısı, güvenliği ve şeffaflığı nedeniyle blok zincir ağını seçtiğiniz gibi, aynı şekilde Graph Ağı'nı tercih etmek bu ilkelerin bir devamı niteliğindedir. Veri altyapınızı bu değerlerle uyumlu hale getirerek bütünlük, dayanıklılık ve güvene dayalı bir geliştirme ortamını sağlarsınız. From a89b98215729bde6a4add5fe6c9b7da58d91dc4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:42 -0400 Subject: [PATCH 1079/2326] New translations sunrise.mdx (Ukrainian) --- website/pages/uk/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/uk/sunrise.mdx b/website/pages/uk/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/uk/sunrise.mdx +++ b/website/pages/uk/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 83094c4fd9f88998d5da6c3d53424786cc4f7748 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:43 -0400 Subject: [PATCH 1080/2326] New translations sunrise.mdx (Chinese Simplified) --- website/pages/zh/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/zh/sunrise.mdx b/website/pages/zh/sunrise.mdx index 561be69e1383..2d3c01b02dfd 100644 --- a/website/pages/zh/sunrise.mdx +++ b/website/pages/zh/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: 分散数据的黎明FAQ +title: Sunrise of Decentralized Data FAQ --- > 注意:此文档会持续更新,以确保提供最准确和有用的信息。新的问题和答案会定期添加。如果您找不到您要寻找的信息,或者需要即时帮助,请[通过Discord联系我们](https://discord.gg/vtvv7FP)。 -## 分散的数据的黎明是什么? +## What is the Sunrise of Decentralized Data? -"分散式数据的黎明" 是由 Edge & Node 领导的一项倡议,他们在开发 The Graph 项目。其目标是无缝地使子图开发者和数据消费者能够升级到 The Graph 的去中心化网络。 +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. 这一计划借鉴了 The Graph 生态系统的许多先前的发展,包括升级索引人以提供对新发布子图的查询服务,以及将新的区块链网络集成到 The Graph 中的能力。 -### 分散数据的黎明这一计划由哪些阶段组成? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### 我需要自己运行基础设施吗? +## Upgrading subgraphs to The Graph Network -不需要,所有的基础设施由The Graph Network上的独立索引人运营,包括升级索引人([详见下文](#what-is-an-upgrade-indexer)) +### When will hosted service subgraphs no longer be available? -您可以使用[Subgraph Studio](https://thegraph.com/studio/)来创建、测试和发布您的子图。所有托管服务的用户都被鼓励将其子图升级到The Graph Network。升级索引人确保您可以查询您的子图,即使没有策展信号。 +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -一旦您的子图达到足够的策展信号,并且其他索引人开始支持它,那么升级索引人将逐渐减少,这将允许其他索引人收集索引奖励和查询费用。 +### Will my hosted service subgraph be supported on The Graph Network? -### 我应该自己托管索引基础设施吗? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -与使用The Graph Network相比,为您自己的项目运行基础设施需要的资源明显更多(/network/benefits/)。 +### How do I upgrade my hosted service subgraph? -此外,与单一组织或团队提供的任何内容相比,The Graph Network显著更健壮、可靠和成本效益更高。全球数百个独立的指标化者支持The Graph Network,确保了安全性、可靠性和冗余性。 +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -话虽如此,如果您仍有兴趣运行[Graph Node](https://github.com/graphprotocol/graph-node),考虑加入The Graph Network,作为索引人,通过为您的子图和其他子图提供数据来赚取索引奖励和查询费用。了解如何成为索引人的更多信息,请参阅[此链接](https://thegraph.com/blog/how-to-become-indexer/)。 + -### 我应该使用中心化的索引提供者吗? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -如果您正在构建Web3应用程序,一旦使用中心化的索引提供者,您将把对您的DApp和数据的控制交给他们。The Graph的分散网络提供卓越的服务质量、通过节点冗余实现无与伦比的可用性,以及显著更低的成本,您将不会受到数据层的威胁。了解更多关于[服务质量](https://thegraph.com/blog/qos-the-graph-network/)和[网络优势](/network/benefits/)的信息。 +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -在The Graph Network上,您的子图是公开的,任何人都可以公开查询它,这会增加您DApp的使用率和网络效应。而使用中心化的索引解决方案,子图对中心化提供者来说是私有的。 +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -以下是The Graph相对于中心化托管的好处的详细分析: +### How can I get support with the upgrade process? -- **弹性与冗余性**:分散系统因其分布式性质而本质上更加坚固和弹性十足。数据不存储在单一服务器或位置上,而是由全球数百个独立的索引人提供。这降低了数据丢失或服务中断的风险,即使一个节点失败,也能实现卓越的可用性(99.99%)。 +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **服务质量**:除了令人印象深刻的可用性之外,The Graph Network具有约106毫秒的中位查询速度(延迟),以及相对于托管的替代方案,更高的查询成功率。更多信息请参阅[此博客](https://thegraph.com/blog/qos-the-graph-network/)。 +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **抗审查性**:中心化系统可能会成为审查的目标,无论是监管压力还是网络攻击。相比之下,由于其分散的架构,分散系统要难以审查,确保数据持续可用性。 +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **透明度和信任**:分散系统开放运行,使任何人都能独立验证数据。这种透明性在网络参与者之间建立了信任,因为他们可以验证系统的完整性,而无需依赖中央权威。 +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -正如您选择区块链网络以获取分散性、安全性和透明性一样,选择The Graph Network是这些相同原则的延伸。通过将您的数据基础设施与这些价值观保持一致,您确保了一个有凝聚力、弹性十足且以信任为驱动的开发环境。 +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### 我的托管服务子图是否会得到升级的索引人支持? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -然而,一些子图可能无法获得索引奖励,因此可能难以吸引更多的索引人。例如,某些链上的子图可能无法获得索引奖励。鼓励来自这些区块链社区的成员通过[链集成流程](/chain-integration-overview/)将他们的链集成进来。 +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## 什么是升级的索引人? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### 升级的索引人意味着什么? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -"升级索引人" 旨在改善从托管服务迁移到 The Graph Network 的子图的体验,以及支持尚未被索引的现有子图的新版本。 +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. 升级索引人旨在启动尚未在网络上具有索引奖励的链,并作为新子图版本的备用选择。其目标是确保在子图发布后尽快提供索引人来响应查询。 -### 升级索引人将支持哪些链? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. 请在[此处](/developing/supported-networks/) 查找支持的链的综合列表。 @@ -76,9 +108,9 @@ Edge and Node 历史上一直维护托管服务,因此已同步了托管服务 鼓励任何索引人都成为升级索引人。然而,需要注意的是,运行升级索引人主要是作为一项公共服务提供的,旨在支持新的子图和额外的链,因为在它们获得 The Graph Council 批准之前,缺乏索引奖励。 -### 这对现有的索引人意味着什么? +### What does the upgrade indexer mean for existing Indexers? -目前仅在托管服务上支持的链将首先在 The Graph 上提供给开发人员,尽管它们一开始不会获得索引奖励,但对于有兴趣的任何索引人来说,这将解锁查询费用。这预计会导致网络上发布的子图数量增加,为索引人提供更多的机会,以获得查询费用来索引和为这些子图提供服务,即使还没有为链启用索引奖励。 +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. 升级索引人还向索引人社区提供关于 The Graph Network 上潜在的子图需求和新链的信息。 @@ -94,11 +126,11 @@ Edge and Node 历史上一直维护托管服务,因此已同步了托管服务 ### 这将如何影响子图开发者? -子图开发者将能够在将它们从托管服务升级或从子图工作室发布到网络后几乎立即查询它们,因为无需等待进行索引的时间。 +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### 这如何使数据消费者受益? -升级的索引人使目前仅在托管服务上受支持的网络链能够在网络上运行,因此扩大了可以在网络上查询的数据范围和可用性。 +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### 升级的索引人将如何定价查询? @@ -111,3 +143,43 @@ Edge and Node 历史上一直维护托管服务,因此已同步了托管服务 此外,如果一个子图在过去的30天内没有被查询,升级的索引人将停止支持该子图。 其他索引人会被激励来支持有持续查询量的子图,因此升级的索引人的查询量应该趋近于零,因为该索引人的分配容量较小,其他索引人将在升级的索引人之前被选中进行查询。 + +## About The Graph Network + +### 我需要自己运行基础设施吗? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +一旦您的子图达到足够的策展信号,并且其他索引人开始支持它,那么升级索引人将逐渐减少,这将允许其他索引人收集索引奖励和查询费用。 + +### 我应该自己托管索引基础设施吗? + +与使用The Graph Network相比,为您自己的项目运行基础设施需要的资源明显更多(/network/benefits/)。 + +此外,与单一组织或团队提供的任何内容相比,The Graph Network显著更健壮、可靠和成本效益更高。全球数百个独立的指标化者支持The Graph Network,确保了安全性、可靠性和冗余性。 + +话虽如此,如果您仍有兴趣运行[Graph Node](https://github.com/graphprotocol/graph-node),考虑加入The Graph Network,作为索引人,通过为您的子图和其他子图提供数据来赚取索引奖励和查询费用。了解如何成为索引人的更多信息,请参阅[此链接](https://thegraph.com/blog/how-to-become-indexer/)。 + +### 我应该使用中心化的索引提供者吗? + +如果您正在构建Web3应用程序,一旦使用中心化的索引提供者,您将把对您的DApp和数据的控制交给他们。The Graph的分散网络提供卓越的服务质量、通过节点冗余实现无与伦比的可用性,以及显著更低的成本,您将不会受到数据层的威胁。了解更多关于[服务质量](https://thegraph.com/blog/qos-the-graph-network/)和[网络优势](/network/benefits/)的信息。 + +在The Graph Network上,您的子图是公开的,任何人都可以公开查询它,这会增加您DApp的使用率和网络效应。而使用中心化的索引解决方案,子图对中心化提供者来说是私有的。 + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +以下是The Graph相对于中心化托管的好处的详细分析: + +- **弹性与冗余性**:分散系统因其分布式性质而本质上更加坚固和弹性十足。数据不存储在单一服务器或位置上,而是由全球数百个独立的索引人提供。这降低了数据丢失或服务中断的风险,即使一个节点失败,也能实现卓越的可用性(99.99%)。 + +- **服务质量**:除了令人印象深刻的可用性之外,The Graph Network具有约106毫秒的中位查询速度(延迟),以及相对于托管的替代方案,更高的查询成功率。更多信息请参阅[此博客](https://thegraph.com/blog/qos-the-graph-network/)。 + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **透明度和信任**:分散系统开放运行,使任何人都能独立验证数据。这种透明性在网络参与者之间建立了信任,因为他们可以验证系统的完整性,而无需依赖中央权威。 + +正如您选择区块链网络以获取分散性、安全性和透明性一样,选择The Graph Network是这些相同原则的延伸。通过将您的数据基础设施与这些价值观保持一致,您确保了一个有凝聚力、弹性十足且以信任为驱动的开发环境。 From d4237869c331f62b865b696921147e3adc8f9573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:44 -0400 Subject: [PATCH 1081/2326] New translations sunrise.mdx (Urdu (Pakistan)) --- website/pages/ur/sunrise.mdx | 142 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 34 deletions(-) diff --git a/website/pages/ur/sunrise.mdx b/website/pages/ur/sunrise.mdx index 85be6e9eefd4..8a6ba93aa93b 100644 --- a/website/pages/ur/sunrise.mdx +++ b/website/pages/ur/sunrise.mdx @@ -1,70 +1,104 @@ --- -title: ڈیسینٹرالائزڈ ڈیٹا کے سن رائز کے اکثر پوچھے گئے سوالات +title: Sunrise of Decentralized Data FAQ --- > نوٹ: اس دستاویز کو مسلسل اپ ڈیٹ کیا جاتا ہے تاکہ یہ یقینی بنایا جا سکے کہ انتہائی درست اور مددگار معلومات فراہم کی گئی ہیں۔ نئے سوالات اور جوابات مستقل بنیادوں پر شامل کیے جاتے ہیں۔ اگر آپ کو وہ معلومات نہیں ملتی ہیں جس کی آپ تلاش کر رہے ہیں، یا اگر آپ کو فوری مدد کی ضرورت ہے [ڈسکورڈ پر رابطہ کریں](https://discord.gg/vtvv7FP). -## ڈیسینٹرالائزڈ ڈیٹا کا سن رائز کیا ہے؟ +## What is the Sunrise of Decentralized Data? -ڈیسینٹرالائزڈ ڈیٹا کا سن رائز ایک پہل ہے جس کی سربراہی ایج اور نوڈ نے کی ہے، جو گراف پر کام کر رہی ہے۔ مقصد سب گراف ڈویلپرز اور ڈیٹا صارفین کو گراف کے ڈیسینٹرالائزڈ نیٹ ورک میں اپ گریڈ کرنے کے لیے بغیر کسی رکاوٹ کے قابل بنانا ہے. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. یہ منصوبہ گراف ایکو سسٹم کی کئی پچھلی پیشرفتوں پر مبنی ہے، بشمول نئے شائع شدہ سب گرافس پر کیوریز پیش کرنے کے لیے ایک اپ گریڈ انڈیکسر، اور نئے بلاکچین نیٹ ورکس کو گراف میں ضم کرنے کی صلاحیت. -### ڈیسینٹرالائزڈ ڈیٹا کے سن رائز ہونے کے مراحل کیا ہیں؟ +### What are the phases of the Sunrise? -**سن رے**: ہوسٹڈ سروس چینز کے لیے سپورٹ کو فعال کریں، بغیر کسی رکاوٹ کے اپ گریڈ فلو کی پیشکش کریں، گراف نیٹ ورک پر مفت پلان پیش کریں۔ **سن بیم**: اپ گریڈ ونڈو جس میں سب گراف ڈویلپرز کو اپنے سب گرافس کو گراف نیٹ ورک میں اپ گریڈ کرنا ہوگا۔ اس کے آغاز اور طوالت کا جلد اعلان کیا جائے گا۔ **سن رائز**: ہوسٹڈ سروس اینڈ پوائنٹس کی میعاد ختم ہو جائے گی کیونکہ ٹریفک گراف نیٹ ورک پر منتقل ہو جائے گی. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### کیا مجھے اپنا انفراسٹرکچر چلانے کی ضرورت ہے؟ +## گراف نیٹ ورک میں سب گراف کو اپ گریڈ کرنا -نہیں، تمام انفراسٹرکچر گراف نیٹ ورک پر آزاد انڈیکسرز کے ذریعے چلایا جاتا ہے، بشمول اپ گریڈ انڈیکسر([نیچے مزید پڑھیں](#what-is-an-upgrade-indexer))۔ +### When will hosted service subgraphs no longer be available? -آپ اپنا سب گراف بنانے، جانچنے اور شائع کرنے کے لیے [سب گراف سٹوڈیو](https://thegraph.com/studio/) استعمال کر سکتے ہیں۔ تمام ہوسٹڈ سروس صارفین کو حوصلہ افزائی کی جاتی ہے کہ وہ اپنے سب گراف کو گراف نیٹ ورک میں اپ گریڈ کریں۔ اپ گریڈ انڈیکسر یقینی بناتا ہے کہ آپ کیوریشن سگنل کے بغیر بھی اپنے سب گراف سے کیوری کر سکتے ہیں. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -ایک بار جب آپ کا سب گراف مناسب کیوریشن سگنل تک پہنچ جاتا ہے اور دوسرے انڈیکسرز اس کی حمایت کرنا شروع کر دیتے ہیں، تو اپ گریڈ انڈیکسر آہستہ آہستہ ختم ہو جائے گا، جس سے دوسرے انڈیکسرز کو انڈیکسنگ انعامات اور کیوری کی فیسیں جمع کرنے کی اجازت مل جائے گی. +### Will my hosted service subgraph be supported on The Graph Network? -### کیا مجھے اپنے انڈیکسنگ انفراسٹرکچر کی میزبانی کرنی چاہئے؟ +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -گراف نیٹ ورک کے استعمال کے مقابلے میں آپ کے اپنے پروجیکٹ کے لیے انفراسٹرکچر چلانا [نمایاں طور پر زیادہ وسائل والا](/network/benefits/) ہے. +### How do I upgrade my hosted service subgraph? -مزید برآں، گراف نیٹ ورک کسی ایک تنظیم یا ٹیم کے ذریعہ فراہم کردہ کسی بھی چیز کے مقابلے میں نمایاں طور پر زیادہ مضبوط، قابل اعتماد، اور لاگت سے موثر ہے۔ دنیا بھر میں سیکڑوں آزاد انڈیکسرز گراف نیٹ ورک کو طاقت دیتے ہیں، جو حفاظت، تحفظ اور ریڈینڈینسی کو یقینی بناتے ہیں. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -یہ کہا جا رہا ہے، اگر آپ ابھی بھی [گراف نوڈ](https://github.com/graphprotocol/graph-node) چلانے میں دلچسپی رکھتے ہیں، تو گراف نیٹ ورک میں شامل ہونے پر غور کریں [بطور انڈیکسر](https://thegraph. com/blog/how-to-become-indexer/) اپنے سب گراف اور دیگر پر ڈیٹا پیش کرکے انڈیکسنگ انعامات اور کیوری کی فیس حاصل کرنے کے لیے. + -### کیا مجھے سینٹرلائزڈ انڈیکسنگ فراہم کنندہ استعمال کرنا چاہیے؟ +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -اگر آپ ویب 3 میں تعمیر کر رہے ہیں، جس لمحے آپ سینٹرلائزڈ انڈیکسنگ فراہم کنندہ استعمال کرتے ہیں، آپ انہیں اپنے ڈیپ اور ڈیٹا کا کنٹرول دے رہے ہیں۔ گراف کا ڈیسینٹرالائزڈ نیٹ ورک پیش کرتا ہے [سروس کا اعلیٰ معیار](https://thegraph.com/blog/qos-the-graph-network/)، ناقابل شکست اپ ٹائم کے ساتھ قابل اعتماد نوڈ ریڈینڈینسی کی بدولت، نیز نمایاں طور پر [کم لاگت](/network/benefits/)، اور آپ کو ڈیٹا لیئر پر ہوسٹیج نہیں بنایا جائے گا. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -گراف نیٹ ورک کے ساتھ، آپ کا سب گراف عوامی ہے اور کوئی بھی اس سے کھل کر کیوری کر سکتا ہے، جو آپ کے ڈیپ کے استعمال اور نیٹ ورک کے اثرات کو بڑھاتا ہے۔ مرکزی انڈیکسنگ کے حل کے ساتھ، سب گراف مرکزی فراہم کنندہ کے لیے نجی ہے. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -سینٹرلائزڈ ہوسٹنگ پر گراف کے فوائد کی تفصیلی بریک ڈاؤن یہ ہے: +### How can I get support with the upgrade process? -- **لچک اور ریڈینڈینسی**: ڈیسینٹرالائزڈ نظام اپنی تقسیم شدہ نوعیت کی وجہ سے فطری طور پر زیادہ مضبوط اور لچکدار ہوتے ہیں۔ ڈیٹا کسی ایک سرور یا مقام پر محفوظ نہیں ہوتا ہے۔ اس کے بجائے، یہ دنیا بھر میں سینکڑوں آزاد انڈیکسرز کے ذریعہ پیش کیا جاتا ہے۔ اگر ایک نوڈ ناکام ہو جاتا ہے تو یہ ڈیٹا کے ضائع ہونے یا سروس میں رکاوٹ کا خطرہ کم کرتا ہے، جس سے غیر معمولی اپ ٹائم ہوتا ہے (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **سروس کا معیار**: متاثر کن اپ ٹائم کے علاوہ، گراف نیٹ ورک میں ~106ms میڈین کیوری کی رفتار (لیٹنسی) اور میزبان متبادل کے مقابلے میں کیوری کی کامیابی کی اعلی شرحیں شامل ہیں۔ مزید پڑھیں [اس بلاگ] میں (https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **سنسرشپ مزاحمت**: مرکزی نظام یا تو ریگولیٹری دباؤ یا نیٹ ورک کے حملوں کے ذریعے، سنسرشپ کے لیے ہدف بن سکتے ہیں۔ اس کے برعکس، ڈیسینٹرالائزڈ نظام، اپنے منتشر فن تعمیر کی وجہ سے، مسلسل ڈیٹا کی دستیابی کو یقینی بناتے ہوئے، سنسر کرنا زیادہ مشکل ہے. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **شفافیت اور اعتماد**: ڈیسینٹرالائزڈ نظام کھلے عام کام کرتے ہیں، کسی کو بھی آزادانہ طور پر ڈیٹا کی تصدیق کرنے کے قابل بناتے ہیں۔ یہ شفافیت نیٹ ورک کے شرکاء میں اعتماد پیدا کرتی ہے، کیونکہ وہ کسی مرکزی اقتدار پر بھروسہ کیے بغیر سسٹم کی سالمیت کی تصدیق کر سکتے ہیں. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -جس طرح آپ نے اپنے بلاکچین نیٹ ورک کو اس کی ڈیسینٹرالائزڈ، سیکورٹی اور شفافیت کے لیے منتخب کیا ہے، اسی طرح گراف نیٹ ورک کا انتخاب انہی اصولوں کی توسیع ہے۔ اپنے ڈیٹا انفراسٹرکچر کو ان اقدار کے ساتھ سیدھ میں لا کر، آپ ایک مربوط، لچکدار، اور اعتماد پر مبنی ترقیاتی ماحول کو یقینی بناتے ہیں. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### کیا میرے ہوسٹڈ سروس سب گراف کو اپ گریڈ انڈیکسر کے ذریعے سپورٹ کیا جائے گا؟ +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -ہاں، اپ گریڈ انڈیکسر گراف نیٹ ورک پر شائع ہونے والے تمام ہوسٹڈ سروس سب گرافس کو سپورٹ کرے گا. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -تاہم، کچھ سب گراف انعامات کی انڈیکسنگ کے اہل نہیں ہو سکتے ہیں، اور اس کے نتیجے میں، مزید انڈیکسرز کو متوجہ کرنے میں دشواری کا سامنا کرنا پڑ سکتا ہے۔ مثال کے طور پر، کچھ چینز پر سب گراف کے لیے انڈیکسنگ کے انعامات دستیاب نہیں ہو سکتے ہیں۔ ان بلاکچین کمیونٹیز کے ممبران کی حوصلہ افزائی کی جاتی ہے کہ وہ اپنی چین کو [چین انٹیگریشن کے عمل](/chain-integration-overview/) کے ذریعے مربوط کریں. +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## اپ گریڈ انڈیکسر کیا ہے؟ +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### "اپ گریڈ انڈیکسر" کا کیا مطلب ہے؟ +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -یہ گراف نیٹ ورک میں ہوسٹڈ سروس سے سب گراف کو اپ گریڈ کرنے کے تجربے کو بہتر بنانے اور موجودہ سب گرافس کے نئے ورژن کو سپورٹ کرنے کے لیے ڈیزائن کیا گیا ہے جن کو ابھی تک انڈیکس نہیں کیا گیا ہے. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. اپ گریڈ انڈیکسر کا غور ان بوٹسٹریپنگ چینز پر ہے جن کے نیٹ ورک پر ابھی تک انڈیکسنگ انعامات نہیں ہیں، نیز سب گراف کے نئے ورژنز کے لیے فال بیک۔ مقصد اس بات کو یقینی بنانا ہے کہ سب گراف شائع ہونے کے بعد جلد از جلد کیوریز پیش کرنے کے لیے ایک انڈیکسر دستیاب ہو. -### کون سی چینز انڈیکسر کو اپ گریڈ کریں گی؟ +### What chains does the upgrade Indexer support? -اپ گریڈ انڈیکسر ان چینز کو سپورٹ کرے گا جو فی الحال صرف ہوسٹڈ سروس پر دستیاب ہیں۔ اس میں بہت سے ہوسٹڈ سروس کے سب گراف شامل ہوں گے جو پہلے ہی ہم آہنگ ہو چکے ہیں. +The upgrade Indexer supports chains that were previously only available on the hosted service. معاون چینز کی ایک جامع فہرست [یہاں](/developing/supported-networks/) تلاش کریں. @@ -74,9 +108,9 @@ title: ڈیسینٹرالائزڈ ڈیٹا کے سن رائز کے اکثر پو کسی بھی اور تمام انڈیکسرز کی حوصلہ افزائی کی جاتی ہے کہ وہ اپ گریڈ انڈیکسرز بھی بن جائیں۔ تاہم، نوٹ کریں کہ گراف کونسل سے منظور ہونے سے پہلے انڈیکسنگ انعامات کی کمی کی وجہ سے نئے سب گراف اور اضافی چینز کو سپورٹ کرنے کے لیے ایک اپ گریڈ انڈیکسر کو چلانا بڑی حد تک عوامی خدمت کے طور پر فراہم کیا جاتا ہے. -### موجودہ انڈیکسرز کے لیے اس کا کیا مطلب ہے؟ +### What does the upgrade indexer mean for existing Indexers? -چینز جو فی الحال ہوسٹڈ سروس پر خصوصی طور پر تعاون یافتہ ہیں وہ گراف پر ڈویلپرز کو پہلے انعامات کی انڈیکسنگ کیے بغیر دستیاب کر دی جائیں گی، حالانکہ یہ دلچسپی رکھنے والے کسی بھی انڈیکسر کے لیے کیوری کی فیس کو غیر مقفل کر دیتا ہے۔ اس سے نیٹ ورک پر شائع ہونے والے سب گرافوں کی تعداد میں اضافہ ہونے کی توقع ہے، جو انڈیکسرز کو انڈیکس کرنے کے مزید مواقع فراہم کرے گا اور کیوری کی فیس کے عوض ان سب گرافوں کو پیش کرے گا، یہاں تک کہ چین کے لیے انڈیکسنگ کے انعامات کو فعال کرنے سے پہلے. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. اپ گریڈ انڈیکسر انڈیکسر کمیونٹی کو گراف نیٹ ورک پر سب گرافس اور نئی چینز کی ممکنہ مانگ کے بارے میں معلومات بھی فراہم کرتا ہے. @@ -92,11 +126,11 @@ title: ڈیسینٹرالائزڈ ڈیٹا کے سن رائز کے اکثر پو ### یہ سب گراف ڈویلپرز کو کیسے متاثر کرے گا؟ -سب گراف ڈویلپرز اپنے سب گراف کو ہوسٹڈ سروس سے اپ گریڈ کرنے یا سب گراف سٹوڈیو سے شائع کرنے کے فوراً بعد نیٹ ورک پر کیوری کر سکیں گے، کیونکہ انڈیکسنگ کے لیے لیڈ ٹائم کی ضرورت نہیں ہوگی. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### اس سے ڈیٹا صارفین کو کیسے فائدہ ہوتا ہے؟ -اپ گریڈ انڈیکسر نیٹ ورک پر ان چینز کو قابل بناتا ہے جو فی الحال صرف ہوسٹڈ سروس پر تعاون یافتہ ہیں۔ لہذا، یہ ڈیٹا کی گنجائش اور دستیابی کو وسیع کرتا ہے جس سے نیٹ ورک پر کیوری کیا جا سکتا ہے. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### اپ گریڈ انڈیکسر کیوریز کی قیمت کیسے لگائے گا؟ @@ -109,3 +143,43 @@ title: ڈیسینٹرالائزڈ ڈیٹا کے سن رائز کے اکثر پو مزید برآں، اپ گریڈ انڈیکسر سب گراف کو سپورٹ کرنا بند کر دے گا اگر اس سے پچھلے 30 دنوں میں کیوری نہیں کیا گیا ہے. دوسرے انڈیکسرز کو جاری کیوری والیوم کے ساتھ سب گراف کو سپورٹ کرنے کے لیے ترغیب دی جاتی ہے، اس لیے اپ گریڈ انڈیکسر کے لیے کیوری کا حجم صفر کی طرف رجحان ہونا چاہیے کیونکہ انڈیکسر کا مختص کا سائز چھوٹا ہوگا اور دیگر انڈیکسرز کو اپ گریڈ انڈیکسر سے پہلے کیوریز کے لیے منتخب کیا جائے گا. + +## About The Graph Network + +### کیا مجھے اپنا انفراسٹرکچر چلانے کی ضرورت ہے؟ + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +ایک بار جب آپ کا سب گراف مناسب کیوریشن سگنل تک پہنچ جاتا ہے اور دوسرے انڈیکسرز اس کی حمایت کرنا شروع کر دیتے ہیں، تو اپ گریڈ انڈیکسر آہستہ آہستہ ختم ہو جائے گا، جس سے دوسرے انڈیکسرز کو انڈیکسنگ انعامات اور کیوری کی فیسیں جمع کرنے کی اجازت مل جائے گی. + +### کیا مجھے اپنے انڈیکسنگ انفراسٹرکچر کی میزبانی کرنی چاہئے؟ + +گراف نیٹ ورک کے استعمال کے مقابلے میں آپ کے اپنے پروجیکٹ کے لیے انفراسٹرکچر چلانا [نمایاں طور پر زیادہ وسائل والا](/network/benefits/) ہے. + +مزید برآں، گراف نیٹ ورک کسی ایک تنظیم یا ٹیم کے ذریعہ فراہم کردہ کسی بھی چیز کے مقابلے میں نمایاں طور پر زیادہ مضبوط، قابل اعتماد، اور لاگت سے موثر ہے۔ دنیا بھر میں سیکڑوں آزاد انڈیکسرز گراف نیٹ ورک کو طاقت دیتے ہیں، جو حفاظت، تحفظ اور ریڈینڈینسی کو یقینی بناتے ہیں. + +یہ کہا جا رہا ہے، اگر آپ ابھی بھی [گراف نوڈ](https://github.com/graphprotocol/graph-node) چلانے میں دلچسپی رکھتے ہیں، تو گراف نیٹ ورک میں شامل ہونے پر غور کریں [بطور انڈیکسر](https://thegraph. com/blog/how-to-become-indexer/) اپنے سب گراف اور دیگر پر ڈیٹا پیش کرکے انڈیکسنگ انعامات اور کیوری کی فیس حاصل کرنے کے لیے. + +### کیا مجھے سینٹرلائزڈ انڈیکسنگ فراہم کنندہ استعمال کرنا چاہیے؟ + +اگر آپ ویب 3 میں تعمیر کر رہے ہیں، جس لمحے آپ سینٹرلائزڈ انڈیکسنگ فراہم کنندہ استعمال کرتے ہیں، آپ انہیں اپنے ڈیپ اور ڈیٹا کا کنٹرول دے رہے ہیں۔ گراف کا ڈیسینٹرالائزڈ نیٹ ورک پیش کرتا ہے [سروس کا اعلیٰ معیار](https://thegraph.com/blog/qos-the-graph-network/)، ناقابل شکست اپ ٹائم کے ساتھ قابل اعتماد نوڈ ریڈینڈینسی کی بدولت، نیز نمایاں طور پر [کم لاگت](/network/benefits/)، اور آپ کو ڈیٹا لیئر پر ہوسٹیج نہیں بنایا جائے گا. + +گراف نیٹ ورک کے ساتھ، آپ کا سب گراف عوامی ہے اور کوئی بھی اس سے کھل کر کیوری کر سکتا ہے، جو آپ کے ڈیپ کے استعمال اور نیٹ ورک کے اثرات کو بڑھاتا ہے۔ مرکزی انڈیکسنگ کے حل کے ساتھ، سب گراف مرکزی فراہم کنندہ کے لیے نجی ہے. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +سینٹرلائزڈ ہوسٹنگ پر گراف کے فوائد کی تفصیلی بریک ڈاؤن یہ ہے: + +- **لچک اور ریڈینڈینسی**: ڈیسینٹرالائزڈ نظام اپنی تقسیم شدہ نوعیت کی وجہ سے فطری طور پر زیادہ مضبوط اور لچکدار ہوتے ہیں۔ ڈیٹا کسی ایک سرور یا مقام پر محفوظ نہیں ہوتا ہے۔ اس کے بجائے، یہ دنیا بھر میں سینکڑوں آزاد انڈیکسرز کے ذریعہ پیش کیا جاتا ہے۔ اگر ایک نوڈ ناکام ہو جاتا ہے تو یہ ڈیٹا کے ضائع ہونے یا سروس میں رکاوٹ کا خطرہ کم کرتا ہے، جس سے غیر معمولی اپ ٹائم ہوتا ہے (99.99%). + +- **سروس کا معیار**: متاثر کن اپ ٹائم کے علاوہ، گراف نیٹ ورک میں ~106ms میڈین کیوری کی رفتار (لیٹنسی) اور میزبان متبادل کے مقابلے میں کیوری کی کامیابی کی اعلی شرحیں شامل ہیں۔ مزید پڑھیں [اس بلاگ] میں (https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **شفافیت اور اعتماد**: ڈیسینٹرالائزڈ نظام کھلے عام کام کرتے ہیں، کسی کو بھی آزادانہ طور پر ڈیٹا کی تصدیق کرنے کے قابل بناتے ہیں۔ یہ شفافیت نیٹ ورک کے شرکاء میں اعتماد پیدا کرتی ہے، کیونکہ وہ کسی مرکزی اقتدار پر بھروسہ کیے بغیر سسٹم کی سالمیت کی تصدیق کر سکتے ہیں. + +جس طرح آپ نے اپنے بلاکچین نیٹ ورک کو اس کی ڈیسینٹرالائزڈ، سیکورٹی اور شفافیت کے لیے منتخب کیا ہے، اسی طرح گراف نیٹ ورک کا انتخاب انہی اصولوں کی توسیع ہے۔ اپنے ڈیٹا انفراسٹرکچر کو ان اقدار کے ساتھ سیدھ میں لا کر، آپ ایک مربوط، لچکدار، اور اعتماد پر مبنی ترقیاتی ماحول کو یقینی بناتے ہیں. From 649843ed1092bd96b1b829e5fbac2fb26dbe4a52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:45 -0400 Subject: [PATCH 1082/2326] New translations sunrise.mdx (Vietnamese) --- website/pages/vi/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/vi/sunrise.mdx b/website/pages/vi/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/vi/sunrise.mdx +++ b/website/pages/vi/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 408962e522aef95cbc8dd3c2c67908db933d7574 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:45 -0400 Subject: [PATCH 1083/2326] New translations sunrise.mdx (Marathi) --- website/pages/mr/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/mr/sunrise.mdx b/website/pages/mr/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/mr/sunrise.mdx +++ b/website/pages/mr/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 561d832e0a0fef79e96de2f5bcedb836c1d583a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:46 -0400 Subject: [PATCH 1084/2326] New translations sunrise.mdx (Hindi) --- website/pages/hi/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/hi/sunrise.mdx b/website/pages/hi/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/hi/sunrise.mdx +++ b/website/pages/hi/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 9b93854a46207b51ccb3dad38f2b2321d423f716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:47 -0400 Subject: [PATCH 1085/2326] New translations sunrise.mdx (Yoruba) --- website/pages/yo/sunrise.mdx | 144 ++++++++++++++++++++++++++--------- 1 file changed, 108 insertions(+), 36 deletions(-) diff --git a/website/pages/yo/sunrise.mdx b/website/pages/yo/sunrise.mdx index 20e06d584e4b..3e4a740d9ef4 100644 --- a/website/pages/yo/sunrise.mdx +++ b/website/pages/yo/sunrise.mdx @@ -1,72 +1,104 @@ --- -title: Sunrise of decentralized data FAQ +title: Sunrise of Decentralized Data FAQ --- > Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). -## What is the sunrise of decentralized data? +## What is the Sunrise of Decentralized Data? -The sunrise of decentralized data is an initiative spearheaded by Edge & Node, working on The Graph. The goal is to seamlessly enable subgraph developers and data consumers to upgrade to The Graph’s decentralized network. +The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. This plan draws on many previous developments from The Graph ecosystem, including an upgrade Indexer to serve queries on newly published subgraphs, and the ability to integrate new blockchain networks to The Graph. -### What are the phases of the sunrise of decentralized data? +### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, offer a seamless upgrade flow, offer a free plan on The Graph Network.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their subgraphs to The Graph Network. The start and length of this will be announced soon.\ -**Sunrise**: Hosted service endpoints will expire as traffic moves to The Graph Network. +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. -### Do I need to run my own infrastructure? +## Upgrading subgraphs to The Graph Network -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-an-upgrade-indexer)). +### When will hosted service subgraphs no longer be available? -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users are encouraged to upgrade their subgraphs to The Graph Network. The upgrade Indexer ensures you can query your subgraph even without curation signal. +Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. -Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. +### Will my hosted service subgraph be supported on The Graph Network? -### Should I host my own indexing infrastructure? +Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. -Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. +### How do I upgrade my hosted service subgraph? -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +> Note: Upgrading a subgraph to The Graph Network cannot be undone. -That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + -### Should I use a centralized indexing provider? +To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +1. Select the subgraph(s) you want to upgrade. +2. Select the receiving wallet (the wallet that will become the owner of the subgraph). +3. Click the "Upgrade" button. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). -Here's a detailed breakdown of the benefits of The Graph over centralized hosting: +### How can I get support with the upgrade process? -- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). +The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. -- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). +### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -- **Censorship Resistance**: Centralized systems can become targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). -Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. +Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). + +### How do I publish new versions to the network? -### Will my hosted service subgraph be supported by the upgrade Indexer? +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. -Yes, the upgrade Indexer will support all hosted service subgraphs published to The Graph Network. +1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Update your deploy command -However, some subgraphs may not be eligible for indexing rewards, and as a result, may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains. Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +```sh +# Authorize with Subgraph Studio, available on your subgraph page +## Alternativel pass this into the deploy command as --access-token (see below) +graph auth --studio -## What is an upgrade Indexer? +# Deploy to Subgraph Studio +## Unlike the hosted service, the name is just the subgraph name (no github id) +## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +graph deploy --studio --version --access-token +``` -### What does "upgrade Indexer" mean? +This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). -It is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 + +### What happens if I don't upgrade my subgraph? + +Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. + +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? + +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). + +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. + +### How can I get started querying subgraphs on The Graph Network? + +You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). + +## About the Upgrade Indexer + +### What is the upgrade Indexer? + +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. -### What chains will the upgrade Indexer support? +### What chains does the upgrade Indexer support? -The upgrade Indexer will support chains that are currently only available on the hosted service. This will include many hosted service subgraphs that have already been synced. +The upgrade Indexer supports chains that were previously only available on the hosted service. Find a comprehensive list of supported chains [here](/developing/supported-networks/). @@ -76,9 +108,9 @@ Edge and Node has historically maintained the hosted service and, as a result, h Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. -### What does this mean for existing Indexers? +### What does the upgrade indexer mean for existing Indexers? -Chains that are currently exclusively supported on the hosted service will be made available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -94,11 +126,11 @@ It operates on an “as needed” basis, and serves as a fallback until sufficie ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading them from the hosted service or publishing them from the Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? -The upgrade Indexer enables chains on the network that are currently only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. ### How will the upgrade Indexer price queries? @@ -111,3 +143,43 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. + +## About The Graph Network + +### Do I need to run my own infrastructure? + +No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). + +You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. + +The upgrade Indexer ensures you can query your subgraph even without curation signal. + +Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. + +### Should I host my own indexing infrastructure? + +Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. + +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. + +That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. + +### Should I use a centralized indexing provider? + +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. + +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. + +Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. + +Here's a detailed breakdown of the benefits of The Graph over centralized hosting: + +- **Resilience and Redundancy**: Decentralized systems are inherently more robust and resilient due to their distributed nature. Data isn't stored on a single server or location. Instead, it's served by hundreds of independent Indexers around the globe. This reduces the risk of data loss or service interruptions if one node fails, leading to exceptional uptime (99.99%). + +- **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). + +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. + +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. + +Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 403386c8c9e097227b05bd2f5c638d8ea99aa74f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:44:49 -0400 Subject: [PATCH 1086/2326] New translations querying-with-python.mdx (French) --- website/pages/fr/querying/querying-with-python.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/fr/querying/querying-with-python.mdx b/website/pages/fr/querying/querying-with-python.mdx index f4cbbf4d66c7..266a5f2511b7 100644 --- a/website/pages/fr/querying/querying-with-python.mdx +++ b/website/pages/fr/querying/querying-with-python.mdx @@ -1,5 +1,5 @@ --- -title: Query The Graph with Python and Subgrounds +title: Interroger The Graph avec Python et Subgrounds --- Subgrounds est une librairie Python utilisée pour les requêtes Subgraph. Cette librairie a été conçue par [Playgrounds](https://playgrounds.network/). Subgrounds permet de connecter directement les données d'un Subgraph à un environnement de données Python, permettant l'utilisation de librairies comme [pandas](https://pandas.pydata.org/) afin de faire de l'analyse de données! From acffd68b04eb80332716eb52376e4a91b963742d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:06 -0400 Subject: [PATCH 1087/2326] New translations common-issues.mdx (Turkish) --- website/pages/tr/developing/graph-ts/common-issues.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/tr/developing/graph-ts/common-issues.mdx b/website/pages/tr/developing/graph-ts/common-issues.mdx index a6f984fdf0c4..892ab40dce7f 100644 --- a/website/pages/tr/developing/graph-ts/common-issues.mdx +++ b/website/pages/tr/developing/graph-ts/common-issues.mdx @@ -2,7 +2,7 @@ title: Genel AssemblyScript Sorunları --- -Subgraph geliştirme sırasında sıklıkla karşılaşılan belirli [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) sorunları vardır. Hata ayıklama zorluklarında değişiklik gösterirler ancak bunların farkında olmak yardımcı olabilir. Aşağıda bu sorunların kapsamlı olmayan bir listesi bulunmaktadır: +There are certain [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) issues that are common to run into during subgraph development. They range in debug difficulty, however, being aware of them may help. The following is a non-exhaustive list of these issues: -- "Özel" sınıf değişkenleri [AssembyScript](https://www.assemblyscript.org/status.html#language-features) içinde zorunlu kılınmaz. Sınıf değişkenlerini doğrudan sınıf nesnesinden değiştirilmekten korumanın bir yolu yoktur. -- Kapsam, [kapatma işlevleri](https://www.assemblyscript.org/status.html#on-closes) devralınmaz, yani kapatma işlevlerinin dışında bildirilen değişkenler kullanılamaz. [Geliştiricinin Öne Çıkan Noktaları #3](https://www.youtube.com/watch?v=1-8AW-lVfrA&t=3243s) bölümündeki açıklamaya göz atabilirsiniz. +- `Private` class variables are not enforced in [AssembyScript](https://www.assemblyscript.org/status.html#language-features). There is no way to protect class variables from being directly changed from the class object. +- Scope is not inherited into [closure functions](https://www.assemblyscript.org/status.html#on-closures), i.e. variables declared outside of closure functions cannot be used. Explanation in [Developer Highlights #3](https://www.youtube.com/watch?v=1-8AW-lVfrA&t=3243s). From d483e840bdb5535490f912423e0b399d742be7e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:10 -0400 Subject: [PATCH 1088/2326] New translations api.mdx (Romanian) --- website/pages/ro/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/ro/developing/graph-ts/api.mdx b/website/pages/ro/developing/graph-ts/api.mdx index 9fc543d4ab6b..bb8117478269 100644 --- a/website/pages/ro/developing/graph-ts/api.mdx +++ b/website/pages/ro/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API This page documents what built-in APIs can be used when writing subgraph mappings. Two kinds of APIs are available out of the box: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Version | Release notes | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| Version | Release notes | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Built-in Types -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Creating entities @@ -540,13 +542,38 @@ For more information: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Logging API ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### Type Conversions Reference -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Data Source Metadata From a8e1c827e0ee97b34e69238cdb2771a87947a0c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:11 -0400 Subject: [PATCH 1089/2326] New translations api.mdx (French) --- website/pages/fr/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/fr/developing/graph-ts/api.mdx b/website/pages/fr/developing/graph-ts/api.mdx index f7bf1a3715f1..2631c25c08b6 100644 --- a/website/pages/fr/developing/graph-ts/api.mdx +++ b/website/pages/fr/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: API AssemblyScript Cette page documente les API intégrées qui peuvent être utilisées lors de l'écriture de mappages de subgraphs. Deux types d'API sont disponibles prêtes à l'emploi : -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Version | Notes de version | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| Version | Notes de version | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Types intégrés -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Création d'entités @@ -540,13 +542,38 @@ Pour plus d'informations: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Logging API ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### Référence des conversions de types -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Métadonnées de la source de données From 0dd47a30d17eb131250f021c39b22b2ddd9eaffe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:12 -0400 Subject: [PATCH 1090/2326] New translations api.mdx (Spanish) --- website/pages/es/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/es/developing/graph-ts/api.mdx b/website/pages/es/developing/graph-ts/api.mdx index 89e46d83e4d2..7369cf45d27d 100644 --- a/website/pages/es/developing/graph-ts/api.mdx +++ b/website/pages/es/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API Esta página documenta qué API integradas se pueden usar al escribir mappings de subgrafos. Hay dos tipos de API disponibles listas para usar: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Version | Notas del lanzamiento | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| Version | Notas del lanzamiento | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Tipos Incorporados -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Creacion de entidades @@ -540,13 +542,38 @@ Para mas informacion: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### API de Registro ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### Referencias de Tipo de Conversiones -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Metadatos de la Fuente de Datos From f312c2bf21adf3b7b680e5f9a8af13781cc80ea3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:13 -0400 Subject: [PATCH 1091/2326] New translations api.mdx (Arabic) --- website/pages/ar/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/ar/developing/graph-ts/api.mdx b/website/pages/ar/developing/graph-ts/api.mdx index 06ad54feb70b..9eacab07981c 100644 --- a/website/pages/ar/developing/graph-ts/api.mdx +++ b/website/pages/ar/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API هذه الصفحة توثق APIs المضمنة التي يمكن استخدامها عند كتابة subgraph mappings. يتوفر نوعان من APIs خارج الصندوق: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| الاصدار | ملاحظات الإصدار | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| الاصدار | ملاحظات الإصدار | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### الأنواع المضمنة (Built-in) -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ _Operators_ `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ It adds the following method on top of the `Bytes` API: The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### إنشاء الكيانات @@ -540,13 +542,38 @@ For more information: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Logging API ```typescript import { log } from '@graphprotocol/graph-ts ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### مرجع تحويلات الأنواع -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### البيانات الوصفية لمصدر البيانات From 01ed7cd1fb92a45adfe09909e82b415a403d7da5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:14 -0400 Subject: [PATCH 1092/2326] New translations api.mdx (Czech) --- website/pages/cs/developing/graph-ts/api.mdx | 175 +++++++++++-------- 1 file changed, 101 insertions(+), 74 deletions(-) diff --git a/website/pages/cs/developing/graph-ts/api.mdx b/website/pages/cs/developing/graph-ts/api.mdx index 3f934597bd11..704856cc0648 100644 --- a/website/pages/cs/developing/graph-ts/api.mdx +++ b/website/pages/cs/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API Tato stránka dokumentuje, jaké vestavěné API lze použít při psaní mapování podgrafů. Dva druhy API jsou k dispozici hned po vybalení: -- [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) a +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - kód generovaný ze souborů podgrafů pomocí `graph codegen`. Jako závislosti je možné přidat i další knihovny, pokud jsou kompatibilní s [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Vzhledem k tomu, že mapování je psáno v tomto jazyce, je [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) dobrým zdrojem informací o funkcích jazyka a standardních knihoven. @@ -17,7 +17,7 @@ Knihovna `@graphprotocol/graph-ts` poskytuje následující API: - API `ethereum` pro práci s inteligentními kontrakty Ethereum, událostmi, bloky, transakcemi a hodnotami Ethereum. - API `store` pro načítání a ukládání entit z a do úložiště Graf uzel. -- API `log` pro protokolování zpráv na výstupu uzlu Graph a v Průzkumníku grafu. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - API `ipfs` pro načítání souborů ze IPFS. - API `json` pro rozbor dat JSON. - API `crypto` pro použití kryptografických funkcí. @@ -27,18 +27,20 @@ Knihovna `@graphprotocol/graph-ts` poskytuje následující API: `apiVersion` v manifestu podgrafu určuje verzi mapovacího API, kterou pro daný podgraf používá uzel Graf. -| Verze | Poznámky vydání | -| :-: | --- | -| 0.0.7 | Přidání tříd `TransactionReceipt` a `Log` do typů Ethereum\<0/Přidání pole `receipt` do objektu Ethereum událost | -| 0.0.6 | Přidáno pole `nonce` do objektu Ethereum Transaction
    Přidáno `baseFeePerGas` do objektu Ethereum bloku | +| Verze | Poznámky vydání | +| :---: | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Přidá ověření existence polí ve schéma při ukládání entity. | +| 0.0.7 | Přidání tříd `TransactionReceipt` a `Log` do typů Ethereum\<0/Přidání pole `receipt` do objektu Ethereum událost | +| 0.0.6 | Přidáno pole `nonce` do objektu Ethereum Transaction
    Přidáno `baseFeePerGas` do objektu Ethereum bloku | | 0.0.5 | AssemblyScript povýšen na verzi 0.19.10 (obsahuje rozbíjející změny, viz [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` přejmenováno na `ethereum.transaction.gasLimit` | -| 0.0.4 | Přidání pole `functionSignature` do objektu Ethereum SmartContractCall | -| 0.0.3 | Do objektu Ethereum Call přidáno pole `from`
    `etherem.call.address` přejmenováno na `ethereum.call.to` | -| 0.0.2 | Přidání pole `input` do objektu Ethereum Transackce | +| 0.0.4 | Přidání pole `functionSignature` do objektu Ethereum SmartContractCall | +| 0.0.3 | Do objektu Ethereum Call přidáno pole `from`
    `etherem.call.address` přejmenováno na `ethereum.call.to` | +| 0.0.2 | Přidání pole `input` do objektu Ethereum Transackce | ### Vestavěné typy -Dokumentaci k základním typům zabudovaným do jazyka AssemblyScript najdete na [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). Následující doplňkové typy poskytuje `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' \`BigDecimal se používá k reprezentaci libovolně přesných desetinných míst. -> Poznámka: [Interně](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` je uložen ve formátu [IEEE-754 decimal128 s plovoucí desetinnou čárkou](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), který podporuje 34 desetinných číslic significand. Proto je `BigDecimal` nevhodný pro reprezentaci typů s pevnou desetinnou čárkou, které mohou mít větší rozsah než 34 číslic, jako je například Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) nebo ekvivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -95,7 +97,7 @@ _Math_ - `times(y: BigDecimal): BigDecimal` – lze zapsat jako `x * y`. - `div(y: BigDecimal): BigDecimal` – lze zapsat jako`x / y`. - `equals(y: BigDecimal): bool` – lze zapsat jako`x == y`. -- `notEqual(y: BigDecimal): bool` – can be written as `x != y`. +- `notEqual(y: BigDecimal): bool` – lze zapsat jako\`x !=. - `lt(y: BigDecimal): bool` – lze zapsat jako`x < y`. - `le(y: BigDecimal): bool` – lze zapsat jako `x <= y`. - `gt(y: BigDecimal): bool` – lze zapsat jako `x > y`. @@ -143,7 +145,7 @@ _Math_ - `x.notEqual(y: BigInt): bool` –lze zapsat jako `x != y`. - `x.lt(y: BigInt): bool` – lze zapsat jako `x < y`. - `x.le(y: BigInt): bool` – lze zapsat jako `x <= y`. -- `x.gt(y: BigInt): bool` – lze zapsat jako `x > y`. +- `x.gt(y: BigInt): bool` – lze zapsat jako `x > y`. - `x.ge(y: BigInt): bool` – lze zapsat jako `x >= y`. - `x.neg(): BigInt` – lze zapsat jako `-x`. - `x.divDecimal(y: BigDecimal): BigDecimal` – dělí desetinným číslem, čímž získá desetinný výsledek. @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' API `store` umožňuje načítat, ukládat a odebírat entity z a do úložiště Graf uzel. -Entity zapsané do úložiště se mapují jedna ku jedné na typy `@entity` definované ve schématu GraphQL podgrafu. Pro pohodlnou práci s těmito entitami generuje příkaz `graph codegen`, který poskytuje [Graph CLI](https://github.com/graphprotocol/graph-cli), třídy entit, které jsou podtřídami vestavěného typu `Entity`, s gettery a settery vlastností pro pole ve schématu a také s metodami pro načítání a ukládání těchto entit. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Vytváření entity @@ -540,13 +542,38 @@ Více informací: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - Více [složitý příklad](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Logging API ```typescript import { log } from '@graphprotocol/graph-ts' ``` -API `log` umožňuje dílčím grafům zaznamenávat informace do standardního výstupu uzlu Graf uzel a do Průzkumníka grafů. Zprávy lze protokolovat pomocí různých úrovní protokolu. Pro sestavení zpráv protokolu z argumentu je k dispozici základní syntaxe formátovacího řetězce. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. `log` API obsahuje následující funkce: @@ -592,7 +619,7 @@ export function handleSomeEvent(event: SomeEvent): void { #### Protokolování více záznamů z existujícího pole -Each entry in the arguments array requires its own placeholder `{}` in the log message string. The below example contains three placeholders `{}` in the log message. Because of this, all three values in `myArray` are logged. +Každá položka v poli argumentů vyžaduje vlastní zástupný znak `{}` v řetězci zprávy protokolu. Níže uvedený příklad obsahuje tři zástupné zna. Z tohoto důvodu jsou zaznamenány všechny tři hodnoty v poli `myArray`. ```typescript let myArray = ['A', 'B', 'C'] @@ -603,9 +630,9 @@ export function handleSomeEvent(event: SomeEvent): void { } ``` -##### Logging a specific entry from an existing array +##### Protokolování konkrétní položky z existujícího pole -To display a specific value in the array, the indexed value must be provided. +Chcete-li zobrazit konkrétní hodnotu v poli, je třeba zadat indexovanou hodnotu. ```typescript export function handleSomeEvent(event: SomeEvent): void { @@ -734,56 +761,56 @@ Pokud je typ hodnoty jistý, lze ji převést na [vestavěný typ](#built-in-typ ### Převody typů Reference -| Zdroj(e) | Destinace | Funkce převodu | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | - -### Data Source Metadata - -You can inspect the contract address, network and context of the data source that invoked the handler through the `dataSource` namespace: +| Zdroj(e) | Destinace | Funkce převodu | +| ------------------------------------------ | ------------------------------------------ | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimální) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | Řetězec (hexadecimální) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| Řetězec (hexadecimální) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | + +### Metadata zdroje dat + +Adresu smlouvy, síť a kontext zdroje dat, který obslužnou rutinu vyvolal, můžete zkontrolovat prostřednictvím jmenného prostoru `dataSource`: - `dataSource.address(): Address` - `dataSource.network(): string` - `dataSource.context(): DataSourceContext` -### Entity and DataSourceContext +### Entity a DataSourceContext -The base `Entity` class and the child `DataSourceContext` class have helpers to dynamically set and get fields: +Základní třída `Entity` a podřízená třída `DataSourceContext` mají pomocníky pro dynamické nastavování a získávání polí: - `setString(key: string, value: string): void` - `setI32(key: string, value: i32): void` @@ -798,11 +825,11 @@ The base `Entity` class and the child `DataSourceContext` class have helpers to - `getBoolean(key: string): boolean` - `getBigDecimal(key: string): BigDecimal` -### DataSourceContext in Manifest +### DataSourceContext v manifestu -The `context` section within `dataSources` allows you to define key-value pairs that are accessible within your subgraph mappings. The available types are `Bool`, `String`, `Int`, `Int8`, `BigDecimal`, `Bytes`, `List`, and `BigInt`. +Sekce `context` v rámci `dataSources` umožňuje definovat páry klíč-hodnota, které jsou přístupné v rámci mapování podgrafů. Dostupné typy jsou `Bool`, `String`, `Int`, `Int8`, `BigDecimal`, `Bytes`, `List` a `BigInt`. -Here is a YAML example illustrating the usage of various types in the `context` section: +Zde je příklad YAML ilustrující použití různých typů v sekci `context`: ```yaml dataSources: @@ -842,13 +869,13 @@ dataSources: data: '1000000000000000000000000' ``` -- `Bool`: Specifies a Boolean value (`true` or `false`). -- `String`: Specifies a String value. -- `Int`: Specifies a 32-bit integer. -- `Int8`: Specifies an 8-bit integer. -- `BigDecimal`: Specifies a decimal number. Must be quoted. -- `Bytes`: Specifies a hexadecimal string. -- `List`: Specifies a list of items. Each item needs to specify its type and data. -- `BigInt`: Specifies a large integer value. Must be quoted due to its large size. +- `Bool`: Určuje Boolean hodnotu (`true` nebo `false`). +- `String`: Určuje hodnotu řetězce. +- `Int`: Určuje 32bitové celé číslo. +- `Int8`: Určuje 8bitové celé číslo. +- `BigDecimal`: Určuje desetinné číslo. Musí být uvedeno v uvozovkách. +- `Bytes`: Určuje hexadecimální řetězec. +- `Seznam`: Určuje seznam položek. U každé položky je třeba zadat její typ a data. +- `BigInt`: Určuje velkou celočíselnou hodnotu. Kvůli velké velikosti musí být uvedena v uvozovkách. -This context is then accessible in your subgraph mapping files, enabling more dynamic and configurable subgraphs. +Tento kontext je pak přístupný v souborech mapování podgrafů, což umožňuje vytvářet dynamičtější a konfigurovatelnější podgrafy. From b5d5f496c8df1165a0cf6a24fb9035283d9542f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:15 -0400 Subject: [PATCH 1093/2326] New translations api.mdx (German) --- website/pages/de/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/de/developing/graph-ts/api.mdx b/website/pages/de/developing/graph-ts/api.mdx index bfc56dce2aa6..98449251335b 100644 --- a/website/pages/de/developing/graph-ts/api.mdx +++ b/website/pages/de/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API This page documents what built-in APIs can be used when writing subgraph mappings. Two kinds of APIs are available out of the box: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Version | Release notes | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| Version | Release notes | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Built-in Types -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Creating entities @@ -540,13 +542,38 @@ For more information: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Logging API ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### Type Conversions Reference -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Data Source Metadata From 7eecc7b6e7216183e73482957d355813e961e727 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:17 -0400 Subject: [PATCH 1094/2326] New translations api.mdx (Italian) --- website/pages/it/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/it/developing/graph-ts/api.mdx b/website/pages/it/developing/graph-ts/api.mdx index c685cbab4370..5b1747a93eab 100644 --- a/website/pages/it/developing/graph-ts/api.mdx +++ b/website/pages/it/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: API AssemblyScript Questa pagina documenta quali API integrate possono essere utilizzate per scrivere mappature di subgraph. Sono disponibili due tipi di API: -- la [libreria Graph TypeScript](https://github.com/graphprotocol/graph-ts) (`graph-ts`) e +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - codice generato da file di subgraph da `graph codegen`. È anche possibile aggiungere altre librerie come dipendenze, purché siano compatibili con [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Poiché questo è il linguaggio in cui sono scritte le mappature, il wiki [AssemblyScript](https://github.com/AssemblyScript/assemblyscript/wiki) è una buona fonte per le caratteristiche del linguaggio e delle librerie standard. @@ -17,7 +17,7 @@ La libreria `@graphprotocol/graph-ts` fornisce le seguenti API: - Un'API `ethereum` per lavorare con gli smart contract di Ethereum, gli eventi, i blocchi, le transazioni e i valori di Ethereum. - Un'API `store` per caricare e salvare entità da e verso il Graph Node store. -- Un'API `log` per registrare i messaggi nell'output del the Graph Node e in Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - Un'API `ipfs` per caricare i file da IPFS. - Un'API `json` per analizzare i dati JSON. - Un'API `crypto` per utilizzare le funzioni crittografiche. @@ -27,18 +27,20 @@ La libreria `@graphprotocol/graph-ts` fornisce le seguenti API: La `apiVersion` nel manifest del subgraph specifica la versione dell'API di mappatura che viene eseguita da the Graph Node per un dato subgraph. -| Versione | Note di rilascio | -| :-: | --- | -| 0.0.7 | Aggiunte le classi `TransactionReceipt` e `Log` ai tipi di Ethereum
    Aggiunto il campo `receipt` all'oggetto Ethereum Event | -| 0.0.6 | Aggiunto il campo `nonce` all'oggetto Ethereum Transaction
    Aggiunto `baseFeePerGas` all'oggetto Ethereum Block | -| 0.0.5 | AssemblyScript aggiornato alla versione 0.19.10 (questo include modifiche di rottura, consultare la [`Guida alla migrazione`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` rinominato in `ethereum.transaction.gasLimit` | -| 0.0.4 | Aggiunto il campo `functionSignature` all'oggetto Ethereum SmartContractCall | -| 0.0.3 | Aggiunto il campo `from` all'oggetto Ethereum Call
    `etherem.call.address` rinominato in `ethereum.call.to` | -| 0.0.2 | Aggiunto il campo `input` all'oggetto Ethereum Transaction | +| Versione | Note di rilascio | +| :------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Aggiunte le classi `TransactionReceipt` e `Log` ai tipi di Ethereum
    Aggiunto il campo `receipt` all'oggetto Ethereum Event | +| 0.0.6 | Aggiunto il campo `nonce` all'oggetto Ethereum Transaction
    Aggiunto `baseFeePerGas` all'oggetto Ethereum Block | +| 0.0.5 | AssemblyScript aggiornato alla versione 0.19.10 (questo include modifiche di rottura, consultare la [`Guida alla migrazione`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` rinominato in `ethereum.transaction.gasLimit` | +| 0.0.4 | Aggiunto il campo `functionSignature` all'oggetto Ethereum SmartContractCall | +| 0.0.3 | Aggiunto il campo `from` all'oggetto Ethereum Call
    `etherem.call.address` rinominato in `ethereum.call.to` | +| 0.0.2 | Aggiunto il campo `input` all'oggetto Ethereum Transaction | ### Tipi integrati -La documentazione sui tipi di base integrati in AssemblyScript è disponibile nel [wiki AssemblyScript] (https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). I seguenti tipi aggiuntivi sono forniti da `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` è usato per rappresentare decimali di precisione arbitraria. -> Nota: [Internamente](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` è memorizzato nel formato [IEEE-754 decimal128 floating-point](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), che supporta 34 cifre decimali di significante. Questo rende `BigDecimal` inadatto a rappresentare tipi a virgola fissa che possono estendersi oltre le 34 cifre, come un Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) o equivalente. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' L'API `store` consente di caricare, salvare e rimuovere entità da e verso il Graph Node store. -Le entità scritte nello store corrispondono uno a uno ai tipi `@entity` definiti nello schema GraphQL del subgraph. Per rendere comodo il lavoro con queste entità, il comando `graph codegen` fornito dalla [Graph CLI](https://github.com/graphprotocol/graph-cli) genera classi di entità, che sono subclassi del tipo built-in `Entity`, con getter e setter di proprietà per i campi dello schema e metodi per caricare e salvare queste entità. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Creazione di entità @@ -540,13 +542,38 @@ Per maggiori informazioni: - Codifica/decodifica [libreria Rust/CLI](https://github.com/rust-ethereum/ethabi) - Altro [esempio complesso](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### API di registrazione ```typescript import { log } from '@graphprotocol/graph-ts' ``` -L'API `log` consente ai subgraph di registrare informazioni nell'output standard del Graph Node e nel Graph Explorer. I messaggi possono essere registrati utilizzando diversi livelli di log. Viene fornita una sintassi di base per comporre i messaggi di log a partire da un argomento. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. L'API `log` include le seguenti funzioni: @@ -734,44 +761,44 @@ Quando il tipo di un valore è certo, può essere convertito in un [tipo incorpo ### Riferimento alle conversioni di tipo -| Fonte(i) | Destinazione | Funzione di conversione | -| -------------------- | -------------------- | --------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() o s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() o s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Fonte(i) | Destinazione | Funzione di conversione | +| --------------------------------------- | --------------------------------------- | ----------------------------------------------------------------- | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() o s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() o s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Metadati della Data Source From 51e3cdfe1a57cdcb318f80a6197b6d05ac58410e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:18 -0400 Subject: [PATCH 1095/2326] New translations api.mdx (Japanese) --- website/pages/ja/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/ja/developing/graph-ts/api.mdx b/website/pages/ja/developing/graph-ts/api.mdx index 4a702fedf0d4..e088e1ba6dfd 100644 --- a/website/pages/ja/developing/graph-ts/api.mdx +++ b/website/pages/ja/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API このページでは、サブグラフのマッピングを記述する際に、どのような組み込み API を使用できるかを説明します。 すぐに使える API は 2 種類あります: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - graph codegenによってサブグラフファイルから生成されたコードです。 また、AssemblyScriptとの互換性があれば、他のライブラリを依存関係に追加することも可能です。 マッピングはこの言語で書かれているので、言語や標準ライブラリの機能については、 AssemblyScript wikiが参考になります。 @@ -17,7 +17,7 @@ title: AssemblyScript API - Ethereum スマートコントラクト、イベント、ブロック、トランザクション、Ethereum の値を扱うためのethereumAPI - エンティティをグラフノードのストアからロードしたり、ストアに保存したりするstoreAPI -- Graph Node の出力や Graph Explorer にメッセージを記録するためのlogAPI です +- A `log` API to log messages to the Graph Node output and Graph Explorer. - IPFS からファイルをロードするipfsAPI - JSON データを解析するためのjsonAPI - 暗号機能を使用するためのcryptoAPI @@ -27,18 +27,20 @@ title: AssemblyScript API サブグラフマニフェストapiVersionは、特定のサブグラフのマッピングAPIバージョンを指定します。このバージョンは、Graph Nodeによって実行されます。 -| バージョン | リリースノート | -| :-: | --- | -| 0.0.7 | Ethereum タイプに `TransactionReceipt` と `Log` クラスを追加
    Ethereum Event オブジェクトに `receipt` フィールドを追加。 | -| 0.0.6 | Ethereum Transactionオブジェクトに`nonce`フィールドを追加
    Ethereum Blockオブジェクトに`baseFeePerGas`を追加。 | +| バージョン | リリースノート | +| :---: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Ethereum タイプに `TransactionReceipt` と `Log` クラスを追加
    Ethereum Event オブジェクトに `receipt` フィールドを追加。 | +| 0.0.6 | Ethereum Transactionオブジェクトに`nonce`フィールドを追加
    Ethereum Blockオブジェクトに`baseFeePerGas`を追加。 | | 0.0.5 | AssemblyScriptはバージョン0.19.10にアップグレードされました(このバージョンアップには変更点が含まれていますので Migration Guide) をご覧ください)。
    ethereum.transaction.gasUsedの名前がethereum.transaction.gasLimitに変更 | -| 0.0.4 | Ethereum SmartContractCall オブジェクトにfunctionSignatureフィールドを追加 | -| 0.0.3 | イーサリアムコールオブジェクトに`from`フィールドを追加
    `etherem.call.address`を`ethereum.call.to`に変更。 | -| 0.0.2 | Ethereum Transaction オブジェクトに inputフィールドを追加 | +| 0.0.4 | Ethereum SmartContractCall オブジェクトにfunctionSignatureフィールドを追加 | +| 0.0.3 | イーサリアムコールオブジェクトに`from`フィールドを追加
    `etherem.call.address`を`ethereum.call.to`に変更。 | +| 0.0.2 | Ethereum Transaction オブジェクトに inputフィールドを追加 | ### 組み込み型 -AssemblyScriptに組み込まれている基本型に関するドキュメントは[AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types)にあります。 +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). 以下の追加型は@graphprotocol/graph-tsで提供されています。 @@ -77,7 +79,7 @@ _Operators_ BigDecimalは、任意の精度の小数を表現するために使用されます。 -> 注意: [内部的に](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` は [IEEE-754 decimal128 浮動小数点フォーマット](https://en.wikipedia.org/wiki/Decimal128_floating-point_format) で格納されます。このフォーマットはシグニフィカンドの小数点以下 34 桁をサポートしています。このため、 `BigDecimal` は、Solidity の [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) やそれに相当するような、34 桁よりも広い桁数の固定小数点型を表現するのには適していません。 +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ Bytesの API の上に以下のメソッドを追加しています。 Store API は、グラフノードのストアにエンティティを読み込んだり、保存したり、削除したりすることができます。 -Storeに書き込まれたエンティティは、サブグラフのGraphQLスキーマで定義された `@entity` 型に一対一でマッピングされます。これらのエンティティを便利に扱うために、[Graph CLI](https://github.com/graphprotocol/graph-cli) が提供する `graph codegen` コマンドはエンティティクラスを生成します。これは組み込みの `Entity` 型のサブクラスで、スキーマのフィールドのプロパティゲッターとセッター、およびこれらのエンティティをロードしたり保存したりするメソッドを持ちます。 +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### エンティティの作成 @@ -277,7 +279,7 @@ graph-node v0.31.0、@graphprotocol/graph-ts v0.30.0、および @graphprotocol/ ストア API を使用すると、現在のブロックで作成または更新されたエンティティの取得が容易になります。この一般的な状況は、あるハンドラーがオンチェーン イベントからトランザクションを作成し、後のハンドラーがこのトランザクションが存在する場合にアクセスしようとすることです。トランザクションが存在しない場合、サブグラフはエンティティが存在しないことを確認するためだけにデータベースにアクセスする必要があります。エンティティが同じブロック内に作成されている必要があることをサブグラフの作成者がすでに知っている場合は、loadInBlock を使用すると、このデータベースのラウンドトリップが回避されます。一部のサブグラフでは、これらのルックアップの欠落がインデックス作成時間に大きく影響する可能性があります。 ```typescript -let id = event.transaction.hash // または ID が構築される方法 +let id =event.transaction.hash // または ID が構築される方法 let transfer = Transfer.loadInBlock(id) if (transfer == null) { transfer = 新しい転送(id) @@ -540,13 +542,38 @@ let decoded = ethereum.decode('(address,uint256)', encoded) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Logging API ```typescript '@graphprotocol/graph-ts'から{ log } をインポートします。 ``` -log API は、サブグラフがグラフノードの標準出力やグラフエクスプローラに情報を記録するためのものです。 メッセージは、異なるログレベルを使って記録することができます。 基本的なフォーマット文字列の構文が提供されており、引数からログメッセージを構成することができます。 +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. log API には以下の機能があります: @@ -734,44 +761,44 @@ if (value.kind == JSONValueKind.BOOL) { ### タイプ 変換参照 -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | Bigint.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromString(s) | -| String | BigInt | BigDecimal.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | Bigint.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromString(s) | +| String | BigInt | BigDecimal.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### データソースのメタデータ From 6d2e017c0fbfa37c2e0974e45210f265a06d9d53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:19 -0400 Subject: [PATCH 1096/2326] New translations api.mdx (Korean) --- website/pages/ko/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/ko/developing/graph-ts/api.mdx b/website/pages/ko/developing/graph-ts/api.mdx index 9fc543d4ab6b..bb8117478269 100644 --- a/website/pages/ko/developing/graph-ts/api.mdx +++ b/website/pages/ko/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API This page documents what built-in APIs can be used when writing subgraph mappings. Two kinds of APIs are available out of the box: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Version | Release notes | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| Version | Release notes | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Built-in Types -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Creating entities @@ -540,13 +542,38 @@ For more information: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Logging API ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### Type Conversions Reference -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Data Source Metadata From a32d064be3efe95f6fa916da0234ea08ec6bbb43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:20 -0400 Subject: [PATCH 1097/2326] New translations api.mdx (Dutch) --- website/pages/nl/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/nl/developing/graph-ts/api.mdx b/website/pages/nl/developing/graph-ts/api.mdx index 9fc543d4ab6b..bb8117478269 100644 --- a/website/pages/nl/developing/graph-ts/api.mdx +++ b/website/pages/nl/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API This page documents what built-in APIs can be used when writing subgraph mappings. Two kinds of APIs are available out of the box: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Version | Release notes | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| Version | Release notes | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Built-in Types -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Creating entities @@ -540,13 +542,38 @@ For more information: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Logging API ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### Type Conversions Reference -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Data Source Metadata From 5faeae08d0bce9170f051c5b3c0b5fa6ec22c3d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:21 -0400 Subject: [PATCH 1098/2326] New translations api.mdx (Polish) --- website/pages/pl/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/pl/developing/graph-ts/api.mdx b/website/pages/pl/developing/graph-ts/api.mdx index 9fc543d4ab6b..bb8117478269 100644 --- a/website/pages/pl/developing/graph-ts/api.mdx +++ b/website/pages/pl/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API This page documents what built-in APIs can be used when writing subgraph mappings. Two kinds of APIs are available out of the box: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Version | Release notes | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| Version | Release notes | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Built-in Types -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Creating entities @@ -540,13 +542,38 @@ For more information: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Logging API ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### Type Conversions Reference -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Data Source Metadata From 15595e4c1040b70db542c1bc50b9cfaacf03e823 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:22 -0400 Subject: [PATCH 1099/2326] New translations api.mdx (Portuguese) --- website/pages/pt/developing/graph-ts/api.mdx | 134 +++++++++++-------- 1 file changed, 81 insertions(+), 53 deletions(-) diff --git a/website/pages/pt/developing/graph-ts/api.mdx b/website/pages/pt/developing/graph-ts/api.mdx index f38455660f1a..8f13dfebc69b 100644 --- a/website/pages/pt/developing/graph-ts/api.mdx +++ b/website/pages/pt/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: API AssemblyScript Esta página documenta quais APIs embutidas podem ser usadas ao escrever mapeamentos de subgraph. Há dois tipos de API disponíveis do início: -- a [biblioteca do Graph TypeScript](https://github.com/graphprotocol/graph-ts) (`graph-ts`) e +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - códigos gerados a partir dos arquivos do subgraph por `graph codegen`. Também é possível adicionar outras bibliotecas como dependências, desde que sejam compatíveis com o [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Como esta é a linguagem na qual são escritos os mapeamentos, a [wiki do AssemblyScript](https://github.com/AssemblyScript/assemblyscript/wiki) é uma boa referência para a linguagem e as características comuns das bibliotecas. @@ -17,7 +17,7 @@ A biblioteca `@graphprotocol/graph-ts` fornece as seguintes APIs: - Uma API `ethereum` para trabalhar com contratos inteligentes, eventos, blocos, transações, e valores no Ethereum. - Uma API `store` para carregar e guardar entidades dentro e fora do armazenamento do Graph Node. -- Uma API `log` para gravar mensagens ao resultado do Graph Node e ao Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - Uma API `ipfs` para carregar arquivos do IPFS. - Uma API `json` para analisar dados em JSON. - Uma API `crypto` para usar funções criptográficas. @@ -27,18 +27,20 @@ A biblioteca `@graphprotocol/graph-ts` fornece as seguintes APIs: No manifest do subgraph, `apiVersion` especifica a versão da API de mapeamento, executada pelo Graph Node para um subgraph. -| Versão | Notas de atualização | -| :-: | --- | -| 0.0.7 | Classes `TransactionReceipt` e `Log` adicionadas aos tipos do EthereumCampo
    Campo `receipt` adicionado ao objeto Ethereum Event | -| 0.0.6 | Campo `nonce` adicionado ao objeto Ethereum TransactionCampo
    `baseFeePerGas` adicionado ao objeto Ethereum Block | -| 0.0.5 | AssemblyScript atualizado à versão 0.19.10 (inclui mudanças recentes, favor ler o [`Guia de Migração`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renomeado para `ethereum.transaction.gasLimit` | -| 0.0.4 | Campo `functionSignature` adicionado ao objeto Ethereum SmartContractCall | -| 0.0.3 | Campo `from` adicionado ao objeto Ethereum
    `Calletherem.call.address` renomeado para `ethereum.call.to` | -| 0.0.2 | Campo `input` adicionado ao objeto Ethereum Transaction | +| Versão | Notas de atualização | +| :----: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Classes `TransactionReceipt` e `Log` adicionadas aos tipos do EthereumCampo
    Campo `receipt` adicionado ao objeto Ethereum Event | +| 0.0.6 | Campo `nonce` adicionado ao objeto Ethereum TransactionCampo
    `baseFeePerGas` adicionado ao objeto Ethereum Block | +| 0.0.5 | AssemblyScript atualizado à versão 0.19.10 (inclui mudanças recentes, favor ler o [`Guia de Migração`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renomeado para `ethereum.transaction.gasLimit` | +| 0.0.4 | Campo `functionSignature` adicionado ao objeto Ethereum SmartContractCall | +| 0.0.3 | Campo `from` adicionado ao objeto Ethereum
    `Calletherem.call.address` renomeado para `ethereum.call.to` | +| 0.0.2 | Campo `input` adicionado ao objeto Ethereum Transaction | ### Tipos Embutidos -A documentação sobre os tipos de base embutidos no AssemblyScript está na [wiki do AssemblyScript](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). Os seguintes tipos adicionais são fornecidos pelo `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' O `BigDecimal` é usado para representar decimais de precisão arbitrária. -> Nota: [Internalmente](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs), o `BigDecimal` é armazenado no [formato de ponto flutuante IEEE-754 decimal128](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), que apoia 34 dígitos decimais de significando. Portanto, o `BigDecimal` não serve para representar tipos de ponto fixo que possam exceder 34 dígitos, como um (ufixed256x18)[https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers] em Solidity ou equivalente. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construção_ @@ -162,7 +164,8 @@ _Matemática_ import { TypedMap } from '@graphprotocol/graph-ts' ``` -O `TypedMap` pode servir para armazenar pares de chave e valor (key e value ). Confira [este exemplo](https://github.com/graphprotocol/aragon-subgraph/blob/29dd38680c5e5104d9fdc2f90e740298c67e4a31/individual-dao-subgraph/mappings/constants.ts#L51). +O `TypedMap` pode servir para armazenar pares de chave e valor (key e value +). Confira [este exemplo](https://github.com/graphprotocol/aragon-subgraph/blob/29dd38680c5e5104d9fdc2f90e740298c67e4a31/individual-dao-subgraph/mappings/constants.ts#L51). A classe `TypedMap` tem a seguinte API: @@ -219,7 +222,7 @@ import { store } from '@graphprotocol/graph-ts' A API `store` permite carregar, salvar e remover entidades do/para o armazenamento do Graph Node. -As entidades escritas no armazenamento mapeam um-por-um com os tipos de `@entity` definidos no schema GraphQL do subgraph. Para trabalhar com estas entidades de forma conveniente, o comando `graph codegen` fornecido pelo [Graph CLI](https://github.com/graphprotocol/graph-cli) gera classes de entidades, que são subclasses do tipo embutido `Entity`, com getters e setters para os campos no schema e métodos para carregar e salvar estas entidades. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Como criar entidades @@ -540,13 +543,38 @@ Para mais informações: - Codificação e decodificação da [biblioteca/CLI do Rust](https://github.com/rust-ethereum/ethabi) - Um [exemplo mais complexo](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### API de Logging ```typescript import { log } from '@graphprotocol/graph-ts' ``` -A API `log` permite que os subgraphs gravem informações à saída padrão do Graph Node, assim como ao Graph Explorer. Mensagens podem ser gravadas com níveis diferentes de log. É fornecida uma sintaxe básica de formatação de strings para compor mensagens de log do argumento. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. A API `log` inclui as seguintes funções: @@ -734,44 +762,44 @@ Quando o tipo de um valor é confirmado, ele pode ser convertido num [tipo embut ### Referência de Conversões de Tipos -| Fonte(s) | Destino | Função de conversão | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | nenhum | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() ou s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | nenhum | -| Bytes (assinado) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (não assinado) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() ou s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | nenhum | -| int32 | i32 | nenhum | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | nenhum | -| int64 - int256 | BigInt | nenhum | -| uint32 - uint256 | BigInt | nenhum | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Fonte(s) | Destino | Função de conversão | +| ------------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | nenhum | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() ou s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | nenhum | +| Bytes (assinado) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (não assinado) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() ou s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | nenhum | +| int32 | i32 | nenhum | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | nenhum | +| int64 - int256 | BigInt | nenhum | +| uint32 - uint256 | BigInt | nenhum | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Metadados de Fontes de Dados From 556b50a37ecb4cc5cec6853c51bc6d933f2051d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:23 -0400 Subject: [PATCH 1100/2326] New translations api.mdx (Russian) --- website/pages/ru/developing/graph-ts/api.mdx | 141 +++++++++++-------- 1 file changed, 85 insertions(+), 56 deletions(-) diff --git a/website/pages/ru/developing/graph-ts/api.mdx b/website/pages/ru/developing/graph-ts/api.mdx index bcd8b829a24b..b2269bc5c155 100644 --- a/website/pages/ru/developing/graph-ts/api.mdx +++ b/website/pages/ru/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API На этой странице описаны встроенные API, которые можно использовать при написании мэппингов субграфов. По умолчанию доступны два вида API: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Версия | Примечания к релизу | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| Версия | Примечания к релизу | +| :----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Встроенные типы -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Создание объектов @@ -229,7 +231,7 @@ Entities written to the store map one-to-one to the `@entity` types defined in t // Импорт класса событий Transfer, сгенерированного из ERC20 ABI import { Transfer as TransferEvent } from '../generated/ERC20/ERC20' -// Импорт типа объекта Transfer, сгенерированного из схемы GraphQL +// Импорт типа объекта Transfer, сгенерированного из схемы GraphQL import { Transfer } from '../generated/schema' событие // Обработчик события передачи @@ -263,6 +265,7 @@ if (transfer == null) { transfer = new Transfer(id) } + // Используйте объект Transfer, как и раньше ``` @@ -283,6 +286,7 @@ if (transfer == null) { transfer = new Transfer(id) } + // Используйте объект Transfer, как и раньше ``` @@ -540,13 +544,38 @@ let decoded = ethereum.decode('(address,uint256)', encoded) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Регистрация API ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -659,8 +688,8 @@ It is also possible to process larger files in a streaming fashion with `ipfs.ma import { JSONValue, Value } from '@graphprotocol/graph-ts' export function processItem(value: JSONValue, userData: Value): void { - // Смотрите документацию по JsonValue для получения подробной информации о работе - // со значениями JSON +// Смотрите документацию по JsonValue для получения подробной информации о работе +// со значениями JSON let obj = value.toObject() let id = obj.get('id') let title = obj.get('title') @@ -669,7 +698,7 @@ export function processItem(value: JSONValue, userData: Value): void { return } - // Обратные вызовы также могут создавать объекты +// Обратные вызовы также могут создавать объекты let newItem = new Item(id) newItem.title = title.toString() newitem.parent = userData.toString() // Установите для родителя значение "parentId" @@ -734,44 +763,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### Справка по преобразованию типов -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ----------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() или s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() или s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------- | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() или s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() или s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Метаданные источника данных From 1eba9879641d6cce29584ccbce9c25070edd3900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:24 -0400 Subject: [PATCH 1101/2326] New translations api.mdx (Swedish) --- website/pages/sv/developing/graph-ts/api.mdx | 275 +++++++++++-------- 1 file changed, 156 insertions(+), 119 deletions(-) diff --git a/website/pages/sv/developing/graph-ts/api.mdx b/website/pages/sv/developing/graph-ts/api.mdx index 800841c7bc18..736b3857ade6 100644 --- a/website/pages/sv/developing/graph-ts/api.mdx +++ b/website/pages/sv/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: API för AssemblyScript Denna sida dokumenterar vilka inbyggda API: er som kan användas när man skriver mappningar av undergrafer. Två typer av API: er är tillgängliga från start: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Version | Versionsanteckningar | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| Version | Versionsanteckningar | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Inbyggda typer -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -159,7 +161,7 @@ _Math_ #### TypedMap ```typescript -import { TypedMap } from '@graphprotocol/graph-ts' +import { TypedMap } from "@graphprotocol/graph-ts"; ``` `TypedMap` can be used to store key-value pairs. See [this example](https://github.com/graphprotocol/aragon-subgraph/blob/29dd38680c5e5104d9fdc2f90e740298c67e4a31/individual-dao-subgraph/mappings/constants.ts#L51). @@ -175,7 +177,7 @@ The `TypedMap` class has the following API: #### Bytes ```typescript -import { Bytes } from '@graphprotocol/graph-ts' +import { Bytes } from "@graphprotocol/graph-ts"; ``` `Bytes` is used to represent arbitrary-length arrays of bytes. This includes Ethereum values of type `bytes`, `bytes32`, etc. @@ -201,7 +203,7 @@ _Operators_ #### Address ```typescript -import { Address } from '@graphprotocol/graph-ts' +import { Address } from "@graphprotocol/graph-ts"; ``` `Address` extends `Bytes` to represent Ethereum `address` values. @@ -214,12 +216,12 @@ It adds the following method on top of the `Bytes` API: ### Store API ```typescript -import { store } from '@graphprotocol/graph-ts' +import { store } from "@graphprotocol/graph-ts"; ``` The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Skapa entiteter @@ -227,24 +229,24 @@ Följande är ett vanligt mönster för att skapa entiteter från Ethereum-händ ```typescript // Importera händelseklassen Transfer som genererats från ERC20 ABI -import { Transfer as TransferEvent } from '../generated/ERC20/ERC20' +import { Transfer as TransferEvent } from "../generated/ERC20/ERC20"; // Importera entitetstypen Transfer som genererats från GraphQL-schemat -import { Transfer } from '../generated/schema' +import { Transfer } from "../generated/schema"; // Händelsehanterare för överföring export function handleTransfer(event: TransferEvent): void { // Skapa en Transfer-entitet, med transaktionshash som enhets-ID - let id = event.transaction.hash - let transfer = new Transfer(id) + let id = event.transaction.hash; + let transfer = new Transfer(id); // Ange egenskaper för entiteten med hjälp av händelseparametrarna - transfer.from = event.params.from - transfer.to = event.params.to - transfer.amount = event.params.amount + transfer.from = event.params.from; + transfer.to = event.params.to; + transfer.amount = event.params.amount; // Spara entiteten till lagret - transfer.save() + transfer.save(); } ``` @@ -257,10 +259,10 @@ Varje entitet måste ha en unik ID för att undvika kollisioner med andra entite Om en entitet redan finns kan den laddas från lagret med följande: ```typescript -let id = event.transaction.hash // eller hur ID konstrueras -let transfer = Transfer.load(id) +let id = event.transaction.hash; // eller hur ID konstrueras +let transfer = Transfer.load(id); if (transfer == null) { - transfer = new Transfer(id) + transfer = new Transfer(id); } // Använd överföringsenheten som tidigare @@ -277,10 +279,10 @@ As of `graph-node` v0.31.0, `@graphprotocol/graph-ts` v0.30.0 and `@graphprotoco API:et för lagret underlättar hämtningen av entiteter som skapades eller uppdaterades i det aktuella blocket. En vanlig situation för detta är att en hanterare skapar en transaktion från någon händelse på kedjan, och en senare hanterare vill komma åt denna transaktion om den finns. I det fall då transaktionen inte finns, måste subgraphen gå till databasen bara för att ta reda på att entiteten inte finns; om subgraphförfattaren redan vet att entiteten måste ha skapats i samma block, undviker man detta databasbesök genom att använda loadInBlock. För vissa subgrapher kan dessa missade sökningar bidra avsevärt till indexeringstiden. ```typescript -let id = event.transaction.hash // eller hur ID konstrueras -let transfer = Transfer.loadInBlock(id) +let id = event.transaction.hash; // eller hur ID konstrueras +let transfer = Transfer.loadInBlock(id); if (transfer == null) { - transfer = new Transfer(id) + transfer = new Transfer(id); } // Använd överföringsenheten som tidigare @@ -334,7 +336,7 @@ transfer.amount = ... Det är också möjligt att avaktivera egenskaper med en av följande två instruktioner: ```typescript -transfer.from.unset() +transfer.from.unset(); transfer.from = null ``` @@ -344,14 +346,14 @@ Updating array properties is a little more involved, as the getting an array fro ```typescript // Detta kommer inte att fungera -entity.numbers.push(BigInt.fromI32(1)) -entity.save() +entity.numbers.push(BigInt.fromI32(1)); +entity.save(); // Detta kommer att fungera -let numbers = entity.numbers -numbers.push(BigInt.fromI32(1)) -entity.numbers = numbers -entity.save() +let numbers = entity.numbers; +numbers.push(BigInt.fromI32(1)); +entity.numbers = numbers; +entity.save(); ``` #### Ta bort entiteter från lagret @@ -389,12 +391,12 @@ type Transfer @entity { and a `Transfer(address,address,uint256)` event signature on Ethereum, the `from`, `to` and `amount` values of type `address`, `address` and `uint256` are converted to `Address` and `BigInt`, allowing them to be passed on to the `Bytes!` and `BigInt!` properties of the `Transfer` entity: ```typescript -let id = event.transaction.hash -let transfer = new Transfer(id) -transfer.from = event.params.from -transfer.to = event.params.to -transfer.amount = event.params.amount -transfer.save() +let id = event.transaction.hash; +let transfer = new Transfer(id); +transfer.from = event.params.from; +transfer.to = event.params.to; +transfer.amount = event.params.amount; +transfer.save(); ``` #### Händelser och Block/Transaktionsdata @@ -480,16 +482,19 @@ En vanlig mönster är att komma åt kontraktet från vilket en händelse härst ```typescript // Importera den genererade kontraktsklassen och den genererade klassen för överföringshändelser -import { ERC20Contract, Transfer as TransferEvent } from '../generated/ERC20Contract/ERC20Contract' +import { + ERC20Contract, + Transfer as TransferEvent, +} from "../generated/ERC20Contract/ERC20Contract"; // Importera den genererade entitetsklassen -import { Transfer } from '../generated/schema' +import { Transfer } from "../generated/schema"; export function handleTransfer(event: TransferEvent) { // Bind kontraktet till den adress som skickade händelsen - let contract = ERC20Contract.bind(event.address) + let contract = ERC20Contract.bind(event.address); // Åtkomst till tillståndsvariabler och funktioner genom att anropa dem - let erc20Symbol = contract.symbol() + let erc20Symbol = contract.symbol(); } ``` @@ -504,12 +509,12 @@ Andra kontrakt som är en del av subgraphen kan importeras från den genererade If the read-only methods of your contract may revert, then you should handle that by calling the generated contract method prefixed with `try_`. For example, the Gravity contract exposes the `gravatarToOwner` method. This code would be able to handle a revert in that method: ```typescript -let gravitera = gravitera.bind(event.address) -let callResult = gravitera_gravatarToOwner(gravatar) +let gravitera = gravitera.bind(event.address); +let callResult = gravitera_gravatarToOwner(gravatar); if (callResult.reverted) { - log.info('getGravatar reverted', []) + log.info("getGravatar reverted", []); } else { - let owner = callResult.value + let owner = callResult.value; } ``` @@ -540,13 +545,38 @@ För ytterligare information: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### API för loggning ```typescript -import { log } from '@graphprotocol/graph-ts' +import { log } from "@graphprotocol/graph-ts"; ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -559,7 +589,11 @@ The `log` API includes the following functions: The `log` API takes a format string and an array of string values. It then replaces placeholders with the string values from the array. The first `{}` placeholder gets replaced by the first value in the array, the second `{}` placeholder gets replaced by the second value and so on. ```typescript -log.info('Message to be displayed: {}, {}, {}', [value.toString(), anotherValue.toString(), 'already a string']) +log.info("Message to be displayed: {}, {}, {}", [ + value.toString(), + anotherValue.toString(), + "already a string", +]); ``` #### Loggning av ett eller flera värden @@ -582,11 +616,11 @@ export function handleSomeEvent(event: SomeEvent): void { I exemplet nedan loggas endast det första värdet i argument arrayen, trots att arrayen innehåller tre värden. ```typescript -let myArray = ['A', 'B', 'C'] +let myArray = ["A", "B", "C"]; export function handleSomeEvent(event: SomeEvent): void { // Visar : "Mitt värde är: A" (Även om tre värden skickas till `log.info`) - log.info('Mitt värde är: {}', myArray) + log.info("Mitt värde är: {}", myArray); } ``` @@ -595,11 +629,14 @@ export function handleSomeEvent(event: SomeEvent): void { Each entry in the arguments array requires its own placeholder `{}` in the log message string. The below example contains three placeholders `{}` in the log message. Because of this, all three values in `myArray` are logged. ```typescript -let myArray = ['A', 'B', 'C'] +let myArray = ["A", "B", "C"]; export function handleSomeEvent(event: SomeEvent): void { // Visar: "Mitt första värde är: A, andra värdet är: B, tredje värdet är: C" - log.info('My first value is: {}, second value is: {}, third value is: {}', myArray) + log.info( + "My first value is: {}, second value is: {}, third value is: {}", + myArray + ); } ``` @@ -610,7 +647,7 @@ För att visa ett specifikt värde i arrayen måste det indexeras och tillhandah ```typescript export function handleSomeEvent(event: SomeEvent): void { // Visar : "Mitt tredje värde är C" - log.info('My third value is: {}', [myArray[2]]) + log.info("My third value is: {}", [myArray[2]]); } ``` @@ -619,21 +656,21 @@ export function handleSomeEvent(event: SomeEvent): void { I exemplet nedan loggas blocknummer, blockhash och transaktionshash från en händelse: ```typescript -import { log } from '@graphprotocol/graph-ts' +import { log } from "@graphprotocol/graph-ts"; export function handleSomeEvent(event: SomeEvent): void { - log.debug('Block number: {}, block hash: {}, transaction hash: {}', [ + log.debug("Block number: {}, block hash: {}, transaction hash: {}", [ event.block.number.toString(), // "47596000" event.block.hash.toHexString(), // "0x..." event.transaction.hash.toHexString(), // "0x..." - ]) + ]); } ``` ### IPFS API ```typescript -import { ipfs } from '@graphprotocol/graph-ts' +import { ipfs } from "@graphprotocol/graph-ts" ``` Smart contracts occasionally anchor IPFS files on chain. This allows mappings to obtain the IPFS hashes from the contract and read the corresponding files from IPFS. The file data will be returned as `Bytes`, which usually requires further processing, e.g. with the `json` API documented later on this page. @@ -642,13 +679,13 @@ För att läsa en fil från IPFS med en given IPFS-hash eller sökväg görs fö ```typescript // Placera detta i en händelsehanterare i mappningen -let hash = 'QmTkzDwWqPbnAh5YiV5VwcTLnGdwSNsNTn2aDxdXBFca7D' -let data = ipfs.cat(hash) +let hash = "QmTkzDwWqPbnAh5YiV5VwcTLnGdwSNsNTn2aDxdXBFca7D"; +let data = ipfs.cat(hash); // Sökvägar som `QmTkzDwWqPbnAh5YiV5VwcTLnGdwSNsNTn2aDxdXBFca7D/Makefile` // som inkluderar filer i kataloger stöds också -let path = 'QmTkzDwWqPbnAh5YiV5VwcTLnGdwSNsNTn2aDxdXBFca7D/Makefile' -let data = ipfs.cat(path) +let path = "QmTkzDwWqPbnAh5YiV5VwcTLnGdwSNsNTn2aDxdXBFca7D/Makefile"; +let data = ipfs.cat(path); ``` **Note:** `ipfs.cat` is not deterministic at the moment. If the file cannot be retrieved over the IPFS network before the request times out, it will return `null`. Due to this, it's always worth checking the result for `null`. @@ -656,31 +693,31 @@ let data = ipfs.cat(path) It is also possible to process larger files in a streaming fashion with `ipfs.map`. The function expects the hash or path for an IPFS file, the name of a callback, and flags to modify its behavior: ```typescript -import { JSONValue, Value } from '@graphprotocol/graph-ts' +import { JSONValue, Value } from "@graphprotocol/graph-ts"; export function processItem(value: JSONValue, userData: Value): void { // Se JSONValue-dokumentationen för mer information om hur man hanterar // med JSON-värden - let obj = value.toObject() - let id = obj.get('id') - let title = obj.get('title') + let obj = value.toObject(); + let id = obj.get("id"); + let title = obj.get("title"); if (!id || !title) { - return + return; } // Callbacks kan också skapa enheter - let newItem = new Item(id) - newItem.title = title.toString() - newitem.parent = userData.toString() // Ange parent till "parentId" - newitem.save() + let newItem = new Item(id); + newItem.title = title.toString(); + newitem.parent = userData.toString(); // Ange parent till "parentId" + newitem.save(); } // Placera detta i en händelsehanterare i mappningen -ipfs.map('Qm...', 'processItem', Value.fromString('parentId'), ['json']) +ipfs.map("Qm...", "processItem", Value.fromString("parentId"), ["json"]); // Alternativt kan du använda `ipfs.mapJSON`. -ipfs.mapJSON('Qm...', 'processItem', Value.fromString('parentId')) +ipfs.mapJSON("Qm...", "processItem", Value.fromString("parentId")); ``` The only flag currently supported is `json`, which must be passed to `ipfs.map`. With the `json` flag, the IPFS file must consist of a series of JSON values, one value per line. The call to `ipfs.map` will read each line in the file, deserialize it into a `JSONValue` and call the callback for each of them. The callback can then use entity operations to store data from the `JSONValue`. Entity changes are stored only when the handler that called `ipfs.map` finishes successfully; in the meantime, they are kept in memory, and the size of the file that `ipfs.map` can process is therefore limited. @@ -690,7 +727,7 @@ On success, `ipfs.map` returns `void`. If any invocation of the callback causes ### Crypto API ```typescript -import { crypto } from '@graphprotocol/graph-ts' +import { crypto } from "@graphprotocol/graph-ts"; ``` The `crypto` API makes a cryptographic functions available for use in mappings. Right now, there is only one: @@ -700,7 +737,7 @@ The `crypto` API makes a cryptographic functions available for use in mappings. ### JSON API ```typescript -import { json, JSONValueKind } from '@graphprotocol/graph-ts' +import { json, JSONValueKind } from "@graphprotocol/graph-ts" ``` JSON data can be parsed using the `json` API: @@ -734,44 +771,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### Typkonverteringsreferens -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ------------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | Sträng (hexadecimal) | s.toHexString() eller s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | Sträng (hexadecimal) | s.toHexString() eller s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| Sträng (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | --------------------------------------------------------------------- | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | Sträng (hexadecimal) | s.toHexString() eller s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | Sträng (hexadecimal) | s.toHexString() eller s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| Sträng (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Metadata för datakälla From 195e2e7db8a4c835fc9a34ec630eb5db7aacfb36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:25 -0400 Subject: [PATCH 1102/2326] New translations api.mdx (Turkish) --- website/pages/tr/developing/graph-ts/api.mdx | 429 ++++++++++--------- 1 file changed, 228 insertions(+), 201 deletions(-) diff --git a/website/pages/tr/developing/graph-ts/api.mdx b/website/pages/tr/developing/graph-ts/api.mdx index a96922aadada..cae66476dbf3 100644 --- a/website/pages/tr/developing/graph-ts/api.mdx +++ b/website/pages/tr/developing/graph-ts/api.mdx @@ -2,72 +2,74 @@ title: AssemblyScript API'si --- -> Not: `graph-cli`/`graph-ts` `0.22.0` sürümünden önce bir subgraph oluşturduysanız, AssemblyScript'in daha eski bir sürümünü kullanıyorsanız, [`MigrationXGuide`](/release-notes/assemblyscript-migration-guide) dosyasına göz atmanızı öneririz. +> Note: if you created a subgraph prior to `graph-cli`/`graph-ts` version `0.22.0`, you're using an older version of AssemblyScript, we recommend taking a look at the [`Migration Guide`](/release-notes/assemblyscript-migration-guide) Bu sayfa subgraph eşleştirmelerini yazarken bullanılabilen yerleşik API'leri belgelemektedir. Hazır olarak iki çeşit API mevcuttur: -- [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) ve -- `graph codegen` tarafından subgraph dosyalarından oluşturulan kod. +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and +- code generated from subgraph files by `graph codegen`. -[AssemblyScript](https://github.com/AssemblyScript/assemblyscript) ile uyumlu oldukları sürece diğer kütüphaneleri bağımlılık olarak eklemek de mümkündür. Dil eşlemelerinin yazıldığı dil bu olduğundan, [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki), dil ve standart kütüphane özellikleri için iyi bir kaynaktır. +It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. ## API Referansı -`@graphprotocol/graph-ts` kütüphanesi aşağıdaki API'leri sağlar: +The `@graphprotocol/graph-ts` library provides the following APIs: -- Ethereum akıllı sözleşmeleri, etkinlikleri, blokları, işlemleri ve Ethereum değerleriyle çalışmak için bir `ethereum` API'si. -- Varlıkları Graph Node deposuna yüklemek ve kaydetmek için bir `store` API. -- Mesajları Graph Node'u çıkışına ve Graph Gezginine kaydetmek için bir `log` API. -- IPFS'den dosya yüklemek için bir `ipfs` API'ı. -- JSON verilerini ayrıştırmak için bir `json` API. -- Şifreleme işlevlerini kullanmak için bir `crypto` API. +- An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. +- A `store` API to load and save entities from and to the Graph Node store. +- A `log` API to log messages to the Graph Node output and Graph Explorer. +- An `ipfs` API to load files from IPFS. +- A `json` API to parse JSON data. +- A `crypto` API to use cryptographic functions. - Ethereum, JSON, GraphQL ve AssemblyScript gibi farklı tip sistemler arası çeviri yapmak için düşük seviyeli yazılımlar. ### Sürümler -Subgraph bildirimindeki `apiVersion`, belirli bir subgraph için Graph Node'u tarafından çalıştırılan eşleme API sürümünü belirtir. +The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Sürüm | Sürüm Notları | -| :-: | --- | -| 0.0.7 | Ethereum Event nesnesindeki Ethereum types
    Added `receipt` alanına `TransactionReceipt` ve `Log` sınıfları eklendi | -| 0.0.6 | Ethereum İşlemine `nonce` alanı eklendi. object
    Added `baseFeePerGas` Ethereum Block nesnesine eklendi | -| 0.0.5 | AssemblyScript 0.19.10 sürümüne yükseltildi (buna son değişiklikler dahildir, lütfen [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed`'in `ethereum.transaction.gasLimit` olarak yeniden adlandırılmasına bakın | -| 0.0.4 | Ethereum SmartContractCall nesnesine `functionSignature` alanı eklendi | -| 0.0.3 | `ethereum.call.to` olarak yeniden adlandırılan object
    `etherem.call.address` Ethereum Çağrısına `from` alanı eklendi | -| 0.0.2 | Ethereum İşlem nesnesine `input` alanı eklendi | +| Sürüm | Sürüm Notları | +| :---: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Dahili Türler -AssemblyScript'te yerleşik temel türlere ilişkin belgeler [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types)'te bulunabilir. +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). -Aşağıdaki ek türler `@graphprotocol/graph-ts` tarafından sağlanmaktadır. +The following additional types are provided by `@graphprotocol/graph-ts`. #### ByteArray ```typescript -{ ByteArray }'i '@graphprotocol/graph-ts' den içe aktar +import { ByteArray } from '@graphprotocol/graph-ts' ``` -`ByteArray` bir `u8` dizisini temsil eder. +`ByteArray` represents an array of `u8`. _Construction_ -- `fromI32(x: i32): ByteArray` - `x` 'yi baytlara ayrıştırır. -- `fromHexString(hex: string): ByteArray` - Giriş uzunluğu eşit olmalıdır. `0x` ile önek eklemek isteğe bağlıdır. +- `fromI32(x: i32): ByteArray` - Decomposes `x` into bytes. +- `fromHexString(hex: string): ByteArray` - Input length must be even. Prefixing with `0x` is optional. _Type conversions_ -- `toHexString(): string` - Ön eki `0x` olan onaltılık bir dizeye dönüştürür. -- `toString(): string` - Baytları UTF-8 dizesi olarak yorumlar. -- `toBase58(): string` - Baytları bir base58 dizesine kodlar. -- `toU32(): u32` - Baytları küçük endian `u32` olarak yorumlar. Taşma durumunda atar. -- `toI32(): i32` - Bayt dizisini küçük endian `i32` olarak yorumlar. Taşma durumunda atar. +- `toHexString(): string` - Converts to a hex string prefixed with `0x`. +- `toString(): string` - Interprets the bytes as a UTF-8 string. +- `toBase58(): string` - Encodes the bytes into a base58 string. +- `toU32(): u32` - Interprets the bytes as a little-endian `u32`. Throws in case of overflow. +- `toI32(): i32` - Interprets the byte array as a little-endian `i32`. Throws in case of overflow. _Operators_ -- `equals(y: ByteArray): bool` – `x == y` olarak yazılabilir. -- `concat(other: ByteArray) : ByteArray` - doğrudan `this` 'den ve ardından `other` 'dan oluşan yeni bir `ByteArray` döndürün. -- `concatI32(other: i32) : ByteArray` - doğrudan `this` 'den ve ardından `other` 'nin bayt temsilinden oluşan yeni bir `ByteArray` döndürür. +- `equals(y: ByteArray): bool` – can be written as `x == y`. +- `concat(other: ByteArray) : ByteArray` - return a new `ByteArray` consisting of `this` directly followed by `other` +- `concatI32(other: i32) : ByteArray` - return a new `ByteArray` consisting of `this` directly followed by the byte representation of `other` #### BigDecimal @@ -75,32 +77,32 @@ _Operators_ import { BigDecimal } from '@graphprotocol/graph-ts' ``` -`BigDecimal`, rastgele hassas ondalık sayıları temsil etmek için kullanılır. +`BigDecimal` is used to represent arbitrary precision decimals. -> Not: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal`, anlamlının 34 ondalık basamağını destekleyen [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format)'de saklanır. Bu, `BigDecimal`'ı, Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) veya eşdeğeri gibi 34 basamaktan daha geniş bir alana yayılabilen sabit nokta türlerini temsil etmek için uygunsuz hale getirir. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ -- `constructor(bigInt: BigInt)` – `BigInt` 'den bir `BigDecimal` oluşturur. -- `static fromString(s: string): BigDecimal` – ondalık bir dizeden ayrıştırır. +- `constructor(bigInt: BigInt)` – creates a `BigDecimal` from an `BigInt`. +- `static fromString(s: string): BigDecimal` – parses from a decimal string. _Type conversions_ -- `toString(): string` – ondalık dizgeye yazdırır. +- `toString(): string` – prints to a decimal string. _Math_ -- `plus(y: BigDecimal): BigDecimal` - `x + y` şeklinde yazılabilir. -- `minus(y: BigDecimal): BigDecimal` - `x - y` şeklinde yazılabilir. -- `times(y: BigDecimal): BigDecimal` - `x * y` şeklinde yazılabilir. -- `div(y: BigDecimal): BigDecimal` - `x / y` şeklinde yazılabilir. -- `equals(y: BigDecimal): bool` - `x == y` şeklinde yazılabilir. -- `notEqual(y: BigDecimal): bool` - `x != y` şeklinde yazılabilir. -- `lt(y: BigDecimal): bool` - `x < y` şeklinde yazılabilir. -- `le(y: BigDecimal): bool` - `x <= y` şeklinde yazılabilir. -- `gt(y: BigDecimal): bool` - `x > y` şeklinde yazılabilir. -- `ge(y: BigDecimal): bool` - `x >= y` şeklinde yazılabilir. -- `neg(): BigDecimal` - `-x` olarak yazılabilir. +- `plus(y: BigDecimal): BigDecimal` – can be written as `x + y`. +- `minus(y: BigDecimal): BigDecimal` – can be written as `x - y`. +- `times(y: BigDecimal): BigDecimal` – can be written as `x * y`. +- `div(y: BigDecimal): BigDecimal` – can be written as `x / y`. +- `equals(y: BigDecimal): bool` – can be written as `x == y`. +- `notEqual(y: BigDecimal): bool` – can be written as `x != y`. +- `lt(y: BigDecimal): bool` – can be written as `x < y`. +- `le(y: BigDecimal): bool` – can be written as `x <= y`. +- `gt(y: BigDecimal): bool` – can be written as `x > y`. +- `ge(y: BigDecimal): bool` – can be written as `x >= y`. +- `neg(): BigDecimal` - can be written as `-x`. #### BigInt @@ -108,53 +110,53 @@ _Math_ import { BigInt } from '@graphprotocol/graph-ts' ``` -`BigInt` büyük tamsayıları temsil etmek için kullanılır. Bu, `uint32` ila `uint256` ve `int64` ila `int256` türündeki Ethereum değerlerini içerir. Uint32`nin altındaki `int32`, `uint24`veya`int8`gibi her şey`i32\` olarak temsil edilir. +`BigInt` is used to represent big integers. This includes Ethereum values of type `uint32` to `uint256` and `int64` to `int256`. Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. -'BigInt' sınıfı aşağıdaki API'ye sahiptir: +The `BigInt` class has the following API: _Construction_ -- `BigInt.fromI32(x: i32): BigInt` - bir `i32`den bir `BigInt` oluşturur. +- `BigInt.fromI32(x: i32): BigInt` – creates a `BigInt` from an `i32`. -- `BigInt.fromString(s: string): BigInt`- Bir dizgeden bir `BigInt` ayrıştırır. +- `BigInt.fromString(s: string): BigInt`– Parses a `BigInt` from a string. -- `BigInt.fromUnsignedBytes(x: Bytes): BigInt` - `bytes`ı işaretsiz, little-endian bir tamsayı olarak yorumlar. Eğer girdiniz big-endian ise, önce `.reverse()` fonksiyonunu çağırın. +- `BigInt.fromUnsignedBytes(x: Bytes): BigInt` – Interprets `bytes` as an unsigned, little-endian integer. If your input is big-endian, call `.reverse()` first. -- `BigInt.fromSignedBytes(x: Bytes): BigInt` - `bytes`ı işaretli, little-endian tamsayı olarak yorumlar. Eğer girdiniz big-endian ise, önce `.reverse()` fonksiyonunu çağırın. +- `BigInt.fromSignedBytes(x: Bytes): BigInt` – Interprets `bytes` as a signed, little-endian integer. If your input is big-endian, call `.reverse()` first. _Type conversions_ -- `x.toHex(): string` - `BigInt` öğesini onaltılık karakterlerden oluşan bir dizeye dönüştürür. +- `x.toHex(): string` – turns `BigInt` into a string of hexadecimal characters. -- `x.toString(): string` - `BigInt` öğesini ondalık sayı dizesine dönüştürür. +- `x.toString(): string` – turns `BigInt` into a decimal number string. -- `x.toI32(): i32` - `BigInt` değerini bir `i32` olarak döndürür; değer `i32` içine sığmazsa başarısız olur. Önce `x.isI32()` öğesini kontrol etmek iyi bir fikirdir. +- `x.toI32(): i32` – returns the `BigInt` as an `i32`; fails if the value does not fit into `i32`. It's a good idea to first check `x.isI32()`. -- `x.toBigDecimal(): BigDecimal` - kesirli kısmı olmayan bir ondalık sayıya dönüştürür. +- `x.toBigDecimal(): BigDecimal` - converts into a decimal with no fractional part. _Math_ -- `x.plus(y: BigInt): BigInt` - `x + y` şeklinde yazılabilir. -- `x.minus(y: BigInt): BigInt` - `x - y` şeklinde yazılabilir. -- `x.times(y: BigInt): BigInt` - `x * y` şeklinde yazılabilir. -- `x.div(y: BigInt): BigInt` - `x / y` şeklinde yazılabilir. -- `x.mod(y: BigInt): BigInt` - `x % y` şeklinde yazılabilir. -- `x.equals(y: BigInt): bool` - `x == y` şeklinde yazılabilir. -- `x.notEqual(y: BigInt): bool` - `x != y` şeklinde yazılabilir. -- `x.lt(y: BigInt): bool` - `x < y` şeklinde yazılabilir. -- `x.le(y: BigInt): bool` - `x <= y` şeklinde yazılabilir. -- `x.gt(y: BigInt): bool` - `x > y` şeklinde yazılabilir. -- `x.ge(y: BigInt): bool` - `x >= y` şeklinde yazılabilir. -- `x.neg(): BigInt` - `-x` olarak yazılabilir. -- `x.divDecimal(y: BigDecimal): BigDecimal` - ondalık bir sonuç vererek bir ondalık sayıya böler. -- `x.isZero(): bool` - Sayının sıfır olup olmadığını kontrol etmek için kolaylık. -- `x.isI32(): bool` - Sayının bir `i32` ye uyup uymadığını kontrol eder. -- `x.abs(): BigInt` - Mutlak değer. -- `x.pow(exp: u8): BigInt` - Üs alma. -- `bitOr(x: BigInt, y: BigInt): BigInt` - `x | y` şeklinde yazılabilir. -- `bitAnd(x: BigInt, y: BigInt): BigInt` - `x & y` şeklinde yazılabilir. -- `leftShift(x: BigInt, bits: u8): BigInt` - `x << y` şeklinde yazılabilir. -- `rightShift(x: BigInt, bits: u8): BigInt` - `x >> y` şeklinde yazılabilir. +- `x.plus(y: BigInt): BigInt` – can be written as `x + y`. +- `x.minus(y: BigInt): BigInt` – can be written as `x - y`. +- `x.times(y: BigInt): BigInt` – can be written as `x * y`. +- `x.div(y: BigInt): BigInt` – can be written as `x / y`. +- `x.mod(y: BigInt): BigInt` – can be written as `x % y`. +- `x.equals(y: BigInt): bool` – can be written as `x == y`. +- `x.notEqual(y: BigInt): bool` – can be written as `x != y`. +- `x.lt(y: BigInt): bool` – can be written as `x < y`. +- `x.le(y: BigInt): bool` – can be written as `x <= y`. +- `x.gt(y: BigInt): bool` – can be written as `x > y`. +- `x.ge(y: BigInt): bool` – can be written as `x >= y`. +- `x.neg(): BigInt` – can be written as `-x`. +- `x.divDecimal(y: BigDecimal): BigDecimal` – divides by a decimal, giving a decimal result. +- `x.isZero(): bool` – Convenience for checking if the number is zero. +- `x.isI32(): bool` – Check if the number fits in an `i32`. +- `x.abs(): BigInt` – Absolute value. +- `x.pow(exp: u8): BigInt` – Exponentiation. +- `bitOr(x: BigInt, y: BigInt): BigInt` – can be written as `x | y`. +- `bitAnd(x: BigInt, y: BigInt): BigInt` – can be written as `x & y`. +- `leftShift(x: BigInt, bits: u8): BigInt` – can be written as `x << y`. +- `rightShift(x: BigInt, bits: u8): BigInt` – can be written as `x >> y`. #### TypedMap @@ -162,15 +164,15 @@ _Math_ import { TypedMap } from '@graphprotocol/graph-ts' ``` -`TypedMap` anahtar-değer çiftlerini saklamak için kullanılabilir. Bkz. [bu örneğe] (https://github.com/graphprotocol/aragon-subgraph/blob/29dd38680c5e5104d9fdc2f90e740298c67e4a31/individual-dao-subgraph/mappings/constants.ts#L51). +`TypedMap` can be used to store key-value pairs. See [this example](https://github.com/graphprotocol/aragon-subgraph/blob/29dd38680c5e5104d9fdc2f90e740298c67e4a31/individual-dao-subgraph/mappings/constants.ts#L51). -`TypedMap` sınıfı aşağıdaki API'ye sahiptir: +The `TypedMap` class has the following API: -- `new TypedMap()` - `K` türünde anahtarları ve `V` türünde değerleri olan boş bir harita oluşturur -- `map.set(key: K, value: V): void` - `key` değerini `value` değerine ayarlar -- `map.getEntry(key: K): TypedMapEntry | null` - bir `key` için anahtar-değer çiftini veya `key` haritada mevcut değilse `null` değerini döndürür -- `map.get(anahtar: K): V | null` - bir `anahtar` için değeri veya `anahtar` haritada mevcut değilse `null` değerini döndürür -- `map.isSet(anahtar: K): bool` - `anahtar` haritada varsa `true`, yoksa `false` döndürür +- `new TypedMap()` – creates an empty map with keys of type `K` and values of type `V` +- `map.set(key: K, value: V): void` – sets the value of `key` to `value` +- `map.getEntry(key: K): TypedMapEntry | null` – returns the key-value pair for a `key` or `null` if the `key` does not exist in the map +- `map.get(key: K): V | null` – returns the value for a `key` or `null` if the `key` does not exist in the map +- `map.isSet(key: K): bool` – returns `true` if the `key` exists in the map and `false` if it does not #### Baytlar @@ -178,25 +180,25 @@ import { TypedMap } from '@graphprotocol/graph-ts' import { Bytes } from '@graphprotocol/graph-ts' ``` -`Bytes` rastgele uzunluktaki bayt dizilerini temsil etmek için kullanılır. Bu, `bytes`, `bytes32` vb. türdeki Ethereum değerlerini içerir. +`Bytes` is used to represent arbitrary-length arrays of bytes. This includes Ethereum values of type `bytes`, `bytes32`, etc. -`Bytes` sınıfı AssemblyScript'in [Uint8Array](https://github.com/AssemblyScript/assemblyscript/blob/3b1852bc376ae799d9ebca888e6413afac7b572f/std/assembly/typedarray.ts#L64) sınıfını genişletir ve bu, tüm `Uint8Array` işlevselliğinin yanı sıra aşağıdaki yeni yöntemleri de destekler: +The `Bytes` class extends AssemblyScript's [Uint8Array](https://github.com/AssemblyScript/assemblyscript/blob/3b1852bc376ae799d9ebca888e6413afac7b572f/std/assembly/typedarray.ts#L64) and this supports all the `Uint8Array` functionality, plus the following new methods: _Construction_ -- `fromHexString(hex: string) : Bytes` - Çift sayıda onaltılık basamaktan oluşması gereken `hex` dizesini bir `ByteArray` dizisine dönüştürür. hex`dizesi isteğe bağlı olarak`0x\` ile başlayabilir -- `fromI32(i: i32) : Bytes` - `i`yi bir bayt dizisine dönüştürür +- `fromHexString(hex: string) : Bytes` - Convert the string `hex` which must consist of an even number of hexadecimal digits to a `ByteArray`. The string `hex` can optionally start with `0x` +- `fromI32(i: i32) : Bytes` - Convert `i` to an array of bytes _Type conversions_ - `b.toHex()` – returns a hexadecimal string representing the bytes in the array -- `b.toString()` - dizideki baytları unicode karakterlerden oluşan bir dizeye dönüştürür -- `b.toBase58()` - bir Ethereum Bayt değerini base58 kodlamasına dönüştürür (IPFS karmaları için kullanılır) +- `b.toString()` – converts the bytes in the array to a string of unicode characters +- `b.toBase58()` – turns an Ethereum Bytes value to base58 encoding (used for IPFS hashes) _Operators_ -- `b.concat(diğer: Bytes) : Bytes` - - doğrudan `this` ve ardından `other` öğelerinden oluşan yeni `Bytes` döndürür -- `b.concatI32(other: i32) : ByteArray` - doğrudan `this` ve ardından `other` bayt gösteriminden oluşan yeni `Bytes` döndürür +- `b.concat(other: Bytes) : Bytes` - - return new `Bytes` consisting of `this` directly followed by `other` +- `b.concatI32(other: i32) : ByteArray` - return new `Bytes` consisting of `this` directly follow by the byte representation of `other` #### Adres(Address) @@ -204,12 +206,12 @@ _Operators_ import { Address } from '@graphprotocol/graph-ts' ``` -`Address`, Ethereum `adres` değerlerini temsil etmek için `Bytes`ı genişletir. +`Address` extends `Bytes` to represent Ethereum `address` values. -Bu, `Bytes` API'sinin üzerine aşağıdaki yöntemi ekler: +It adds the following method on top of the `Bytes` API: -- `Address.fromString(s: string): Address` - onaltılık dizeden bir `Address` oluşturur -- `Address.fromBytes(b: Bytes): Address` - `b` den tam olarak 20 bayt uzunluğunda olması gereken bir `Address` oluşturur. Daha az veya daha fazla bayt içeren bir değer iletmek hataya neden olur +- `Address.fromString(s: string): Address` – creates an `Address` from a hexadecimal string +- `Address.fromBytes(b: Bytes): Address` – create an `Address` from `b` which must be exactly 20 bytes long. Passing in a value with fewer or more bytes will result in an error ### Store API @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Depoya yazılan varlıklar, subgraph'in GraphQL şemasında tanımlanan `@entity` tipleriyle bire bir eşleşir. Bu varlıklarla çalışmayı kolaylaştırmak için, [Graph CLI] (https://github.com/graphprotocol/graph-cli) tarafından sağlanan `graph codegen` komutu, yerleşik `Entity` türünün alt sınıfları olan varlık sınıflarını, şemadaki alanlar için özellik alıcıları ve ayarlayıcıları ile bu varlıkları yüklemek ve kaydetmek için yöntemler oluşturur. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Unsurların Oluşturulması @@ -237,18 +239,18 @@ export function handleTransfer(event: TransferEvent): void { // İşlem hash'ını olay kimliği olarak kullanarak bir Transfer varlığı oluşturun let id = event.transaction.hash let transfer = new Transfer(id) - + // Olay parametrelerini kullanarak varlığın özelliklerini ayarlayın transfer.from = event.params.from transfer.to = event.params.to transfer.amount = event.params.amount - + // Varlığı depoya kaydedin transfer.save() -} + } ``` -Zincir işlenirken bir `Transfer` olayıyla karşılaşıldığında, oluşturulan `Transfer` türü (varlık türüyle adlandırma çakışmasını önlemek için burada `TransferEvent` olarak adlandırılmıştır) kullanılarak `handleTransfer` olay işleyicisine aktarılır. Bu tür, olayın ana işlemi ve parametreleri gibi verilere erişilmesini sağlar. +When a `Transfer` event is encountered while processing the chain, it is passed to the `handleTransfer` event handler using the generated `Transfer` type (aliased to `TransferEvent` here to avoid a naming conflict with the entity type). This type allows accessing data such as the event's parent transaction and its parameters. Çakışmaları önlemek için her varlık benzersiz bir kimliğe sahip olmalıdır. Genellikle olay parametreleri, kullanılabilecek benzersiz bir tanımlayıcı içerir. Not: Kimlik olarak işlem hash'ını kullanmak aynı işlemdeki başka hiçbir olayın bu hash'ı kullanarak kimlik olarak varlık oluşturmayacağını varsayar. @@ -266,9 +268,9 @@ if (transfer == null) { // Transfer varlığı önceki gibi kullanılır ``` -Varlık henüz depoda mevcut olmayabileceğinden, `load` yöntemi `Transfer | null` türünde bir değer döndürür. Bu nedenle, değeri kullanmadan önce `null` durumunu kontrol etmek gerekebilir. +As the entity may not exist in the store yet, the `load` method returns a value of type `Transfer | null`. It may thus be necessary to check for the `null` case before using the value. -> **Not:** Varlıkların yüklenmesi yalnızca eşlemede yapılan değişiklikler bir varlığın önceki verilerine bağlıysa gereklidir. Mevcut varlıkları güncellemenin iki yolu için bir sonraki bölüme bakın. +> **Note:** Loading entities is only necessary if the changes made in the mapping depend on the previous data of an entity. See the next section for the two ways of updating existing entities. #### Bir blok içinde oluşturulan varlıkları arama @@ -286,7 +288,7 @@ if (transfer == null) { // Transfer varlığını daha önce olduğu gibi kullanın ``` -> Not: Verilen blokta oluşturulmuş bir varlık yoksa, depoda verilen ID'ye sahip bir varlık olsa bile `loadInBlock` `null` değerini döndürecektir. +> Note: If there is no entity created in the given block, `loadInBlock` will return `null` even if there is an entity with the given ID in the store. #### Türetilmiş varlıkları arama @@ -307,7 +309,7 @@ type Holder @entity { } ``` -Aşağıdaki kod, `Holder` varlığının türetildiği `Token` varlığını yükleyecektir: +The following code will load the `Token` entity that the `Holder` entity was derived from: ```typescript let holder = Holder.load('test-id') @@ -319,8 +321,8 @@ let tokens = holder.tokens.load() Mevcut bir varlığı güncellemenin iki yolu vardır: -1. Varlığı örneğin `Transfer.load(id)` ile yükleyin, varlık üzerindeki özellikleri ayarlayın ve ardından `.save()` ile depoya geri kaydedin. -2. Varlığı örneğin `new Transfer(id)` ile oluşturun, varlık üzerindeki özellikleri ayarlayın ve ardından `.save()` ile depoya kaydedin. Varlık zaten mevcutsa, değişiklikler onunla birleştirilir. +1. Load the entity with e.g. `Transfer.load(id)`, set properties on the entity, then `.save()` it back to the store. +2. Simply create the entity with e.g. `new Transfer(id)`, set properties on the entity, then `.save()` it to the store. If the entity already exists, the changes are merged into it. Oluşturulan özellik ayarlayıcılar sayesinde çoğu durumda özellikerin değiştirilmesi kolaydır: @@ -338,9 +340,9 @@ transfer.from.unset() transfer.from = null ``` -Bu yalnızca isteğe bağlı özelliklerle, yani GraphQL'de `!` olmadan bildirilen özelliklerle çalışır. İki örnek `owner: Bytes` veya `amount: BigInt` olabilir. +This only works with optional properties, i.e. properties that are declared without a `!` in GraphQL. Two examples would be `owner: Bytes` or `amount: BigInt`. -Bir varlıktan bir dizi almak o dizinin bir kopyasını oluşturduğundan, dizi özelliklerini güncellemek biraz daha karmaşıktır. Bu, dizi değiştirildikten sonra dizi özelliklerinin açıkça yeniden ayarlanması gerektiği anlamına gelir. Aşağıda `entity`nin bir `numbers: [BigInt!]!` alanına sahip olduğunu varsayar. +Updating array properties is a little more involved, as the getting an array from an entity creates a copy of that array. This means array properties have to be set again explicitly after changing the array. The following assumes `entity` has a `numbers: [BigInt!]!` field. ```typescript // Bu işe yaramaz @@ -356,7 +358,7 @@ entity.save() #### Depodan varlık kaldırma -Şu anda oluşturulan türler aracılığıyla bir varlığı kaldırmanın bir yolu yoktur. Bunun yerine, bir varlığı kaldırmak için varlık türünün adını ve varlık kimliğini `store.remove` dosyasına aktarmak gerekir: +There is currently no way to remove an entity via the generated types. Instead, removing an entity requires passing the name of the entity type and the entity ID to `store.remove`: ```typescript import { store } from '@graphprotocol/graph-ts' @@ -371,9 +373,9 @@ Ethereum API'si, akıllı sözleşmelere, genel durum değişkenlerine, sözleş #### Ethereum Türleri İçin Destek -Varlıklarda olduğu gibi, `graph codegen` bir subgraph'te kullanılan tüm akıllı sözleşmeler ve olaylar için sınıflar üretir. Bunun için, sözleşme ABI'lerinin subgraph bildirimindeki veri kaynağının bir parçası olması gerekir. Tipik olarak, ABI dosyaları bir `abis/` klasöründe saklanır. +As with entities, `graph codegen` generates classes for all smart contracts and events used in a subgraph. For this, the contract ABIs need to be part of the data source in the subgraph manifest. Typically, the ABI files are stored in an `abis/` folder. -Oluşturulan sınıflarla, Ethereum türleri ve [built-in types](#built-in-types) arasındaki dönüşümler perde arkasında gerçekleşir, böylece subgraph yazarlarının bunlar hakkında endişelenmesine gerek kalmaz. +With the generated classes, conversions between Ethereum types and the [built-in types](#built-in-types) take place behind the scenes so that subgraph authors do not have to worry about them. Aşağıdaki örnek bunu açıklar. Aşağıdaki gibi bir subgraph şeması verildiğinde @@ -386,7 +388,7 @@ type Transfer @entity { } ``` -ve Ethereum'daki bir `Transfer(address,address,uint256)` olay imzası, `adress`, `address` ve `uint256` türündeki `from`, `to` ve `amount` değerleri `Address` ve `BigInt` değerlerine dönüştürülerek `Transfer` varlığının `Bytes!` ve `BigInt!` özelliklerine aktarılmalarına olanak tanır: +and a `Transfer(address,address,uint256)` event signature on Ethereum, the `from`, `to` and `amount` values of type `address`, `address` and `uint256` are converted to `Address` and `BigInt`, allowing them to be passed on to the `Bytes!` and `BigInt!` properties of the `Transfer` entity: ```typescript let id = event.transaction.hash @@ -399,7 +401,7 @@ transfer.save() #### Olaylar ve Blok/İşlem Verileri -Önceki örneklerdeki `Transfer` olayı gibi olay işleyicilerine aktarılan Ethereum olayları, yalnızca olay parametrelerine değil, aynı zamanda ana işlemlerine ve parçası oldukları bloğa da erişim sağlar. Aşağıdaki veriler `event` örneklerinden elde edilebilir (bu sınıflar `graph-ts` içindeki `ethereum` modülünün bir parçasıdır): +Ethereum events passed to event handlers, such as the `Transfer` event in the previous examples, not only provide access to the event parameters but also to their parent transaction and the block they are part of. The following data can be obtained from `event` instances (these classes are a part of the `ethereum` module in `graph-ts`): ```typescript class Event { @@ -474,7 +476,7 @@ class Log { #### Akıllı Sözleşme Durumuna Erişim -`graph codegen` tarafından üretilen kod, subgraph'te kullanılan akıllı sözleşmeler için sınıflar da içerir. Bunlar, genel durum değişkenlerine erişmek ve mevcut bloktaki sözleşmenin işlevlerini çağırmak için kullanılabilir. +The code generated by `graph codegen` also includes classes for the smart contracts used in the subgraph. These can be used to access public state variables and call functions of the contract at the current block. Yaygın bir model, bir olayın kaynaklandığı sözleşmeye erişmektir. Bu, aşağıdaki kodla elde edilir: @@ -493,15 +495,15 @@ export function handleTransfer(event: TransferEvent) { } ``` -Varlık türü ile adlandırma çakışmasını önlemek için `Transfer` burada `TransferEvent` olarak adlandırılmıştır +`Transfer` is aliased to `TransferEvent` here to avoid a naming conflict with the entity type -Ethereum üzerindeki `ERC20Contract`, `symbol` adında salt okunur bir genel fonksiyona sahip olduğu sürece, `.symbol()` ile çağrılabilir. Herkese açık durum değişkenleri için aynı ada sahip bir yöntem otomatik olarak oluşturulur. +As long as the `ERC20Contract` on Ethereum has a public read-only function called `symbol`, it can be called with `.symbol()`. For public state variables a method with the same name is created automatically. Subgraph parçası olan diğer tüm sözleşmelerde oluşturulan koddan içe aktarılabilir ve geçerli bir adrese bağlanabilir. #### Geri Dönen Çağrıları Yönetme -Sözleşmenizin salt okunur yöntemleri geri dönebilirse, bunu `try_` ile ön eklenmiş oluşturulan sözleşme yöntemini çağırarak ele almalısınız. Örneğin, Gravity sözleşmesi `gravatarToOwner` yöntemini sunar. Bu kod, bu yöntemdeki bir geri dönüşü idare edebilecektir: +If the read-only methods of your contract may revert, then you should handle that by calling the generated contract method prefixed with `try_`. For example, the Gravity contract exposes the `gravatarToOwner` method. This code would be able to handle a revert in that method: ```typescript let gravity = Gravity.bind(event.address) @@ -517,10 +519,10 @@ Bir Geth veya Infura istemcisine bağlı bir Graph düğümünün tüm geri dön #### ABI Kodlama/Çözme -Veriler, `ethereum` modülündeki `encode` ve `decode` fonksiyonları kullanılarak Ethereum'un ABI kodlama formatına göre kodlanabilir ve çözülebilir. +Data can be encoded and decoded according to Ethereum's ABI encoding format using the `encode` and `decode` functions in the `ethereum` module. ```typescript -{ Address, BigInt, ethereum } 'i '@graphprotocol/graph-ts' 'den içe aktar +import { Address, BigInt, ethereum } from '@graphprotocol/graph-ts' let tupleArray: Array = [ ethereum.Value.fromAddress(Address.fromString('0x0000000000000000000000000000000000000420')), @@ -538,7 +540,32 @@ Daha fazla bilgi için: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- Daha fazlası [karmaşık örnek](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). + +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` ### Logging API @@ -546,17 +573,17 @@ Daha fazla bilgi için: import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. -`log` API'si aşağıdaki fonksiyonları içerir: +The `log` API includes the following functions: -- `log.debug(fmt: string, args: Array): void` - bir hata ayıklama mesajını günlüğe kaydeder. -- `log.info(fmt: string, args: Array): void` - bir bilgilendirme mesajını günlüğe kaydeder. -- `log.warning(fmt: string, args: Array): void` - bir uyarıyı günlüğe kaydeder. -- `log.error(fmt: string, args: Array): void` - bir hata mesajını günlüğe kaydeder. -- `log.critical(fmt: string, args: Array): void` - kritik bir mesajı günlüğe kaydeder _and_ subgraph'i sonlandırır. +- `log.debug(fmt: string, args: Array): void` - logs a debug message. +- `log.info(fmt: string, args: Array): void` - logs an informational message. +- `log.warning(fmt: string, args: Array): void` - logs a warning. +- `log.error(fmt: string, args: Array): void` - logs an error message. +- `log.critical(fmt: string, args: Array): void` – logs a critical message _and_ terminates the subgraph. -`log` API'si bir format dizesi ve bir dizi dize değeri alır. Daha sonra yer tutucuları dizideki dize değerleriyle değiştirir. İlk `{}` yer tutucusu dizideki ilk değerle değiştirilir, ikinci `{}` yer tutucusu ikinci değerle değiştirilir ve bu böyle devam eder. +The `log` API takes a format string and an array of string values. It then replaces placeholders with the string values from the array. The first `{}` placeholder gets replaced by the first value in the array, the second `{}` placeholder gets replaced by the second value and so on. ```typescript log.info('Message to be displayed: {}, {}, {}', [value.toString(), anotherValue.toString(), 'already a string']) @@ -566,7 +593,7 @@ log.info('Message to be displayed: {}, {}, {}', [value.toString(), anotherValue. ##### Tek bir değerin loglanması -Aşağıdaki örnekte, "A" dize değeri günlüğe kaydedilmeden önce `['A']` haline gelmek üzere bir diziye aktarılır: +In the example below, the string value "A" is passed into an array to become`['A']` before being logged: ```typescript let myValue = 'A' @@ -592,7 +619,7 @@ export function handleSomeEvent(event: SomeEvent): void { #### Mevcut bir diziden birden çok girişi kaydetme -Argümanlar dizisindeki her giriş, günlük mesajı dizesinde kendi yer tutucusunu `{}` gerektirir. Aşağıdaki örnek, günlük iletisinde üç yer tutucu `{}` içerir. Bu nedenle, `myArray` içindeki üç değer de günlüğe kaydedilir. +Each entry in the arguments array requires its own placeholder `{}` in the log message string. The below example contains three placeholders `{}` in the log message. Because of this, all three values in `myArray` are logged. ```typescript let myArray = ['A', 'B', 'C'] @@ -636,7 +663,7 @@ export function handleSomeEvent(event: SomeEvent): void { import { ipfs } from '@graphprotocol/graph-ts' ``` -Akıllı sözleşmeler zaman zaman IPFS dosyalarını zincire bağlar. Bu, eşlemelerin sözleşmeden IPFS karmalarını almasına ve ilgili dosyaları IPFS'den okumasına olanak tanır. Dosya verileri "Bayt" olarak döndürülür; bu genellikle daha fazla işlem gerektirir; bu sayfada daha sonra belgelenen `json` API'si ile birlikte. +Smart contracts occasionally anchor IPFS files on chain. This allows mappings to obtain the IPFS hashes from the contract and read the corresponding files from IPFS. The file data will be returned as `Bytes`, which usually requires further processing, e.g. with the `json` API documented later on this page. IPFS hash'ı veya yolu verildiğinde, bir dosyayı IPFS'den okuma şu şekilde yapılır: @@ -652,9 +679,9 @@ let path = 'QmTkzDwWqPbnAh5YiV5VwcTLnGdwSNsNTn2aDxdXBFca7D/Makefile' let data = ipfs.cat(path) ``` -**Not:** `ipfs.cat` şu anda deterministik değildir. Dosya, istek zaman aşımına uğramadan IPFS ağı üzerinden alınamazsa, `null` sonucunu döndürür. Bu nedenle, `null` sonucunu her zaman kontrol etmeye değer. +**Note:** `ipfs.cat` is not deterministic at the moment. If the file cannot be retrieved over the IPFS network before the request times out, it will return `null`. Due to this, it's always worth checking the result for `null`. -`ipfs.map` ile daha büyük dosyaları akış tarzında işlemek de mümkündür. İşlev, bir IPFS dosyası için karma veya yol, bir geri çağırmanın adı ve davranışını değiştirmek için işaretler bekler: +It is also possible to process larger files in a streaming fashion with `ipfs.map`. The function expects the hash or path for an IPFS file, the name of a callback, and flags to modify its behavior: ```typescript import { JSONValue, Value } from '@graphprotocol/graph-ts' @@ -684,9 +711,9 @@ ipfs.map('Qm...', 'processItem', Value.fromString('parentId'), ['json']) ipfs.mapJSON('Qm...', 'processItem', Value.fromString('parentId')) ``` -Şu anda desteklenen tek bayrak `ipfs.map` dosyasına aktarılması gereken `json` bayrağıdır. json`bayrağı ile IPFS dosyası, her satırda bir değer olmak üzere bir dizi JSON değerinden oluşmalıdır.`ipfs.map`çağrısı dosyadaki her satırı okuyacak, bir`JSONValue`haline getirecek ve her biri için geri çağırmayı çağıracaktır. Geri arama daha sonra`JSONValue`dan veri depolamak için varlık işlemlerini kullanabilir. Varlık değişiklikleri yalnızca `ipfs.map`i çağıran işleyici başarıyla tamamlandığında saklanır; bu arada bellekte tutulurlar ve`ipfs.map\` in işleyebileceği dosyanın boyutu bu nedenle sınırlıdır. +The only flag currently supported is `json`, which must be passed to `ipfs.map`. With the `json` flag, the IPFS file must consist of a series of JSON values, one value per line. The call to `ipfs.map` will read each line in the file, deserialize it into a `JSONValue` and call the callback for each of them. The callback can then use entity operations to store data from the `JSONValue`. Entity changes are stored only when the handler that called `ipfs.map` finishes successfully; in the meantime, they are kept in memory, and the size of the file that `ipfs.map` can process is therefore limited. -Başarı durumunda, `ipfs.map` `void` döndürür. Geri aramanın herhangi bir çağrısı bir hataya neden olursa, `ipfs.map` çağrısını yapan işleyici iptal edilir ve subgraph başarısız olarak işaretlenir. +On success, `ipfs.map` returns `void`. If any invocation of the callback causes an error, the handler that invoked `ipfs.map` is aborted, and the subgraph is marked as failed. ### Kripto(Crypto) API'si @@ -694,24 +721,24 @@ Başarı durumunda, `ipfs.map` `void` döndürür. Geri aramanın herhangi bir import { crypto } from '@graphprotocol/graph-ts' ``` -`crypto` API, eşlemelerde kullanılmak üzere kriptografik işlevler sağlar. Şu anda sadece bir tane var: +The `crypto` API makes a cryptographic functions available for use in mappings. Right now, there is only one: - `crypto.keccak256(input: ByteArray): ByteArray` ### JSON API ```typescript -{ json, JSONValueKind }'i '@graphprotocol/graph-ts' 'den içe aktar +import { json, JSONValueKind } from '@graphprotocol/graph-ts' ``` -JSON verileri `json` API kullanılarak ayrıştırılabilir: +JSON data can be parsed using the `json` API: -- `json.fromBytes(data: Bytes): JSONValue` - JSON verilerini geçerli bir UTF-8 dizisi olarak yorumlanan bir `Bytes` dizisinden ayrıştırır -- `json.try_fromBytes(data: Bytes): Result` - `json.fromBytes` öğesinin güvenli sürümüdür, ayrıştırma başarısız olursa bir hata değişkeni döndürür -- `json.fromString(data: string): JSONValue` - JSON verilerini geçerli bir UTF-8 `String`den ayrıştırır -- `json.try_fromString(data: string): Result` - `json.fromString`in güvenli sürümüdür, ayrıştırma başarısız olursa bir hata değişkeni döndürür +- `json.fromBytes(data: Bytes): JSONValue` – parses JSON data from a `Bytes` array interpreted as a valid UTF-8 sequence +- `json.try_fromBytes(data: Bytes): Result` – safe version of `json.fromBytes`, it returns an error variant if the parsing failed +- `json.fromString(data: string): JSONValue` – parses JSON data from a valid UTF-8 `String` +- `json.try_fromString(data: string): Result` – safe version of `json.fromString`, it returns an error variant if the parsing failed -`JSONValue` sınıfı, rastgele bir JSON belgesinden değerleri çekmenin bir yolunu sağlar. JSON değerleri booleanlar, sayılar, diziler ve daha fazlası olabileceğinden, `JSONValue` bir değerin türünü kontrol etmek için bir `kind` özelliği ile birlikte gelir: +The `JSONValue` class provides a way to pull values out of an arbitrary JSON document. Since JSON values can be booleans, numbers, arrays and more, `JSONValue` comes with a `kind` property to check the type of a value: ```typescript let value = json.fromBytes(...) @@ -720,63 +747,63 @@ if (value.kind == JSONValueKind.BOOL) { } ``` -Ek olarak, değerin `null` olup olmadığını kontrol etmek için bir yöntem vardır: +In addition, there is a method to check if the value is `null`: - `value.isNull(): boolean` -Bir değerin türü belli olduğunda, aşağıdaki yöntemlerden biri kullanılarak bir [built-in type](#built-in-types) 'a dönüştürülebilir: +When the type of a value is certain, it can be converted to a [built-in type](#built-in-types) using one of the following methods: - `value.toBool(): boolean` - `value.toI64(): i64` - `value.toF64(): f64` - `value.toBigInt(): BigInt` - `value.toString(): string` -- `value.toArray(): Array` - (ve ardından `JSONValue` öğesini yukarıdaki 5 yöntemden biriyle dönüştürün) +- `value.toArray(): Array` - (and then convert `JSONValue` with one of the 5 methods above) ### Tip Dönüşümleri Referansı -| Kaynak(lar) | Hedef | Dönüştürme işlevi | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | Dizgi (onaltılık) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | Dizgi (onaltılık) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| Dizgi (onaltılık) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Veri Kaynağı Meta Verileri -İşleyiciyi çağıran veri kaynağının sözleşme adresini, ağını ve bağlamını `dataSource` ad alanı aracılığıyla inceleyebilirsiniz: +You can inspect the contract address, network and context of the data source that invoked the handler through the `dataSource` namespace: - `dataSource.address(): Address` - `dataSource.network(): string` @@ -784,7 +811,7 @@ Bir değerin türü belli olduğunda, aşağıdaki yöntemlerden biri kullanıla ### Varlık ve VeriKaynağıBağlamı -Temel `Entity` sınıfı ve alt `DataSourceContext` sınıfı, alanları dinamik olarak ayarlamak ve almak için yardımcılara sahiptir: +The base `Entity` class and the child `DataSourceContext` class have helpers to dynamically set and get fields: - `setString(key: string, value: string): void` - `setI32(key: string, value: i32): void` @@ -801,9 +828,9 @@ Temel `Entity` sınıfı ve alt `DataSourceContext` sınıfı, alanları dinamik ### Manifest'teki DataSourceContext -`dataSources` içindeki `context` bölümü, subgraph eşlemeleriniz içinde erişilebilen anahtar-değer çiftlerini tanımlamanıza olanak tanır. Kullanılabilir türler `Bool`, `String`, `Int`, `Int8`, `BigDecimal`, `Bytes`, `List` ve `BigInt` şeklindedir. +The `context` section within `dataSources` allows you to define key-value pairs that are accessible within your subgraph mappings. The available types are `Bool`, `String`, `Int`, `Int8`, `BigDecimal`, `Bytes`, `List`, and `BigInt`. -İşte `context` bölümünde çeşitli türlerin kullanımını gösteren bir YAML örneği: +Here is a YAML example illustrating the usage of various types in the `context` section: ```yaml dataSources: @@ -843,13 +870,13 @@ dataSources: data: '1000000000000000000000000' ``` -- `Bool`: Bir Boolean değeri belirtir (`true` veya `false`). -- `String`: Bir String değeri belirtir. -- `Int`: 32 bitlik bir tamsayı belirtir. -- `Int8`: 8 bitlik bir tamsayı belirtir. -- `BigDecimal`: Bir ondalık sayı belirtir. Tırnak içine alınmalıdır. -- `Bytes`: Onaltılık bir dize belirtir. -- `List`: Bir öğe listesi belirtir. Her öğenin türünü ve verilerini belirtmesi gerekir. -- `BigInt`: Büyük bir tamsayı değeri belirtir. Büyük boyutu nedeniyle tırnak içine alınmalıdır. +- `Bool`: Specifies a Boolean value (`true` or `false`). +- `String`: Specifies a String value. +- `Int`: Specifies a 32-bit integer. +- `Int8`: Specifies an 8-bit integer. +- `BigDecimal`: Specifies a decimal number. Must be quoted. +- `Bytes`: Specifies a hexadecimal string. +- `List`: Specifies a list of items. Each item needs to specify its type and data. +- `BigInt`: Specifies a large integer value. Must be quoted due to its large size. Bu bağlama daha sonra subgraph eşleştirme dosyalarınızdan erişilebilir ve böylece daha dinamik ve yapılandırılabilir subgraphlar elde edebilirsiniz. From a716ff6ae74bbf97f8f3b9333086f5141224a7d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:26 -0400 Subject: [PATCH 1103/2326] New translations api.mdx (Ukrainian) --- website/pages/uk/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/uk/developing/graph-ts/api.mdx b/website/pages/uk/developing/graph-ts/api.mdx index 9fc543d4ab6b..bb8117478269 100644 --- a/website/pages/uk/developing/graph-ts/api.mdx +++ b/website/pages/uk/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API This page documents what built-in APIs can be used when writing subgraph mappings. Two kinds of APIs are available out of the box: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Version | Release notes | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| Version | Release notes | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Built-in Types -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Creating entities @@ -540,13 +542,38 @@ For more information: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Logging API ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### Type Conversions Reference -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Data Source Metadata From e921a788ed05269118d27c8c2b487287c23e6e0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:27 -0400 Subject: [PATCH 1104/2326] New translations api.mdx (Chinese Simplified) --- website/pages/zh/developing/graph-ts/api.mdx | 129 +++++++++++-------- 1 file changed, 78 insertions(+), 51 deletions(-) diff --git a/website/pages/zh/developing/graph-ts/api.mdx b/website/pages/zh/developing/graph-ts/api.mdx index c492fc65d087..366d823e518f 100644 --- a/website/pages/zh/developing/graph-ts/api.mdx +++ b/website/pages/zh/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API 此页面记录了编写子图映射时可以使用的内置 API。有两种开箱即用的 API: -- [Graph TypeScript库](https://github.com/graphprotocol/graph-ts) (`graph-ts`) 和 +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - 通过 `graph codegen` 生成的子图文件中的代码。 也可以添加其他库作为依赖项,只要它们与[AssemblyScript](https://github.com/AssemblyScript/assemblyscript)兼容即可。由于这是语言映射所写的,因此[AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki)是语言和标准库特性的良好来源。 @@ -17,7 +17,7 @@ title: AssemblyScript API - 用于处理以太坊智能合约、事件、区块、交易和以太坊价值的以太坊 API。 - 用于与图形节点交互,存储和加载实体的 存储 API。 -- 用于将消息记录Graph节点输出和Graph浏览器的log API。 +- A `log` API to log messages to the Graph Node output and Graph Explorer. - 用于从 IPFS 加载文件的ipfs API。 - 用于解析 JSON 数据的json API。 - 使用加密功能的crypto API。 @@ -27,18 +27,20 @@ title: AssemblyScript API 子图清单中的 `apiVersion` 指定了由 Graph Node 运行的特定子图的映射 API 版本。 -| 版本 | Release 说明 | -| :-: | --- | -| 0.0.7 | 添加了 `TransactionReceipt` 和 `Log` 类到以太坊类型。
    已将 `receipt` 字段添加到Ethereum Event对象。 | -| 0.0.6 | 向Ethereum Transaction对象添加了 nonce 字段 向 Etherum Block对象添加
    baseFeePerGas字段 | +| 版本 | Release 说明 | +| :---: | ------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | 添加了 `TransactionReceipt` 和 `Log` 类到以太坊类型。
    已将 `receipt` 字段添加到Ethereum Event对象。 | +| 0.0.6 | 向Ethereum Transaction对象添加了 nonce 字段 向 Etherum Block对象添加
    baseFeePerGas字段 | | 0.0.5 | AssemblyScript 升级到版本 0.19.10(这包括重大更改,参阅
    迁移指南)ethereum.transaction.gasUsed 重命名为 ethereum.transaction.gasLimit | -| 0.0.4 | 已向 Ethereum SmartContractCall对象添加了 `functionSignature` 字段。 | -| 0.0.3 | 已向Ethereum Call 对象添加了 `from` 字段。
    `etherem.call.address` 被重命名为 `ethereum.call.to`。 | -| 0.0.2 | 已向Ethereum Transaction对象添加了 `input` 字段。 | +| 0.0.4 | 已向 Ethereum SmartContractCall对象添加了 `functionSignature` 字段。 | +| 0.0.3 | 已向Ethereum Call 对象添加了 `from` 字段。
    `etherem.call.address` 被重命名为 `ethereum.call.to`。 | +| 0.0.2 | 已向Ethereum Transaction对象添加了 `input` 字段。 | ### 内置类型 -关于内置于 AssemblyScript 中的基本类型的文档可以在[AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types)中找到。 +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). 以下额外的类型由 `@graphprotocol/graph-ts` 提供。 @@ -77,7 +79,7 @@ title: AssemblyScript API BigDecimal 用于表示任意精度的小数。 -> 注意:[内部](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` 存储在[IEEE-754 十进制128位浮点格式](https://en.wikipedia.org/wiki/Decimal128_floating-point_format)中,支持34位十进制数字的有效位数。这使得 `BigDecimal` 不适合表示超过34位数字的固定点类型,比如 Solidity 中的 [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) 或相当类型。 +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. 结构 @@ -219,7 +221,7 @@ TypedMap 类具有以下 API: `store` API 允许从和到 Graph Node 存储加载、保存和删除实体。 -写入存储的实体与子图的 GraphQL 模式中定义的 `@entity` 类型一一对应。为了方便处理这些实体,由 [Graph CLI](https://github.com/graphprotocol/graph-cli) 提供的 `graph codegen` 命令会生成实体类,这些类是内置 `Entity` 类的子类,具有模式中字段的属性 getter 和 setter,以及加载和保存这些实体的方法。 +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### 创建实体 @@ -539,13 +541,38 @@ let decoded = ethereum.decode('(address,uint256)', encoded) - 您可以使用[Rust Ethereum ABI 库/CLI](https://github.com/rust-ethereum/ethabi)来进行编码和解码。 - 更复杂的示例可以在[这里](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72)找到。 +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### 日志记录 API ```typescript 从 '@graphprotocol/graph-ts'导入 { log } ``` -`log` API 允许子图将信息记录到 Graph Node 的标准输出以及 Graph Explorer。可以使用不同的日志级别记录消息。提供了一种基本的格式字符串语法来从参数组成日志消息。 +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. `log` API 包括以下函数: @@ -733,44 +760,44 @@ if (value.kind == JSONValueKind.BOOL) { ### 类型转换参考 -| 源类型 | 目标类型 | 转换函数 | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() 或 s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() 或 s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toU64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| 源类型 | 目标类型 | 转换函数 | +| --------------------------------------- | --------------------------------------- | ----------------------------------------------------------------- | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() 或 s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() 或 s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toU64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### 数据源元数据 From 4ccf5f534eb930295cb4bda2871a30a24cc73b99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:28 -0400 Subject: [PATCH 1105/2326] New translations api.mdx (Urdu (Pakistan)) --- website/pages/ur/developing/graph-ts/api.mdx | 129 +++++++++++-------- 1 file changed, 78 insertions(+), 51 deletions(-) diff --git a/website/pages/ur/developing/graph-ts/api.mdx b/website/pages/ur/developing/graph-ts/api.mdx index 9a1ddc26b5dd..06f34c63a77d 100644 --- a/website/pages/ur/developing/graph-ts/api.mdx +++ b/website/pages/ur/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: اسمبلی اسکرپٹ API یہ صفحہ دستاویز کرتا ہے کہ سب گراف میپنگ لکھتے وقت کیا بلٹ ان APIs استعمال کیا جا سکتا ہے۔ دو قسم کے APIs باکس سے باہر دستیاب ہیں: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| ورزن | جاری کردہ نوٹس | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| ورزن | جاری کردہ نوٹس | +| :---: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | | 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### بلٹ ان اقسام -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### ہستیوں کی تخلیق @@ -540,13 +542,38 @@ let decoded = ethereum.decode('(address,uint256)', encoded) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### لاگنگ API ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### تبادلوں کا حوالہ ٹائپ کریں -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### ڈیٹا ماخذ میٹا ڈیٹا From e898e08d7c340989434b06e3dfbce57eb483677b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:30 -0400 Subject: [PATCH 1106/2326] New translations api.mdx (Vietnamese) --- website/pages/vi/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/vi/developing/graph-ts/api.mdx b/website/pages/vi/developing/graph-ts/api.mdx index 1469f236a9a2..2d52d515d484 100644 --- a/website/pages/vi/developing/graph-ts/api.mdx +++ b/website/pages/vi/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API This page documents what built-in APIs can be used when writing subgraph mappings. Two kinds of APIs are available out of the box: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Phiên bản | Ghi chú phát hành | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| Phiên bản | Ghi chú phát hành | +| :-------: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Các loại cài sẵn -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Tạo các thực thể @@ -540,13 +542,38 @@ For more information: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Logging API ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### Tham chiếu Chuyển đổi Loại -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Siêu Dữ liệu Nguồn Dữ liệu From 0bbc72a4a75f437631812fbb269ef043d8d630e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:31 -0400 Subject: [PATCH 1107/2326] New translations api.mdx (Marathi) --- website/pages/mr/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/mr/developing/graph-ts/api.mdx b/website/pages/mr/developing/graph-ts/api.mdx index 16f403727d60..4e3ee22292c3 100644 --- a/website/pages/mr/developing/graph-ts/api.mdx +++ b/website/pages/mr/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: असेंबलीस्क्रिप्ट API सबग्राफ मॅपिंग लिहिताना कोणते अंगभूत API वापरले जाऊ शकतात हे हे पृष्ठ दस्तऐवजीकरण करते. बॉक्सच्या बाहेर दोन प्रकारचे API उपलब्ध आहेत: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| आवृत्ती | रिलीझ नोट्स | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| आवृत्ती | रिलीझ नोट्स | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### अंगभूत प्रकार -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ _Operators_ `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ It adds the following method on top of the `Bytes` API: The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### अंदाज निर्मिती करणे @@ -540,13 +542,38 @@ let decoded = ethereum.decode('(address,uint256)', encoded) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### लॉगिंग API ```typescript '@graphprotocol/graph-ts' वरून { log } आयात करा ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### प्रकार रूपांतरण संदर्भ -| Source(s) | Destination | Conversion function | -| ----------------------- | ----------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | स्ट्रिंग (हेक्साडेसिमल) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | स्ट्रिंग (हेक्साडेसिमल) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| स्ट्रिंग (हेक्साडेसिमल) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| ------------------------------------------ | ------------------------------------------ | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | स्ट्रिंग (हेक्साडेसिमल) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | स्ट्रिंग (हेक्साडेसिमल) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| स्ट्रिंग (हेक्साडेसिमल) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### डेटा स्रोत मेटाडेटा From 72481e71df9d9277ab2815ec516fde3fc571abf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:32 -0400 Subject: [PATCH 1108/2326] New translations api.mdx (Hindi) --- website/pages/hi/developing/graph-ts/api.mdx | 137 +++++++++++-------- 1 file changed, 80 insertions(+), 57 deletions(-) diff --git a/website/pages/hi/developing/graph-ts/api.mdx b/website/pages/hi/developing/graph-ts/api.mdx index 89ee43d6d0bb..a0b26fc204a5 100644 --- a/website/pages/hi/developing/graph-ts/api.mdx +++ b/website/pages/hi/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: असेंबलीस्क्रिप्ट एपीआई यह पृष्ठ दस्तावेज करता है कि सबग्राफ मैपिंग लिखते समय किन अंतर्निहित एपीआई का उपयोग किया जा सकता है। बॉक्स से बाहर दो प्रकार के एपीआई उपलब्ध हैं: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| संस्करण | रिलीज नोट्स | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| संस्करण | रिलीज नोट्स | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### अंतर्निहित प्रकार -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### संस्थाओं का निर्माण @@ -540,13 +542,38 @@ let decoded = ethereum.decode('(address,uint256)', encoded) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### लॉगिंग एपीआई ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -559,11 +586,7 @@ The `log` API includes the following functions: The `log` API takes a format string and an array of string values. It then replaces placeholders with the string values from the array. The first `{}` placeholder gets replaced by the first value in the array, the second `{}` placeholder gets replaced by the second value and so on. ```typescript -log.info('संदेश प्रदर्शित किया जाना है: {}, {}, {}', [ - value.toString(), - OtherValue.toString(), - 'पहले से ही एक स्ट्रिंग', -]) +log.info ('संदेश प्रदर्शित किया जाना है: {}, {}, {}', [value.toString (), OtherValue.toString (), 'पहले से ही एक स्ट्रिंग']) ``` #### एक या अधिक मान लॉग करना @@ -738,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### प्रकार रूपांतरण संदर्भ -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() या s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() या s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() या s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() या s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### डेटा स्रोत मेटाडेटा From c759343a93b0d5e08c2c066a951dc2bf082e1125 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:33 -0400 Subject: [PATCH 1109/2326] New translations api.mdx (Yoruba) --- website/pages/yo/developing/graph-ts/api.mdx | 131 +++++++++++-------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/website/pages/yo/developing/graph-ts/api.mdx b/website/pages/yo/developing/graph-ts/api.mdx index 9fc543d4ab6b..bb8117478269 100644 --- a/website/pages/yo/developing/graph-ts/api.mdx +++ b/website/pages/yo/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: AssemblyScript API This page documents what built-in APIs can be used when writing subgraph mappings. Two kinds of APIs are available out of the box: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-ts) (`graph-ts`) and +- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and - code generated from subgraph files by `graph codegen`. It is also possible to add other libraries as dependencies, as long as they are compatible with [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Since this is the language mappings are written in, the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki) is a good source for language and standard library features. @@ -17,7 +17,7 @@ The `@graphprotocol/graph-ts` library provides the following APIs: - An `ethereum` API for working with Ethereum smart contracts, events, blocks, transactions, and Ethereum values. - A `store` API to load and save entities from and to the Graph Node store. -- A `log` API to log messages to the Graph Node output and the Graph Explorer. +- A `log` API to log messages to the Graph Node output and Graph Explorer. - An `ipfs` API to load files from IPFS. - A `json` API to parse JSON data. - A `crypto` API to use cryptographic functions. @@ -27,18 +27,20 @@ The `@graphprotocol/graph-ts` library provides the following APIs: The `apiVersion` in the subgraph manifest specifies the mapping API version which is run by Graph Node for a given subgraph. -| Version | Release notes | -| :-: | --- | -| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | -| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | -| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | -| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | -| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | -| 0.0.2 | Added `input` field to the Ethereum Transaction object | +| Version | Release notes | +| :-----: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.7 | Added `TransactionReceipt` and `Log` classes to the Ethereum types
    Added `receipt` field to the Ethereum Event object | +| 0.0.6 | Added `nonce` field to the Ethereum Transaction object
    Added `baseFeePerGas` to the Ethereum Block object | +| 0.0.5 | AssemblyScript upgraded to version 0.19.10 (this includes breaking changes, please see the [`Migration Guide`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renamed to `ethereum.transaction.gasLimit` | +| 0.0.4 | Added `functionSignature` field to the Ethereum SmartContractCall object | +| 0.0.3 | Added `from` field to the Ethereum Call object
    `etherem.call.address` renamed to `ethereum.call.to` | +| 0.0.2 | Added `input` field to the Ethereum Transaction object | ### Built-in Types -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://github.com/AssemblyScript/assemblyscript/wiki/Types). +Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). The following additional types are provided by `@graphprotocol/graph-ts`. @@ -77,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' `BigDecimal` is used to represent arbitrary precision decimals. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. _Construction_ @@ -219,7 +221,7 @@ import { store } from '@graphprotocol/graph-ts' The `store` API allows to load, save and remove entities from and to the Graph Node store. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. #### Creating entities @@ -540,13 +542,38 @@ For more information: - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) - More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +#### Balance of an Address + +The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let balance = ethereum.getBalance(address) // returns balance in BigInt +``` + +#### Check if an Address is a Contract or EOA + +To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. + +```typescript +import { ethereum } from '@graphprotocol/graph-ts' + +let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77eC') +let isContract = ethereum.hasCode(contractAddr).inner // returns true + +let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') +let isContract = ethereum.hasCode(eoa).inner // returns false +``` + ### Logging API ```typescript import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as the Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. The `log` API includes the following functions: @@ -734,44 +761,44 @@ When the type of a value is certain, it can be converted to a [built-in type](#b ### Type Conversions Reference -| Source(s) | Destination | Conversion function | -| -------------------- | -------------------- | ---------------------------- | -| Address | Bytes | none | -| Address | String | s.toHexString() | -| BigDecimal | String | s.toString() | -| BigInt | BigDecimal | s.toBigDecimal() | -| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | -| BigInt | String (unicode) | s.toString() | -| BigInt | i32 | s.toI32() | -| Boolean | Boolean | none | -| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | -| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | -| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | -| Bytes | String (unicode) | s.toString() | -| Bytes | String (base58) | s.toBase58() | -| Bytes | i32 | s.toI32() | -| Bytes | u32 | s.toU32() | -| Bytes | JSON | json.fromBytes(s) | -| int8 | i32 | none | -| int32 | i32 | none | -| int32 | BigInt | BigInt.fromI32(s) | -| uint24 | i32 | none | -| int64 - int256 | BigInt | none | -| uint32 - uint256 | BigInt | none | -| JSON | boolean | s.toBool() | -| JSON | i64 | s.toI64() | -| JSON | u64 | s.toU64() | -| JSON | f64 | s.toF64() | -| JSON | BigInt | s.toBigInt() | -| JSON | string | s.toString() | -| JSON | Array | s.toArray() | -| JSON | Object | s.toObject() | -| String | Address | Address.fromString(s) | -| Bytes | Address | Address.fromBytes(s) | -| String | BigInt | BigInt.fromString(s) | -| String | BigDecimal | BigDecimal.fromString(s) | -| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | -| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | +| Source(s) | Destination | Conversion function | +| --------------------------------------- | --------------------------------------- | ------------------------------------------------------------------ | +| Address | Bytes | none | +| Address | String | s.toHexString() | +| BigDecimal | String | s.toString() | +| BigInt | BigDecimal | s.toBigDecimal() | +| BigInt | String (hexadecimal) | s.toHexString() or s.toHex() | +| BigInt | String (unicode) | s.toString() | +| BigInt | i32 | s.toI32() | +| Boolean | Boolean | none | +| Bytes (signed) | BigInt | BigInt.fromSignedBytes(s) | +| Bytes (unsigned) | BigInt | BigInt.fromUnsignedBytes(s) | +| Bytes | String (hexadecimal) | s.toHexString() or s.toHex() | +| Bytes | String (unicode) | s.toString() | +| Bytes | String (base58) | s.toBase58() | +| Bytes | i32 | s.toI32() | +| Bytes | u32 | s.toU32() | +| Bytes | JSON | json.fromBytes(s) | +| int8 | i32 | none | +| int32 | i32 | none | +| int32 | BigInt | BigInt.fromI32(s) | +| uint24 | i32 | none | +| int64 - int256 | BigInt | none | +| uint32 - uint256 | BigInt | none | +| JSON | boolean | s.toBool() | +| JSON | i64 | s.toI64() | +| JSON | u64 | s.toU64() | +| JSON | f64 | s.toF64() | +| JSON | BigInt | s.toBigInt() | +| JSON | string | s.toString() | +| JSON | Array | s.toArray() | +| JSON | Object | s.toObject() | +| String | Address | Address.fromString(s) | +| Bytes | Address | Address.fromBytes(s) | +| String | BigInt | BigInt.fromString(s) | +| String | BigDecimal | BigDecimal.fromString(s) | +| String (hexadecimal) | Bytes | ByteArray.fromHexString(s) | +| String (UTF-8) | Bytes | ByteArray.fromUTF8(s) | ### Data Source Metadata From 56ee3bf1da91697b9cb8415adb32f5122606c874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:34 -0400 Subject: [PATCH 1110/2326] New translations supported-networks.json (Romanian) --- website/pages/ro/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/ro/developing/supported-networks.json b/website/pages/ro/developing/supported-networks.json index 5e12392b8c7d..332c17881edf 100644 --- a/website/pages/ro/developing/supported-networks.json +++ b/website/pages/ro/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Network", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Serviciu găzduit", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Decentralized Network" } From 829e2dec60337762a34164dea4c8c4652c270aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:34 -0400 Subject: [PATCH 1111/2326] New translations supported-networks.json (French) --- website/pages/fr/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/fr/developing/supported-networks.json b/website/pages/fr/developing/supported-networks.json index de15337ae53a..a413376ed79a 100644 --- a/website/pages/fr/developing/supported-networks.json +++ b/website/pages/fr/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Réseau", "cliName": "Nom du CLI", "chainId": "ID de la chaîne", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Réseau décentralisé", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Service hébergé", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Réseau décentralisé" } From 330436d158d1172dc3c71093d400cca01b452eb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:35 -0400 Subject: [PATCH 1112/2326] New translations supported-networks.json (Spanish) --- website/pages/es/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/es/developing/supported-networks.json b/website/pages/es/developing/supported-networks.json index a1f4760729cf..d356ec601403 100644 --- a/website/pages/es/developing/supported-networks.json +++ b/website/pages/es/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Red", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Servicio Alojado", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Decentralized Network" } From 3afeea624744bd881521307069dc1b0af39ed139 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:36 -0400 Subject: [PATCH 1113/2326] New translations supported-networks.json (Arabic) --- website/pages/ar/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/ar/developing/supported-networks.json b/website/pages/ar/developing/supported-networks.json index 5e12392b8c7d..1be2d4d312fd 100644 --- a/website/pages/ar/developing/supported-networks.json +++ b/website/pages/ar/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Network", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "الخدمة المستضافة (Hosted Service)", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Decentralized Network" } From 897b822e00021e7d39649e0fa7cb69084072e37f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:37 -0400 Subject: [PATCH 1114/2326] New translations supported-networks.json (Czech) --- website/pages/cs/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/cs/developing/supported-networks.json b/website/pages/cs/developing/supported-networks.json index dd5c19f2524b..1e5dc169e9c8 100644 --- a/website/pages/cs/developing/supported-networks.json +++ b/website/pages/cs/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Síť", "cliName": "Název CLI", "chainId": "ID řetězce", - "studioAndHostedService": "Studio a hostovaná služba", - "decentralizedNetwork": "Decentralizovaná síť", - "supportedByUpgradeIndexer": "Podporováno pouze aktualizací Indexer", - "supportsSubstreams": "Podporuje Substreams" + "hostedService": "Hostovaná služba", + "subgraphStudio": "Podgraf Studio", + "decentralizedNetwork": "Decentralizovaná síť" } From 5288f9759335cdaeded1a94f3db0543c86ff9d3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:38 -0400 Subject: [PATCH 1115/2326] New translations supported-networks.json (German) --- website/pages/de/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/de/developing/supported-networks.json b/website/pages/de/developing/supported-networks.json index 5e12392b8c7d..5d06eb1bf08d 100644 --- a/website/pages/de/developing/supported-networks.json +++ b/website/pages/de/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Network", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Hosted Service", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Decentralized Network" } From 16c0200955762c7c53416e8b6f52e0a980d39c25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:39 -0400 Subject: [PATCH 1116/2326] New translations supported-networks.json (Italian) --- website/pages/it/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/it/developing/supported-networks.json b/website/pages/it/developing/supported-networks.json index fa21cfc48534..c2be29dcb133 100644 --- a/website/pages/it/developing/supported-networks.json +++ b/website/pages/it/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "La rete", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Hosted Service", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Decentralized Network" } From 7f8d430be3f1e24779470c3626da7771cab9b075 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:40 -0400 Subject: [PATCH 1117/2326] New translations supported-networks.json (Japanese) --- website/pages/ja/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/ja/developing/supported-networks.json b/website/pages/ja/developing/supported-networks.json index e85b15747865..28ee17b0dfc4 100644 --- a/website/pages/ja/developing/supported-networks.json +++ b/website/pages/ja/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "ネットワーク", "cliName": "CLI名", "chainId": "チェーンID", - "studioAndHostedService": "スタジオとホスティングサービス", - "decentralizedNetwork": "分散型ネットワーク", - "supportedByUpgradeIndexer": "アップグレードインデクサーでのみサポート", - "supportsSubstreams": "サブストリームをサポート" + "hostedService": "ホステッド サービス", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "分散型ネットワーク" } From c9d2aea24e8f44628795ace1850258ffdc9c0cfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:41 -0400 Subject: [PATCH 1118/2326] New translations supported-networks.json (Korean) --- website/pages/ko/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/ko/developing/supported-networks.json b/website/pages/ko/developing/supported-networks.json index 5e12392b8c7d..5d06eb1bf08d 100644 --- a/website/pages/ko/developing/supported-networks.json +++ b/website/pages/ko/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Network", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Hosted Service", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Decentralized Network" } From f5af2ab37103307544fb4570ce1c7134c77cf7ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:42 -0400 Subject: [PATCH 1119/2326] New translations supported-networks.json (Dutch) --- website/pages/nl/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/nl/developing/supported-networks.json b/website/pages/nl/developing/supported-networks.json index f80c16edfff8..cc90f1282ac8 100644 --- a/website/pages/nl/developing/supported-networks.json +++ b/website/pages/nl/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Netwerk", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Gehoste Dienst", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Decentralized Network" } From 2c0c85a25d90fcfec2ae8844017bfc4de61fc1da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:42 -0400 Subject: [PATCH 1120/2326] New translations supported-networks.json (Polish) --- website/pages/pl/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/pl/developing/supported-networks.json b/website/pages/pl/developing/supported-networks.json index 5e12392b8c7d..5d06eb1bf08d 100644 --- a/website/pages/pl/developing/supported-networks.json +++ b/website/pages/pl/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Network", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Hosted Service", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Decentralized Network" } From 6ce778cb77c7ecf3059f6e3bf93b1e24acc37373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:43 -0400 Subject: [PATCH 1121/2326] New translations supported-networks.json (Portuguese) --- website/pages/pt/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/pt/developing/supported-networks.json b/website/pages/pt/developing/supported-networks.json index 540247599f40..2d197eb0804d 100644 --- a/website/pages/pt/developing/supported-networks.json +++ b/website/pages/pt/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Rede", "cliName": "Nome na CLI", "chainId": "ID da Chain", - "studioAndHostedService": "Studio e Serviço Hospedado", - "decentralizedNetwork": "Rede Descentralizada", - "supportedByUpgradeIndexer": "Apoiado apenas por Indexadores de atualização", - "supportsSubstreams": "Apoia Substreams" + "hostedService": "Serviço Hospedado", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Rede Descentralizada" } From 086628650c4cd4896d2303fbc7284e9c51a5cad6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:44 -0400 Subject: [PATCH 1122/2326] New translations supported-networks.json (Russian) --- website/pages/ru/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/ru/developing/supported-networks.json b/website/pages/ru/developing/supported-networks.json index dd4ad15cc08b..67d087a307b2 100644 --- a/website/pages/ru/developing/supported-networks.json +++ b/website/pages/ru/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Сеть", "cliName": "Название CLI", "chainId": "ID чейна", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Децентрализованная сеть", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Hosted Service", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Децентрализованная сеть" } From 4f0fbe8cb0e9211a75a33850fc103fa106fe9e95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:45 -0400 Subject: [PATCH 1123/2326] New translations supported-networks.json (Swedish) --- website/pages/sv/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/sv/developing/supported-networks.json b/website/pages/sv/developing/supported-networks.json index b3b8866abbae..6351d1378bf1 100644 --- a/website/pages/sv/developing/supported-networks.json +++ b/website/pages/sv/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Nätverk", "cliName": "Kommandoradsgränssnitt namn", "chainId": "Kedje-ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentraliserat Nätverk", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Värdtjänster", + "subgraphStudio": "Subgraf Studion", + "decentralizedNetwork": "Decentraliserat Nätverk" } From e8dfb143e9c419e1f86948bdfdf53cc583c39275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:46 -0400 Subject: [PATCH 1124/2326] New translations supported-networks.json (Turkish) --- website/pages/tr/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/tr/developing/supported-networks.json b/website/pages/tr/developing/supported-networks.json index 5b9f2c56f4ce..ebc176ebf46a 100644 --- a/website/pages/tr/developing/supported-networks.json +++ b/website/pages/tr/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Ağ", "cliName": "CLI Adı", "chainId": "Zincir Kimliği", - "studioAndHostedService": "Stüdyo ve Barındırılan Hizmet", - "decentralizedNetwork": "Merkeziyetsiz Ağ", - "supportedByUpgradeIndexer": "Yalnızca yükseltme dizinleyicisi tarafından desteklenir", - "supportsSubstreams": "Substream'leri Destekler" + "hostedService": "Barındırılan Hizmet", + "subgraphStudio": "Subgraph Stüdyosu", + "decentralizedNetwork": "Merkeziyetsiz Ağ" } From bb7caae4f9e93ff12860c738e23062eda90cd5d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:47 -0400 Subject: [PATCH 1125/2326] New translations supported-networks.json (Ukrainian) --- website/pages/uk/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/uk/developing/supported-networks.json b/website/pages/uk/developing/supported-networks.json index 5e12392b8c7d..3bfaf9aa0e8c 100644 --- a/website/pages/uk/developing/supported-networks.json +++ b/website/pages/uk/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Network", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Хостинговий сервіс", + "subgraphStudio": "Субграф Студія", + "decentralizedNetwork": "Decentralized Network" } From 362975c17d737c8bde49c4534f9c6ac1f140e785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:47 -0400 Subject: [PATCH 1126/2326] New translations supported-networks.json (Chinese Simplified) --- website/pages/zh/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/zh/developing/supported-networks.json b/website/pages/zh/developing/supported-networks.json index 5e6294cec90e..8436f397e56e 100644 --- a/website/pages/zh/developing/supported-networks.json +++ b/website/pages/zh/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "网络", "cliName": "CLI名字", "chainId": "链id", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "去中心化网络", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "托管服务", + "subgraphStudio": "子图工作室", + "decentralizedNetwork": "去中心化网络" } From eb4a568078edaed9eaca186026ac438380c0b604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:48 -0400 Subject: [PATCH 1127/2326] New translations supported-networks.json (Urdu (Pakistan)) --- website/pages/ur/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/ur/developing/supported-networks.json b/website/pages/ur/developing/supported-networks.json index 1286c4859e34..075bad433e57 100644 --- a/website/pages/ur/developing/supported-networks.json +++ b/website/pages/ur/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "نیٹ ورک", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "ہوسٹڈ سروس", + "subgraphStudio": "سب گراف سٹوڈیو", + "decentralizedNetwork": "Decentralized Network" } From 503104aac3ba9fcad7d2fc527cd9266b62bce15e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:49 -0400 Subject: [PATCH 1128/2326] New translations supported-networks.json (Vietnamese) --- website/pages/vi/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/vi/developing/supported-networks.json b/website/pages/vi/developing/supported-networks.json index ce2e98ccfe7c..a6fdbdac3891 100644 --- a/website/pages/vi/developing/supported-networks.json +++ b/website/pages/vi/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Mạng lưới", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Dịch vụ được lưu trữ", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Decentralized Network" } From 6e343003bee5edd61f964eaa41520793b709328f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:50 -0400 Subject: [PATCH 1129/2326] New translations supported-networks.json (Marathi) --- website/pages/mr/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/mr/developing/supported-networks.json b/website/pages/mr/developing/supported-networks.json index 5e12392b8c7d..5d06eb1bf08d 100644 --- a/website/pages/mr/developing/supported-networks.json +++ b/website/pages/mr/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Network", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Hosted Service", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Decentralized Network" } From c4d0a461299827f154d40bc451cfc02c147618bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:51 -0400 Subject: [PATCH 1130/2326] New translations supported-networks.json (Hindi) --- website/pages/hi/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/hi/developing/supported-networks.json b/website/pages/hi/developing/supported-networks.json index d09515af0489..ae1a69bfc019 100644 --- a/website/pages/hi/developing/supported-networks.json +++ b/website/pages/hi/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "नेटवर्क", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Hosted Service", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Decentralized Network" } From 4dd48d003feee2eb0dd1aae05d65cf8f5e87d1aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:52 -0400 Subject: [PATCH 1131/2326] New translations supported-networks.json (Yoruba) --- website/pages/yo/developing/supported-networks.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/website/pages/yo/developing/supported-networks.json b/website/pages/yo/developing/supported-networks.json index 5e12392b8c7d..5d06eb1bf08d 100644 --- a/website/pages/yo/developing/supported-networks.json +++ b/website/pages/yo/developing/supported-networks.json @@ -2,8 +2,7 @@ "network": "Network", "cliName": "CLI Name", "chainId": "Chain ID", - "studioAndHostedService": "Studio and Hosted Service", - "decentralizedNetwork": "Decentralized Network", - "supportedByUpgradeIndexer": "Supported only by upgrade Indexer", - "supportsSubstreams": "Supports Substreams" + "hostedService": "Hosted Service", + "subgraphStudio": "Subgraph Studio", + "decentralizedNetwork": "Decentralized Network" } From 7d4f671f5dcbeddf690339edbc4caba13004b328 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:52 -0400 Subject: [PATCH 1132/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Romanian) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/ro/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/ro/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/ro/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/ro/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 5de7db577af82614d6bb448543302cce5018dc3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:53 -0400 Subject: [PATCH 1133/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (French) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/fr/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/fr/querying/querying-by-subgraph-id-vs-deployment-id.mdx index 6dc329c45023..91eb7ec02307 100644 --- a/website/pages/fr/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/fr/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Identifiant du Subgraph VS. Identifiant de déploiement Un Subgraph est identifié par un identifiant Subgraph (Subpgraph ID), et chaque version de ce subgraph est identifiée par un identifiant de déploiement (Deployment ID). -Lors de l'exécution d'une requête sur un Subgraph, n'importe quel ID peut être utilisé (Subraph ID, Deployment ID). Cependant, il y a d'importantes différences entre ces deux options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Identifiant du Subgraph - -Chaque Subgraph a un indentifiant. Cet identifiant est unique. Il s'agit de l'identifiant du Subgraph (Subgraph ID). Cet identifiant reste identique au fil des versions d'un Subgraph. Lorsque des requêtes sont executées en utilisant l'identifiant du Subgraph (Subgraph ID), aucune version n'est spécifiée par défaut. Cela signifie que la version du Subgraph répondant à votre requête ne sera pas nécessairement la dernière version. Par défaut, la plus récente version synchronisée et saine du Subgraph sera utilisée. - -Exemple d'endpoint utilisant l'identifiant du Subgraph: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Identifiant de déploiement -Depuis un Subgraph deployé, il est possible de sélectionner une version parmi l'intégralité des versions précédemment déployées. Chaque version a un identifiant de déploiement (Deployment ID) unique. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -Lorsque vous utilisez un identifiant de déploiement (Deployment ID) afin d'exécuter une requête sur un Subgraph, vous spécifiez directement une version de Subgraph à requêter. Cela signifie que c'est cette version spécifique du Subgraph - avec cet identifiant de déploiement - qui répondra à votre requête. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Exemple d'endpoint utilisant l'identifiant de déploiement: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## À savoir : Identifiant du Subgraph VS. Identifiant de déploiement +## Identifiant du Subgraph -Si vous souhaitez être certain que la dernière version de votre Subgraph sera celle utilisée par votre requête, vous devriez utiliser l'identifiant de déploiement (Deployment ID). Cela nécessite que vous mettiez à jour l'identifiant de déploiement de votre Subgraph depuis le front-end de votre application lorsque vous publiez une nouvelle version de votre Subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -Si vous souhaitez qu'une version spécifique de votre Subgraph soit utilisée par votre requête, vous devriez également utiliser l'identifiant de déploiement (Deployment ID). +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -Si vous n'avez pas besoin d'utiliser la dernière version de votre Subgraph pour vos requêtes, vous pouvez utiliser l'identifiant du Subgraph (Subgraph ID) directement. Cependant, ayez en tête qu'une version plus ancienne de votre Subgraph pourra être utilisée pour répondre à vos requêtes en utilisant cette méthode. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 9c3d6ff4e506ae58b7d62464553e896c9ab1bbef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:54 -0400 Subject: [PATCH 1134/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Spanish) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/es/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/es/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/es/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/es/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From aa79367ea3e650cccdbf5323d723ef3e03cf589b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:55 -0400 Subject: [PATCH 1135/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Arabic) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/ar/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/ar/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/ar/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/ar/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 0be0a5bf0c60a9aab7c7c41fcfc0ab002725f931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:56 -0400 Subject: [PATCH 1136/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Czech) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/cs/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/cs/querying/querying-by-subgraph-id-vs-deployment-id.mdx index 446286fc0b45..7bef9e129e33 100644 --- a/website/pages/cs/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/cs/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: ID podgrafu vs. ID nasazení Podgraf je identifikován ID podgrafu a každá verze podgrafu je identifikována ID nasazení. -Při dotazování na podgraf lze použít obě ID. Mezi oběma možnostmi však existují některé důležité rozdíly. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## ID podgrafu - -ID podgrafu je jedinečný identifikátor podgrafu. Zůstává konstantní ve všech verzích podgrafu. Při dotazování pomocí ID podgrafu se verze neurčuje. To znamená, že verze podgrafu, která odpovídá na váš dotaz, nemusí být nejnovější verzí. Spíše to bude nejnovější verze, která je synchronizovaná a zdravá. - -Příklad koncového bodu, který používá ID podgrafu: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## ID nasazení -Při prohlížení nasazeného podgrafu jsou k dispozici dříve nasazené verze, které lze vybrat. Každá verze v tomto seznamu má jedinečné ID nasazení. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -Při zadávání dotazů pomocí ID nasazení zadáváte verzi tohoto podgrafu, na kterou se má dotazovat. To znamená, že verze podgrafu, která odpoví na váš dotaz, bude verze určená ID nasazení. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Příklad koncového bodu, který používá ID nasazení: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Úvahy při použití ID podgrafu vs. ID nasazení +## ID podgrafu -Pokud chcete zajistit, aby na vaše dotazy odpovídala nejnovější verze podgrafu, měli byste použít ID nasazení. To vyžaduje, abyste ID nasazení aktualizovali ve svém frontendu vždy, když zveřejníte novou verzi subgrafu. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -Pokud chcete mít jistotu, že se dotazujete na konkrétní verzi podgrafu, měli byste použít také ID nasazení. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -Pokud nepotřebujete zajistit, aby na vaše dotazy odpovídala vždy nejnovější verze podgrafu, můžete použít ID podgrafu. Uvědomte si však, že to může vést k tomu, že na vaše dotazy bude odpovídat starší verze vašeho podgrafu. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From eef96caa853ebec0e84015a8ce1519e4011c4d8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:57 -0400 Subject: [PATCH 1137/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (German) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/de/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/de/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/de/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/de/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 8889e8c6926f572a3651ce0b1270d5526ee2d61b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:58 -0400 Subject: [PATCH 1138/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Italian) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/it/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/it/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/it/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/it/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 0a6273c7e57a693062aa9f9eb949e7f1b091f8ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:58 -0400 Subject: [PATCH 1139/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Japanese) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/ja/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/ja/querying/querying-by-subgraph-id-vs-deployment-id.mdx index 12718190865f..d1964ae0764b 100644 --- a/website/pages/ja/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/ja/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID サブグラフはサブグラフIDで識別され、サブグラフの各バージョンはデプロイメントIDで識別されます。 -サブグラフをクエリする場合、どちらのIDも使用できます。しかし、この2つのオプションには重要な違いがあります。 +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -Subgraph IDは、サブグラフの一意な識別子です。このIDは、サブグラフのすべてのバージョンで一定のものです。Subgraph IDを使用してクエリを実行する場合、バージョンは指定されません。つまり、クエリに応答するサブグラフのバージョンは、最新バージョンとは限りません。むしろ、同期された健全な最新バージョンになります。 - -Subgraph ID を使用するエンドポイントの例: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -デプロイされたサブグラフを表示しているとき、以前にデプロイされたバージョンを選択することができます。そのリスト内の各バージョンは、ユニークななDeployment IDを持っています。 +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -Deployment IDを使用してクエリを実行する場合、そのサブグラフのバージョンを指定してクエリを実行します。つまり、クエリに応答するサブグラフのバージョンは、Deployment IDで指定されたバージョンになります。 +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Deployment ID を使用するエンドポイントの例: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Subgraph IDとDeployment IDを使い分ける際の注意点 +## Subgraph ID -最新バージョンのサブグラフが確実にクエリに応答するようにするには、Deployment IDを使用する必要があります。この場合、サブグラフの新バージョンを公開するたびに、フロントエンドでDeployment IDを更新する必要があります。 +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -サブグラフの特定のバージョンをクエリしていることを確認したい場合は、Deployment IDも使用します。 +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -最新バージョンのサブグラフが常にクエリに応答することを保証する必要がない場合は、Subgraph IDを使用することができます。しかし、この場合、古いバージョンのサブグラフがクエリに応答する可能性があることに注意してください。 +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From d91fbdc7e91705de35edcab04440a5cbcfe21991 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:45:59 -0400 Subject: [PATCH 1140/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Korean) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/ko/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/ko/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/ko/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/ko/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From ece78419b6544c101adca28b20f344b7628e09cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:00 -0400 Subject: [PATCH 1141/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Dutch) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/nl/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/nl/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/nl/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/nl/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From e113778a486e7b5966ccc2b3a619429133024560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:01 -0400 Subject: [PATCH 1142/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Polish) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/pl/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/pl/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/pl/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/pl/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 3e5c11b82d710e490eddc7ed7845802e1134152b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:02 -0400 Subject: [PATCH 1143/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Portuguese) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx index 1b600df7e472..1505d0164f58 100644 --- a/website/pages/pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: ID de Subgraph contra ID de Lançamento Um subgraph é identificado por um ID de Subgraph, e cada versão do subgraph é identificada por um ID de Lançamento. -Ao consultar um subgraph, qualquer dos dois IDs pode ser usado. Porém, há algumas diferenças importantes entre as duas opções. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## ID de Subgraph - -A ID de Subgraph é uma identificadora única para um subgraph, que permanece constante por todas as versões de um subgraph. Quando a ID do Subgraph é usada para uma consulta, você não especifica uma versão. Isto significa que a versão do subgraph que responde ao seu query pode não ser a versão mais recente. Em vez disto, será a versão mais recente que estiver sincronizada e saudável. - -Exemplo de endpoint que usa ID de Subgraph: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## ID de Lançamento -Ao visualizar um subgraph lançado, as versões anteriores estão disponíveis para seleção. Cada versão naquela lista tem um ID de Lançamento único. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -Ao fazer queries com o ID de Lançamento, é especificada uma versão daquele subgraph para consultar. Isto significa que a versão do subgraph que responderá ao seu query será a versão especificada pelo ID de Lançamento. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Exemplo de endpoint que usa ID de Lançamento: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerações ao Usar ID de Subgraph contra ID de Lançamento +## ID de Subgraph -Se quiser garantir que a versão mais recente do seu subgraph responda aos seus queries, é necessário usar o ID de Lançamento. Isto exige a atualização do ID de Lançamento no seu frontend quando for editada uma versão nova do seu subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -Se quiser garantir que está a consultar uma versão específica do seu subgraph, use também a ID de Lançamento. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -Se não precisas garantir que a versão mais recente do seu subgraph sempre responda aos seus queries, use a ID de Subgraph. Entretando, fique ciente que isto pode fazer com que os seus queries sejam respondidos por uma versão mais antiga do seu subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 16bff94daa34361ed077d8d60af51dd4ea4667a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:03 -0400 Subject: [PATCH 1144/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Russian) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/ru/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/ru/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/ru/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/ru/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From d9081b3eccd13b845c25e2e0e141687a58957dea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:04 -0400 Subject: [PATCH 1145/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Swedish) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/sv/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/sv/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/sv/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/sv/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 69ab22fb2dde8f1c85fb9b3d9ecc1a4d960ed2c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:04 -0400 Subject: [PATCH 1146/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Turkish) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 34 +++++++------------ 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/website/pages/tr/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/tr/querying/querying-by-subgraph-id-vs-deployment-id.mdx index 8fc33301e424..103e470e14da 100644 --- a/website/pages/tr/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/tr/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -1,35 +1,27 @@ --- -title: Subgraph Kimliği vs Dağıtım Kimliği +title: Subgraph ID vs Deployment ID --- -Bir subgraph, bir Subgraph Kimliği ile tanımlanır ve subgraph'in her sürümü, bir Dağıtım Kimliği ile tanımlanır. +A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -Bir subgraph'i sorgularken her iki ID de kullanılabilir. Ancak, iki seçenek arasında bazı önemli farklar vardır. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) -## Subgraph Kimliği +## Deployment ID -Subgraph kimliği, bir subgraph için benzersiz bir tanımlayıcıdır. Bir subgraph'in tüm sürümlerinde sabit kalır. Sorgular Subgraph Kimliği kullanılarak yapıldığında, bir sürüm belirtmezsiniz. Bu, sorgunuza yanıt veren subgraph'in sürümünün en son sürüm olmayabileceği anlamına gelir. Bunun yerine, senkronize edilmiş ve sağlıklı olan en son sürüm olacaktır. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -Subgraph Kimliğini kullanan örnek uç nokta: +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Example endpoint that uses Deployment ID: -## Dağıtım Kimliği +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -Deploy edilmiş bir subgraph'i görüntülerken, daha önce konuşlandırılmış sürümler seçim için kullanılabilir. Bu listedeki her sürümün benzersiz bir Dağıtım Kimliği vardır. +## Subgraph ID -Dağıtım Kimliğini kullanarak sorgu yaptığınızda, o subgraph'in sorgulanacak bir sürümünü belirtmiş olursunuz. Bu, sorgunuza yanıt veren subgraph'in sürümünün Dağıtım Kimliği tarafından belirtilen sürüm olacağı anlamına gelir. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -Dağıtım Kimliğini kullanan örnek uç nokta: +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` - -## Subgraph Kimliği ve Dağıtım Kimliği Kullanırken Dikkat Edilecek Hususlar - -Subgraph'inizin en son sürümünün sorgularınıza yanıt verdiğinden emin olmak istiyorsanız Dağıtım Kimliğini kullanmalısınız. Bu, subgraph'inizin yeni bir sürümünü her yayınladığınızda ön ucunuzdaki Dağıtım Kimliğini güncellemenizi gerektirir. - -Subgraph'inizin belirli bir sürümünü sorguladığınızdan emin olmak istiyorsanız Dağıtım Kimliğini de kullanmalısınız. - -Subgraph'inizin en son sürümünün her zaman sorularınıza yanıt vereceğinden emin olmanız gerekmiyorsa Subgraph Kimliğini kullanabilirsiniz. Ancak bunun, sorularınızın subgraph'inizin eski bir sürümü tarafından yanıtlanmasıyla sonuçlanabileceğini unutmayın. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From db7c3edc262a5859ee58dc7e0944e92cff45a786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:05 -0400 Subject: [PATCH 1147/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Ukrainian) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/uk/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/uk/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/uk/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/uk/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 62324ca364ff3acb21c308fb2f40a90c9ad8889a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:06 -0400 Subject: [PATCH 1148/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Chinese Simplified) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/zh/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/zh/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/zh/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/zh/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 9b1e80c895c6c8760f5c2cb7283c1af583f420da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:07 -0400 Subject: [PATCH 1149/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Urdu (Pakistan)) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/ur/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/ur/querying/querying-by-subgraph-id-vs-deployment-id.mdx index 23dd3ea36a43..14128acd1789 100644 --- a/website/pages/ur/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/ur/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: سب گراف شناخت بمقابلہ تعیناتی شناخت سب گراف کی شناخت سب گراف شناخت کے ذریعے کی جاتی ہے، اور سب گراف کے ہر ورژن کی شناخت ایک تعیناتی شناخت سے ہوتی ہے۔ -سب گراف سے کیوری کرتے وقت، یا تو شناخت استعمال کی جا سکتی ہے۔ تاہم، دو اختیارات کے درمیان کچھ اہم اختلافات ہیں. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## سب گراف شناخت - -سب گراف شناخت سب گراف کے لیے ایک منفرد شناخت کنندہ ہے۔ یہ سب گراف کے تمام ورژنز میں مستقل رہتا ہے۔ جب سب گراف شناخت کا استعمال کرتے ہوئے کیوریز کی جاتی ہیں، تو آپ کسی ورژن کی وضاحت نہیں کر رہے ہیں۔ اس کا مطلب ہے کہ سب گراف کا وہ ورژن جو آپ کے کیوری کا جواب دیتا ہے وہ تازہ ترین ورژن نہیں ہوسکتا ہے۔ بلکہ، یہ سب سے حالیہ ورژن ہوگا جو مطابقت پذیر اور صحت مند ہے۔ - -مثالی اینڈ پوائنٹ جو سب گراف شناخت استعمال کرتا ہے: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## تعیناتی شناخت -جب آپ تعینات کردہ سب گراف دیکھ رہے ہوتے ہیں، تو پہلے سے تعینات ورژن انتخاب کے لیے دستیاب ہوتے ہیں۔ اس فہرست میں ہر ورژن کی ایک منفرد تعیناتی شناخت ہے۔ +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -جب آپ تعیناتی شناخت کا استعمال کرتے ہوئے کیوریز کرتے ہیں، تو آپ کیوری کے لیے اس سب گراف کا ایک ورژن بتا رہے ہوتے ہیں۔ اس کا مطلب ہے کہ سب گراف کا وہ ورژن جو آپ کے کیوری کا جواب دیتا ہے وہی ورژن ہو گا جو تعیناتی شناخت کے ذریعے بیان کیا گیا ہے۔ +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. مثالی اینڈ پوائنٹ جو سب گراف شناخت استعمال کرتا ہے: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## سب گراف شناخت بمقابلہ تعیناتی شناخت استعمال کرتے وقت غور و فکر +## سب گراف شناخت -اگر آپ اس بات کو یقینی بنانا چاہتے ہیں کہ آپ کے سب گراف کا تازہ ترین ورژن آپ کے کیوریز کا جواب دیتا ہے، تو آپ کو تعیناتی شناخت استعمال کرنا چاہیے۔ اس کے لیے آپ کو اپنے فرنٹ اینڈ میں تعیناتی شناخت کو اپ ڈیٹ کرنے کی ضرورت ہوتی ہے جب بھی آپ اپنے سب گراف کا نیا ورژن شائع کرتے ہیں۔ +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -اگر آپ یہ یقینی بنانا چاہتے ہیں کہ آپ اپنے سب گراف کے مخصوص ورژن سے کیوری کر رہے ہیں، تو آپ کو تعیناتی شناخت بھی استعمال کرنی چاہیے۔ +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -اگر آپ کو یہ یقینی بنانے کی ضرورت نہیں ہے کہ آپ کے سب گراف کا تازہ ترین ورژن ہمیشہ آپ کی کیوریز کا جواب دیتا ہے، تو آپ سب گراف شناخت استعمال کر سکتے ہیں۔ تاہم، آگاہ رہیں کہ اس کے نتیجے میں آپ کی کیوریز کا جواب آپ کے سب گراف کے پرانے ورژن کے ذریعے دیا جا سکتا ہے۔ +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 0171f39cc05736a8d8749984d526c39c3f8e37d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:08 -0400 Subject: [PATCH 1150/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Vietnamese) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/vi/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/vi/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/vi/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/vi/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From f93e0b96e01be67c1f6eb0cb70c4566f50c202d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:09 -0400 Subject: [PATCH 1151/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Marathi) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/mr/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/mr/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/mr/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/mr/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From af43dcc56e9ff3c281555f2c64c4bdf66c8adbc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:09 -0400 Subject: [PATCH 1152/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Hindi) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/hi/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/hi/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/hi/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/hi/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 444fba2c99323040d87350651025d6ddf7111d50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:10 -0400 Subject: [PATCH 1153/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Yoruba) --- ...erying-by-subgraph-id-vs-deployment-id.mdx | 26 +++++++------------ 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/website/pages/yo/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/yo/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d6f9a8c3c171..103e470e14da 100644 --- a/website/pages/yo/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/yo/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -4,32 +4,24 @@ title: Subgraph ID vs Deployment ID A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. -When querying a subgraph, either ID can be used. However, there are some important differences between the two options. +When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. -![](/img/subgraph-id-vs-deployment-id.png) - -## Subgraph ID - -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. When queries are made using the Subgraph ID, you are not specifying a version. This means that the version of the subgraph that responds to your query may not be the latest version. Rather, it will be the most recent version that is synced and healthy. - -Example endpoint that uses Subgraph ID: - -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## Deployment ID -When you're viewing a deployed subgraph, previously deployed versions are available for selection. Each version in that list has a unique Deployment ID. +The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When you make queries using the Deployment ID, you are specifying a version of that subgraph to query. This means that the version of the subgraph that responds to your query will be the version specified by the Deployment ID. +When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. Example endpoint that uses Deployment ID: -`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` +`https://gateway-arbitrum.network.thegraph.com/api/[api-key]/deployments/id/QmfYaVdSSekUeK6expfm47tP8adg3NNdEGnVExqswsSwaB` -## Considerations When Using Subgraph ID vs Deployment ID +## Subgraph ID -If you want to ensure that the latest version of your subgraph responds to your queries, you should use the Deployment ID. This requires you to update the Deployment ID in your frontend whenever you publish a new version of your subgraph. +The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. -If you want to ensure you are querying a specific version of your subgraph, you should also use Deployment ID. +Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. -If you do not need to ensure that the latest version of your subgraph always responds to your queries, you can use the Subgraph ID. However, be aware that this may result in your queries being responded to by an older version of your subgraph. +Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From a6d82f00ad85ccfbe261608452859f315545eaa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:11 -0400 Subject: [PATCH 1154/2326] New translations avoid-eth-calls.mdx (Romanian) --- website/pages/ro/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/ro/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/ro/cookbook/avoid-eth-calls.mdx b/website/pages/ro/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/ro/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From e5c06038a3aeb4e1c290500d746367eab5938dcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:12 -0400 Subject: [PATCH 1155/2326] New translations avoid-eth-calls.mdx (French) --- website/pages/fr/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/fr/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/fr/cookbook/avoid-eth-calls.mdx b/website/pages/fr/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/fr/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 841ec4174898e6fc5f387c41f055e9659cde2add Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:13 -0400 Subject: [PATCH 1156/2326] New translations avoid-eth-calls.mdx (Spanish) --- website/pages/es/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/es/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/es/cookbook/avoid-eth-calls.mdx b/website/pages/es/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/es/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From ffd2762ed1ad3984f01b20bf57de55013c29adf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:13 -0400 Subject: [PATCH 1157/2326] New translations avoid-eth-calls.mdx (Arabic) --- website/pages/ar/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/ar/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/ar/cookbook/avoid-eth-calls.mdx b/website/pages/ar/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/ar/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 1cf1b932050882b55bbdc0d15b1905dd218920c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:14 -0400 Subject: [PATCH 1158/2326] New translations avoid-eth-calls.mdx (Czech) --- website/pages/cs/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/cs/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/cs/cookbook/avoid-eth-calls.mdx b/website/pages/cs/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/cs/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 642be94c85fefa46eda8cf8bc93dc29d63bf7a44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:15 -0400 Subject: [PATCH 1159/2326] New translations avoid-eth-calls.mdx (German) --- website/pages/de/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/de/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/de/cookbook/avoid-eth-calls.mdx b/website/pages/de/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/de/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 6bfd7161a4285ce58d13926cc7d7bc96207bdcab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:16 -0400 Subject: [PATCH 1160/2326] New translations avoid-eth-calls.mdx (Italian) --- website/pages/it/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/it/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/it/cookbook/avoid-eth-calls.mdx b/website/pages/it/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/it/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From daefc0be49457d2c93a8f5bc7adbe3346890a034 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:16 -0400 Subject: [PATCH 1161/2326] New translations avoid-eth-calls.mdx (Japanese) --- website/pages/ja/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/ja/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/ja/cookbook/avoid-eth-calls.mdx b/website/pages/ja/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/ja/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From c8a7be8d5fc3d247a675a3d128f7dac675642d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:17 -0400 Subject: [PATCH 1162/2326] New translations avoid-eth-calls.mdx (Korean) --- website/pages/ko/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/ko/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/ko/cookbook/avoid-eth-calls.mdx b/website/pages/ko/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/ko/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 340de5642161ce7f3463495bf629274daaae801b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:18 -0400 Subject: [PATCH 1163/2326] New translations avoid-eth-calls.mdx (Dutch) --- website/pages/nl/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/nl/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/nl/cookbook/avoid-eth-calls.mdx b/website/pages/nl/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/nl/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From c822b973de5c0c0b282d2c6e2744559e33de15a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:19 -0400 Subject: [PATCH 1164/2326] New translations avoid-eth-calls.mdx (Polish) --- website/pages/pl/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/pl/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/pl/cookbook/avoid-eth-calls.mdx b/website/pages/pl/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/pl/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From d33f9f9acb1bdea4d0eecfd831a6710796f723d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:20 -0400 Subject: [PATCH 1165/2326] New translations avoid-eth-calls.mdx (Portuguese) --- website/pages/pt/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/pt/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/pt/cookbook/avoid-eth-calls.mdx b/website/pages/pt/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/pt/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From a992a25662380e324cceb3acf31178c3945300d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:20 -0400 Subject: [PATCH 1166/2326] New translations avoid-eth-calls.mdx (Russian) --- website/pages/ru/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/ru/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/ru/cookbook/avoid-eth-calls.mdx b/website/pages/ru/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/ru/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 440f65083e2cc0debdc5793340c1ba976911e01e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:21 -0400 Subject: [PATCH 1167/2326] New translations avoid-eth-calls.mdx (Swedish) --- website/pages/sv/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/sv/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/sv/cookbook/avoid-eth-calls.mdx b/website/pages/sv/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/sv/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 119b1e91fb443f5eecfd6ab96ab33dc3acbf3ac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:22 -0400 Subject: [PATCH 1168/2326] New translations avoid-eth-calls.mdx (Turkish) --- website/pages/tr/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/tr/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/tr/cookbook/avoid-eth-calls.mdx b/website/pages/tr/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/tr/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 4a58e92d36bcb4e5d25dc753283befe5fb03d1e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:23 -0400 Subject: [PATCH 1169/2326] New translations avoid-eth-calls.mdx (Ukrainian) --- website/pages/uk/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/uk/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/uk/cookbook/avoid-eth-calls.mdx b/website/pages/uk/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/uk/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 53136747399eb2601dd1feb5ac2c7f117cc19603 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:24 -0400 Subject: [PATCH 1170/2326] New translations avoid-eth-calls.mdx (Chinese Simplified) --- website/pages/zh/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/zh/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/zh/cookbook/avoid-eth-calls.mdx b/website/pages/zh/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/zh/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 82ff61fc191e1dc6df6b2c7ab7257c1f91cbd1bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:24 -0400 Subject: [PATCH 1171/2326] New translations avoid-eth-calls.mdx (Urdu (Pakistan)) --- website/pages/ur/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/ur/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/ur/cookbook/avoid-eth-calls.mdx b/website/pages/ur/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/ur/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 033b2b3c2bf77067b9608bc1a3565e5f28a83edf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:25 -0400 Subject: [PATCH 1172/2326] New translations avoid-eth-calls.mdx (Vietnamese) --- website/pages/vi/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/vi/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/vi/cookbook/avoid-eth-calls.mdx b/website/pages/vi/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/vi/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 4529a4d8cfac82438d03255be4d3d8928c720566 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:26 -0400 Subject: [PATCH 1173/2326] New translations avoid-eth-calls.mdx (Marathi) --- website/pages/mr/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/mr/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/mr/cookbook/avoid-eth-calls.mdx b/website/pages/mr/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/mr/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From b15dc10b6fc95ccca795ab1de8ed36660b62e287 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:27 -0400 Subject: [PATCH 1174/2326] New translations avoid-eth-calls.mdx (Hindi) --- website/pages/hi/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/hi/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/hi/cookbook/avoid-eth-calls.mdx b/website/pages/hi/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/hi/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From 0db94b2ab313f71b7f12ab0aa04a40e28196d7fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:27 -0400 Subject: [PATCH 1175/2326] New translations avoid-eth-calls.mdx (Yoruba) --- website/pages/yo/cookbook/avoid-eth-calls.mdx | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 website/pages/yo/cookbook/avoid-eth-calls.mdx diff --git a/website/pages/yo/cookbook/avoid-eth-calls.mdx b/website/pages/yo/cookbook/avoid-eth-calls.mdx new file mode 100644 index 000000000000..446b0e8ecd17 --- /dev/null +++ b/website/pages/yo/cookbook/avoid-eth-calls.mdx @@ -0,0 +1,102 @@ +--- +title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +--- + +## TLDR + +`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. + +## Why Avoiding `eth_calls` Is a Best Practice + +Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. + +### What Does an eth_call Look Like? + +`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: + +```yaml +event Transfer(address indexed from, address indexed to, uint256 value); +``` + +Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, Transfer } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransfer(event: Transfer): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + // Bind the ERC20 contract instance to the given address: + let instance = ERC20.bind(event.address) + + // Retrieve pool information via eth_call + let poolInfo = instance.getPoolInfo(event.params.to) + + transaction.pool = poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is functional, however is not ideal as it slows down our subgraph’s indexing. + +## How to Eliminate `eth_calls` + +Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: + +``` +event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); +``` + +With this update, the subgraph can directly index the required data without external calls: + +```typescript +import { Address } from '@graphprotocol/graph-ts' +import { ERC20, TransferWithPool } from '../generated/ERC20/ERC20' +import { TokenTransaction } from '../generated/schema' + +export function handleTransferWithPool(event: TransferWithPool): void { + let transaction = new TokenTransaction(event.transaction.hash.toHex()) + + transaction.pool = event.params.poolInfo.toHexString() + transaction.from = event.params.from.toHexString() + transaction.to = event.params.to.toHexString() + transaction.value = event.params.value + + transaction.save() +} +``` + +This is much more performant as it has eliminated the need for `eth_calls`. + +## How to Optimize `eth_calls` + +If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. + +## Reducing the Runtime Overhead of `eth_calls` + +For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. + +Currently, `eth_calls` can only be declared for event handlers. In the manifest, write + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. + +The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. + +Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. + +## Conclusion + +We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. From ebf9021f13662c01b800b14b2ee4f013eb9e0e44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:28 -0400 Subject: [PATCH 1176/2326] New translations derivedfrom.mdx (Romanian) --- website/pages/ro/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/ro/cookbook/derivedfrom.mdx diff --git a/website/pages/ro/cookbook/derivedfrom.mdx b/website/pages/ro/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/ro/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From af92d5d095285b5f71b0989a4adfac4d1f670650 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:29 -0400 Subject: [PATCH 1177/2326] New translations derivedfrom.mdx (French) --- website/pages/fr/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/fr/cookbook/derivedfrom.mdx diff --git a/website/pages/fr/cookbook/derivedfrom.mdx b/website/pages/fr/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/fr/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 52b6fa6b161704bfc0c0fcd0938acb54d7849f63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:30 -0400 Subject: [PATCH 1178/2326] New translations derivedfrom.mdx (Spanish) --- website/pages/es/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/es/cookbook/derivedfrom.mdx diff --git a/website/pages/es/cookbook/derivedfrom.mdx b/website/pages/es/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/es/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From bbaafe671574e9eba4ae7ad3c9e64f7ff3e47a5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:30 -0400 Subject: [PATCH 1179/2326] New translations derivedfrom.mdx (Arabic) --- website/pages/ar/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/ar/cookbook/derivedfrom.mdx diff --git a/website/pages/ar/cookbook/derivedfrom.mdx b/website/pages/ar/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/ar/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From c5c04337139adf1e9b99367cd94a8b3fb71f3797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:31 -0400 Subject: [PATCH 1180/2326] New translations derivedfrom.mdx (Czech) --- website/pages/cs/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/cs/cookbook/derivedfrom.mdx diff --git a/website/pages/cs/cookbook/derivedfrom.mdx b/website/pages/cs/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/cs/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 9f050d5fd9f001f4404b394a39f75dcf726d5c53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:32 -0400 Subject: [PATCH 1181/2326] New translations derivedfrom.mdx (German) --- website/pages/de/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/de/cookbook/derivedfrom.mdx diff --git a/website/pages/de/cookbook/derivedfrom.mdx b/website/pages/de/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/de/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 00f077dd762ecad93efd1c9c4755b7b06b01c17a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:33 -0400 Subject: [PATCH 1182/2326] New translations derivedfrom.mdx (Italian) --- website/pages/it/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/it/cookbook/derivedfrom.mdx diff --git a/website/pages/it/cookbook/derivedfrom.mdx b/website/pages/it/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/it/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From feb4d51eda5cc4933ae5c722c842175347d66823 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:34 -0400 Subject: [PATCH 1183/2326] New translations derivedfrom.mdx (Japanese) --- website/pages/ja/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/ja/cookbook/derivedfrom.mdx diff --git a/website/pages/ja/cookbook/derivedfrom.mdx b/website/pages/ja/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/ja/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 7483cac14cc7dc677d8da37bc40732b9900f01f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:34 -0400 Subject: [PATCH 1184/2326] New translations derivedfrom.mdx (Korean) --- website/pages/ko/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/ko/cookbook/derivedfrom.mdx diff --git a/website/pages/ko/cookbook/derivedfrom.mdx b/website/pages/ko/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/ko/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From b1cb203c7ff41c3e7b5832adfa5b3504f088b076 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:35 -0400 Subject: [PATCH 1185/2326] New translations derivedfrom.mdx (Dutch) --- website/pages/nl/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/nl/cookbook/derivedfrom.mdx diff --git a/website/pages/nl/cookbook/derivedfrom.mdx b/website/pages/nl/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/nl/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 1152c8c39fad1cf157d1c5312ddb1613a2a44e82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:36 -0400 Subject: [PATCH 1186/2326] New translations derivedfrom.mdx (Polish) --- website/pages/pl/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/pl/cookbook/derivedfrom.mdx diff --git a/website/pages/pl/cookbook/derivedfrom.mdx b/website/pages/pl/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/pl/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From e2916c52589d8237612a9c70923a9a7b65d1c89f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:37 -0400 Subject: [PATCH 1187/2326] New translations derivedfrom.mdx (Portuguese) --- website/pages/pt/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/pt/cookbook/derivedfrom.mdx diff --git a/website/pages/pt/cookbook/derivedfrom.mdx b/website/pages/pt/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/pt/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 6d64735b70601623e057e613c1ce274d45d2a6c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:38 -0400 Subject: [PATCH 1188/2326] New translations derivedfrom.mdx (Russian) --- website/pages/ru/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/ru/cookbook/derivedfrom.mdx diff --git a/website/pages/ru/cookbook/derivedfrom.mdx b/website/pages/ru/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/ru/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 0adae427b71e988432856408bcf276e4401db7a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:38 -0400 Subject: [PATCH 1189/2326] New translations derivedfrom.mdx (Swedish) --- website/pages/sv/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/sv/cookbook/derivedfrom.mdx diff --git a/website/pages/sv/cookbook/derivedfrom.mdx b/website/pages/sv/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/sv/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 26ca9479f70bb3cfd916bb571c59178e5b2ac5ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:39 -0400 Subject: [PATCH 1190/2326] New translations derivedfrom.mdx (Turkish) --- website/pages/tr/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/tr/cookbook/derivedfrom.mdx diff --git a/website/pages/tr/cookbook/derivedfrom.mdx b/website/pages/tr/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/tr/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 16b718ccbf82498e963ae758cf7302a382a56901 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:40 -0400 Subject: [PATCH 1191/2326] New translations derivedfrom.mdx (Ukrainian) --- website/pages/uk/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/uk/cookbook/derivedfrom.mdx diff --git a/website/pages/uk/cookbook/derivedfrom.mdx b/website/pages/uk/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/uk/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From e9d197a39597909368b9347053516178077c97a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:41 -0400 Subject: [PATCH 1192/2326] New translations derivedfrom.mdx (Chinese Simplified) --- website/pages/zh/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/zh/cookbook/derivedfrom.mdx diff --git a/website/pages/zh/cookbook/derivedfrom.mdx b/website/pages/zh/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/zh/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From d6fe6813e1b3f46bab465bac2472aa26b9dcd2af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:42 -0400 Subject: [PATCH 1193/2326] New translations derivedfrom.mdx (Urdu (Pakistan)) --- website/pages/ur/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/ur/cookbook/derivedfrom.mdx diff --git a/website/pages/ur/cookbook/derivedfrom.mdx b/website/pages/ur/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/ur/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From ce41f5dfe8c1d0a909ec30f2d5823145981f3c50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:43 -0400 Subject: [PATCH 1194/2326] New translations derivedfrom.mdx (Vietnamese) --- website/pages/vi/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/vi/cookbook/derivedfrom.mdx diff --git a/website/pages/vi/cookbook/derivedfrom.mdx b/website/pages/vi/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/vi/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 51a9b1e476a85683555bc60b7973b0b5da856f84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:43 -0400 Subject: [PATCH 1195/2326] New translations derivedfrom.mdx (Marathi) --- website/pages/mr/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/mr/cookbook/derivedfrom.mdx diff --git a/website/pages/mr/cookbook/derivedfrom.mdx b/website/pages/mr/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/mr/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 55fb460c2431c6aca9d5964151d0cb45a68263fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:44 -0400 Subject: [PATCH 1196/2326] New translations derivedfrom.mdx (Hindi) --- website/pages/hi/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/hi/cookbook/derivedfrom.mdx diff --git a/website/pages/hi/cookbook/derivedfrom.mdx b/website/pages/hi/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/hi/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 2d21b55acfc4df4ecad519a869262ac28733cce4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:45 -0400 Subject: [PATCH 1197/2326] New translations derivedfrom.mdx (Yoruba) --- website/pages/yo/cookbook/derivedfrom.mdx | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 website/pages/yo/cookbook/derivedfrom.mdx diff --git a/website/pages/yo/cookbook/derivedfrom.mdx b/website/pages/yo/cookbook/derivedfrom.mdx new file mode 100644 index 000000000000..69dd48047744 --- /dev/null +++ b/website/pages/yo/cookbook/derivedfrom.mdx @@ -0,0 +1,74 @@ +--- +title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +--- + +## TLDR + +Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. + +## How to Use the `@derivedFrom` Directive + +You just need to add a `@derivedFrom` directive after your array in your schema. Like this: + +```graphql +comments: [Comment!]! @derivedFrom(field: "post") +``` + +`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. + +### Example Use Case for `@derivedFrom` + +An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. + +Let’s start with our two entities, `Post` and `Comment` + +Without optimization, you could implement it like this with an array: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! +} + +type Comment @entity { + id: Bytes! + content: String! +} +``` + +Arrays like these will effectively store extra Comments data on the Post side of the relationship. + +Here’s what an optimized version looks like using `@derivedFrom`: + +```graphql +type Post @entity { + id: Bytes! + title: String! + content: String! + comments: [Comment!]! @derivedFrom(field: "post") +} + +type Comment @entity { + id: Bytes! + content: String! + post: Post! +} +``` + +Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. + +This will not only make our subgraph more efficient, but it will also unlock three features: + +1. We can query the `Post` and see all of its comments. + +2. We can do a reverse lookup and query any `Comment` and see which post it comes from. + +3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. + +## Conclusion + +Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. + +To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From cda9299e3aa7aedbc0e5bac042dcbe3c6a031a31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:46 -0400 Subject: [PATCH 1198/2326] New translations immutable-entities-bytes-as-ids.mdx (Romanian) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/ro/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/ro/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/ro/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/ro/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 72d7faef7e2568a3c69459d2134767d5de588087 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:47 -0400 Subject: [PATCH 1199/2326] New translations immutable-entities-bytes-as-ids.mdx (French) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/fr/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/fr/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/fr/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/fr/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From e6fce5796b78a4efcbeeeb769bef8ef1c1299a76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:47 -0400 Subject: [PATCH 1200/2326] New translations immutable-entities-bytes-as-ids.mdx (Spanish) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/es/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/es/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/es/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/es/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 652f90e3f8c0705f3657a85bf7358e6e48c3257b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:48 -0400 Subject: [PATCH 1201/2326] New translations immutable-entities-bytes-as-ids.mdx (Arabic) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/ar/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/ar/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/ar/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/ar/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From ffa74b6efc35e55260ca0fd5e26e74d36a154182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:49 -0400 Subject: [PATCH 1202/2326] New translations immutable-entities-bytes-as-ids.mdx (Czech) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/cs/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/cs/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/cs/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/cs/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 9a92175e038f899f58a6f50217843a7f91f5830a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:50 -0400 Subject: [PATCH 1203/2326] New translations immutable-entities-bytes-as-ids.mdx (German) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/de/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/de/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/de/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/de/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 2cb1f3598d3ee2472ba416210216bbe07126a4b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:51 -0400 Subject: [PATCH 1204/2326] New translations immutable-entities-bytes-as-ids.mdx (Italian) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/it/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/it/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/it/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/it/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 9548a45f52f39e86da3184636904555a25edd36e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:51 -0400 Subject: [PATCH 1205/2326] New translations immutable-entities-bytes-as-ids.mdx (Japanese) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/ja/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/ja/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/ja/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/ja/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 826b5fc2d23499296451e7a714d9063d4bf872e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:52 -0400 Subject: [PATCH 1206/2326] New translations immutable-entities-bytes-as-ids.mdx (Korean) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/ko/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/ko/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/ko/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/ko/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 96066e3648bc17a191016750197fcb0f0342070f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:53 -0400 Subject: [PATCH 1207/2326] New translations immutable-entities-bytes-as-ids.mdx (Dutch) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/nl/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/nl/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/nl/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/nl/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From a2799039013ab7244242e867b6f0bc7590b5ebcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:54 -0400 Subject: [PATCH 1208/2326] New translations immutable-entities-bytes-as-ids.mdx (Polish) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/pl/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/pl/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/pl/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/pl/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From ae7dfc47331851003a942d295a3c7a225a9b2bf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:55 -0400 Subject: [PATCH 1209/2326] New translations immutable-entities-bytes-as-ids.mdx (Portuguese) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 8e27b5db9646cbef943eeb3fa825f973ba4ffaba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:55 -0400 Subject: [PATCH 1210/2326] New translations immutable-entities-bytes-as-ids.mdx (Russian) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/ru/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/ru/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/ru/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/ru/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 88caac12101d8f15c5d5f73d18313a022fdd5e99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:56 -0400 Subject: [PATCH 1211/2326] New translations immutable-entities-bytes-as-ids.mdx (Swedish) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/sv/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/sv/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/sv/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/sv/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From e41354e54ce1571e7cc54082a3801175ed979953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:57 -0400 Subject: [PATCH 1212/2326] New translations immutable-entities-bytes-as-ids.mdx (Turkish) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/tr/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/tr/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/tr/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/tr/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 59978e465d1dd17ffb3c7cd3020b84a653debf17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:58 -0400 Subject: [PATCH 1213/2326] New translations immutable-entities-bytes-as-ids.mdx (Ukrainian) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/uk/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/uk/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/uk/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/uk/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 2744cde3946dc68dd82404b53a9e32efd6679504 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:58 -0400 Subject: [PATCH 1214/2326] New translations immutable-entities-bytes-as-ids.mdx (Chinese Simplified) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/zh/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/zh/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/zh/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/zh/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From f081265d907e992c753bb2082fb81a67c411efaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:46:59 -0400 Subject: [PATCH 1215/2326] New translations immutable-entities-bytes-as-ids.mdx (Urdu (Pakistan)) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/ur/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/ur/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/ur/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/ur/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From bd384472aabd87b3dd7e64fe5ba9d4e90fff7122 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:00 -0400 Subject: [PATCH 1216/2326] New translations immutable-entities-bytes-as-ids.mdx (Vietnamese) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/vi/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/vi/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/vi/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/vi/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 2723d3af329eb164725c74c5430c28a694a60e01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:01 -0400 Subject: [PATCH 1217/2326] New translations immutable-entities-bytes-as-ids.mdx (Marathi) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/mr/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/mr/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/mr/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/mr/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From f4c3682e65c211bbaeb842df42db38245f915f37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:01 -0400 Subject: [PATCH 1218/2326] New translations immutable-entities-bytes-as-ids.mdx (Hindi) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/hi/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/hi/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/hi/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/hi/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 098484ecfe9cfe8f68d5d39f53f0fe15d50bca17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:02 -0400 Subject: [PATCH 1219/2326] New translations immutable-entities-bytes-as-ids.mdx (Yoruba) --- .../immutable-entities-bytes-as-ids.mdx | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 website/pages/yo/cookbook/immutable-entities-bytes-as-ids.mdx diff --git a/website/pages/yo/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/yo/cookbook/immutable-entities-bytes-as-ids.mdx new file mode 100644 index 000000000000..f38c33385604 --- /dev/null +++ b/website/pages/yo/cookbook/immutable-entities-bytes-as-ids.mdx @@ -0,0 +1,176 @@ +--- +title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +--- + +## TLDR + +Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. + +## Immutable Entities + +To make an entity immutable, we simply add `(immutable: true)` to an entity. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. + +Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. + +### Under the hood + +Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. + +### When not to use Immutable Entities + +If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. + +## Bytes as IDs + +Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. + +```graphql +type Transfer @entity(immutable: true) { + id: Bytes! + from: Bytes! + to: Bytes! + value: BigInt! +} +``` + +While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. + +### Reasons to Not Use Bytes as IDs + +1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. +2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. +3. Indexing and querying performance improvements are not desired. + +### Concatenating With Bytes as IDs + +It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. + +Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. + +```typescript +export function handleTransfer(event: TransferEvent): void { + let entity = new Transfer(event.transaction.hash.concatI32(event.logIndex.toI32())) + entity.from = event.params.from + entity.to = event.params.to + entity.value = event.params.value + + entity.blockNumber = event.block.number + entity.blockTimestamp = event.block.timestamp + entity.transactionHash = event.transaction.hash + + entity.save() +} +``` + +### Sorting With Bytes as IDs + +Sorting using Bytes as IDs is not optimal as seen in this example query and response. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: id) { + id + from + to + value + } +} +``` + +Query response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x00010000", + "from": "0xabcd...", + "to": "0x1234...", + "value": "256" + }, + { + "id": "0x00020000", + "from": "0xefgh...", + "to": "0x5678...", + "value": "512" + }, + { + "id": "0x01000000", + "from": "0xijkl...", + "to": "0x9abc...", + "value": "1" + } + ] + } +} +``` + +The IDs are returned as hex. + +To improve sorting, we should create another field on the entity that is a BigInt. + +```graphql +type Transfer @entity { + id: Bytes! + from: Bytes! # address + to: Bytes! # address + value: BigInt! # unit256 + tokenId: BigInt! # uint256 +} +``` + +This will allow for sorting to be optimized sequentially. + +Query: + +```graphql +{ + transfers(first: 3, orderBy: tokenId) { + id + tokenId + } +} +``` + +Query Response: + +```json +{ + "data": { + "transfers": [ + { + "id": "0x…", + "tokenId": "1" + }, + { + "id": "0x…", + "tokenId": "2" + }, + { + "id": "0x…", + "tokenId": "3" + } + ] + } +} +``` + +## Conclusion + +Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. + +Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 318cb29829f45c5ad830f84931440e218d2700de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:03 -0400 Subject: [PATCH 1220/2326] New translations pruning.mdx (Romanian) --- website/pages/ro/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/ro/cookbook/pruning.mdx diff --git a/website/pages/ro/cookbook/pruning.mdx b/website/pages/ro/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/ro/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 3772ed983d855d81ec423a2e5b3613b568f11c1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:04 -0400 Subject: [PATCH 1221/2326] New translations pruning.mdx (French) --- website/pages/fr/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/fr/cookbook/pruning.mdx diff --git a/website/pages/fr/cookbook/pruning.mdx b/website/pages/fr/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/fr/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 26db74816ac5b499f7ab0d6832d38292dcd0d454 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:04 -0400 Subject: [PATCH 1222/2326] New translations pruning.mdx (Spanish) --- website/pages/es/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/es/cookbook/pruning.mdx diff --git a/website/pages/es/cookbook/pruning.mdx b/website/pages/es/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/es/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From a77fe884bc5f75796d586d8436ec7f6e8503d54a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:05 -0400 Subject: [PATCH 1223/2326] New translations pruning.mdx (Arabic) --- website/pages/ar/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/ar/cookbook/pruning.mdx diff --git a/website/pages/ar/cookbook/pruning.mdx b/website/pages/ar/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/ar/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 3ddf3989c42864b535cc648eab6a40a7ae8a0517 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:06 -0400 Subject: [PATCH 1224/2326] New translations pruning.mdx (Czech) --- website/pages/cs/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/cs/cookbook/pruning.mdx diff --git a/website/pages/cs/cookbook/pruning.mdx b/website/pages/cs/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/cs/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 3f01e9550a7cd5909068095aba16d6a9d819ff7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:07 -0400 Subject: [PATCH 1225/2326] New translations pruning.mdx (German) --- website/pages/de/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/de/cookbook/pruning.mdx diff --git a/website/pages/de/cookbook/pruning.mdx b/website/pages/de/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/de/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 922d298ff6fa9fc73b905d2975723b9f249a190d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:07 -0400 Subject: [PATCH 1226/2326] New translations pruning.mdx (Italian) --- website/pages/it/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/it/cookbook/pruning.mdx diff --git a/website/pages/it/cookbook/pruning.mdx b/website/pages/it/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/it/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 2f4d72a692d15a06b8cb58badf20ecfe1cbbc5cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:08 -0400 Subject: [PATCH 1227/2326] New translations pruning.mdx (Japanese) --- website/pages/ja/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/ja/cookbook/pruning.mdx diff --git a/website/pages/ja/cookbook/pruning.mdx b/website/pages/ja/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/ja/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 2f0cb5379237607a361b3409c417bc1b5464032a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:09 -0400 Subject: [PATCH 1228/2326] New translations pruning.mdx (Korean) --- website/pages/ko/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/ko/cookbook/pruning.mdx diff --git a/website/pages/ko/cookbook/pruning.mdx b/website/pages/ko/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/ko/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 801613dbf48c54cf82f89c743b5228b007ffda11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:10 -0400 Subject: [PATCH 1229/2326] New translations pruning.mdx (Dutch) --- website/pages/nl/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/nl/cookbook/pruning.mdx diff --git a/website/pages/nl/cookbook/pruning.mdx b/website/pages/nl/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/nl/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 57bd62c4fd314c509de04d46206a9631e4834c95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:11 -0400 Subject: [PATCH 1230/2326] New translations pruning.mdx (Polish) --- website/pages/pl/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/pl/cookbook/pruning.mdx diff --git a/website/pages/pl/cookbook/pruning.mdx b/website/pages/pl/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/pl/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 5fa063b692f195ed3f75a338141ea132a420868f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:11 -0400 Subject: [PATCH 1231/2326] New translations pruning.mdx (Portuguese) --- website/pages/pt/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/pt/cookbook/pruning.mdx diff --git a/website/pages/pt/cookbook/pruning.mdx b/website/pages/pt/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/pt/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 0be9769ad32f1c89119c869958bfc3af03ea6896 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:12 -0400 Subject: [PATCH 1232/2326] New translations pruning.mdx (Russian) --- website/pages/ru/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/ru/cookbook/pruning.mdx diff --git a/website/pages/ru/cookbook/pruning.mdx b/website/pages/ru/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/ru/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 5d79e76b46aa4a637e2605d68af6d6d8e3370a68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:13 -0400 Subject: [PATCH 1233/2326] New translations pruning.mdx (Swedish) --- website/pages/sv/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/sv/cookbook/pruning.mdx diff --git a/website/pages/sv/cookbook/pruning.mdx b/website/pages/sv/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/sv/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 3d0b502f4db5ef408ac7ac773f3cb042ce44f48a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:14 -0400 Subject: [PATCH 1234/2326] New translations pruning.mdx (Turkish) --- website/pages/tr/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/tr/cookbook/pruning.mdx diff --git a/website/pages/tr/cookbook/pruning.mdx b/website/pages/tr/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/tr/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 99b02d739c28d67ee8b7a1b687c55798faab974c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:15 -0400 Subject: [PATCH 1235/2326] New translations pruning.mdx (Ukrainian) --- website/pages/uk/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/uk/cookbook/pruning.mdx diff --git a/website/pages/uk/cookbook/pruning.mdx b/website/pages/uk/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/uk/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 9543722d360d7d56e154cc1731966882293da2a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:15 -0400 Subject: [PATCH 1236/2326] New translations pruning.mdx (Chinese Simplified) --- website/pages/zh/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/zh/cookbook/pruning.mdx diff --git a/website/pages/zh/cookbook/pruning.mdx b/website/pages/zh/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/zh/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 8224e1e759e441792a5b352574657fe1ab884ee1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:16 -0400 Subject: [PATCH 1237/2326] New translations pruning.mdx (Urdu (Pakistan)) --- website/pages/ur/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/ur/cookbook/pruning.mdx diff --git a/website/pages/ur/cookbook/pruning.mdx b/website/pages/ur/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/ur/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From a37fdb689ce12c1dcbbc92758a31ee6eee2b65c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:17 -0400 Subject: [PATCH 1238/2326] New translations pruning.mdx (Vietnamese) --- website/pages/vi/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/vi/cookbook/pruning.mdx diff --git a/website/pages/vi/cookbook/pruning.mdx b/website/pages/vi/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/vi/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 26e14dce54a96f80deb2e2c508563ea5b3fe14fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:18 -0400 Subject: [PATCH 1239/2326] New translations pruning.mdx (Marathi) --- website/pages/mr/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/mr/cookbook/pruning.mdx diff --git a/website/pages/mr/cookbook/pruning.mdx b/website/pages/mr/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/mr/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 688c38675553b3fcfb5b3ec34467d99422127d52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:18 -0400 Subject: [PATCH 1240/2326] New translations pruning.mdx (Hindi) --- website/pages/hi/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/hi/cookbook/pruning.mdx diff --git a/website/pages/hi/cookbook/pruning.mdx b/website/pages/hi/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/hi/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 889144e570a067c2ab63b71e8936f6d54a07c1f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:19 -0400 Subject: [PATCH 1241/2326] New translations pruning.mdx (Yoruba) --- website/pages/yo/cookbook/pruning.mdx | 41 +++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 website/pages/yo/cookbook/pruning.mdx diff --git a/website/pages/yo/cookbook/pruning.mdx b/website/pages/yo/cookbook/pruning.mdx new file mode 100644 index 000000000000..f22a2899f1de --- /dev/null +++ b/website/pages/yo/cookbook/pruning.mdx @@ -0,0 +1,41 @@ +--- +title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +--- + +## TLDR + +[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. + +## How to Prune a Subgraph With `indexerHints` + +Add a section called `indexerHints` in the manifest. + +`indexerHints` has three `prune` options: + +- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. +- `prune: `: Sets a custom limit on the number of historical blocks to retain. +- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. + +We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: + +```yaml +specVersion: 1.0.0 +schema: + file: ./schema.graphql +indexerHints: + prune: auto +dataSources: + - kind: ethereum/contract + name: Contract + network: mainnet +``` + +## Important Considerations + +- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. + +- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). + +## Conclusion + +Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 4db4c3cbe60eae562dbce2898f8f36f3f87f946e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:20 -0400 Subject: [PATCH 1242/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Romanian) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/ro/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/ro/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/ro/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..e37d83acbe78 --- /dev/null +++ b/website/pages/ro/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Overview + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Prerequisites + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 1d952e5f99c0b5f47c997186de63ee8f3da60765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:21 -0400 Subject: [PATCH 1243/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (French) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/fr/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/fr/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/fr/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..df8f8b2b28ea --- /dev/null +++ b/website/pages/fr/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Aperçu + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Conditions préalables + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 94539a0f538e6080c2e6ec5b28696f2b75695381 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:22 -0400 Subject: [PATCH 1244/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Spanish) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/es/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/es/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/es/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..2b5b9632ceb0 --- /dev/null +++ b/website/pages/es/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Descripción + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Prerrequisitos + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From af26e6b9da7c531d4383dee47c881ca988bbd21d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:23 -0400 Subject: [PATCH 1245/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Arabic) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/ar/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/ar/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/ar/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..23845a17520d --- /dev/null +++ b/website/pages/ar/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## نظره عامة + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### المتطلبات الأساسية + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From ade7b35d3fab297e53e897c9c8877173cc41eae5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:23 -0400 Subject: [PATCH 1246/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Czech) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/cs/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/cs/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/cs/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..d19d6952e8f9 --- /dev/null +++ b/website/pages/cs/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Přehled + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Požadavky + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From ebbb8d7ba8f29b9123b667e9f85e7ba9eff2c01f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:24 -0400 Subject: [PATCH 1247/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (German) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/de/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/de/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/de/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..e37d83acbe78 --- /dev/null +++ b/website/pages/de/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Overview + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Prerequisites + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 6757bb024632f41665356362ecc5ed68642b3a42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:25 -0400 Subject: [PATCH 1248/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Italian) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/it/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/it/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/it/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..5c3778edb064 --- /dev/null +++ b/website/pages/it/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Panoramica + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Prerequisites + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 5e52b222151bd3ec33a4b1acd02a1112da3e30f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:26 -0400 Subject: [PATCH 1249/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Japanese) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/ja/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/ja/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/ja/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..ba4a9e799615 --- /dev/null +++ b/website/pages/ja/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## 概要 + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### 前提条件 + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 527f9f19e073797962e426f0c6a4944ad687b7c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:27 -0400 Subject: [PATCH 1250/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Korean) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/ko/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/ko/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/ko/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..e37d83acbe78 --- /dev/null +++ b/website/pages/ko/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Overview + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Prerequisites + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From e8981dee0252c2530b0e476c64fe370e7d5231f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:28 -0400 Subject: [PATCH 1251/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Dutch) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/nl/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/nl/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/nl/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..e37d83acbe78 --- /dev/null +++ b/website/pages/nl/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Overview + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Prerequisites + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 25fdf4b76229dbbf02ebe2dc62c0dd7107498629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:28 -0400 Subject: [PATCH 1252/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Polish) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/pl/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/pl/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/pl/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..e37d83acbe78 --- /dev/null +++ b/website/pages/pl/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Overview + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Prerequisites + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 4782c363a4c6df8192a22e9bc5336fc7645c3848 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:29 -0400 Subject: [PATCH 1253/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Portuguese) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/pt/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/pt/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/pt/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..2ce0b117e11f --- /dev/null +++ b/website/pages/pt/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Visão Geral + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Pré-requisitos + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 9e8dbbedec740a02033fce1eab9672e9a70ba293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:30 -0400 Subject: [PATCH 1254/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Russian) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/ru/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/ru/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/ru/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..d0e6eca00359 --- /dev/null +++ b/website/pages/ru/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Обзор + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Предварительные требования + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From ec398509f75271dd2dca268adb212058a3817e9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:31 -0400 Subject: [PATCH 1255/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Swedish) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/sv/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/sv/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/sv/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..dfc61ce365d0 --- /dev/null +++ b/website/pages/sv/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Översikt + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Förutsättningar + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 921ba0b3a0d06de232810c69134bd5c2609dd340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:32 -0400 Subject: [PATCH 1256/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Turkish) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/tr/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/tr/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/tr/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..e85f3e13acef --- /dev/null +++ b/website/pages/tr/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Overview + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Ön Koşullar + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 92bba678a97f0a644f0bb57bff55de2f450006a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:33 -0400 Subject: [PATCH 1257/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Ukrainian) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/uk/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/uk/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/uk/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..86af97bcd350 --- /dev/null +++ b/website/pages/uk/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Короткий огляд + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Prerequisites + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 8843d0d2180d889360fa7b3349f473da52b3c618 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:33 -0400 Subject: [PATCH 1258/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Chinese Simplified) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/zh/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/zh/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/zh/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..00e49384691c --- /dev/null +++ b/website/pages/zh/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## 概述 + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### 先决条件 + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 953f2965921616abe59bb3af7c36120e5062ff46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:34 -0400 Subject: [PATCH 1259/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Urdu (Pakistan)) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/ur/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/ur/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/ur/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..f5735d5627c3 --- /dev/null +++ b/website/pages/ur/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## جائزہ + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### شرطیں + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 5b23148c6609815dd36316c7261fb9cf780ff8ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:35 -0400 Subject: [PATCH 1260/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Vietnamese) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/vi/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/vi/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/vi/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..7c0461051202 --- /dev/null +++ b/website/pages/vi/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Tổng quan + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Điều kiện tiên quyết + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From fcdc0a2dd0b857a892cd204b98418e9446cd48de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:36 -0400 Subject: [PATCH 1261/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Marathi) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/mr/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/mr/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/mr/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..9df73635859c --- /dev/null +++ b/website/pages/mr/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## सारांश + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### पूर्वतयारी + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From dec7af55d57d468291d038fcde60460b61f866d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:37 -0400 Subject: [PATCH 1262/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Hindi) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/hi/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/hi/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/hi/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..d89037d63cc5 --- /dev/null +++ b/website/pages/hi/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## अवलोकन + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### आवश्यक शर्तें + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 545836868f2bf320cbb925346de544014cd8ffbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:37 -0400 Subject: [PATCH 1263/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Yoruba) --- ...pi-keys-using-nextjs-server-components.mdx | 123 ++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 website/pages/yo/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx diff --git a/website/pages/yo/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/yo/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx new file mode 100644 index 000000000000..e37d83acbe78 --- /dev/null +++ b/website/pages/yo/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -0,0 +1,123 @@ +--- +title: How to Secure API Keys Using Next.js Server Components +--- + +## Overview + +We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). + +In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. + +### Caveats + +- Next.js server components do not protect API keys from being drained using denial of service attacks. +- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. +- Next.js server components introduce centralization risks as the server can go down. + +### Why It's Needed + +In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. + +### Using client-side rendering to query a subgraph + +![Client-side rendering](/img/api-key-client-side-rendering.png) + +### Prerequisites + +- An API key from [Subgraph Studio](https://thegraph.com/studio) +- Basic knowledge of Next.js and React. +- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). + +## Step-by-Step Cookbook + +### Step 1: Set Up Environment Variables + +1. In our Next.js project root, create a `.env.local` file. +2. Add our API key: `API_KEY=`. + +### Step 2: Create a Server Component + +1. In our `components` directory, create a new file, `ServerComponent.js`. +2. Use the provided example code to set up the server component. + +### Step 3: Implement Server-Side API Request + +In `ServerComponent.js`, add the following code: + +```javascript +const API_KEY = process.env.API_KEY + +export default async function ServerComponent() { + const response = await fetch( + `https://gateway-arbitrum.network.thegraph.com/api/${API_KEY}/subgraphs/id/HUZDsRpEVP2AvzDCyzDHtdc64dyDxx8FQjzsmqSg4H3B`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: /* GraphQL */ ` + { + factories(first: 5) { + id + poolCount + txCount + totalVolumeUSD + } + } + `, + }), + }, + ) + + const responseData = await response.json() + const data = responseData.data + + return ( +
    +

    Server Component

    + {data ? ( +
      + {data.factories.map((factory) => ( +
    • +

      ID: {factory.id}

      +

      Pool Count: {factory.poolCount}

      +

      Transaction Count: {factory.txCount}

      +

      Total Volume USD: {factory.totalVolumeUSD}

      +
    • + ))} +
    + ) : ( +

    Loading data...

    + )} +
    + ) +} +``` + +### Step 4: Use the Server Component + +1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. +2. Render the component: + +```javascript +import ServerComponent from './components/ServerComponent' + +export default function Home() { + return ( +
    + +
    + ) +} +``` + +### Step 5: Run and Test Our Dapp + +Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. + +![Server-side rendering](/img/api-key-server-side-rendering.png) + +### Conclusion + +By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From d5a707359a8e8de56d2fcbc967393520285fe89b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:38 -0400 Subject: [PATCH 1264/2326] New translations contracts.mdx (Romanian) --- website/pages/ro/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/ro/network/contracts.mdx diff --git a/website/pages/ro/network/contracts.mdx b/website/pages/ro/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/ro/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 03c84951bb9f895a6e6549c087b98240d4baf852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:39 -0400 Subject: [PATCH 1265/2326] New translations contracts.mdx (French) --- website/pages/fr/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/fr/network/contracts.mdx diff --git a/website/pages/fr/network/contracts.mdx b/website/pages/fr/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/fr/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From c183c53356f3b6e3b85a3158780ea669b002cf8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:40 -0400 Subject: [PATCH 1266/2326] New translations contracts.mdx (Spanish) --- website/pages/es/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/es/network/contracts.mdx diff --git a/website/pages/es/network/contracts.mdx b/website/pages/es/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/es/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 4425bb65ed93053a0f467ccd2b369892798cedb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:41 -0400 Subject: [PATCH 1267/2326] New translations contracts.mdx (Arabic) --- website/pages/ar/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/ar/network/contracts.mdx diff --git a/website/pages/ar/network/contracts.mdx b/website/pages/ar/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/ar/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 052f889d00501c25c1cc484219c192d3a0fe4835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:41 -0400 Subject: [PATCH 1268/2326] New translations contracts.mdx (Czech) --- website/pages/cs/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/cs/network/contracts.mdx diff --git a/website/pages/cs/network/contracts.mdx b/website/pages/cs/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/cs/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 11f6db4a23681b48cb4ee20d7cde8069d9b5a0ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:42 -0400 Subject: [PATCH 1269/2326] New translations contracts.mdx (German) --- website/pages/de/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/de/network/contracts.mdx diff --git a/website/pages/de/network/contracts.mdx b/website/pages/de/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/de/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From d1c4af2cf3a5280fcfebdf9324ef12ba25948b65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:43 -0400 Subject: [PATCH 1270/2326] New translations contracts.mdx (Italian) --- website/pages/it/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/it/network/contracts.mdx diff --git a/website/pages/it/network/contracts.mdx b/website/pages/it/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/it/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From db9394890f444fc754c46cff0bd6445248c34370 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:44 -0400 Subject: [PATCH 1271/2326] New translations contracts.mdx (Japanese) --- website/pages/ja/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/ja/network/contracts.mdx diff --git a/website/pages/ja/network/contracts.mdx b/website/pages/ja/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/ja/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 7c224ac30192c5e939b20d97a59daa20b7cf0596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:45 -0400 Subject: [PATCH 1272/2326] New translations contracts.mdx (Korean) --- website/pages/ko/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/ko/network/contracts.mdx diff --git a/website/pages/ko/network/contracts.mdx b/website/pages/ko/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/ko/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From d095906e585703cc52f9da4972ad277ae933278b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:45 -0400 Subject: [PATCH 1273/2326] New translations contracts.mdx (Dutch) --- website/pages/nl/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/nl/network/contracts.mdx diff --git a/website/pages/nl/network/contracts.mdx b/website/pages/nl/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/nl/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 15b97ddaf77b2f35864abd41cd1cd2a357ae83b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:46 -0400 Subject: [PATCH 1274/2326] New translations contracts.mdx (Polish) --- website/pages/pl/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/pl/network/contracts.mdx diff --git a/website/pages/pl/network/contracts.mdx b/website/pages/pl/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/pl/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 37781b9e3651b117532642ab5edddbb215c99941 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:47 -0400 Subject: [PATCH 1275/2326] New translations contracts.mdx (Portuguese) --- website/pages/pt/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/pt/network/contracts.mdx diff --git a/website/pages/pt/network/contracts.mdx b/website/pages/pt/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/pt/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 24b033853ecccea48a6b594641d22fe2b629464b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:48 -0400 Subject: [PATCH 1276/2326] New translations contracts.mdx (Russian) --- website/pages/ru/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/ru/network/contracts.mdx diff --git a/website/pages/ru/network/contracts.mdx b/website/pages/ru/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/ru/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 0823110d03b01cdd47c82dbbf00d883dfeceb72e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:48 -0400 Subject: [PATCH 1277/2326] New translations contracts.mdx (Swedish) --- website/pages/sv/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/sv/network/contracts.mdx diff --git a/website/pages/sv/network/contracts.mdx b/website/pages/sv/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/sv/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From a16984a3caacf90a573a4815cb7a7ef0334b4503 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:49 -0400 Subject: [PATCH 1278/2326] New translations contracts.mdx (Turkish) --- website/pages/tr/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/tr/network/contracts.mdx diff --git a/website/pages/tr/network/contracts.mdx b/website/pages/tr/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/tr/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From f7663f9d21800363294d96c0e041fad4b7920c4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:50 -0400 Subject: [PATCH 1279/2326] New translations contracts.mdx (Ukrainian) --- website/pages/uk/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/uk/network/contracts.mdx diff --git a/website/pages/uk/network/contracts.mdx b/website/pages/uk/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/uk/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From eafdac0b50a74451c11e6db5f21990fd5bca067c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:50 -0400 Subject: [PATCH 1280/2326] New translations contracts.mdx (Chinese Simplified) --- website/pages/zh/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/zh/network/contracts.mdx diff --git a/website/pages/zh/network/contracts.mdx b/website/pages/zh/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/zh/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 8652bd4f0ca37342f506eeb18153e3a3719b5967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:51 -0400 Subject: [PATCH 1281/2326] New translations contracts.mdx (Urdu (Pakistan)) --- website/pages/ur/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/ur/network/contracts.mdx diff --git a/website/pages/ur/network/contracts.mdx b/website/pages/ur/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/ur/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 340d72a5786e614d37f8a9d765162e44b3245978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:52 -0400 Subject: [PATCH 1282/2326] New translations contracts.mdx (Vietnamese) --- website/pages/vi/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/vi/network/contracts.mdx diff --git a/website/pages/vi/network/contracts.mdx b/website/pages/vi/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/vi/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 1052cd0a140b2257a58559bf107ab8ba02eda9e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:53 -0400 Subject: [PATCH 1283/2326] New translations contracts.mdx (Marathi) --- website/pages/mr/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/mr/network/contracts.mdx diff --git a/website/pages/mr/network/contracts.mdx b/website/pages/mr/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/mr/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 8d8df6a3f75602c8b7f241e3282d6a0672545cea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:54 -0400 Subject: [PATCH 1284/2326] New translations contracts.mdx (Hindi) --- website/pages/hi/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/hi/network/contracts.mdx diff --git a/website/pages/hi/network/contracts.mdx b/website/pages/hi/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/hi/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 448e29cf708e96cf847a70e8a1994a9aa28c0d6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 26 May 2024 18:47:54 -0400 Subject: [PATCH 1285/2326] New translations contracts.mdx (Yoruba) --- website/pages/yo/network/contracts.mdx | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 website/pages/yo/network/contracts.mdx diff --git a/website/pages/yo/network/contracts.mdx b/website/pages/yo/network/contracts.mdx new file mode 100644 index 000000000000..6abd80577ced --- /dev/null +++ b/website/pages/yo/network/contracts.mdx @@ -0,0 +1,29 @@ +--- +title: Protocol Contracts +--- + +import { ProtocolContractsTable } from '@/src/contracts' + +Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. + +## Arbitrum + +This is the principal deployment of The Graph Network. + + + +## Mainnet + +This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. + + + +## Arbitrum Sepolia + +This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. + + + +## Sepolia + + From 81bad488208f2386d552ec3e8c17653c378f66a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:20 -0400 Subject: [PATCH 1286/2326] New translations sunrise.mdx (Romanian) --- website/pages/ro/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/ro/sunrise.mdx b/website/pages/ro/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/ro/sunrise.mdx +++ b/website/pages/ro/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From df4835c37cc5b257c99b9a6336538a4234091ca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:21 -0400 Subject: [PATCH 1287/2326] New translations sunrise.mdx (French) --- website/pages/fr/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/fr/sunrise.mdx b/website/pages/fr/sunrise.mdx index 8f522860a7ab..2852a9030b9d 100644 --- a/website/pages/fr/sunrise.mdx +++ b/website/pages/fr/sunrise.mdx @@ -2,7 +2,7 @@ title: L'aube de la FAQ sur les données décentralisées --- -> Note : ce document est continuellement mis à jour afin de fournir les informations les plus précises et les plus utiles. De nouvelles questions et réponses sont ajoutées régulièrement. Si vous ne trouvez pas l'information que vous cherchez, ou si vous avez besoin d'une assistance immédiate [contactez-nous sur Discord] (https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## Quel est l'essor des données décentralisées ? @@ -12,7 +12,7 @@ Ce plan s'appuie sur de nombreux développements antérieurs de l'écosystème T ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ Ce plan s'appuie sur de nombreux développements antérieurs de l'écosystème T ### Quand les subgraphs du service hébergé ne seront-ils plus disponibles ? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Mon subgraph de service hébergé sera-t-il pris en charge sur le réseau The Graph ? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Cliquez sur le bouton "Mise à niveau". -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### Comment puis-je obtenir de l'aide pour le processus de mise à niveau ? @@ -46,15 +46,15 @@ La communauté Graph est là pour aider les développeurs à passer au réseau G ### Comment puis-je garantir une haute qualité de service et une redondance pour les subgraphs sur le réseau The Graph ? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Les subgraphs qui ne sont pas éligibles aux récompenses d'indexation peuvent avoir des difficultés à attirer d'autres indexeurs. Par exemple, les récompenses d'indexation peuvent ne pas être disponibles pour les subgraphs de certaines chaînes (vérifier le support [ici](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Les membres de ces communautés blockchain sont encouragés à intégrer leur chaîne via le [Processus d'intégration de la chaîne](/chain-integration-overview/). ### Comment publier les nouvelles versions sur le réseau ? -Vous pouvez déployer de nouvelles versions de votre subgraph directement dans Subgraph Studio, qui fournit un environnement de test, avant de les publier sur le réseau pour une utilisation en production. Subgraph Studio a une commande de déploiement différente de celle de , et nécessite un `version-label` pour chaque nouveau déploiement. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Mettez à niveau vers la dernière version de [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Mettez à jour votre commande de déploiement @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > La publication nécessite Arbitrum ETH - la mise à niveau de votre subgraph permet également de déposer une petite quantité pour faciliter vos premières interactions avec le protocole 🧑‍🚀 -### Que se passe-t-il si je ne mets pas à jour mon subgraph ? +### J'utilise un subgraph développé par quelqu'un d'autre, comment puis-je m'assurer que mon service n'est pas interrompu ? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### J'utilise un subgraph développé par quelqu'un d'autre, comment puis-je m'assurer que mon service n'est pas interrompu ? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -Lorsque le propriétaire aura mis à niveau son subgraph, vous pourrez facilement passer de la page du service hébergé du subgraph au subgraph correspondant sur The Graph Network, et mettre à jour votre application pour utiliser l'URL de requête du nouveau subgraph ([en savoir plus](requête/requête -le graph)). +### Que se passe-t-il si je ne mets pas à jour mon subgraph ? -Vers début juin, Edge & Node mettront automatiquement à niveau les subgraphs activement interrogés. Cela donnera à tous les consommateurs de données tiers la possibilité de passer aux nouveaux points de terminaison du subgraph réseau avant la date limite. Les propriétaires de subgraphs pourront toujours « réclamer » ces subgraphs sur le réseau à l'aide du flux de mise à niveau du service hébergé. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### Comment puis-je commencer à interroger des subgraphs sur The Graph Network ? @@ -92,9 +92,9 @@ Vous pouvez explorer les subgraphs disponibles sur [Graph Explorer](https://theg ### Qu'est-ce que l'indexeur de mise à niveau ? -L'indexeur de mise à niveau est conçu pour améliorer l'expérience de mise à niveau des subgraphs du service hébergé vers le Graph Network et pour prendre en charge les nouvelles versions des subgraphs existants qui n'ont pas encore été indexés. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -L'indexeur de mise à niveau est destiné à l'amorçage des chaînes qui n'ont pas encore de récompenses d'indexation sur le réseau, ainsi qu'à servir de solution de repli pour les nouvelles versions de subgraphs. L'objectif est de s'assurer qu'un indexeur est disponible pour répondre aux requêtes le plus rapidement possible après la publication d'un subgraph. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### Quelles chaînes l’indexeur de mise à niveau prend-il en charge ? @@ -104,13 +104,13 @@ Vous trouverez une liste complète des chaînes soutenues [ici] (/developing/sup ### Pourquoi Edge & Node exécutent-ils l'indexeur de mise à niveau ? -Edge et Node a historiquement maintenu le service hébergé et, par conséquent, a déjà synchronisé les données pour les subgraphs du service hébergé. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Tous les indexeurs sont encouragés à devenir des indexeurs de mise à niveau. Cependant, notez que l'activité d'indexeur de mise à niveau est largement fournie en tant que service public pour soutenir les nouveaux subgraphs et les chaînes supplémentaires en raison du manque de récompenses d'indexation avant qu'ils ne soient approuvés par le Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### Que signifie la mise à niveau de l'indexeur pour les indexeurs existants ? -Les chaînes qui étaient auparavant exclusivement supportées par le service hébergé sont disponibles pour les développeurs sur The Graph sans récompenses d'indexation dans un premier temps, bien que cela débloque les frais de requête pour tout indexeur intéressé. Cela devrait conduire à une augmentation du nombre de subgraphs publiés sur le réseau, offrant plus d'opportunités aux indexeurs d'indexer et de servir ces subgraphs en échange de frais de requête, avant même que les récompenses d'indexation ne soient activées pour une chaîne. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. L'indexeur de mise à niveau fournit également à la communauté des indexeurs des informations sur la demande potentielle de subgraphs et de nouvelles chaînes sur le réseau de graphs. @@ -122,11 +122,11 @@ L'indexeur de mise à niveau offre une opportunité puissante pour les délégu Non, l'indexeur de mise à niveau allouera uniquement le montant minimum par subgraph et ne collectera pas de récompenses d'indexation. -Il fonctionne selon les besoins et sert de solution de repli jusqu'à ce qu'au moins trois autres indexeurs du réseau atteignent une qualité de service suffisante pour les chaînes et les subgraphs concernés. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### Comment cela affectera-t-il les développeurs de subgraphs ? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ L'indexeur de mise à niveau servira un subgraph jusqu'à ce qu'il soit suffisam En outre, l'indexeur de mise à niveau cessera de prendre en charge un subgraph s'il n'a pas été intégré au cours des 30 derniers jours. -D'autres indexeurs sont incités à prendre en charge les subgraphs avec un volume de requêtes continu, de sorte que le volume de requêtes vers l'indexeur de mise à niveau devrait tendre vers zéro, car l'indexeur aura une petite taille d'allocation et d'autres indexeurs seront choisis pour les requêtes avant l'indexeur de mise à niveau. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## À propos du réseau Graph @@ -150,7 +150,7 @@ D'autres indexeurs sont incités à prendre en charge les subgraphs avec un volu No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -Vous pouvez utiliser [Subgraph Studio](https://thegraph.com/studio/) pour créer, tester et publier votre subgraph. Tous les utilisateurs du service hébergé doivent mettre à niveau leur subgraph vers le réseau The Graph avant la fin de la fenêtre de mise à niveau se terminant le 12 juin 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Une fois que votre subgraph a atteint un signal de curation adéquat et que d'au L'exploitation d'une infrastructure pour votre propre projet est [nettement plus gourmande en ressources] (/network/benefits/) par rapport à l'utilisation du réseau Graph. -En outre, le réseau Graph est nettement plus robuste, plus fiable et plus rentable que tout ce qui peut être fourni par une seule organisation ou équipe. Des centaines d'indexeurs indépendants répartis dans le monde entier alimentent le réseau Graph, garantissant ainsi la sécurité et la redondance. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. Cela dit, si vous êtes toujours intéressé par l'exploitation d'un [nœud de graphe] (https://github.com/graphprotocol/graph-node), envisagez de rejoindre The Graph Network [en tant qu'indexeur] (https://thegraph.com/blog/how-to-become-indexer/) pour gagner des récompenses d'indexation et des frais de requête en servant des données sur votre subgraph et d'autres. ### Dois-je utiliser un fournisseur d’indexation centralisé ? -Si vous construisez dans Web3, dès que vous utilisez un fournisseur d'indexation centralisé, vous leur donnez le contrôle de votre dapp et de vos données. Le réseau décentralisé de Graph offre une [qualité de service supérieure](https://thegraph.com/blog/qos-the-graph-network/), une fiabilité avec une disponibilité imbattable grâce à la redondance des nœuds, ainsi que des [coûts inférieurs](/network/benefits/), et vous ne serez pas pris en otage au niveau de la couche de données. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -Avec The Graph Network, votre subgraph est public et tout le monde peut l'interroger ouvertement, ce qui augmente l'utilisation et les effets réseau de votre dapp. Avec une solution d'indexation centralisée, le subgraph est privé du fournisseur centralisé. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Voici une description détaillée des avantages de The Graph par rapport à l'hébergement centralisé : @@ -178,8 +178,8 @@ Voici une description détaillée des avantages de The Graph par rapport à l'h - **Qualité de service** : En plus d'un temps de disponibilité impressionnant, The Graph Network se caractérise par une vitesse médiane d'interrogation (latence) d'environ 106 ms et par des taux de réussite des requêtes plus élevés que ceux des autres solutions hébergées. Pour en savoir plus, consultez [ce blog] (https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- \*Transparence et confiance\*\* : Les systèmes décentralisés fonctionnent ouvertement, ce qui permet à quiconque de vérifier les données de manière indépendante. Cette transparence renforce la confiance entre les participants au réseau, car ils peuvent vérifier l'intégrité du système sans dépendre d'une autorité centrale. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Tout comme vous avez choisi votre réseau blockchain pour sa nature décentralisée, sa sécurité et sa transparence, opter pour The Graph Network est une extension de ces mêmes principes. En alignant votre infrastructure de données sur ces valeurs, vous garantissez un environnement de développement cohésif, résilient et axé sur la confiance. From dc676f03493d00c1637bd2662432e429e34682ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:22 -0400 Subject: [PATCH 1288/2326] New translations sunrise.mdx (Spanish) --- website/pages/es/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/es/sunrise.mdx b/website/pages/es/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/es/sunrise.mdx +++ b/website/pages/es/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From bd9854a8ba7bb5675a51f84dd71e95070d09662a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:23 -0400 Subject: [PATCH 1289/2326] New translations sunrise.mdx (Arabic) --- website/pages/ar/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/ar/sunrise.mdx b/website/pages/ar/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/ar/sunrise.mdx +++ b/website/pages/ar/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 7e5db01b6b0460424e9fa273bb20be56268fe4ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:24 -0400 Subject: [PATCH 1290/2326] New translations sunrise.mdx (Czech) --- website/pages/cs/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/cs/sunrise.mdx b/website/pages/cs/sunrise.mdx index f9b41e8ee248..a0d5c77b27bb 100644 --- a/website/pages/cs/sunrise.mdx +++ b/website/pages/cs/sunrise.mdx @@ -2,7 +2,7 @@ title: Východ slunce decentralizovaných dat FAQ --- -> Poznámka: tento dokument je průběžně aktualizován, aby byly poskytnuty co nejpřesnější a nejužitečnější informace. Pravidelně jsou přidávány nové otázky a odpovědi. Pokud nemůžete najít informace, které hledáte, nebo pokud potřebujete okamžitou pomoc [kontaktujte Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## Jaký je východ slunce decentralizovaných dat? @@ -12,7 +12,7 @@ Tento plán vychází z mnoha předchozích změn v ekosystému Graf, včetně v ### Jaké jsou fáze východu Slunce? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ Tento plán vychází z mnoha předchozích změn v ekosystému Graf, včetně v ### Kdy přestanou být podgrafy hostovaných služeb k dispozici? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Bude můj podgraf hostované služby podporován v síti Graf? @@ -38,7 +38,7 @@ Chcete-li aktualizovat podgraf hostované služby, můžete navštívit ovládac 2. Vyberte přijímající peněženku (peněženku, která se stane vlastníkem podgrafu). 3. Klikněte na tlačítko "Upgrade". -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### Jak mohu získat podporu pro proces aktualizace? @@ -46,15 +46,15 @@ Komunita Graf je zde, aby podporovala vývojáře při přechodu na síť Graf. ### Jak lze zajistit vysokou kvalitu služeb a redundanci podgrafů v síti Graf? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Podgrafy, které nemají nárok na odměnu za indexaci, mohou mít potíže s přilákáním dalších indexátorů. Odměny za indexaci například nemusí být dostupné pro podgrafy v určitých řetězcích (zkontrolujte podporu [zde](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Členové těchto blockchainových komunit jsou vyzýváni k integraci svého řetězce prostřednictvím [procesu integrace řetězce](/chain-integration-overview/). ### Jak mohu publikovat nové verze do sítě? -Nové verze podgrafu můžete nasadit přímo do aplikace Podgraf Studio, která poskytuje testovací prostředí, a teprve poté je publikovat do sítě pro produkční použití. Podgraf Studio má jiný příkaz pro nasazení než , a pro každé nové nasazení vyžaduje `version-label`. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade na nejnovější verzi [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Aktualizace příkazu deploy @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publikování vyžaduje Arbitrum ETH - při upgradu vašeho subgrafu se také uvolní malá částka, která vám usnadní první interakce s protokolem 🧑‍🚀 -### Co se stane, když svůj podgraf neaktualizuji? +### Používám podgraf vytvořený někým jiným, jak mohu zajistit, aby nedošlo k přerušení mé služby? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### Používám podgraf vytvořený někým jiným, jak mohu zajistit, aby nedošlo k přerušení mé služby? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -Jakmile vlastník aktualizuje svůj podgraf, budete moci snadno přejít ze stránky hostované služby podgrafu na odpovídající podgraf v síti Graf a aktualizovat svou aplikaci tak, aby používala adresu URL dotazu nového podgrafu ([více informací](querying/querying-the-graph)). +### Co se stane, když svůj podgraf neaktualizuji? -Přibližně od začátku června bude služba Edge & Node automaticky aktualizovat aktivně dotazované podgrafy. To poskytne všem spotřebitelům dat třetích stran příležitost přejít na nové koncové body podgrafů sítě před datem ukončení. Vlastníci podgrafů budou mít stále možnost "nárokovat" tyto podgrafy v síti pomocí aktualizačního toku hostované služby. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### Jak se mohu začít dotazovat na podgrafy v síti grafů? @@ -92,9 +92,9 @@ Dostupné podgrafy můžete prozkoumat na stránce [Graph Explorer](https://theg ### Co je to upgrade Indexer? -Upgrade Indexer je navržen tak, aby zlepšil zkušenosti s upgradem podgrafů z hostované služby do Síť grafů a podporoval nové verze stávajících podgrafů, které dosud nebyly indexovány. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -Upgrade Indexer je určen pro zavádění řetězců, které ještě nemají indexační odměny v síti, a také jako záložní řešení pro nové verze podgrafů. Cílem je zajistit, aby byl indexer k dispozici pro obsluhu dotazů co nejrychleji po zveřejnění podgrafu. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### Jaké řetězce podporuje upgrade Indexer? @@ -104,13 +104,13 @@ Upgrade Indexeru podporuje řetězce, které byly dříve dostupné pouze v host ### Proč Edge & Node spouští aktualizaci Indexer? -Edge & Node vv minulosti udržovaly hostovanou službu a v důsledku toho již synchronizovaly data pro podgrafy hostované služby. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Všichni indexátoři jsou vyzýváni, aby se stali také indexátory aktualizace. Vezměte však na vědomí, že provozování indexátoru upgradu je z velké části poskytováno jako veřejná služba na podporu nových podgrafů a dalších řetězců kvůli nedostatku odměn za indexaci před jejich schválením Radou grafů. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### Co znamená upgrade indexeru pro stávající indexery? -Řetězce, které byly dříve podporovány výhradně v hostované službě, jsou vývojářům v Graf zpočátku k dispozici bez odměn za indexování, ačkoli se tím odemykají poplatky za dotazy pro všechny indexátory, které o to projeví zájem. Očekává se, že to povede k nárůstu počtu podgrafů zveřejňovaných v síti, což Indexerům poskytne více příležitostí indexovat a obsluhovat tyto podgrafy výměnou za poplatky za dotazy, a to ještě předtím, než budou odměny za indexování pro řetězec povoleny. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. Upgrade Indexer také poskytuje komunitě Indexer informace o potenciální poptávce po podgraf nových řetězcích v síti grafů. @@ -122,11 +122,11 @@ Upgrade Indexer nabízí delegátům velkou příležitost. Jakmile bude více p Ne, indexátor aktualizace přidělí pouze minimální částku na podgraf a nebude vybírat odměny za indexování. -Pracuje podle potřeby a slouží jako záložní řešení, dokud není dosaženo dostatečné kvality služeb alespoň 3 dalších indexátorů v síti pro příslušné řetězce a podgrafy. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### Jak to ovlivní vývojáře podgrafů? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### Jaký to má přínos pro spotřebitele dat? @@ -142,7 +142,7 @@ Aktualizační indexátor bude obsluhovat podgraf, dokud nebude dostatečně a Kromě toho indexátor aktualizace přestane podgraf podporovat, pokud se na něj v posledních 30 dnech nikdo nezeptal. -Ostatní indexery jsou motivovány k podpoře podgrafů s probíhajícím objemem dotazů, takže objem dotazů na upgradovaný indexer by měl směřovat k nule, protože indexer bude mít malou velikost alokace a ostatní indexery budou vybrány pro dotazy před upgradovaným indexerem. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## O síti grafů @@ -150,7 +150,7 @@ Ostatní indexery jsou motivovány k podpoře podgrafů s probíhajícím objeme No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -K vytvoření, otestování a publikování podgrafu můžete použít [Subgraph Studio](https://thegraph.com/studio/). Všichni uživatelé hostovaných služeb musí svůj podgraf aktualizovat na síť Grafu před koncem aktualizačního okna, které končí 12. června 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. Aktualizace Indexer zajišťuje, že se můžete dotazovat na podgraf i bez signálu kurátoru. @@ -160,17 +160,17 @@ Jakmile váš podgraf dosáhne dostatečného kurátorského signálu a ostatní Provozování infrastruktury pro vlastní projekt je [výrazně náročnější na zdroje](/network/benefits/) ve srovnání s používáním sit' Graf. -Síť Grafje navíc výrazně robustnější, spolehlivější a nákladově efektivnější než cokoli, co poskytuje jedna organizace nebo tým. Síť Graf pohání stovky nezávislých indexátorů po celém světě, což zajišťuje bezpečnost, zabezpečení a redundanci. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. Pokud přesto máte zájem o provozování [Graph Node](https://github.com/graphprotocol/graph-node), zvažte možnost připojit se k síti The Graph Network [jako indexátor](https://thegraph.com/blog/how-to-become-indexer/) a získávat odměny za indexování a poplatky za dotazy tím, že budete poskytovat data na svém podgrafu a dalších. ### Měl bych používat centralizovaného poskytovatele indexování? -Pokud stavíte ve Web3, v okamžiku, kdy použijete centralizovaného poskytovatele indexování, předáváte mu kontrolu nad vaším dapp a daty. Decentralizovaná síť Graf nabízí [vynikající kvalitu služeb](https://thegraph.com/blog/qos-the-graph-network/), spolehlivost s bezkonkurenční dobou provozu díky redundanci uzlů a také výrazně [nižší náklady](/network/benefits/) a nebudete rukojmím na datové vrstvě. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -V síti Graf je váš podgraf veřejný a kdokoli se na něj může otevřeně dotazovat, což zvyšuje využití a síťové efekty vašeho dapp. S centralizovaným řešením indexování je subgraf soukromý pro centralizovaného poskytovatele. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Upgrade Indexer navíc umožňuje 100,000 bezplatných měsíčních dotazů pro váš podgraf, než bude nutné za dotazy platit. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Zde je podrobný přehled výhod Graf oproti centralizovanému hosting: @@ -178,8 +178,8 @@ Zde je podrobný přehled výhod Graf oproti centralizovanému hosting: - **Kvalita služeb**: Kromě působivé doby provozu se Sit' Graf vyznačuje průměrnou rychlostí dotazů (latence) ~106 ms a vyšší úspěšností dotazů ve srovnání s hostovanými alternativami. Více informací naleznete v [tomto blogu](https://thegraph.com/blog/qos-the-graph-network/). -- **Odpor proti cenzuře**: Centralizované systémy jsou cílem cenzury, ať už v důsledku regulačních tlaků nebo síťových útoků. Naproti tomu decentralizované systémy je díky jejich rozptýlené architektuře mnohem obtížnější cenzurovat, což zajišťuje nepřetržitou dostupnost dat. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparentnost a důvěra**: Decentralizované systémy fungují otevřeně a umožňují komukoli nezávisle ověřit data. Tato transparentnost buduje důvěru mezi účastníky sítě, protože mohou ověřit integritu systému, aniž by se museli spoléhat na centrální autoritu. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Stejně jako jste si vybrali blockchainovou síť kvůli její decentralizované povaze, bezpečnosti a transparentnosti, je volba sit' Graf rozšířením stejných principů. Sladěním své datové infrastruktury s těmito hodnotami zajistíte soudržné, odolné a důvěryhodné vývojové prostředí. From e9ad5a78438e760e137ce82f4a3149cc4e7a063b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:25 -0400 Subject: [PATCH 1291/2326] New translations sunrise.mdx (German) --- website/pages/de/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/de/sunrise.mdx b/website/pages/de/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/de/sunrise.mdx +++ b/website/pages/de/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From b189a89f07ba9669ef2a9851dd4fca1af932cd25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:26 -0400 Subject: [PATCH 1292/2326] New translations sunrise.mdx (Italian) --- website/pages/it/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/it/sunrise.mdx b/website/pages/it/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/it/sunrise.mdx +++ b/website/pages/it/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From d294cc4cfd38ed7323100b483c0a415f9e9888df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:27 -0400 Subject: [PATCH 1293/2326] New translations sunrise.mdx (Japanese) --- website/pages/ja/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/ja/sunrise.mdx b/website/pages/ja/sunrise.mdx index d1232f27f4c7..ad0a2cf8b2aa 100644 --- a/website/pages/ja/sunrise.mdx +++ b/website/pages/ja/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> 注:この文書は、最も正確で役立つ情報を提供するために継続的に更新されています。新しい質問と回答は定期的に追加されます。お探しの情報が見つからない場合、または緊急のサポートが必要な場合は、[Discordでご連絡ください](https://discord.gg/vtvv7FP)。 +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -アップグレード・インデクサーは、まだネットワーク上でインデックスの報酬を得ていないチェーンのブートストラップや、新しいサブグラフのバージョンに対するフォールバックを目的としています。目標は、サブグラフが公開された後、できるだけ早くクエリに対応できるようにすることです。 +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ The upgrade Indexer supports chains that were previously only available on the h ### なぜEdge & Nodeはアップグレード・インデクサーを実行しているのか? -Edge & Nodeは歴史的にホスティングサービスを維持しており、その結果、ホスティングサービスのサブグラフのデータはすでに同期されています。 +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -すべてのインデクサーは、アップグレード・インデックサーになることが推奨されます。しかしながら、アップグレード・インデクサーの活動は、グラフ評議会によって承認される前にインデックスの報酬が得られないため、新しい部分グラフや追加の連鎖をサポートするための公共サービスとして提供されています。 +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. アップグレード・インデクサーはまた、グラフ・ネットワーク上のサブグラフや新しいチェーンの潜在的な需要に関する情報を、インデクサー・コミュニティに提供します。 @@ -122,11 +122,11 @@ Chains that were previously exclusively supported on the hosted service are avai いいえ、アップグレード・インデクサーは、サブグラフごとに最小量しか割り当てず、インデックス作成報酬は受け取りません。 -これは「必要に応じて」動作し、それぞれのチェーンやサブグラフに対して、ネットワーク内の少なくとも3つの他のインデクサによって十分なサービス品質が達成されるまで、フォールバックとして機能します。 +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### これはサブグラフ開発者にどのような影響を与えるのでしょうか? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### これはデータ消費者にとってどのようなメリットがあるのでしょうか? @@ -142,7 +142,7 @@ The upgrade Indexer enables chains on the network that were previously only supp さらに、アップグレード・インデクサーは、そのサブグラフが過去30日間にクエリされなかった場合、そのサブグラフのサポートを停止します。 -他のインデクサーは、継続的なクエリボリュームを持つサブグラフをサポートするインセンティブがあるため、アップグレード・インデクサーへのクエリボリュームはゼロになるはずです。 +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ The upgrade Indexer enables chains on the network that were previously only supp No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ The upgrade Indexer ensures you can query your subgraph even without curation si 自身のプロジェクトのためにインフラストラクチャを実行することは、グラフネットワークを使用する場合と比較して、[著しくリソースを消費します](/network/benefits/)。 -さらに、The Graph Networkは、単一の組織やチームが提供するものよりもはるかに堅牢で、信頼性が高く、コスト効率に優れています。世界中の何百もの独立したインデクサが Graph Network を支え、安全性、セキュリティ、冗長性を確保しています。 +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. とはいえ、もしまだ[グラフ・ノード](https://github.com/graphprotocol/graph-node)を運営することに興味があるのであれば、グラフ・ネットワーク[インデクサーとして](https://thegraph.com/blog/how-to-become-indexer/)に参加し、自分のサブグラフや他のサブグラフのデータを提供することで、インデクシング報酬やクエリ報酬を得ることを検討しましょう。 ### 集中型インデクシング・プロバイダを使うべきでしょうか? -もしweb3で構築しているのであれば、中央集権的なインデックス・プロバイダを利用した瞬間に、あなたのダップとデータを彼らにコントロールさせることになります。Graphの分散型ネットワークは、[優れたサービス品質](https://thegraph.com/blog/qos-the-graph-network/)、ノードの冗長性による無敵のアップタイムによる信頼性、大幅な[低コスト](/network/benefits/)を提供し、データレイヤーを人質に取られることはありません。 +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -グラフネットワークでは、サブグラフは公開され、誰でもオープンにクエリすることができます。中央集中型のインデックス・ソリューションでは、サブグラフは中央集中型のプロバイダーに非公開です。 +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. 集中型ホスティングに対するThe Graphの利点について詳しく説明します: @@ -178,8 +178,8 @@ Additionally, the upgrade Indexer enables 100,000 free monthly queries for your - **サービスの質**: 印象的なアップタイムに加え、The Graph Networkはクエリ速度(レイテンシー)の中央値が106msであり、他のホスティングサービスと比較して高いクエリー成功率を誇ります。詳しくは[このブログ](https://thegraph.com/blog/qos-the-graph-network/)をご覧ください。 -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **透明性と信頼**: 分散型システムはオープンに運用され、誰もが独立してデータを検証することができます。この透明性によって、ネットワーク参加者は中央機関に依存することなくシステムの完全性を検証できるため、信頼が構築されます。 +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. 非中央集権的な性質、セキュリティ、透明性のためにブロックチェーン・ネットワークを選択したように、The Graph Networkを選択することも同じ原則の延長線上にあります。データインフラストラクチャをこれらの価値観に合わせることで、結束力があり、弾力性があり、信頼に基づいた開発環境を確保することができます。 From 6429f47f9e8f356c20becb8ce026982968a507ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:28 -0400 Subject: [PATCH 1294/2326] New translations sunrise.mdx (Korean) --- website/pages/ko/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/ko/sunrise.mdx b/website/pages/ko/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/ko/sunrise.mdx +++ b/website/pages/ko/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From f6ae913e9136af934a865854a126d6951fc434a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:29 -0400 Subject: [PATCH 1295/2326] New translations sunrise.mdx (Dutch) --- website/pages/nl/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/nl/sunrise.mdx b/website/pages/nl/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/nl/sunrise.mdx +++ b/website/pages/nl/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From b9f1069069a000408074ec705bdddaddeaaf1cbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:29 -0400 Subject: [PATCH 1296/2326] New translations sunrise.mdx (Polish) --- website/pages/pl/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/pl/sunrise.mdx b/website/pages/pl/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/pl/sunrise.mdx +++ b/website/pages/pl/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 20e75693215cae99ffc2e3c9ec064e4ea7a44c63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:30 -0400 Subject: [PATCH 1297/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index be3d8a0943ac..c95ce1ebb9fb 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Nota: este documento é continuamente atualizado para garantir a providência das informações mais precisas e úteis. Novas perguntas e respostas são adicionadas de forma regular. Se não achar a informação que procura, ou se precisar de assistência imediata, [entre em contacto no Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ Este plano usa vários desenvolvimentos prévios do ecossistema do The Graph, in ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ Este plano usa vários desenvolvimentos prévios do ecossistema do The Graph, in ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -O Indexador de atualização mira inicializar chains que ainda não tenham recompensas de indexação na rede, além de uma reserva para novas versões de subgraph. A meta é garantir que um Indexador esteja disponível para servir queries o mais rápido possível após a publicação de um subgraph. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Encontre uma lista compreensiva de chains apoiadas [aqui](/developing/supported- ### Porque a Edge & Node executa o Indexador de atualização? -A Edge & Node manteve historicamente o serviço hospedado, e como resultado, já sincronizou os dados de subgraphs do serviço hospedado. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Convidamos todos e quaisquer Indexadores a tornar-se também Indexadores de atualização. Porém, perceba que a operação de um Indexador de atualização tende a ser fornecida como um serviço público para apoiar subgraphs novos e chains adicionais, devido à falta de recompensas de indexação antes de serem aprovados pelo Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. O Indexador de atualização também fornece à comunidade de Indexadores informações sobre demanda em potencial para subgraphs e novas chains na Graph Network. @@ -122,11 +122,11 @@ O Indexador de atualização oferece uma forte oportunidade para Delegantes. À Não, o Indexador de atualização só alocará a quantidade mínima por subgraph e não coletará recompensas de indexação. -Ele opera numa base de "necessidade" e serve como uma reserva até que uma qualidade de serviço suficiente seja alcançada por, no mínimo, 3 outros Indexadores na rede para chains e subgraphs respetivos. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### Como isto afetará os programadores de subgraph? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### Como isto beneficiará os consumidores de dados? @@ -142,7 +142,7 @@ O Indexador de atualização servirá um subgraph até ele for servido suficient Além disto, o Indexador de atualização parará de apoiar um subgraph se ele não tiver sido consultado nos últimos 30 dias. -Outros Indexadores são incentivados a apoiar subgraphs com o volume de query atual, para que o volume de query ao Indexador de atualização tenda a aproximar zero, já que o Indexador terá um tamanho de alocação pequeno e outros Indexadores serão escolhidos por queries antes do Indexador de atualização. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Outros Indexadores são incentivados a apoiar subgraphs com o volume de query at No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Quando o seu subgraph alcançar um sinal de curadoria adequado e outros Indexado A execução de infraestrutura para o seu próprio projeto [requer muito mais recursos](/network/benefits/) em comparação ao uso da Graph Network. -Além disto, a Graph Network é muito mais robusta, confiável, com um custo-benefício muito melhor em comparação a qualquer coisa providenciada por uma única organização ou equipa. Centenas de Indexadores independentes ao redor do mundo movem a Graph Network para garantir segurança e redundância. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. Dito isto, se ainda tiver interesse em executar um [Graph Node](https://github.com/graphprotocol/graph-node), considere entrar na Graph Network [como Indexador](https://thegraph.com/blog/how-to-become-indexer/) para ganhar recompensas de indexação e taxas de query ao servir dados no seu subgraph e em outros. ### Devo usar um provedor de indexação centralizado? -Se construir na web3, a partir do momento que usa um provedor de indexação centralizado, você dá-os controle do seu dApp e dos seus dados. A rede descentralizada do The Graph oferece [uma qualidade melhor de serviço](https://thegraph.com/blog/qos-the-graph-network/), confiança com atividade imbatível graças à redundância de nodes, além de [custos muito menores](/network/benefits/), e você não será feito de refém na camada de dados. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -Com a Graph Network, o seu subgraph é público e qualquer pessoa pode consultá-lo abertamente, o que aumenta o uso e os efeitos na rede do seu dApp. Com uma solução centralizada de indexação, o subgraph é privado para o provedor centralizado. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Aqui está um resumo detalhado dos benefícios do The Graph em comparação à hospedagem centralizada: @@ -178,8 +178,8 @@ Aqui está um resumo detalhado dos benefícios do The Graph em comparação à h - **Qualidade de Serviço**: Além do tempo de atividade impressionante, a Graph Network tem uma velocidade de query mediana (latência) de cerca de 106ms, e índices maiores de sucesso de query em comparação a alternativas hospedadas. Leia mais [neste blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparência e Confiança**: Sistemas descentralizados operam de forma aberta, o que permite que qualquer pessoa verifique os dados de forma independente. Esta transparência constrói confiança entre participantes da rede, já que podem verificar a integridade do sistema sem depender de uma autoridade central. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Assim como você escolheu a sua rede de blockchain pela natureza descentralizada, segurança e transparência, optar pela Graph Network é uma extensão destes mesmos princípios. Ao alinhar a sua infraestrutura de dados com estes valores, você garante um ambiente de programação coeso, resiliente e cheio de confiança. From 57556959dbb58b854800dae3323585d759858021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:31 -0400 Subject: [PATCH 1298/2326] New translations sunrise.mdx (Russian) --- website/pages/ru/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/ru/sunrise.mdx b/website/pages/ru/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/ru/sunrise.mdx +++ b/website/pages/ru/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 2dae927a2330912121f905a9394b970423bc2db0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:32 -0400 Subject: [PATCH 1299/2326] New translations sunrise.mdx (Swedish) --- website/pages/sv/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/sv/sunrise.mdx b/website/pages/sv/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/sv/sunrise.mdx +++ b/website/pages/sv/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From c24861924f82441b074e9fa88c294f81bccac9fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:33 -0400 Subject: [PATCH 1300/2326] New translations sunrise.mdx (Turkish) --- website/pages/tr/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/tr/sunrise.mdx b/website/pages/tr/sunrise.mdx index 9ff2b7fe1f01..bbab6aaf2874 100644 --- a/website/pages/tr/sunrise.mdx +++ b/website/pages/tr/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Not: Bu belge, en doğru ve yararlı bilgilerin sunulmasını sağlamak amacıyla sürekli olarak güncellenmektedir. Yeni sorular ve cevaplar düzenli olarak eklenmektedir. Aradığınız bilgiyi bulamazsanız veya acil yardıma ihtiyacınız olursa [Discord] (https://discord.gg/vtvv7FP) üzerinden bize ulaşın. +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ Bu plan, yeni yayınlanan subgraphlar üzerinde sorgular sunmak için bir yükse ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ Bu plan, yeni yayınlanan subgraphlar üzerinde sorgular sunmak için bir yükse ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -Yükseltme İndeksleyicisi, ağda henüz indeksleme ödülleri olmayan zincirleri önyüklemeyi ve yeni subgraph sürümleri için bir geri dönüş noktası sağlamayı amaçlamaktadır. Hedef, bir subgraph yayınlandıktan sonra mümkün olan en kısa sürede sorguları sunmak için bir İndeksleyicinin hazır olmasını sağlamaktır. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Desteklenen zincirlerin kapsamlı bir listesini inceleyin [here](/developing/sup ### Yükseltme İndeksleyicisini neden Edge & Node çalıştırıyor? -Edge and Node geçmişte barındırılan hizmeti sürdürmüş ve dolayısıyla zaten barındırılan hizmet subgraphlar'ı için veri senkronizasyonu sağlamıştır. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Tüm İndeksleyicilerin, aynı zamanda yükseltme İndeksleyicisi olmaları teşvik edilir. Ancak, unutulmamalıdır ki Graph Konseyi tarafından onaylanmadan indeksleme ödüllerinin olmaması nedeniyle yükseltme İndeksleyicisi çalıştırmak büyük ölçüde yeni subgraphları ve ek zincirleri desteklemek için bir kamu hizmeti olarak sağlanmaktadır. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. Yükseltme İndeksleyicisi ayrıca İndeksleyici topluluğuna Graph Ağı'ndaki subgraphlar ve yeni zincirler konusunda potansiyel talep hakkında bilgi sunmaktadır. @@ -122,11 +122,11 @@ Yükseltme İndeksleyicisi, Delegatörler için büyük bir fırsat sunmaktadır Hayır, yükseltme İndeksleyicisi yalnızca subgraph başına minimum miktarı tahsis edecek ve indeksleme ödüllerini toplamayacaktır. -Yükseltme İndeksleyicisi, "gerektiğinde" çalışır ve ilgili zincirler ve subgraphlar için ağda en az 3 diğer İndeksleyici yeterli hizmet kalitesine ulaşana kadar bir geri dönüş noktası olarak hizmet eder. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### Bu durum subgraph geliştiricilerini nasıl etkileyecek? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### Bu, veri tüketicilerine nasıl fayda sağlar? @@ -142,7 +142,7 @@ Yükseltme İndeksleyicisi, bir subgraph'a, en az 3 diğer İndeksleyici tarafı Ayrıca, yükseltme İndeksleyicisi, bir subhraph son 30 günde sorgulanmamış ise desteğini durduracaktır. -Diğer İndeksleyiciler, süregiden sorgu hacmi olan subgraphlar'a destek sağlamaya teşvik edildiği için, yükseltme İndeksleyicisine yönelik sorgu hacmi sıfıra doğru eğilim göstermelidir. Çünkü İndeksleyici, küçük bir tahsis kapasitesine sahip olacak ve diğer İndeksleyiciler sorgular için, yükseltme İndeksleyicisinden önce seçilecektir. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Diğer İndeksleyiciler, süregiden sorgu hacmi olan subgraphlar'a destek sağla No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Subgraph'ınız yeterli kürasyon sinyaline ulaştığında ve diğer İndeksley Kendi projeniz için altyapıyı çalıştırmak, Graph Ağı'nı kullanmaya kıyasla [önemli ölçüde daha fazla kaynak](/network/benefits/) gerektirir. -Ayrıca, Graph Ağı, tek bir organizasyon veya ekip tarafından sağlanan herhangi bir şeyden önemli ölçüde daha güçlü, güvenilir ve uygun maliyetli bir yapıya sahiptir. Dünya genelinde yüzlerce bağımsız İndeksleyici, Graph Ağı'nı destekleyerek güvenlik, güvenilirlik ve yedeklilik sağlar. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. Bununla birlikte, hala bir [Graph Düğümü](https://github.com/graphprotocol/graph-node) çalıştırmakla ilgileniyorsanız, subgraph'ınızda ve diğerlerinde veri sunarak indeksleme ödülleri ve sorgu ücretleri kazanmak için Graph Ağı'na [İndeksleyici olarak](https://thegraph.com/blog/how-to-become-indexer/) katılmayı düşünün. ### Merkezi bir indeksleme sağlayıcısı kullanmalı mıyım? -Web3'te bir şeyler geliştiriyorsanız, merkezi bir indeksleme sağlayıcısı kullandığınızda, merkeziyetsiz uygulamanız ve verileriniz üzerindeki kontrolü onlara veriyorsunuz demektir. Graph'ın merkeziyetsiz ağı, düğüm yedekliliği sayesinde kusursuz çalışma süresi, önemli ölçüde [daha düşük maliyetler](/network/benefits/) ve veri katmanında rehine alınmama gibi [üstün hizmet kalitesi](https://thegraph.com/blog/qos-the-graph-network/) ve güvenilirlik sunar. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -Graph Ağı ile subgraph'ınız herkese açıktır ve herkes tarafından açıkça sorgulanabilir, bu da merkeziyetsiz uygulamanızın kullanımını ve ağ etkilerini artırır. Merkezi bir indeksleme çözümüyle, subgraph merkezi sağlayıcıya özeldir. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. İşte Graph'ın merkezi barındırmaya göre avantajlarının ayrıntılı bir açıklaması: @@ -178,8 +178,8 @@ Additionally, the upgrade Indexer enables 100,000 free monthly queries for your - **Hizmet Kalitesi**: Etkileyici çalışma süresine ek olarak, Graph Ağı yaklaşık 106 ms medyan sorgu hızı (gecikme) ve barındırılan alternatiflere kıyasla daha yüksek sorgu başarı oranlarına sahiptir. Daha fazla bilgi için [bu bloğa göz atın] (https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Şeffaflık ve Güven**: Merkeziyetsiz sistemler açık bir şekilde işler, bu da herkesin veriyi bağımsız olarak doğrulayabilmesine olanak tanır. Bu şeffaflık, ağ katılımcıları arasında güven oluşturur, çünkü sistemın bütünlüğünü merkezi bir otoriteye güvenmeden doğrulayabilirler. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Merkezi olmayan yapısı, güvenliği ve şeffaflığı nedeniyle blok zincir ağını seçtiğiniz gibi, aynı şekilde Graph Ağı'nı tercih etmek bu ilkelerin bir devamı niteliğindedir. Veri altyapınızı bu değerlerle uyumlu hale getirerek bütünlük, dayanıklılık ve güvene dayalı bir geliştirme ortamını sağlarsınız. From d468b2df5eb652c33fe5a98a94754725dc111418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:34 -0400 Subject: [PATCH 1301/2326] New translations sunrise.mdx (Ukrainian) --- website/pages/uk/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/uk/sunrise.mdx b/website/pages/uk/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/uk/sunrise.mdx +++ b/website/pages/uk/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From ff3eb8daa387fc35a3fdefbd7fbdcf8ce8b41223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:35 -0400 Subject: [PATCH 1302/2326] New translations sunrise.mdx (Chinese Simplified) --- website/pages/zh/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/zh/sunrise.mdx b/website/pages/zh/sunrise.mdx index 2d3c01b02dfd..033982614a47 100644 --- a/website/pages/zh/sunrise.mdx +++ b/website/pages/zh/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> 注意:此文档会持续更新,以确保提供最准确和有用的信息。新的问题和答案会定期添加。如果您找不到您要寻找的信息,或者需要即时帮助,请[通过Discord联系我们](https://discord.gg/vtvv7FP)。 +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -升级索引人旨在启动尚未在网络上具有索引奖励的链,并作为新子图版本的备用选择。其目标是确保在子图发布后尽快提供索引人来响应查询。 +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ The upgrade Indexer supports chains that were previously only available on the h ### 为什么 Edge & Node 运行升级索引人? -Edge and Node 历史上一直维护托管服务,因此已同步了托管服务子图的数据。 +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -鼓励任何索引人都成为升级索引人。然而,需要注意的是,运行升级索引人主要是作为一项公共服务提供的,旨在支持新的子图和额外的链,因为在它们获得 The Graph Council 批准之前,缺乏索引奖励。 +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. 升级索引人还向索引人社区提供关于 The Graph Network 上潜在的子图需求和新链的信息。 @@ -122,11 +122,11 @@ Chains that were previously exclusively supported on the hosted service are avai 不,升级索引人只会为每个子图分配最低金额,并不会收集索引奖励。 -它根据“根据需要”的方式运行,并作为网络中至少有3个其他索引人为各自的链和子图实现足够的服务质量之前的备用。 +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### 这将如何影响子图开发者? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### 这如何使数据消费者受益? @@ -142,7 +142,7 @@ The upgrade Indexer enables chains on the network that were previously only supp 此外,如果一个子图在过去的30天内没有被查询,升级的索引人将停止支持该子图。 -其他索引人会被激励来支持有持续查询量的子图,因此升级的索引人的查询量应该趋近于零,因为该索引人的分配容量较小,其他索引人将在升级的索引人之前被选中进行查询。 +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ The upgrade Indexer enables chains on the network that were previously only supp No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ The upgrade Indexer ensures you can query your subgraph even without curation si 与使用The Graph Network相比,为您自己的项目运行基础设施需要的资源明显更多(/network/benefits/)。 -此外,与单一组织或团队提供的任何内容相比,The Graph Network显著更健壮、可靠和成本效益更高。全球数百个独立的指标化者支持The Graph Network,确保了安全性、可靠性和冗余性。 +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. 话虽如此,如果您仍有兴趣运行[Graph Node](https://github.com/graphprotocol/graph-node),考虑加入The Graph Network,作为索引人,通过为您的子图和其他子图提供数据来赚取索引奖励和查询费用。了解如何成为索引人的更多信息,请参阅[此链接](https://thegraph.com/blog/how-to-become-indexer/)。 ### 我应该使用中心化的索引提供者吗? -如果您正在构建Web3应用程序,一旦使用中心化的索引提供者,您将把对您的DApp和数据的控制交给他们。The Graph的分散网络提供卓越的服务质量、通过节点冗余实现无与伦比的可用性,以及显著更低的成本,您将不会受到数据层的威胁。了解更多关于[服务质量](https://thegraph.com/blog/qos-the-graph-network/)和[网络优势](/network/benefits/)的信息。 +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -在The Graph Network上,您的子图是公开的,任何人都可以公开查询它,这会增加您DApp的使用率和网络效应。而使用中心化的索引解决方案,子图对中心化提供者来说是私有的。 +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. 以下是The Graph相对于中心化托管的好处的详细分析: @@ -178,8 +178,8 @@ Additionally, the upgrade Indexer enables 100,000 free monthly queries for your - **服务质量**:除了令人印象深刻的可用性之外,The Graph Network具有约106毫秒的中位查询速度(延迟),以及相对于托管的替代方案,更高的查询成功率。更多信息请参阅[此博客](https://thegraph.com/blog/qos-the-graph-network/)。 -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **透明度和信任**:分散系统开放运行,使任何人都能独立验证数据。这种透明性在网络参与者之间建立了信任,因为他们可以验证系统的完整性,而无需依赖中央权威。 +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. 正如您选择区块链网络以获取分散性、安全性和透明性一样,选择The Graph Network是这些相同原则的延伸。通过将您的数据基础设施与这些价值观保持一致,您确保了一个有凝聚力、弹性十足且以信任为驱动的开发环境。 From 0b4c7612b8569db599a76019df17ca893a572268 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:36 -0400 Subject: [PATCH 1303/2326] New translations sunrise.mdx (Urdu (Pakistan)) --- website/pages/ur/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/ur/sunrise.mdx b/website/pages/ur/sunrise.mdx index 8a6ba93aa93b..262d86eebcc8 100644 --- a/website/pages/ur/sunrise.mdx +++ b/website/pages/ur/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> نوٹ: اس دستاویز کو مسلسل اپ ڈیٹ کیا جاتا ہے تاکہ یہ یقینی بنایا جا سکے کہ انتہائی درست اور مددگار معلومات فراہم کی گئی ہیں۔ نئے سوالات اور جوابات مستقل بنیادوں پر شامل کیے جاتے ہیں۔ اگر آپ کو وہ معلومات نہیں ملتی ہیں جس کی آپ تلاش کر رہے ہیں، یا اگر آپ کو فوری مدد کی ضرورت ہے [ڈسکورڈ پر رابطہ کریں](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -اپ گریڈ انڈیکسر کا غور ان بوٹسٹریپنگ چینز پر ہے جن کے نیٹ ورک پر ابھی تک انڈیکسنگ انعامات نہیں ہیں، نیز سب گراف کے نئے ورژنز کے لیے فال بیک۔ مقصد اس بات کو یقینی بنانا ہے کہ سب گراف شائع ہونے کے بعد جلد از جلد کیوریز پیش کرنے کے لیے ایک انڈیکسر دستیاب ہو. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ The upgrade Indexer supports chains that were previously only available on the h ### ایج اور نوڈ اپ گریڈ انڈیکسر کیوں چلا رہا ہے؟ -ایج اور نوڈ نے تاریخی طور پر ہوسٹڈ سروس کو برقرار رکھا ہے اور اس کے نتیجے میں، ہوسٹڈ سروس سب گرافس کے لیے ڈیٹا کو پہلے ہی ہم آہنگ کر دیا ہے۔ +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -کسی بھی اور تمام انڈیکسرز کی حوصلہ افزائی کی جاتی ہے کہ وہ اپ گریڈ انڈیکسرز بھی بن جائیں۔ تاہم، نوٹ کریں کہ گراف کونسل سے منظور ہونے سے پہلے انڈیکسنگ انعامات کی کمی کی وجہ سے نئے سب گراف اور اضافی چینز کو سپورٹ کرنے کے لیے ایک اپ گریڈ انڈیکسر کو چلانا بڑی حد تک عوامی خدمت کے طور پر فراہم کیا جاتا ہے. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. اپ گریڈ انڈیکسر انڈیکسر کمیونٹی کو گراف نیٹ ورک پر سب گرافس اور نئی چینز کی ممکنہ مانگ کے بارے میں معلومات بھی فراہم کرتا ہے. @@ -122,11 +122,11 @@ Chains that were previously exclusively supported on the hosted service are avai نہیں، اپ گریڈ انڈیکسر صرف فی سب گراف کم از کم رقم مختص کرے گا اور انڈیکسنگ انعامات جمع نہیں کرے گا. -یہ "ضرورت کے مطابق" کی بنیاد پر کام کرتا ہے، اور اس وقت تک فال بیک کے طور پر کام کرتا ہے جب تک کہ متعلقہ چینز اور سب گرافس کے لیے نیٹ ورک میں کم از کم 3 دیگر انڈیکسرز کی طرف سے کافی سروس کا معیار حاصل نہ کر لیا جائے. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### یہ سب گراف ڈویلپرز کو کیسے متاثر کرے گا؟ -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### اس سے ڈیٹا صارفین کو کیسے فائدہ ہوتا ہے؟ @@ -142,7 +142,7 @@ The upgrade Indexer enables chains on the network that were previously only supp مزید برآں، اپ گریڈ انڈیکسر سب گراف کو سپورٹ کرنا بند کر دے گا اگر اس سے پچھلے 30 دنوں میں کیوری نہیں کیا گیا ہے. -دوسرے انڈیکسرز کو جاری کیوری والیوم کے ساتھ سب گراف کو سپورٹ کرنے کے لیے ترغیب دی جاتی ہے، اس لیے اپ گریڈ انڈیکسر کے لیے کیوری کا حجم صفر کی طرف رجحان ہونا چاہیے کیونکہ انڈیکسر کا مختص کا سائز چھوٹا ہوگا اور دیگر انڈیکسرز کو اپ گریڈ انڈیکسر سے پہلے کیوریز کے لیے منتخب کیا جائے گا. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ The upgrade Indexer enables chains on the network that were previously only supp No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ The upgrade Indexer ensures you can query your subgraph even without curation si گراف نیٹ ورک کے استعمال کے مقابلے میں آپ کے اپنے پروجیکٹ کے لیے انفراسٹرکچر چلانا [نمایاں طور پر زیادہ وسائل والا](/network/benefits/) ہے. -مزید برآں، گراف نیٹ ورک کسی ایک تنظیم یا ٹیم کے ذریعہ فراہم کردہ کسی بھی چیز کے مقابلے میں نمایاں طور پر زیادہ مضبوط، قابل اعتماد، اور لاگت سے موثر ہے۔ دنیا بھر میں سیکڑوں آزاد انڈیکسرز گراف نیٹ ورک کو طاقت دیتے ہیں، جو حفاظت، تحفظ اور ریڈینڈینسی کو یقینی بناتے ہیں. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. یہ کہا جا رہا ہے، اگر آپ ابھی بھی [گراف نوڈ](https://github.com/graphprotocol/graph-node) چلانے میں دلچسپی رکھتے ہیں، تو گراف نیٹ ورک میں شامل ہونے پر غور کریں [بطور انڈیکسر](https://thegraph. com/blog/how-to-become-indexer/) اپنے سب گراف اور دیگر پر ڈیٹا پیش کرکے انڈیکسنگ انعامات اور کیوری کی فیس حاصل کرنے کے لیے. ### کیا مجھے سینٹرلائزڈ انڈیکسنگ فراہم کنندہ استعمال کرنا چاہیے؟ -اگر آپ ویب 3 میں تعمیر کر رہے ہیں، جس لمحے آپ سینٹرلائزڈ انڈیکسنگ فراہم کنندہ استعمال کرتے ہیں، آپ انہیں اپنے ڈیپ اور ڈیٹا کا کنٹرول دے رہے ہیں۔ گراف کا ڈیسینٹرالائزڈ نیٹ ورک پیش کرتا ہے [سروس کا اعلیٰ معیار](https://thegraph.com/blog/qos-the-graph-network/)، ناقابل شکست اپ ٹائم کے ساتھ قابل اعتماد نوڈ ریڈینڈینسی کی بدولت، نیز نمایاں طور پر [کم لاگت](/network/benefits/)، اور آپ کو ڈیٹا لیئر پر ہوسٹیج نہیں بنایا جائے گا. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -گراف نیٹ ورک کے ساتھ، آپ کا سب گراف عوامی ہے اور کوئی بھی اس سے کھل کر کیوری کر سکتا ہے، جو آپ کے ڈیپ کے استعمال اور نیٹ ورک کے اثرات کو بڑھاتا ہے۔ مرکزی انڈیکسنگ کے حل کے ساتھ، سب گراف مرکزی فراہم کنندہ کے لیے نجی ہے. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. سینٹرلائزڈ ہوسٹنگ پر گراف کے فوائد کی تفصیلی بریک ڈاؤن یہ ہے: @@ -178,8 +178,8 @@ Additionally, the upgrade Indexer enables 100,000 free monthly queries for your - **سروس کا معیار**: متاثر کن اپ ٹائم کے علاوہ، گراف نیٹ ورک میں ~106ms میڈین کیوری کی رفتار (لیٹنسی) اور میزبان متبادل کے مقابلے میں کیوری کی کامیابی کی اعلی شرحیں شامل ہیں۔ مزید پڑھیں [اس بلاگ] میں (https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **شفافیت اور اعتماد**: ڈیسینٹرالائزڈ نظام کھلے عام کام کرتے ہیں، کسی کو بھی آزادانہ طور پر ڈیٹا کی تصدیق کرنے کے قابل بناتے ہیں۔ یہ شفافیت نیٹ ورک کے شرکاء میں اعتماد پیدا کرتی ہے، کیونکہ وہ کسی مرکزی اقتدار پر بھروسہ کیے بغیر سسٹم کی سالمیت کی تصدیق کر سکتے ہیں. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. جس طرح آپ نے اپنے بلاکچین نیٹ ورک کو اس کی ڈیسینٹرالائزڈ، سیکورٹی اور شفافیت کے لیے منتخب کیا ہے، اسی طرح گراف نیٹ ورک کا انتخاب انہی اصولوں کی توسیع ہے۔ اپنے ڈیٹا انفراسٹرکچر کو ان اقدار کے ساتھ سیدھ میں لا کر، آپ ایک مربوط، لچکدار، اور اعتماد پر مبنی ترقیاتی ماحول کو یقینی بناتے ہیں. From c703c02d371e7b3b1ea0074b6d5c0f46c847b7e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:37 -0400 Subject: [PATCH 1304/2326] New translations sunrise.mdx (Vietnamese) --- website/pages/vi/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/vi/sunrise.mdx b/website/pages/vi/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/vi/sunrise.mdx +++ b/website/pages/vi/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 7f58c6018f90ca423469a89bcc52df6d7ac675b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:38 -0400 Subject: [PATCH 1305/2326] New translations sunrise.mdx (Marathi) --- website/pages/mr/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/mr/sunrise.mdx b/website/pages/mr/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/mr/sunrise.mdx +++ b/website/pages/mr/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From 2787fffb8e175a56e8445c23137a1b8328f2545a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:39 -0400 Subject: [PATCH 1306/2326] New translations sunrise.mdx (Hindi) --- website/pages/hi/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/hi/sunrise.mdx b/website/pages/hi/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/hi/sunrise.mdx +++ b/website/pages/hi/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From e193a83ce6b02bfafe8d413c9aaa1d96315c6223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 27 May 2024 18:09:40 -0400 Subject: [PATCH 1307/2326] New translations sunrise.mdx (Yoruba) --- website/pages/yo/sunrise.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/yo/sunrise.mdx b/website/pages/yo/sunrise.mdx index 3e4a740d9ef4..3ba2c36c6700 100644 --- a/website/pages/yo/sunrise.mdx +++ b/website/pages/yo/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise of Decentralized Data FAQ --- -> Note: this document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). ## What is the Sunrise of Decentralized Data? @@ -12,7 +12,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network as well as simple payment options.\ +**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ **Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service subgraphs will no longer be available after June 12th, 2024 (the cutoff date). Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query, returning an error message explaining what to do next. +Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. ### Will my hosted service subgraph be supported on The Graph Network? @@ -38,7 +38,7 @@ To upgrade a hosted service subgraph, you can visit the subgraph dashboard on th 2. Select the receiving wallet (the wallet that will become the owner of the subgraph). 3. Click the "Upgrade" button. -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it, so you can begin making queries immediately, once you have generated an API key ([learn more](/cookbook/upgrading-a-subgraph/#what-next)). +Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). ### How can I get support with the upgrade process? @@ -46,15 +46,15 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. Developers can add GRT signal to Subgraphs eligible for indexing rewards in order to attract additional Indexers, for redundancy and improved quality of service ([learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph)) +All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Subgraphs which are not eligible for indexing rewards may have difficulty attracting further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). ### How do I publish new versions to the network? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command to the , and requires a `version-label` for each new deployment. +You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. 1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) 2. Update your deploy command @@ -74,15 +74,15 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro > Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 -### What happens if I don't upgrade my subgraph? +### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? -Subgraphs will be queryable on the hosted service until the cutoff date, after which query endpoints will no longer be available, and owners will not be able to deploy new versions. Owners will still be able to simply upgrade their subgraphs to the network at any time, even after the cutoff date. +When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's Hosted Service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL ([learn more](querying/querying-the-graph)). +### What happens if I don't upgrade my subgraph? -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third party data consumers an opportunity to move to the new Network subgraph endpoints before the cutoff date. The subgraph owners will still be able to “claim” these subgraphs on the network using the Hosted Service upgrade flow. +Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. ### How can I get started querying subgraphs on The Graph Network? @@ -92,9 +92,9 @@ You can explore available subgraphs on [Graph Explorer](https://thegraph.com/exp ### What is the upgrade Indexer? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and supporting new versions of existing subgraphs that have not yet been indexed. +The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. -The upgrade Indexer is aimed at bootstrapping chains that do not yet have indexing rewards on the network, as well as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. ### What chains does the upgrade Indexer support? @@ -104,13 +104,13 @@ Find a comprehensive list of supported chains [here](/developing/supported-netwo ### Why is Edge & Node running the upgrade Indexer? -Edge and Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. -Any and all Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is largely provided as a public service to support new subgraphs and additional chains due to the lack of indexing rewards before they are approved by The Graph Council. +All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. ### What does the upgrade indexer mean for existing Indexers? -Chains that were previously exclusively supported on the hosted service are available to developers on The Graph without indexing rewards at first, though this does unlock query fees for any Indexer that is interested. This is expected to lead to an increase in the number of subgraphs being published on the network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. The upgrade Indexer also provides the Indexer community with information about potential demand for subgraphs and new chains on The Graph Network. @@ -122,11 +122,11 @@ The upgrade Indexer offers a powerful opportunity for Delegators. As more subgra No, the upgrade Indexer will only allocate the minimum amount per subgraph and will not collect indexing rewards. -It operates on an “as needed” basis, and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. ### How will this affect subgraph developers? -Subgraph developers will be able to query their subgraphs on the network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. ### How does this benefit data consumers? @@ -142,7 +142,7 @@ The upgrade Indexer will serve a subgraph until it is sufficiently and successfu Furthermore, the upgrade Indexer will stop supporting a subgraph if it has not been queried in the last 30 days. -Other Indexers are incentivized to support subgraphs with ongoing query volume, so the query volume to the upgrade Indexer should trend towards zero because the Indexer will have a small allocation size and other Indexers will be chosen for queries ahead of the upgrade Indexer. +Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. ## About The Graph Network @@ -150,7 +150,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume, No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use the [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before the end of the upgrade window ending on June 12th 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. The upgrade Indexer ensures you can query your subgraph even without curation signal. @@ -160,17 +160,17 @@ Once your subgraph has reached adequate curation signal and other Indexers begin Running infrastructure for your own project is [significantly more resource intensive](/network/benefits/) when compared to using The Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security and redundancy. +Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. That being said, if you’re still interested in running a [Graph Node](https://github.com/graphprotocol/graph-node), consider joining The Graph Network [as an Indexer](https://thegraph.com/blog/how-to-become-indexer/) to earn indexing rewards and query fees by serving data on your subgraph and others. ### Should I use a centralized indexing provider? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, as well as significantly [lower costs](/network/benefits/), and you won’t be held hostage at the data layer. +If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. With a centralized indexing solution, the subgraph is private to the centralized provider. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. -Additionally, the upgrade Indexer enables 100,000 free monthly queries for your subgraph before needing to pay for queries. +Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. Here's a detailed breakdown of the benefits of The Graph over centralized hosting: @@ -178,8 +178,8 @@ Here's a detailed breakdown of the benefits of The Graph over centralized hostin - **Quality of Service**: In addition to the impressive uptime, The Graph Network features a ~106ms median query speed (latency), and higher query success rates compared to hosted alternatives. Read more in [this blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, decentralized systems, due to their dispersed architecture, are much harder to censor, ensuring continuous data availability. +- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants, as they can verify the system's integrity without relying on a central authority. +- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. Just as you've chosen your blockchain network for its decentralized nature, security, and transparency, opting for The Graph Network is an extension of those same principles. By aligning your data infrastructure with these values, you ensure a cohesive, resilient, and trust-driven development environment. From cb7d57fd975a52506c6d6c4d9f83c8edfd34a643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:14 -0400 Subject: [PATCH 1308/2326] New translations publishing-a-subgraph.mdx (Romanian) --- .../pages/ro/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/ro/publishing/publishing-a-subgraph.mdx b/website/pages/ro/publishing/publishing-a-subgraph.mdx index a26843378c9e..9ccfe70d014d 100644 --- a/website/pages/ro/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ro/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Explorer subgraphs](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From a99910b11339aa1339359993f4163618f28ce37d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:15 -0400 Subject: [PATCH 1309/2326] New translations publishing-a-subgraph.mdx (French) --- .../pages/fr/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/fr/publishing/publishing-a-subgraph.mdx b/website/pages/fr/publishing/publishing-a-subgraph.mdx index 710facbdeb0d..6094081dc0bf 100644 --- a/website/pages/fr/publishing/publishing-a-subgraph.mdx +++ b/website/pages/fr/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publication d'un subgraph sur le réseau décentralisé --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. La publication d'un subgraph sur le réseau décentralisé permet aux [curateurs](/network/curating) de commencer à signaler et aux [indexeurs](/network/indexing) de l'indexer. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Les subgraphs d'exploration](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Pool de curation](/img/curate-own-subgraph-tx.png) From 9ec1a65c6c44c2bc536ff429d4d01afd1c2bb78d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:16 -0400 Subject: [PATCH 1310/2326] New translations publishing-a-subgraph.mdx (Spanish) --- .../pages/es/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/es/publishing/publishing-a-subgraph.mdx b/website/pages/es/publishing/publishing-a-subgraph.mdx index 8941d44272dc..f2717174a6c8 100644 --- a/website/pages/es/publishing/publishing-a-subgraph.mdx +++ b/website/pages/es/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publicación de un subgrafo en la Red Descentralizada --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. La publicación de un subgrafo en la red descentralizada hace que esté disponible para que los [Curadores](/network/curating) comiencen a seleccionarlo y los [Indexadores](/network/indexing) comienzen a indexarlo. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Subgrafos del Explorador](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From eb8486b85ddd6d613b5e0713e0f8a6f80372817e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:17 -0400 Subject: [PATCH 1311/2326] New translations publishing-a-subgraph.mdx (Arabic) --- .../pages/ar/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/ar/publishing/publishing-a-subgraph.mdx b/website/pages/ar/publishing/publishing-a-subgraph.mdx index b0c8f266ee6a..e0ba44d6776f 100644 --- a/website/pages/ar/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ar/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![مستكشف الفرعيةرسم بياني](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From b340e8a392cee427b61bc91614ad5d7123256f41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:18 -0400 Subject: [PATCH 1312/2326] New translations publishing-a-subgraph.mdx (Czech) --- .../pages/cs/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/cs/publishing/publishing-a-subgraph.mdx b/website/pages/cs/publishing/publishing-a-subgraph.mdx index 9cd6f71f6f39..5ddf71d931da 100644 --- a/website/pages/cs/publishing/publishing-a-subgraph.mdx +++ b/website/pages/cs/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Zveřejnění podgrafu v decentralizované síti --- -Jakmile je váš podgraf [nasazen do Podgraf Studio](/deploying/deploying-a-subgraph-to-studio), otestovali jste jej a jste připraveni jej nasadit do produkce, můžete jej publikovat do decentralizované sítě. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Zveřejněním podgrafu v decentralizované síti jej mohou [kurátoři](/network/curating) začít kurátorsky zpracovávat a [indexátoři](/network/indexing) jej mohou začít indexovat. @@ -28,6 +28,16 @@ Vývojáři mohou do svých podgrafů přidat signál GRT. Pokud je podgraf způ > Pokud je váš subgraf způsobilý pro odměny, doporučujeme, abyste si vytvořili vlastní podgraf s alespoň 3,000 GRT (k 11, dubnu 2024), abyste přilákali další indexátory k indexování vašeho podgrafu +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Podgrafy průzkumníka](/img/explorer-subgraphs.png) + Podgraf Studio umožňuje přidat signál do podgrafu přidáním GRT do fondu kurátorů podgrafu v téže transakci, ve které je publikován. ![Kurátorský bazén](/img/curate-own-subgraph-tx.png) From fdd5f5820c0179d5eba8bc3156b2b4299dfdef13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:19 -0400 Subject: [PATCH 1313/2326] New translations publishing-a-subgraph.mdx (German) --- .../pages/de/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/de/publishing/publishing-a-subgraph.mdx b/website/pages/de/publishing/publishing-a-subgraph.mdx index a26843378c9e..9ccfe70d014d 100644 --- a/website/pages/de/publishing/publishing-a-subgraph.mdx +++ b/website/pages/de/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Explorer subgraphs](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 5c4817bca48204b837006459558a1f6bacad787d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:20 -0400 Subject: [PATCH 1314/2326] New translations publishing-a-subgraph.mdx (Italian) --- .../pages/it/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/it/publishing/publishing-a-subgraph.mdx b/website/pages/it/publishing/publishing-a-subgraph.mdx index 69d12cafe1ea..31af65d794bc 100644 --- a/website/pages/it/publishing/publishing-a-subgraph.mdx +++ b/website/pages/it/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Pubblicare un subgraph nella rete decentralizzata --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. La pubblicazione di un Subgraph nella rete decentralizzata lo rende disponibile per [i Сurator](/network/curating) per iniziare a curarlo e [gli Indexer](/network/indexing) per iniziare a indicizzarlo. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Subgraph Explorer](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Pool di curation](/img/curate-own-subgraph-tx.png) From 8a6ca7f43b0bc220dbe5ddacedc2bd2548ef4ef5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:21 -0400 Subject: [PATCH 1315/2326] New translations publishing-a-subgraph.mdx (Japanese) --- .../pages/ja/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/ja/publishing/publishing-a-subgraph.mdx b/website/pages/ja/publishing/publishing-a-subgraph.mdx index 1ffabafb2b19..0bf201fc3fa3 100644 --- a/website/pages/ja/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ja/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: 分散型ネットワークへのサブグラフの公開 --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. サブグラフを分散型ネットワークに公開すると、[キュレーター](/network/curating)がキュレーションを開始したり、[インデクサー](/network/indexing)がインデックスを作成したりできるようになります。 @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![エクスプローラー サブグラフ](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![キュレーションプール](/img/curate-own-subgraph-tx.png) From ffe11b5b11d404194ce5514ef7e18544b54f1695 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:22 -0400 Subject: [PATCH 1316/2326] New translations publishing-a-subgraph.mdx (Korean) --- .../pages/ko/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/ko/publishing/publishing-a-subgraph.mdx b/website/pages/ko/publishing/publishing-a-subgraph.mdx index a26843378c9e..9ccfe70d014d 100644 --- a/website/pages/ko/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ko/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Explorer subgraphs](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From e402e7386f38e43a1d5469fa50eb6cd0d23ad44c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:23 -0400 Subject: [PATCH 1317/2326] New translations publishing-a-subgraph.mdx (Dutch) --- .../pages/nl/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/nl/publishing/publishing-a-subgraph.mdx b/website/pages/nl/publishing/publishing-a-subgraph.mdx index a26843378c9e..25907c6214f9 100644 --- a/website/pages/nl/publishing/publishing-a-subgraph.mdx +++ b/website/pages/nl/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Verken Subgraphs](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From c8f980669e343713bf677ec1eafaf0c6238eb391 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:24 -0400 Subject: [PATCH 1318/2326] New translations publishing-a-subgraph.mdx (Polish) --- .../pages/pl/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/pl/publishing/publishing-a-subgraph.mdx b/website/pages/pl/publishing/publishing-a-subgraph.mdx index a26843378c9e..9ccfe70d014d 100644 --- a/website/pages/pl/publishing/publishing-a-subgraph.mdx +++ b/website/pages/pl/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Explorer subgraphs](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 1e82075b70ad4cbd3b2cc072d2416d41917d5c5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:25 -0400 Subject: [PATCH 1319/2326] New translations publishing-a-subgraph.mdx (Portuguese) --- .../pages/pt/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/pt/publishing/publishing-a-subgraph.mdx b/website/pages/pt/publishing/publishing-a-subgraph.mdx index 3070cc541ada..64a5a5ce2cf6 100644 --- a/website/pages/pt/publishing/publishing-a-subgraph.mdx +++ b/website/pages/pt/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Como Editar um Subgraph na Rede Descentralizada --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Editar um Subgraph na rede descentralizada o disponibiliza para a curadoria pelos [Curadores](/network/curating), e para indexação pelos [Indexadores](/network/indexing). @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Subgraphs no Explorer](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Pool de Curadoria](/img/curate-own-subgraph-tx.png) From 42c92e99e53ce65f60be03a170640aa12050b784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:26 -0400 Subject: [PATCH 1320/2326] New translations publishing-a-subgraph.mdx (Russian) --- .../pages/ru/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/ru/publishing/publishing-a-subgraph.mdx b/website/pages/ru/publishing/publishing-a-subgraph.mdx index f03e3405162b..7ba880e4b803 100644 --- a/website/pages/ru/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ru/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Публикация подграфа в децентрализованной сети --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Публикация Подграфа в децентрализованной сети делает его доступным для [Кураторов](/network/curating), чтобы начать его курирование, и для [Индексаторов](/network/indexing), чтобы начать его индексирование. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Explorer по подграфам](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Кураторский пул](/img/curate-own-subgraph-tx.png) From 1577f1053825343322c99acce42e86d78a5ab47c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:27 -0400 Subject: [PATCH 1321/2326] New translations publishing-a-subgraph.mdx (Swedish) --- .../pages/sv/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/sv/publishing/publishing-a-subgraph.mdx b/website/pages/sv/publishing/publishing-a-subgraph.mdx index d3f472162015..459b8fea763e 100644 --- a/website/pages/sv/publishing/publishing-a-subgraph.mdx +++ b/website/pages/sv/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publicera en Subgraph på Det Decentraliserade Nätverket --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Genom att publicera en subgraph på det decentraliserade nätverket blir den tillgänglig för [Kurators](/network/curating) att börja kurera och [Indexeres](/network/indexing) att börja indexera den. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Utforska subgrafer](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Kurationspool](/img/curate-own-subgraph-tx.png) From e9fb06df67d8ca6b109f445b67243454373b2acf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:28 -0400 Subject: [PATCH 1322/2326] New translations publishing-a-subgraph.mdx (Turkish) --- .../pages/tr/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/tr/publishing/publishing-a-subgraph.mdx b/website/pages/tr/publishing/publishing-a-subgraph.mdx index 089e2f792ddf..7480033a255b 100644 --- a/website/pages/tr/publishing/publishing-a-subgraph.mdx +++ b/website/pages/tr/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Explorer subgraphs](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From edbf66794e65b449fc33c00287568c08d1266fa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:29 -0400 Subject: [PATCH 1323/2326] New translations publishing-a-subgraph.mdx (Ukrainian) --- .../pages/uk/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/uk/publishing/publishing-a-subgraph.mdx b/website/pages/uk/publishing/publishing-a-subgraph.mdx index a26843378c9e..e915ef1b4ee7 100644 --- a/website/pages/uk/publishing/publishing-a-subgraph.mdx +++ b/website/pages/uk/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Дослідження підграфів](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 5fdf3d8041f2eee953b5361ec10d15ba0c178ee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:30 -0400 Subject: [PATCH 1324/2326] New translations publishing-a-subgraph.mdx (Chinese Simplified) --- .../pages/zh/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/zh/publishing/publishing-a-subgraph.mdx b/website/pages/zh/publishing/publishing-a-subgraph.mdx index 3c8615855d7f..3eecf8cd19ed 100644 --- a/website/pages/zh/publishing/publishing-a-subgraph.mdx +++ b/website/pages/zh/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: 向去中心化的网络发布子图 --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. 将一个子图发布到去中心化的网络上,使其可以开始让[策展人](/network/curating)进行策展,并开始让[索引人](/network/indexing)进行索引。 @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![浏览器子图](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![策展池](/img/curate-own-subgraph-tx.png) From 35d8f34f9611eb7510f82b1fe74c90c37fc84405 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:31 -0400 Subject: [PATCH 1325/2326] New translations publishing-a-subgraph.mdx (Urdu (Pakistan)) --- .../pages/ur/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/ur/publishing/publishing-a-subgraph.mdx b/website/pages/ur/publishing/publishing-a-subgraph.mdx index 98acc689c0ac..113167b1fe6f 100644 --- a/website/pages/ur/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ur/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: ڈیسینٹرلائزڈ نیٹ ورک پر سب گراف شائع کرنا --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. ڈیسینٹرالائزڈ نیٹ ورک پر سب گراف شائع کرنا اسے [کیوریٹرز](/network/curating) کے لیے اس پر کیوریٹنگ شروع کرنے کے لیے، اور [انڈیکسرز](/network/indexing) کے لیے دستیاب کرتا ہے۔ اس کی ترتیب شروع کرنے کے لیے. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![سب گراف ایکسپلورر](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![کیوریشن پول](/img/curate-own-subgraph-tx.png) From 9433ef023e56d4b0164bd05f9c87fa28d56c793d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:32 -0400 Subject: [PATCH 1326/2326] New translations publishing-a-subgraph.mdx (Vietnamese) --- .../pages/vi/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/vi/publishing/publishing-a-subgraph.mdx b/website/pages/vi/publishing/publishing-a-subgraph.mdx index 7e852c0c2b49..7b04909bbfc6 100644 --- a/website/pages/vi/publishing/publishing-a-subgraph.mdx +++ b/website/pages/vi/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Trình khám phá subgraph](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From b2a78573959595090512e425683bc600d9d921bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:33 -0400 Subject: [PATCH 1327/2326] New translations publishing-a-subgraph.mdx (Marathi) --- .../pages/mr/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/mr/publishing/publishing-a-subgraph.mdx b/website/pages/mr/publishing/publishing-a-subgraph.mdx index 47b0bb04529e..e27139f9c3b8 100644 --- a/website/pages/mr/publishing/publishing-a-subgraph.mdx +++ b/website/pages/mr/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: विकेंद्रीकृत नेटवर्कवर सबग्राफ प्रकाशित करणे --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. विकेंद्रीकृत नेटवर्कवर सबग्राफ प्रकाशित केल्याने ते [क्युरेटर्स](/network/curating) वर क्युरेटिंग सुरू करण्यासाठी आणि [इंडेक्सर्स](/network/indexing) साठी उपलब्ध होते. त्याची अनुक्रमणिका सुरू करण्यासाठी. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![एक्सप्लोरर सबग्राफ](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![क्युरेशन पूल](/img/curate-own-subgraph-tx.png) From aefec413775c6e85ce86474f0c3bdaf4e795b950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:34 -0400 Subject: [PATCH 1328/2326] New translations publishing-a-subgraph.mdx (Hindi) --- .../pages/hi/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/hi/publishing/publishing-a-subgraph.mdx b/website/pages/hi/publishing/publishing-a-subgraph.mdx index 0858d3dda04b..4d97e4264c92 100644 --- a/website/pages/hi/publishing/publishing-a-subgraph.mdx +++ b/website/pages/hi/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: विकेंद्रीकृत नेटवर्क के लिए एक सबग्राफ प्रकाशित करना --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. विकेन्द्रीकृत नेटवर्क पर एक सबग्राफ प्रकाशित करने से यह [क्यूरेटर्स](/network/curating) के लिए उपलब्ध हो जाता है ताकि वे उस पर क्यूरेट करना शुरू कर सकें, और [इंडेक्सर्स](/network/indexing) इसे अनुक्रमणित करना शुरू करने के लिए। @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![एक्सप्लोरर सबग्राफ](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![क्यूरेशन पूल](/img/curate-own-subgraph-tx.png) From 707dc3b12580025f5f4d3c2f49a3bbbb2ca0ad7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:35 -0400 Subject: [PATCH 1329/2326] New translations publishing-a-subgraph.mdx (Yoruba) --- .../pages/yo/publishing/publishing-a-subgraph.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/yo/publishing/publishing-a-subgraph.mdx b/website/pages/yo/publishing/publishing-a-subgraph.mdx index a26843378c9e..9ccfe70d014d 100644 --- a/website/pages/yo/publishing/publishing-a-subgraph.mdx +++ b/website/pages/yo/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. @@ -28,6 +28,16 @@ Developers can add GRT signal to their subgraphs. If a subgraph is eligible for > If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. + +To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. + +Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. + +![Explorer subgraphs](/img/explorer-subgraphs.png) + Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 5b1438a7f3680432c97ee6594162dd58940bdee0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:36 -0400 Subject: [PATCH 1330/2326] New translations sunrise.mdx (Romanian) --- website/pages/ro/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/ro/sunrise.mdx b/website/pages/ro/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/ro/sunrise.mdx +++ b/website/pages/ro/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 2b2fad8eb2c2e7bcf7cbdc11ee42c9969649a68b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:37 -0400 Subject: [PATCH 1331/2326] New translations sunrise.mdx (French) --- website/pages/fr/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/fr/sunrise.mdx b/website/pages/fr/sunrise.mdx index 2852a9030b9d..c6f562a7bc26 100644 --- a/website/pages/fr/sunrise.mdx +++ b/website/pages/fr/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Une fois que votre subgraph a atteint un signal de curation adéquat et que d'autres indexeurs commencent à le soutenir, l'indexeur de mise à niveau se retire progressivement, ce qui permet aux autres indexeurs de percevoir des récompenses d'indexation et des frais d'interrogation. @@ -168,7 +172,7 @@ Cela dit, si vous êtes toujours intéressé par l'exploitation d'un [nœud de g If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 78a14ee844f2eefa4547b52c12b6f4b073aa4aa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:38 -0400 Subject: [PATCH 1332/2326] New translations sunrise.mdx (Spanish) --- website/pages/es/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/es/sunrise.mdx b/website/pages/es/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/es/sunrise.mdx +++ b/website/pages/es/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 513777c3e43f2b0b5dd5d051dc204bea6a243b86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:39 -0400 Subject: [PATCH 1333/2326] New translations sunrise.mdx (Arabic) --- website/pages/ar/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/ar/sunrise.mdx b/website/pages/ar/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/ar/sunrise.mdx +++ b/website/pages/ar/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 1c9405c3113a0101c00a5e2e651c05c28a06c355 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:40 -0400 Subject: [PATCH 1334/2326] New translations sunrise.mdx (Czech) --- website/pages/cs/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/sunrise.mdx b/website/pages/cs/sunrise.mdx index a0d5c77b27bb..90236c7cab2c 100644 --- a/website/pages/cs/sunrise.mdx +++ b/website/pages/cs/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -Aktualizace Indexer zajišťuje, že se můžete dotazovat na podgraf i bez signálu kurátoru. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Jakmile váš podgraf dosáhne dostatečného kurátorského signálu a ostatní indexátory jej začnou podporovat, upgrade indexátoru se postupně sníží a umožní ostatním indexátorům vybírat odměny za indexování a poplatky za dotazy. @@ -168,7 +172,7 @@ Pokud přesto máte zájem o provozování [Graph Node](https://github.com/graph If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 87cd9e25b13e176f5751cdc6d4e50e00e2d7d745 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:41 -0400 Subject: [PATCH 1335/2326] New translations sunrise.mdx (German) --- website/pages/de/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/de/sunrise.mdx b/website/pages/de/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/de/sunrise.mdx +++ b/website/pages/de/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From b699e53965add7bff94e371f0b98f0239cf1f0c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:42 -0400 Subject: [PATCH 1336/2326] New translations sunrise.mdx (Italian) --- website/pages/it/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/it/sunrise.mdx b/website/pages/it/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/it/sunrise.mdx +++ b/website/pages/it/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From a28a1fadc94631ccf571e4d072eeb5d43a8e17e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:42 -0400 Subject: [PATCH 1337/2326] New translations sunrise.mdx (Japanese) --- website/pages/ja/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/ja/sunrise.mdx b/website/pages/ja/sunrise.mdx index ad0a2cf8b2aa..3412a82c59b4 100644 --- a/website/pages/ja/sunrise.mdx +++ b/website/pages/ja/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. サブグラフが十分なキュレーションシグナルに達し、他のIndexerがそれをサポートし始めると、アップグレード・インデクサーは徐々に先細りになり、他のインデクサーがインデックス作成報酬とクエリ手数料を徴収できるようになります。 @@ -168,7 +172,7 @@ Additionally, The Graph Network is significantly more robust, reliable, and cost If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 6eabcd53223dab03f9b41f3259babe8a616521b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:43 -0400 Subject: [PATCH 1338/2326] New translations sunrise.mdx (Korean) --- website/pages/ko/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/ko/sunrise.mdx b/website/pages/ko/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/ko/sunrise.mdx +++ b/website/pages/ko/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 781dcbf6a2cfaf084b0642a715acdc1228035595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:44 -0400 Subject: [PATCH 1339/2326] New translations sunrise.mdx (Dutch) --- website/pages/nl/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/nl/sunrise.mdx b/website/pages/nl/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/nl/sunrise.mdx +++ b/website/pages/nl/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 7bbdcdbfc2bcbb9f4f7b5990934311ee983072e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:46 -0400 Subject: [PATCH 1340/2326] New translations sunrise.mdx (Polish) --- website/pages/pl/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/pl/sunrise.mdx b/website/pages/pl/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/pl/sunrise.mdx +++ b/website/pages/pl/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From a207a1523d43acd8664f8c1889525c79af724cc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:46 -0400 Subject: [PATCH 1341/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index c95ce1ebb9fb..b1fbb85d5c76 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Quando o seu subgraph alcançar um sinal de curadoria adequado e outros Indexadores começarem a apoiá-lo, o Indexador de atualização se estabilizará gradualmente, de modo a permitir que outros Indexadores coletem recompensas de indexação e taxas de query. @@ -168,7 +172,7 @@ Dito isto, se ainda tiver interesse em executar um [Graph Node](https://github.c If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From d7124a3dbc46a575128c20c4934d5a5ed1080460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:47 -0400 Subject: [PATCH 1342/2326] New translations sunrise.mdx (Russian) --- website/pages/ru/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/ru/sunrise.mdx b/website/pages/ru/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/ru/sunrise.mdx +++ b/website/pages/ru/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From f6db3fba43a136f426cd09147cfed2d33abfa293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:48 -0400 Subject: [PATCH 1343/2326] New translations sunrise.mdx (Swedish) --- website/pages/sv/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/sv/sunrise.mdx b/website/pages/sv/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/sv/sunrise.mdx +++ b/website/pages/sv/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 7ea29e00bb453012d9c9a5fb43e4100e1a42c496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:49 -0400 Subject: [PATCH 1344/2326] New translations sunrise.mdx (Turkish) --- website/pages/tr/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/tr/sunrise.mdx b/website/pages/tr/sunrise.mdx index bbab6aaf2874..7547c3441ec5 100644 --- a/website/pages/tr/sunrise.mdx +++ b/website/pages/tr/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Subgraph'ınız yeterli kürasyon sinyaline ulaştığında ve diğer İndeksleyiciler tarafından desteklemeye başladığında, yükseltme İndeksleyicisi kademeli olarak azalacak ve diğer İndeksleyicilerin indeksleme ödüllerini ve sorgu ücretlerini toplama fırsatı tanıyacaktır. @@ -168,7 +172,7 @@ Bununla birlikte, hala bir [Graph Düğümü](https://github.com/graphprotocol/g If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 3f7315696482db83dc313640d51dd9180d52f96a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:50 -0400 Subject: [PATCH 1345/2326] New translations sunrise.mdx (Ukrainian) --- website/pages/uk/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/uk/sunrise.mdx b/website/pages/uk/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/uk/sunrise.mdx +++ b/website/pages/uk/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From ee2ebc8970e554421ea46336560f17c2da5c3151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:51 -0400 Subject: [PATCH 1346/2326] New translations sunrise.mdx (Chinese Simplified) --- website/pages/zh/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/zh/sunrise.mdx b/website/pages/zh/sunrise.mdx index 033982614a47..98d54207a674 100644 --- a/website/pages/zh/sunrise.mdx +++ b/website/pages/zh/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. 一旦您的子图达到足够的策展信号,并且其他索引人开始支持它,那么升级索引人将逐渐减少,这将允许其他索引人收集索引奖励和查询费用。 @@ -168,7 +172,7 @@ Additionally, The Graph Network is significantly more robust, reliable, and cost If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From ac8a9d096a4ef42b131c69a75e0a02b00d109e96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:52 -0400 Subject: [PATCH 1347/2326] New translations sunrise.mdx (Urdu (Pakistan)) --- website/pages/ur/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/ur/sunrise.mdx b/website/pages/ur/sunrise.mdx index 262d86eebcc8..fc0de7ab698a 100644 --- a/website/pages/ur/sunrise.mdx +++ b/website/pages/ur/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. ایک بار جب آپ کا سب گراف مناسب کیوریشن سگنل تک پہنچ جاتا ہے اور دوسرے انڈیکسرز اس کی حمایت کرنا شروع کر دیتے ہیں، تو اپ گریڈ انڈیکسر آہستہ آہستہ ختم ہو جائے گا، جس سے دوسرے انڈیکسرز کو انڈیکسنگ انعامات اور کیوری کی فیسیں جمع کرنے کی اجازت مل جائے گی. @@ -168,7 +172,7 @@ Additionally, The Graph Network is significantly more robust, reliable, and cost If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From c677ad702ec9bc14ea932854335ba9330e62de95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:53 -0400 Subject: [PATCH 1348/2326] New translations sunrise.mdx (Vietnamese) --- website/pages/vi/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/vi/sunrise.mdx b/website/pages/vi/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/vi/sunrise.mdx +++ b/website/pages/vi/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 58171e836561497e11eaf43982e54052ce200186 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:54 -0400 Subject: [PATCH 1349/2326] New translations sunrise.mdx (Marathi) --- website/pages/mr/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/mr/sunrise.mdx b/website/pages/mr/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/mr/sunrise.mdx +++ b/website/pages/mr/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 14f69eafee0f924f6c083c6a0f5dcd4f9f50f241 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:55 -0400 Subject: [PATCH 1350/2326] New translations sunrise.mdx (Hindi) --- website/pages/hi/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/hi/sunrise.mdx b/website/pages/hi/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/hi/sunrise.mdx +++ b/website/pages/hi/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From fc7206239b08cd715123f3d39d8361cd5c2ff654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 28 May 2024 19:28:56 -0400 Subject: [PATCH 1351/2326] New translations sunrise.mdx (Yoruba) --- website/pages/yo/sunrise.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/yo/sunrise.mdx b/website/pages/yo/sunrise.mdx index 3ba2c36c6700..37fc3286a03b 100644 --- a/website/pages/yo/sunrise.mdx +++ b/website/pages/yo/sunrise.mdx @@ -152,7 +152,11 @@ No, all infrastructure is operated by independent Indexers on The Graph Network, You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. -The upgrade Indexer ensures you can query your subgraph even without curation signal. +The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. + +When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. + +To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. Once your subgraph has reached adequate curation signal and other Indexers begin supporting it, the upgrade Indexer will gradually taper off, allowing other Indexers to collect indexing rewards and query fees. @@ -168,7 +172,7 @@ That being said, if you’re still interested in running a [Graph Node](https:// If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. From 343dc95032795c6aec87ed142a8f4c1f330edfe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:26 -0400 Subject: [PATCH 1352/2326] New translations creating-a-subgraph.mdx (Romanian) --- website/pages/ro/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/ro/developing/creating-a-subgraph.mdx b/website/pages/ro/developing/creating-a-subgraph.mdx index fd9550e8df79..1e6f2d94265c 100644 --- a/website/pages/ro/developing/creating-a-subgraph.mdx +++ b/website/pages/ro/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ We support the following scalars in our GraphQL API: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 562c8df4f74bc59fd3c8b7a53b2569eff5a5ea4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:28 -0400 Subject: [PATCH 1353/2326] New translations creating-a-subgraph.mdx (French) --- website/pages/fr/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/fr/developing/creating-a-subgraph.mdx b/website/pages/fr/developing/creating-a-subgraph.mdx index 0460ab5b4645..e4dd73268292 100644 --- a/website/pages/fr/developing/creating-a-subgraph.mdx +++ b/website/pages/fr/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ Nous prenons en charge les scalaires suivants dans notre API GraphQL : | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Grands entiers. Utilisé pour les types `uint32`, `int64`, `uint64`, ..., `uint256` d'Ethereum. Remarque : Tout ce qui se trouve en dessous de `uint32`, tel que `int32`, `uint24` ou `int8`, est représenté par `i32 Date: Wed, 29 May 2024 15:00:29 -0400 Subject: [PATCH 1354/2326] New translations creating-a-subgraph.mdx (Spanish) --- website/pages/es/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/es/developing/creating-a-subgraph.mdx b/website/pages/es/developing/creating-a-subgraph.mdx index 3597dd690b39..9d6ea53e71bf 100644 --- a/website/pages/es/developing/creating-a-subgraph.mdx +++ b/website/pages/es/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ Admitimos los siguientes escalares en nuestra API GraphQL: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Números enteros grandes. Se utiliza para los tipos `uint32`, `int64`, `uint64`, ..., `uint256` de Ethereum. Nota: Todo por debajo de `uint32`, como `int32`, `uint24` o `int8` se representa como `i32`. | | `BigDecimal` | `BigDecimal` Decimales de alta precisión representados como un signo y un exponente. El rango de exponentes va de -6143 a +6144. Redondeado a 34 dígitos significativos. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 6566a03d2aa62e1c18d9673cfacaf02aa2f0c955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:31 -0400 Subject: [PATCH 1355/2326] New translations creating-a-subgraph.mdx (Arabic) --- website/pages/ar/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/ar/developing/creating-a-subgraph.mdx b/website/pages/ar/developing/creating-a-subgraph.mdx index d503b8fc909f..e5407e9c7a3d 100644 --- a/website/pages/ar/developing/creating-a-subgraph.mdx +++ b/website/pages/ar/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ We support the following scalars in our GraphQL API: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 6628d4a1fb48d6c9986ad0b737680bbfc34d6901 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:32 -0400 Subject: [PATCH 1356/2326] New translations creating-a-subgraph.mdx (Czech) --- website/pages/cs/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/cs/developing/creating-a-subgraph.mdx b/website/pages/cs/developing/creating-a-subgraph.mdx index f44e87b6a599..31c0cb4cc668 100644 --- a/website/pages/cs/developing/creating-a-subgraph.mdx +++ b/website/pages/cs/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ V našem GraphQL API podporujeme následující skaláry: | `Int8` | Celé číslo se znaménkem o velikosti 8 bajtů, známé také jako 64bitové celé číslo se znaménkem, může uchovávat hodnoty v rozsahu od -9 223 372 036 854 775 808 do 9 223 372 036 854 775 807. Přednostně se používá k reprezentaci `i64` z ethereum. | | `BigInt` | Velká celá čísla. Používá se pro typy `uint32`, `int64`, `uint64`, ..., `uint256` společnosti Ethereum. Poznámka: Vše pod `uint32`, jako například `int32`, `uint24` nebo `int8`, je reprezentováno jako `i32`. | | `BigDecimal` | `BigDecimal` Desetinná čísla s vysokou přesností reprezentovaná jako signifikand a exponent. Rozsah exponentu je od -6143 do +6144. Zaokrouhleno na 34 významných číslic. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 52ca6e3efd30ed620369efe2ec0b9e2b889f00d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:33 -0400 Subject: [PATCH 1357/2326] New translations creating-a-subgraph.mdx (German) --- website/pages/de/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/de/developing/creating-a-subgraph.mdx b/website/pages/de/developing/creating-a-subgraph.mdx index 6817e1a38b3a..b225ceeee466 100644 --- a/website/pages/de/developing/creating-a-subgraph.mdx +++ b/website/pages/de/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ We support the following scalars in our GraphQL API: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From c4f1b00778637d4b17c7f6d5104b9dd2d5aaff2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:35 -0400 Subject: [PATCH 1358/2326] New translations creating-a-subgraph.mdx (Italian) --- website/pages/it/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/it/developing/creating-a-subgraph.mdx b/website/pages/it/developing/creating-a-subgraph.mdx index b053838b4715..226918fff460 100644 --- a/website/pages/it/developing/creating-a-subgraph.mdx +++ b/website/pages/it/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ Nella nostra API GraphQL supportiamo i seguenti scalari: | `Int8` | Un intero firmato a 8 byte, noto anche come intero firmato a 64 bit, può memorizzare valori nell'intervallo da -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. È preferibile utilizzare questo per rappresentare `i64` da ethereum. | | `BigInt` | Numeri interi grandi. Utilizzati per i tipi `uint32`, `int64`, `uint64`, ..., `uint256` di Ethereum. Nota: Tutto ciò che è inferiore a `uint32` come `int32`, `uint24` oppure `int8` è rappresentato come `i32`. | | `BigDecimal` | `BigDecimal` Decimali ad alta precisione rappresentati come un significante e un esponente. L'intervallo degli esponenti va da -6143 a +6144. Arrotondato a 34 cifre significative. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enum From c8528fcd4c69d6c557f84b4e3387479896fcbc0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:36 -0400 Subject: [PATCH 1359/2326] New translations creating-a-subgraph.mdx (Japanese) --- website/pages/ja/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/ja/developing/creating-a-subgraph.mdx b/website/pages/ja/developing/creating-a-subgraph.mdx index 7f10f958ae56..e1557caec6e2 100644 --- a/website/pages/ja/developing/creating-a-subgraph.mdx +++ b/website/pages/ja/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ GraphQL API では、以下の Scalar をサポートしています: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | 大きな整数。Ethereum の`uint32`, `int64`, `uint64`, ..., `uint256` タイプに使用されます。注: `int32`, `uint24` `int8`など`uint32`以下のものは`i32`として表現されます。 | | `BigDecimal` | `BigDecimal`は、高精度の 10 進数を記号と指数で表します。指数の範囲は -6143 ~ +6144 です。有効数字 34 桁にまとめられます。 | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 4505770b914755c3fdf9a09b14e2ed734dc7cbf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:38 -0400 Subject: [PATCH 1360/2326] New translations creating-a-subgraph.mdx (Korean) --- website/pages/ko/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/ko/developing/creating-a-subgraph.mdx b/website/pages/ko/developing/creating-a-subgraph.mdx index fd9550e8df79..1e6f2d94265c 100644 --- a/website/pages/ko/developing/creating-a-subgraph.mdx +++ b/website/pages/ko/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ We support the following scalars in our GraphQL API: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 49d2066e0f75300546efca12f7589da14435cc7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:39 -0400 Subject: [PATCH 1361/2326] New translations creating-a-subgraph.mdx (Dutch) --- website/pages/nl/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/nl/developing/creating-a-subgraph.mdx b/website/pages/nl/developing/creating-a-subgraph.mdx index fd9550e8df79..1e6f2d94265c 100644 --- a/website/pages/nl/developing/creating-a-subgraph.mdx +++ b/website/pages/nl/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ We support the following scalars in our GraphQL API: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 428026359871ca659f139f6f9dc516967baa34e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:41 -0400 Subject: [PATCH 1362/2326] New translations creating-a-subgraph.mdx (Polish) --- website/pages/pl/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/pl/developing/creating-a-subgraph.mdx b/website/pages/pl/developing/creating-a-subgraph.mdx index fd9550e8df79..1e6f2d94265c 100644 --- a/website/pages/pl/developing/creating-a-subgraph.mdx +++ b/website/pages/pl/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ We support the following scalars in our GraphQL API: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 334e2931026805bb6d80a089ba7c265d091445a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:42 -0400 Subject: [PATCH 1363/2326] New translations creating-a-subgraph.mdx (Portuguese) --- website/pages/pt/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/pt/developing/creating-a-subgraph.mdx b/website/pages/pt/developing/creating-a-subgraph.mdx index e84fcc63cf81..52a2739a3342 100644 --- a/website/pages/pt/developing/creating-a-subgraph.mdx +++ b/website/pages/pt/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ Nós apoiamos os seguintes escalares na nossa API do GraphQL: | `Int8` | Um número inteiro assinado em 8 bits, também conhecido como um número inteiro assinado em 64 bits, pode armazenar valores de -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. Prefira usar isto para representar o `i64` do ethereum. | | `BigInt` | Números inteiros grandes. Usados para os tipos `uint32`, `int64`, `uint64`, ..., `uint256` do Ethereum. Nota: Tudo abaixo de `uint32`, como `int32`, `uint24` ou `int8` é representado como `i32`. | | `BigDecimal` | `BigDecimal` Decimais de alta precisão representados como um significando e um exponente. O alcance de exponentes é de -6143 até +6144. Arredondado para 34 dígitos significantes. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 3148dc5885ac0ee7f20db624f86e485f4139be56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:44 -0400 Subject: [PATCH 1364/2326] New translations creating-a-subgraph.mdx (Russian) --- website/pages/ru/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/ru/developing/creating-a-subgraph.mdx b/website/pages/ru/developing/creating-a-subgraph.mdx index 555e58db4c0b..3ea21d965482 100644 --- a/website/pages/ru/developing/creating-a-subgraph.mdx +++ b/website/pages/ru/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ Null value resolved for non-null field 'name' | `Int8` | 8-байтовое целое число со знаком, также называемое 64-битным целым числом со знаком, может хранить значения в диапазоне от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Предпочтительно использовать это для представления `i64` из Ethereum. | | `BigInt` | Большие целые числа. Используются для типов Ethereum `uint32`, `int64`, `uint64`, ..., `uint256`. Примечание: Все, что находится ниже `uint32`, например, `int32`, `uint24` или `int8`, представлено как `i32`. | | `BigDecimal` | `BigDecimal` Десятичные дроби высокой точности, представленные в виде значащего числа и экспоненты. Диапазон значений экспоненты от -6143 до +6144. Округляется до 34 значащих цифр. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Перечисления From 56786b351c44e59dac1d652fe3feb905f0492d10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:45 -0400 Subject: [PATCH 1365/2326] New translations creating-a-subgraph.mdx (Swedish) --- website/pages/sv/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/sv/developing/creating-a-subgraph.mdx b/website/pages/sv/developing/creating-a-subgraph.mdx index 5dd433eb8edf..21e6e0000645 100644 --- a/website/pages/sv/developing/creating-a-subgraph.mdx +++ b/website/pages/sv/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ Vi stödjer följande skalartyper i vår GraphQL API: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Stora heltal. Används för Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` typer. Observera: Allt under `uint32`, som `int32`, `uint24` eller `int8` representeras som `i32`. | | `BigDecimal` | `BigDecimal` Högprecisionsdecimaler representerade som en signifikant och en exponent. Exponentområdet är från −6143 till +6144. Avrundat till 34 signifikanta siffror. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 059e2044e6574b131f4975f08cda3c28d522d91c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:47 -0400 Subject: [PATCH 1366/2326] New translations creating-a-subgraph.mdx (Turkish) --- website/pages/tr/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/tr/developing/creating-a-subgraph.mdx b/website/pages/tr/developing/creating-a-subgraph.mdx index bfb644b67df8..4d1552ac3e73 100644 --- a/website/pages/tr/developing/creating-a-subgraph.mdx +++ b/website/pages/tr/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ GraphQL API'mizde aşağıdaki skalerleri destekliyoruz: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Büyük tamsayılar. Ethereum'un `uint32`, `int64`, `uint64`, ..., `uint256` türleri için kullanılır. Not: `int32`, `uint24` veya `int8` gibi `uint32`'nin altındaki her şey `i32`olarak temsil edilir. | | `BigDecimal` | `BigDecimal` Yüksek hassasiyetli ondalık sayılar, bir anlamlı ve bir üsle temsil edilir. Üs aralığı -6143 ila +6144 arasındadır. 34 anlamlı rakama yuvarlanır. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Numaralandırmalar From 2d0117ed50fbd12c825ae08e53aee55494ec4f9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:48 -0400 Subject: [PATCH 1367/2326] New translations creating-a-subgraph.mdx (Ukrainian) --- website/pages/uk/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/uk/developing/creating-a-subgraph.mdx b/website/pages/uk/developing/creating-a-subgraph.mdx index b808e5987fd0..28c0b06cf623 100644 --- a/website/pages/uk/developing/creating-a-subgraph.mdx +++ b/website/pages/uk/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ We support the following scalars in our GraphQL API: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From bb572e08d53945979dce5bfe96046d35318980f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:50 -0400 Subject: [PATCH 1368/2326] New translations creating-a-subgraph.mdx (Chinese Simplified) --- website/pages/zh/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/zh/developing/creating-a-subgraph.mdx b/website/pages/zh/developing/creating-a-subgraph.mdx index d9eb195ca58a..e1bcf3b8d1b9 100644 --- a/website/pages/zh/developing/creating-a-subgraph.mdx +++ b/website/pages/zh/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ Null value resolved for non-null field 'name' | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | 大整数。 用于以太坊的 `uint32`、`int64`、`uint64`、...、`uint256` 类型。 注意:`uint32`以下的所有类型,例如`int32`、`uint24`或`int8`都表示为`i32`。 | | `BigDecimal` | `BigDecimal` 表示为有效数字和指数的高精度小数。 指数范围是 -6143 到 +6144。 四舍五入到 34 位有效数字。 | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### 枚举类型 From 89086ca00fdd6eedebb913503bbe44eca6cab4a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:51 -0400 Subject: [PATCH 1369/2326] New translations creating-a-subgraph.mdx (Urdu (Pakistan)) --- website/pages/ur/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/ur/developing/creating-a-subgraph.mdx b/website/pages/ur/developing/creating-a-subgraph.mdx index b5950df3edb6..fd20224ee6f1 100644 --- a/website/pages/ur/developing/creating-a-subgraph.mdx +++ b/website/pages/ur/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ type GravatarDeclined @entity { | `Int8` | ایک 8-بائٹ دستخط شدہ عدد، جسے 64-بٹ دستخط شدہ عدد بھی کہا جاتا ہے، -9,223,372,036,854,775,808 سے لے کر 9,223,372,036,854,775,807 تک کی ویلیوز کو ذخیرہ کرسکتا ہے۔ ایتھیریم سے `i64` کی نمائندگی کرنے کے لیے اسے استعمال کرنے کو ترجیح دیں۔ | | `BigInt` | بڑے integers۔ Ethereum کی `uint32`، `int64`، `uint64`، ..., `uint256` اقسام کے لیے استعمال کیا جاتا ہے. نوٹ: `uint32` کے نیچے ہر چیز، جیسے `int32`، `uint24` یا `int8` کو `i32` کے طور پر دکھایا گیا ہے. | | `BigDecimal` | `BigDecimal` اعلی درستگی والے اعشاریہ ایک significand اور ایک exponent کے طور پر پیش کیا جاتے ہہیں. Exponent رینج −6143 سے +6144 تک ہے۔ 34 سگنیفیکینڈ ہندسوں پر rounded کیا گیا۔. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 0f46b27469ef1ab545c6a29cd8e019268e22dbe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:52 -0400 Subject: [PATCH 1370/2326] New translations creating-a-subgraph.mdx (Vietnamese) --- website/pages/vi/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/vi/developing/creating-a-subgraph.mdx b/website/pages/vi/developing/creating-a-subgraph.mdx index cb9fa469c3a2..bfc15b39a61c 100644 --- a/website/pages/vi/developing/creating-a-subgraph.mdx +++ b/website/pages/vi/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ We support the following scalars in our GraphQL API: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 2aed843fb99b1dc208687f1295d335e10c6af04c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:54 -0400 Subject: [PATCH 1371/2326] New translations creating-a-subgraph.mdx (Marathi) --- website/pages/mr/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/mr/developing/creating-a-subgraph.mdx b/website/pages/mr/developing/creating-a-subgraph.mdx index b7da72b70d58..0f05e6d8d05b 100644 --- a/website/pages/mr/developing/creating-a-subgraph.mdx +++ b/website/pages/mr/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ We support the following scalars in our GraphQL API: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | मोठे पूर्णांक. इथरियमच्या `uint32`, `int64`, `uint64`, ..., `uint256` प्रकारांसाठी वापरले जाते. टीप: `uint32` खाली सर्व काही, जसे की `int32`, `uint24` किंवा `int8` `i32` म्हणून प्रस्तुत केले जाते 0>. | | `बिग डेसिमल` | `BigDecimal` उच्च सुस्पष्टता दशांश एक महत्त्वपूर्ण आणि घातांक म्हणून प्रस्तुत केले जाते. घातांक श्रेणी −6143 ते +6144 पर्यंत आहे. 34 लक्षणीय अंकांपर्यंत पूर्णांक. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### एनम्स From dd5acf8e35457c0ac7f48743ed0a14fcd1e0b195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:55 -0400 Subject: [PATCH 1372/2326] New translations creating-a-subgraph.mdx (Hindi) --- website/pages/hi/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/hi/developing/creating-a-subgraph.mdx b/website/pages/hi/developing/creating-a-subgraph.mdx index 6f3d5a01e4dc..5e4f8080b5e7 100644 --- a/website/pages/hi/developing/creating-a-subgraph.mdx +++ b/website/pages/hi/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ type GravatarDeclined @entity { | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | बड़े पूर्णांक। एथेरियम के `uint32`, `int64`, `uint64`, ..., `uint256` प्रकारों के लिए उपयोग किया जाता है। नोट: `uint32` के नीचे सब कुछ, जैसे `int32`, `uint24` या `int8` को `i32` के रूप में दर्शाया गया है। | | `BigDecimal` | `BigDecimal` उच्च परिशुद्धता दशमलव एक महत्व और एक प्रतिपादक के रूप में दर्शाया गया है। एक्सपोनेंट रेंज -6143 से +6144 तक है। 34 महत्वपूर्ण अंकों तक गोल। | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 069ac3e7ace615d109e1687a9202cb3ef826bd8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 15:00:56 -0400 Subject: [PATCH 1373/2326] New translations creating-a-subgraph.mdx (Yoruba) --- website/pages/yo/developing/creating-a-subgraph.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/website/pages/yo/developing/creating-a-subgraph.mdx b/website/pages/yo/developing/creating-a-subgraph.mdx index fd9550e8df79..1e6f2d94265c 100644 --- a/website/pages/yo/developing/creating-a-subgraph.mdx +++ b/website/pages/yo/developing/creating-a-subgraph.mdx @@ -281,6 +281,7 @@ We support the following scalars in our GraphQL API: | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | +| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | #### Enums From 3db29c7c6fb169789d129b4fbb892328b3b7bed1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:23 -0400 Subject: [PATCH 1374/2326] New translations sunrise.mdx (Romanian) --- website/pages/ro/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ro/sunrise.mdx b/website/pages/ro/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/ro/sunrise.mdx +++ b/website/pages/ro/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 475c0ad2b5ec11a69e40b302dc9947985e9a6472 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:24 -0400 Subject: [PATCH 1375/2326] New translations sunrise.mdx (French) --- website/pages/fr/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/fr/sunrise.mdx b/website/pages/fr/sunrise.mdx index c6f562a7bc26..da12df902731 100644 --- a/website/pages/fr/sunrise.mdx +++ b/website/pages/fr/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: L'aube de la FAQ sur les données décentralisées +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 387f1a0c2d898b67413eccab079308e24063d1d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:25 -0400 Subject: [PATCH 1376/2326] New translations sunrise.mdx (Spanish) --- website/pages/es/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/es/sunrise.mdx b/website/pages/es/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/es/sunrise.mdx +++ b/website/pages/es/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 00e7b4a47f5b230b2deb9acf4a92b70d203403d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:26 -0400 Subject: [PATCH 1377/2326] New translations sunrise.mdx (Arabic) --- website/pages/ar/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ar/sunrise.mdx b/website/pages/ar/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/ar/sunrise.mdx +++ b/website/pages/ar/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 8b474b29780caa61b9a051c69df544efbdaa6904 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:27 -0400 Subject: [PATCH 1378/2326] New translations sunrise.mdx (Czech) --- website/pages/cs/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/sunrise.mdx b/website/pages/cs/sunrise.mdx index 90236c7cab2c..cdb2a61a8c90 100644 --- a/website/pages/cs/sunrise.mdx +++ b/website/pages/cs/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Východ slunce decentralizovaných dat FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 55dbb391f564db3b33405976bbe8e1635b447dde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:28 -0400 Subject: [PATCH 1379/2326] New translations sunrise.mdx (German) --- website/pages/de/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/sunrise.mdx b/website/pages/de/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/de/sunrise.mdx +++ b/website/pages/de/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 314a0519a0561458491f828c8b50606e0a80e2cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:29 -0400 Subject: [PATCH 1380/2326] New translations sunrise.mdx (Italian) --- website/pages/it/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/it/sunrise.mdx b/website/pages/it/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/it/sunrise.mdx +++ b/website/pages/it/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From f83e7a930aaa55ec858ecee4fbd56874854e8aa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:30 -0400 Subject: [PATCH 1381/2326] New translations sunrise.mdx (Japanese) --- website/pages/ja/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ja/sunrise.mdx b/website/pages/ja/sunrise.mdx index 3412a82c59b4..c4f24e449df1 100644 --- a/website/pages/ja/sunrise.mdx +++ b/website/pages/ja/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 6919cb062251392f2105981e5f6e940eb56049b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:30 -0400 Subject: [PATCH 1382/2326] New translations sunrise.mdx (Korean) --- website/pages/ko/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ko/sunrise.mdx b/website/pages/ko/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/ko/sunrise.mdx +++ b/website/pages/ko/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 99a44e0268a748f93e56db4f781f241c129bfdd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:31 -0400 Subject: [PATCH 1383/2326] New translations sunrise.mdx (Dutch) --- website/pages/nl/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/nl/sunrise.mdx b/website/pages/nl/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/nl/sunrise.mdx +++ b/website/pages/nl/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From e20aca5b994595b2ca4407e983fdbbbbb841e232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:32 -0400 Subject: [PATCH 1384/2326] New translations sunrise.mdx (Polish) --- website/pages/pl/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pl/sunrise.mdx b/website/pages/pl/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/pl/sunrise.mdx +++ b/website/pages/pl/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 5bc7eb17fed56e86d25a6a1f6ddbe154b3c135a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:33 -0400 Subject: [PATCH 1385/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index b1fbb85d5c76..2bfef66dba51 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 5dea3c4e5ce878a9584e02235de599ec49987672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:34 -0400 Subject: [PATCH 1386/2326] New translations sunrise.mdx (Russian) --- website/pages/ru/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ru/sunrise.mdx b/website/pages/ru/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/ru/sunrise.mdx +++ b/website/pages/ru/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From f0aaa96c383180d9f25362c6600c1c624d0a62e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:35 -0400 Subject: [PATCH 1387/2326] New translations sunrise.mdx (Swedish) --- website/pages/sv/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/sv/sunrise.mdx b/website/pages/sv/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/sv/sunrise.mdx +++ b/website/pages/sv/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 7b9572082e51025b3c66f962f3b7787c899300f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:36 -0400 Subject: [PATCH 1388/2326] New translations sunrise.mdx (Turkish) --- website/pages/tr/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/tr/sunrise.mdx b/website/pages/tr/sunrise.mdx index 7547c3441ec5..4e96c0574d76 100644 --- a/website/pages/tr/sunrise.mdx +++ b/website/pages/tr/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From c778085ea0ff1d3afa801f7c724d3a97d441b604 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:37 -0400 Subject: [PATCH 1389/2326] New translations sunrise.mdx (Ukrainian) --- website/pages/uk/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/uk/sunrise.mdx b/website/pages/uk/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/uk/sunrise.mdx +++ b/website/pages/uk/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 0513046999f31dc1bbee52dbed1f478d7dc0033f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:38 -0400 Subject: [PATCH 1390/2326] New translations sunrise.mdx (Chinese Simplified) --- website/pages/zh/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/zh/sunrise.mdx b/website/pages/zh/sunrise.mdx index 98d54207a674..1209aefc56f4 100644 --- a/website/pages/zh/sunrise.mdx +++ b/website/pages/zh/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From f112331a782ac91279ff310e606dea884e67d75d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:39 -0400 Subject: [PATCH 1391/2326] New translations sunrise.mdx (Urdu (Pakistan)) --- website/pages/ur/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ur/sunrise.mdx b/website/pages/ur/sunrise.mdx index fc0de7ab698a..75ce5e6aef7b 100644 --- a/website/pages/ur/sunrise.mdx +++ b/website/pages/ur/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 038895d0c7eafae75f0e63185dc589d4d17fdf3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:40 -0400 Subject: [PATCH 1392/2326] New translations sunrise.mdx (Vietnamese) --- website/pages/vi/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/vi/sunrise.mdx b/website/pages/vi/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/vi/sunrise.mdx +++ b/website/pages/vi/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From d4b57fa425dd101eed4f3ed6732959d1faf8a3f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:41 -0400 Subject: [PATCH 1393/2326] New translations sunrise.mdx (Marathi) --- website/pages/mr/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/mr/sunrise.mdx b/website/pages/mr/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/mr/sunrise.mdx +++ b/website/pages/mr/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From b29add9ac9dd353e327639ff410803f62ec323c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:42 -0400 Subject: [PATCH 1394/2326] New translations sunrise.mdx (Hindi) --- website/pages/hi/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/hi/sunrise.mdx b/website/pages/hi/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/hi/sunrise.mdx +++ b/website/pages/hi/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 853eb539d41c03e98db7d05346a734e6b69301b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 16:28:43 -0400 Subject: [PATCH 1395/2326] New translations sunrise.mdx (Yoruba) --- website/pages/yo/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/yo/sunrise.mdx b/website/pages/yo/sunrise.mdx index 37fc3286a03b..7622b4baadd6 100644 --- a/website/pages/yo/sunrise.mdx +++ b/website/pages/yo/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise of Decentralized Data FAQ +title: Sunrise + Upgrading to The Graph Network FAQ --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). From 052d60bc330579dc952f827e19d03a73b22a342c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:08 -0400 Subject: [PATCH 1396/2326] New translations sunrise.mdx (Romanian) --- website/pages/ro/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/ro/sunrise.mdx b/website/pages/ro/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/ro/sunrise.mdx +++ b/website/pages/ro/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From 10212c860c8f413316df1ebd9c54f4cc3e7dad72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:09 -0400 Subject: [PATCH 1397/2326] New translations sunrise.mdx (French) --- website/pages/fr/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/fr/sunrise.mdx b/website/pages/fr/sunrise.mdx index da12df902731..ffb9437885e0 100644 --- a/website/pages/fr/sunrise.mdx +++ b/website/pages/fr/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## Quel est l'essor des données décentralisées ? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### Que se passe-t-il si je ne mets pas à jour mon subgraph ? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### Comment puis-je commencer à interroger des subgraphs sur The Graph Network ? From 4180860e4954dc73df313e465a35ddcaf3bec2c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:10 -0400 Subject: [PATCH 1398/2326] New translations sunrise.mdx (Spanish) --- website/pages/es/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/es/sunrise.mdx b/website/pages/es/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/es/sunrise.mdx +++ b/website/pages/es/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From bb9971e7c391109d186c378520e3a439682b1777 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:11 -0400 Subject: [PATCH 1399/2326] New translations sunrise.mdx (Arabic) --- website/pages/ar/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/ar/sunrise.mdx b/website/pages/ar/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/ar/sunrise.mdx +++ b/website/pages/ar/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From 6f4886ff3b5d02fd688014352e25c6b5f7aca2af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:12 -0400 Subject: [PATCH 1400/2326] New translations sunrise.mdx (Czech) --- website/pages/cs/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/sunrise.mdx b/website/pages/cs/sunrise.mdx index cdb2a61a8c90..5df337773e28 100644 --- a/website/pages/cs/sunrise.mdx +++ b/website/pages/cs/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## Jaký je východ slunce decentralizovaných dat? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### Co se stane, když svůj podgraf neaktualizuji? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### Jak se mohu začít dotazovat na podgrafy v síti grafů? From c1df3ab6cd6651b6954b20d93162ccf3e24e4abd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:13 -0400 Subject: [PATCH 1401/2326] New translations sunrise.mdx (German) --- website/pages/de/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/de/sunrise.mdx b/website/pages/de/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/de/sunrise.mdx +++ b/website/pages/de/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From 326927dd2148e11670e81864c69672af62abe515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:14 -0400 Subject: [PATCH 1402/2326] New translations sunrise.mdx (Italian) --- website/pages/it/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/it/sunrise.mdx b/website/pages/it/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/it/sunrise.mdx +++ b/website/pages/it/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From 6b8e2b522a8fb8708f02fd9038ccb213a639b27f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:15 -0400 Subject: [PATCH 1403/2326] New translations sunrise.mdx (Japanese) --- website/pages/ja/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/ja/sunrise.mdx b/website/pages/ja/sunrise.mdx index c4f24e449df1..3be5e52c660f 100644 --- a/website/pages/ja/sunrise.mdx +++ b/website/pages/ja/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From 5aec478bf3a2a32148972a8837caa5653c1663e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:16 -0400 Subject: [PATCH 1404/2326] New translations sunrise.mdx (Korean) --- website/pages/ko/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/ko/sunrise.mdx b/website/pages/ko/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/ko/sunrise.mdx +++ b/website/pages/ko/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From de95309f373f66f11cc6e11a63ff980a98887dc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:16 -0400 Subject: [PATCH 1405/2326] New translations sunrise.mdx (Dutch) --- website/pages/nl/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/nl/sunrise.mdx b/website/pages/nl/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/nl/sunrise.mdx +++ b/website/pages/nl/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From 29e5c66caffef0ad934889c6f940002037422c8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:17 -0400 Subject: [PATCH 1406/2326] New translations sunrise.mdx (Polish) --- website/pages/pl/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/pl/sunrise.mdx b/website/pages/pl/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/pl/sunrise.mdx +++ b/website/pages/pl/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From ded7e6d851e8688b7cd468c08749600a9078ec02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:18 -0400 Subject: [PATCH 1407/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index 2bfef66dba51..fe0352e15d12 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From e89b0bf58011f7a7b58675a72eac418823373707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:19 -0400 Subject: [PATCH 1408/2326] New translations sunrise.mdx (Russian) --- website/pages/ru/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/ru/sunrise.mdx b/website/pages/ru/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/ru/sunrise.mdx +++ b/website/pages/ru/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From 6c84946a7c2da153f4c6649cc3d80286e3a390f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:20 -0400 Subject: [PATCH 1409/2326] New translations sunrise.mdx (Swedish) --- website/pages/sv/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/sv/sunrise.mdx b/website/pages/sv/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/sv/sunrise.mdx +++ b/website/pages/sv/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From b78e2dec4915069e2d1f855993d229490eeb49c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:21 -0400 Subject: [PATCH 1410/2326] New translations sunrise.mdx (Turkish) --- website/pages/tr/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/tr/sunrise.mdx b/website/pages/tr/sunrise.mdx index 4e96c0574d76..d7e2e08568e7 100644 --- a/website/pages/tr/sunrise.mdx +++ b/website/pages/tr/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From ea390aa68bf864b9288c2134b2cd0584283171c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:22 -0400 Subject: [PATCH 1411/2326] New translations sunrise.mdx (Ukrainian) --- website/pages/uk/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/uk/sunrise.mdx b/website/pages/uk/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/uk/sunrise.mdx +++ b/website/pages/uk/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From 59a00b5ffd1b08abfbc2c1b532ee16c6b46022d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:23 -0400 Subject: [PATCH 1412/2326] New translations sunrise.mdx (Chinese Simplified) --- website/pages/zh/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/zh/sunrise.mdx b/website/pages/zh/sunrise.mdx index 1209aefc56f4..838bcb977f55 100644 --- a/website/pages/zh/sunrise.mdx +++ b/website/pages/zh/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From 05a591bead6fbd1d8c2c20c7e994c617a604477a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:24 -0400 Subject: [PATCH 1413/2326] New translations sunrise.mdx (Urdu (Pakistan)) --- website/pages/ur/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/ur/sunrise.mdx b/website/pages/ur/sunrise.mdx index 75ce5e6aef7b..df87ac95949c 100644 --- a/website/pages/ur/sunrise.mdx +++ b/website/pages/ur/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From a064e2ba9b24e8238630dc6e82dbb9d9a7da008e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:25 -0400 Subject: [PATCH 1414/2326] New translations sunrise.mdx (Vietnamese) --- website/pages/vi/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/vi/sunrise.mdx b/website/pages/vi/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/vi/sunrise.mdx +++ b/website/pages/vi/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From d2d719ffe0e0b43481cada3aa43e24dd191fd0e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:26 -0400 Subject: [PATCH 1415/2326] New translations sunrise.mdx (Marathi) --- website/pages/mr/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/mr/sunrise.mdx b/website/pages/mr/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/mr/sunrise.mdx +++ b/website/pages/mr/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From f76426a52cf7b7f1f6eb2cd2cfb796790f06f87c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:27 -0400 Subject: [PATCH 1416/2326] New translations sunrise.mdx (Hindi) --- website/pages/hi/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/hi/sunrise.mdx b/website/pages/hi/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/hi/sunrise.mdx +++ b/website/pages/hi/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From 2395fa05b02cb63f8dce73388ab79bdd70ff4377 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 18:44:28 -0400 Subject: [PATCH 1417/2326] New translations sunrise.mdx (Yoruba) --- website/pages/yo/sunrise.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/yo/sunrise.mdx b/website/pages/yo/sunrise.mdx index 7622b4baadd6..4ca7c3012616 100644 --- a/website/pages/yo/sunrise.mdx +++ b/website/pages/yo/sunrise.mdx @@ -2,7 +2,7 @@ title: Sunrise + Upgrading to The Graph Network FAQ --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/vtvv7FP). +> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). ## What is the Sunrise of Decentralized Data? @@ -82,7 +82,7 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th, after which query endpoints will no longer be available and owners will not be able to deploy new versions. Owners will still be able to upgrade their subgraphs to The Graph Network at any time, even after June 12th. +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) ### How can I get started querying subgraphs on The Graph Network? From 800886cc090335f8c49639dd3e549b52b7986f5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:45 -0400 Subject: [PATCH 1418/2326] New translations deploying-a-subgraph-to-hosted.mdx (Romanian) --- .../pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx index 422a2c73c7bf..f1be54725c2b 100644 --- a/website/pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Subgraph Studio subgraph archive policy -When a new version of a subgraph is deployed, the previous version is archived (deleted from the graph-node DB). This only happens if the previous version is not published to The Graph's decentralized network. +A subgraph version in Studio is archived if and only if it meets the following criteria: -When a subgraph version isn’t queried for over 45 days, that version is archived. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Every subgraph affected with this policy has an option to bring the version in question back. From b7c4889863f330c764980b6ac584d93b927eacd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:46 -0400 Subject: [PATCH 1419/2326] New translations deploying-a-subgraph-to-hosted.mdx (French) --- .../pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx index 586f64ec1a91..b88e12256ab2 100644 --- a/website/pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Politique d'archivage des subgraphs de Subgraph Studio -Lorsqu'une nouvelle version d'un subgraph est déployée, la version précédente est archivée (supprimée de la base de données du graph-node). Cela ne se produit que si la version précédente n'est pas publiée sur le réseau décentralisé du Graph. +A subgraph version in Studio is archived if and only if it meets the following criteria: -Lorsqu'une version d'un subgraph n'est pas interrogée pendant plus de 45 jours, cette version est archivée. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Chaque subgraph concerné par cette politique dispose d'une option de restauration de la version en question. From 3b16428bca2e0c7ec3d0efd23b2265dcf2ff7240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:47 -0400 Subject: [PATCH 1420/2326] New translations deploying-a-subgraph-to-hosted.mdx (Spanish) --- .../pages/es/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/es/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/es/deploying/deploying-a-subgraph-to-hosted.mdx index 23f756a3093a..85ea272aedaf 100644 --- a/website/pages/es/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/es/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Política de archivo de subgrafos en Subgraph Studio -Cuando se deploya una nueva versión de un subgrafo, la versión anterior se archiva (se elimina de la base de datos de graph-node). Esto solo sucede si la versión anterior no se publica en la red descentralizada de The Graph. +A subgraph version in Studio is archived if and only if it meets the following criteria: -Cuando no se consulta una versión de subgrafo durante más de 45 días, esa versión se archiva. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Cada subgrafo afectado por esta política tiene una opción para recuperar la versión en cuestión. From 03daa645fbafa1f8bef82dacb857c551cddcf0d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:48 -0400 Subject: [PATCH 1421/2326] New translations deploying-a-subgraph-to-hosted.mdx (Arabic) --- .../pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx index 9e09fc38e9a7..06b3860076eb 100644 --- a/website/pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Subgraph Studio subgraph archive policy -When a new version of a subgraph is deployed, the previous version is archived (deleted from the graph-node DB). This only happens if the previous version is not published to The Graph's decentralized network. +A subgraph version in Studio is archived if and only if it meets the following criteria: -When a subgraph version isn’t queried for over 45 days, that version is archived. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Every subgraph affected with this policy has an option to bring the version in question back. From 464f78012cd1f38fd891e4b325fef4e219ced394 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:49 -0400 Subject: [PATCH 1422/2326] New translations deploying-a-subgraph-to-hosted.mdx (Czech) --- .../pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx index f63b8f3f1cd9..bd6871614d06 100644 --- a/website/pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Vývojáři budou upozorněni e-mail, pokud byl některý z jejich podgrafů ozn ## Zásady archivace subgrafů Subgraph Studio -Při nasazení nové verze podgrafu je předchozí verze archivována (odstraněna z DB grafových uzlů). K tomu dojde pouze v případě, že předchozí verze není zveřejněna v decentralizované síti a graf. +A subgraph version in Studio is archived if and only if it meets the following criteria: -Pokud není verze podgrafu dotazována déle než 45 dní, je tato verze archivována. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Každý podgraf ovlivněný touto zásadou má možnost vrátit danou verzi zpět. From 721ed1f74c5303bebba5e164564fd804db62b36d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:50 -0400 Subject: [PATCH 1423/2326] New translations deploying-a-subgraph-to-hosted.mdx (German) --- .../pages/de/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/de/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/de/deploying/deploying-a-subgraph-to-hosted.mdx index 422a2c73c7bf..f1be54725c2b 100644 --- a/website/pages/de/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/de/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Subgraph Studio subgraph archive policy -When a new version of a subgraph is deployed, the previous version is archived (deleted from the graph-node DB). This only happens if the previous version is not published to The Graph's decentralized network. +A subgraph version in Studio is archived if and only if it meets the following criteria: -When a subgraph version isn’t queried for over 45 days, that version is archived. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Every subgraph affected with this policy has an option to bring the version in question back. From 9ce8478cc71a24970c6a66b7b4a7a1c528e67737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:51 -0400 Subject: [PATCH 1424/2326] New translations deploying-a-subgraph-to-hosted.mdx (Italian) --- .../pages/it/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/it/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/it/deploying/deploying-a-subgraph-to-hosted.mdx index 526ae1235191..1b2aafa5714e 100644 --- a/website/pages/it/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/it/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Politica di archiviazione dei subgraph di Subgraph Studio -Quando viene distribuita una nuova versione di un subgraph, la versione precedente viene archiviata (cancellata dal DB del graph-node). Questo avviene solo se la versione precedente non è stata pubblicata sulla rete decentralizzata di The Graph. +A subgraph version in Studio is archived if and only if it meets the following criteria: -Quando una versione del subgraph non viene interrogata per oltre 45 giorni, viene archiviata. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Ogni subgraph colpito da questa politica ha un'opzione per recuperare la versione in questione. From 34230c590bab5d6ea6223495448a0931ff74db5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:52 -0400 Subject: [PATCH 1425/2326] New translations deploying-a-subgraph-to-hosted.mdx (Japanese) --- .../pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx index f587089e7ecd..8b9aad507585 100644 --- a/website/pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Subgraph Studio・サブグラフ・アーカイブポリシー -サブグラフの新しいバージョンがデプロイされると、以前のバージョンはアーカイブされます(グラフノードのDBから削除されます)。これは、以前のバージョンがThe Graphの分散型ネットワークに公開されていない場合にのみ発生します。 +A subgraph version in Studio is archived if and only if it meets the following criteria: -45日以上クエリがない場合、そのサブグラフのバージョンはアーカイブされます。 +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. このポリシーで影響を受けるすべてのサブグラフには、問題のバージョンを戻すオプションがあります。 From 28c32608e61ebb263762e871fef53ba2091e764f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:53 -0400 Subject: [PATCH 1426/2326] New translations deploying-a-subgraph-to-hosted.mdx (Korean) --- .../pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx index 422a2c73c7bf..f1be54725c2b 100644 --- a/website/pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Subgraph Studio subgraph archive policy -When a new version of a subgraph is deployed, the previous version is archived (deleted from the graph-node DB). This only happens if the previous version is not published to The Graph's decentralized network. +A subgraph version in Studio is archived if and only if it meets the following criteria: -When a subgraph version isn’t queried for over 45 days, that version is archived. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Every subgraph affected with this policy has an option to bring the version in question back. From 16e16a235ad36a70b608c558d317bf3749728dec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:54 -0400 Subject: [PATCH 1427/2326] New translations deploying-a-subgraph-to-hosted.mdx (Dutch) --- .../pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx index 422a2c73c7bf..f1be54725c2b 100644 --- a/website/pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Subgraph Studio subgraph archive policy -When a new version of a subgraph is deployed, the previous version is archived (deleted from the graph-node DB). This only happens if the previous version is not published to The Graph's decentralized network. +A subgraph version in Studio is archived if and only if it meets the following criteria: -When a subgraph version isn’t queried for over 45 days, that version is archived. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Every subgraph affected with this policy has an option to bring the version in question back. From 9a2288d9e70aec85d8b2505da77ec10838d73b2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:54 -0400 Subject: [PATCH 1428/2326] New translations deploying-a-subgraph-to-hosted.mdx (Polish) --- .../pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx index 422a2c73c7bf..f1be54725c2b 100644 --- a/website/pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Subgraph Studio subgraph archive policy -When a new version of a subgraph is deployed, the previous version is archived (deleted from the graph-node DB). This only happens if the previous version is not published to The Graph's decentralized network. +A subgraph version in Studio is archived if and only if it meets the following criteria: -When a subgraph version isn’t queried for over 45 days, that version is archived. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Every subgraph affected with this policy has an option to bring the version in question back. From b25b91fa44b36872edd1b1b1a34280fc2dff4236 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:55 -0400 Subject: [PATCH 1429/2326] New translations deploying-a-subgraph-to-hosted.mdx (Portuguese) --- .../pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx index 4b764c47124d..9e3e82e198bb 100644 --- a/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Política de arqivamento do Subgraph Studio -Quando é lançada uma nova versão de um subgraph, a anterior é arquivada (deletada do banco de dados do graph-node). Isto só acontece se a versão anterior não for editada na rede descentralizada do The Graph. +A subgraph version in Studio is archived if and only if it meets the following criteria: -Quando uma versão de subgraph não é consultada por mais de 45 dias, esta é arquivada. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Todos os subgraphs afetados por esta política têm a opção de trazer de volta a versão em questão. From baf69de4124c15fd7248b23da5ace4e9a158de42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:56 -0400 Subject: [PATCH 1430/2326] New translations deploying-a-subgraph-to-hosted.mdx (Russian) --- .../pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx index 20aa3e72fa6b..679100e7996e 100644 --- a/website/pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx @@ -282,8 +282,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Политика архивирования подграфов в Subgraph Studio -Когда развертывается новая версия подграфа, предыдущая версия архивируется (удаляется из базы данных graph-node). Это происходит только в том случае, если предыдущая версия не опубликована в децентрализованной сети Graph. +A subgraph version in Studio is archived if and only if it meets the following criteria: -Если версия подграфа не запрашивается более 45 дней, эта версия архивируется. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. У каждого подграфа, затронутого этой политикой, есть возможность вернуть соответствующую версию обратно. From 6f88bfd70c1f553f4e56cbb35786cb1cd04e2ad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:58 -0400 Subject: [PATCH 1431/2326] New translations deploying-a-subgraph-to-hosted.mdx (Swedish) --- .../pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx index 13d2ed4d79c8..37db4a8cc83c 100644 --- a/website/pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Subgraph Studio subgraf arkivpolitik -När en ny version av en undergraf distribueras arkiveras den tidigare versionen (raderas från grafnods DB). Detta sker endast om den tidigare versionen inte har publicerats i The Graphs decentraliserade nätverk. +A subgraph version in Studio is archived if and only if it meets the following criteria: -När en version av en undergraf inte har efterfrågats på över 45 dagar arkiveras den versionen. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Varje subgraf som påverkas av denna policy har en möjlighet att ta tillbaka versionen i fråga. From 9ac145128ee3a5efda758a942b483087f0cd2837 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:58 -0400 Subject: [PATCH 1432/2326] New translations deploying-a-subgraph-to-hosted.mdx (Turkish) --- .../pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx index 80976ac5c3c5..4614cbc742d5 100644 --- a/website/pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Subgraph Studio subgraph archive policy -When a new version of a subgraph is deployed, the previous version is archived (deleted from the graph-node DB). This only happens if the previous version is not published to The Graph's decentralized network. +A subgraph version in Studio is archived if and only if it meets the following criteria: -When a subgraph version isn’t queried for over 45 days, that version is archived. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Every subgraph affected with this policy has an option to bring the version in question back. From 056963945a9c6789fd4793d1366ef9815766412b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:55:59 -0400 Subject: [PATCH 1433/2326] New translations deploying-a-subgraph-to-hosted.mdx (Ukrainian) --- .../pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx index 422a2c73c7bf..f1be54725c2b 100644 --- a/website/pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Subgraph Studio subgraph archive policy -When a new version of a subgraph is deployed, the previous version is archived (deleted from the graph-node DB). This only happens if the previous version is not published to The Graph's decentralized network. +A subgraph version in Studio is archived if and only if it meets the following criteria: -When a subgraph version isn’t queried for over 45 days, that version is archived. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Every subgraph affected with this policy has an option to bring the version in question back. From 0e0d0018466ba2be72c92da15dad5456b3e4c10f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:00 -0400 Subject: [PATCH 1434/2326] New translations deploying-a-subgraph-to-hosted.mdx (Chinese Simplified) --- .../pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx index 76deae1c9d0b..75dbf2df0ce4 100644 --- a/website/pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx @@ -285,8 +285,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## 子图工作室子图封存策略 -当部署子图的新版本时,将封存以前的版本(从 graph-node DB中删除)。只有在以前的版本没有发布到 Graph的去中心化网络时,才会出现这种情况。 +A subgraph version in Studio is archived if and only if it meets the following criteria: -当超过45天未查询子图版本时,该版本将被封存。 +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. 受此策略影响的每个子图都有一个选项,可以回复有问题的版本。 From 9a822c097d7d0d9e411421765aff00c2a5ee165d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:01 -0400 Subject: [PATCH 1435/2326] New translations deploying-a-subgraph-to-hosted.mdx (Urdu (Pakistan)) --- .../pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx index 6f86f1f74241..ed6825e079b2 100644 --- a/website/pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## سب گراف سٹوڈیو سب گراف آرکائیو پالیسی -جب سب گراف کا نیا ورژن تعینات کیا جاتا ہے، تو پچھلا ورژن محفوظ کیا جاتا ہے (گراف نوڈ DB سے حذف کیا جاتا ہے)۔ یہ صرف اس صورت میں ہوتا ہے جب پچھلا ورژن دی گراف کے ڈیسینٹرالائزڈ نیٹ ورک پر شائع نہ کیا گیا ہو. +A subgraph version in Studio is archived if and only if it meets the following criteria: -جب کسی سب گراف ورژن سے 45 دنوں سے زیادہ کے لیے کیوری نہیں کیا جاتا ہے، تو اس ورژن کو محفوظ کر لیا جاتا ہے. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. اس پالیسی سے متاثر ہونے والے ہر سب گراف کے پاس زیر بحث ورژن کو واپس لانے کا اختیار ہے. From 8040bd8c72ef57646560e9708b8f22cfdcdd39f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:02 -0400 Subject: [PATCH 1436/2326] New translations deploying-a-subgraph-to-hosted.mdx (Vietnamese) --- .../pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx index 422a2c73c7bf..f1be54725c2b 100644 --- a/website/pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Subgraph Studio subgraph archive policy -When a new version of a subgraph is deployed, the previous version is archived (deleted from the graph-node DB). This only happens if the previous version is not published to The Graph's decentralized network. +A subgraph version in Studio is archived if and only if it meets the following criteria: -When a subgraph version isn’t queried for over 45 days, that version is archived. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Every subgraph affected with this policy has an option to bring the version in question back. From 2f449e19d1b2987d00d85e90a3a397b383b72ecf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:05 -0400 Subject: [PATCH 1437/2326] New translations deploying-a-subgraph-to-hosted.mdx (Marathi) --- .../pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx index d1131a2ae454..3abb234c7371 100644 --- a/website/pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## सबग्राफ स्टुडिओ सबग्राफ संग्रहण धोरण -जेव्हा सबग्राफची नवीन आवृत्ती उपयोजित केली जाते, तेव्हा मागील आवृत्ती संग्रहित केली जाते (ग्राफ-नोड DB मधून हटविली जाते). हे केवळ तेव्हाच घडते जेव्हा मागील आवृत्ती The Graph च्या विकेंद्रित नेटवर्कवर प्रकाशित केली जात नाही. +A subgraph version in Studio is archived if and only if it meets the following criteria: -जेव्हा सबग्राफ आवृत्तीची 45 दिवसांपेक्षा जास्त वेळ चौकशी केली जात नाही, तेव्हा ती आवृत्ती संग्रहित केली जाते. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. या धोरणामुळे प्रभावित झालेल्या प्रत्येक सबग्राफला प्रश्नातील आवृत्ती परत आणण्याचा पर्याय आहे. From 55d91754b9965f4403f5d66c88f306dc4e3d6a46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:06 -0400 Subject: [PATCH 1438/2326] New translations deploying-a-subgraph-to-hosted.mdx (Hindi) --- .../pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx index 3555413d9bf1..254ced573ab3 100644 --- a/website/pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## सबग्राफ स्टूडियो सबग्राफ संग्रह नीति -जब एक सबग्राफ का एक नया संस्करण तैनात किया जाता है, तो पिछला संस्करण संग्रहीत किया जाता है (ग्राफ-नोड डीबी से हटा दिया जाता है)। यह तभी होता है जब पिछला संस्करण ग्राफ़ के विकेंद्रीकृत नेटवर्क पर प्रकाशित नहीं होता है। +A subgraph version in Studio is archived if and only if it meets the following criteria: -जब किसी सबग्राफ संस्करण को 45 दिनों से अधिक समय तक क्वेरी नहीं की जाती है, तो वह संस्करण संग्रहीत किया जाता है। +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. इस नीति से प्रभावित प्रत्येक सबग्राफ के पास विचाराधीन संस्करण को वापस लाने का विकल्प है। From 35d08b894acb7ffbe20dd3a49aaf837e6b6532c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:07 -0400 Subject: [PATCH 1439/2326] New translations deploying-a-subgraph-to-hosted.mdx (Yoruba) --- .../pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/website/pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx index 422a2c73c7bf..f1be54725c2b 100644 --- a/website/pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx @@ -284,8 +284,12 @@ Developers will be notified by email if one of their subgraphs has been marked a ## Subgraph Studio subgraph archive policy -When a new version of a subgraph is deployed, the previous version is archived (deleted from the graph-node DB). This only happens if the previous version is not published to The Graph's decentralized network. +A subgraph version in Studio is archived if and only if it meets the following criteria: -When a subgraph version isn’t queried for over 45 days, that version is archived. +- The version is not published to the network (or pending publish) +- The version was created 45 or more days ago +- The subgraph hasn't been queried in 30 days + +In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. Every subgraph affected with this policy has an option to bring the version in question back. From acfb0d200c3157cdf6ec5533cb444488d8fd2bb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:08 -0400 Subject: [PATCH 1440/2326] New translations delegating.mdx (Romanian) --- website/pages/ro/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/ro/network/delegating.mdx b/website/pages/ro/network/delegating.mdx index 4a6d6e00b73e..81824234e072 100644 --- a/website/pages/ro/network/delegating.mdx +++ b/website/pages/ro/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegating --- -Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators contribute to securing the network without running a Graph Node themselves. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -By delegating to an Indexer, Delegators earn a portion of the Indexer's query fees and rewards. The amount of queries an Indexer can process depends on the Indexer's own (and delegated) stake and the price the Indexer charges for each query, so the more stake that is allocated to an Indexer, the more potential queries they can process. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Delegator Guide -This guide will explain how to be an effective Delegator in the Graph Network. Delegators share earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not go over steps such as setting up Metamask properly, as that information is widely available on the internet. There are three sections in this guide: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - The risks of delegating tokens in The Graph Network - How to calculate expected returns as a Delegator @@ -22,15 +24,15 @@ Listed below are the main risks of being a Delegator in the protocol. Delegators cannot be slashed for bad behavior, but there is a tax on Delegators to disincentivize poor decision-making that could harm the integrity of the network. -It is important to understand that every time you delegate, you will be charged 0.5%. This means if you are delegating 1000 GRT, you will automatically burn 5 GRT. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -This means that to be safe, a Delegator should calculate what their return will be by delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### The delegation unbonding period -Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens, or earn any rewards for 28 days. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -One thing to consider as well is choosing an Indexer wisely. If you choose an Indexer who was not trustworthy, or not doing a good job, you will want to undelegate, which means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) _Note the 0.5% fee in the Delegation UI, as well as the 28 day @@ -39,25 +41,25 @@ One thing to consider as well is choosing an Indexer wisely. If you choose an In ### Choosing a trustworthy Indexer with a fair reward payout for Delegators -This is an important part to understand. First let's discuss three very important values, which are the Delegation Parameters. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. That means if it is set to 100%, as a Delegator you will get 0 indexing rewards. If you see 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *The top Indexer is giving Delegators 90% of the rewards. The middle one is giving Delegators 20%. The bottom one is giving Delegators ~83%.*
    -- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this is specifically for returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended to pay attention to the network to determine when the query fees in the network will start to be more significant. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -As you can see, there is a lot of thought that must go into choosing the right Indexer. This is why we highly recommend you explore The Graph Discord to determine who the Indexers are with the best social reputation, and technical reputation, to reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months in the testnet, and are doing their best to help Delegators earn a good return, as it improves the health and success of the network. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Calculating Delegators expected return -A Delegator has to consider a lot of factors when determining the return. These include: +A Delegator must consider a lot of factors when determining the return. These include: - A technical Delegator can also look at the Indexer's ability to use the Delegated tokens available to them. If an Indexer is not allocating all the tokens available, they are not earning the maximum profit they could be for themselves or their Delegators. -- Right now in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So it is possible that an Indexer has a lot of rewards they have not collected yet, and thus, their total rewards are low. This should be taken into consideration in the early days. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Considering the query fee cut and indexing fee cut @@ -71,28 +73,32 @@ Another thing a Delegator has to consider is what proportion of the Delegation P ![Share formula](/img/Share-Forumla.png) -Using this formula, we can see that it is actually possible for an Indexer who is offering only 20% to Delegators, to actually be giving Delegators an even better reward than an Indexer who is giving 90% to Delegators. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -A Delegator can therefore do the math to determine that the Indexer offering 20% to Delegators, is offering a better return. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Considering the delegation capacity Another thing to consider is the delegation capacity. Currently, the Delegation Ratio is set to 16. This means that if an Indexer has staked 1,000,000 GRT, their Delegation Capacity is 16,000,000 GRT of Delegated tokens that they can use in the protocol. Any delegated tokens over this amount will dilute all the Delegator rewards. -Imagine an Indexer has 100,000,000 GRT delegated to them, and their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. And all the Delegators, and the Indexer, are earning way less rewards than they could be. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Therefore a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Delegator FAQs and Bugs ### MetaMask "Pending Transaction" Bug -**When I try to delegate my transaction in MetaMask appears as "Pending" or "Queued" for longer than expected. What should I do?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, subsequent transactions can be attempted by a user, but these will not be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. A simpler resolution to this bug is restarting the browsesr (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users that have encountered this issue and have reported successful transactions after restarting their browser and attempting to delegate. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Video guide for the network UI -This guide provides a full review of this document, and how to consider everything in this document while interacting with the UI. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From a76c3b9126256b8dd4fefc474b0a05849ecf7e2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:09 -0400 Subject: [PATCH 1441/2326] New translations delegating.mdx (French) --- website/pages/fr/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/fr/network/delegating.mdx b/website/pages/fr/network/delegating.mdx index 980ace6dad0d..1ff86feb2cf0 100644 --- a/website/pages/fr/network/delegating.mdx +++ b/website/pages/fr/network/delegating.mdx @@ -2,13 +2,15 @@ title: Délégation --- -Les délégués sont des participants au réseau qui délèguent (c'est-à-dire qui "mettent en jeu") le GRT à un ou plusieurs indexeurs. Les délégués contribuent à la sécurisation du réseau sans exploiter eux-mêmes un nœud de graph. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -En déléguant à un indexeur, les délégants gagnent une partie des frais de requête et des récompenses de l'indexeur. Le nombre de requêtes qu'un indexeur peut traiter dépend de la participation propre (et déléguée) de l'indexeur et du prix facturé par l'indexeur pour chaque requête. Ainsi, plus la participation allouée à un indexeur est importante, plus il peut traiter de requêtes potentielles. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Guide du délégué -En déléguant à un indexeur, les délégants gagnent une partie des frais de requête et des récompenses de l'indexeur. Le nombre de requêtes qu'un indexeur peut traiter dépend de la participation propre (et déléguée) de l'indexeur et du prix facturé par l'indexeur pour chaque requête. Ainsi, plus la participation allouée à un indexeur est importante, plus il peut traiter de requêtes potentielles: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - Les risques de la délégation de jetons dans The Graph Network - Comment calculer les rendements escomptés en tant que délégué @@ -22,15 +24,15 @@ Les principaux risques liés à la fonction de délégué dans le protocole sont Les délégués ne peuvent pas être licenciés en cas de mauvais comportement, mais ils sont soumis à une taxe visant à décourager les mauvaises décisions susceptibles de nuire à l'intégrité du réseau. -Il est important de comprendre que chaque fois que vous déléguez, vous êtes facturé 0,5 %. Cela signifie que si vous déléguez 1000 TJB, vous brûlerez automatiquement 5 TJB. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -Cela signifie que pour être sûr, un délégant doit calculer quel sera son rendement en déléguant à un indexeur. Par exemple, un délégant peut calculer combien de jours il lui faudra avant de récupérer la taxe de 0,5 % sur sa délégation. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### La période de découplage de la délégation -Lorsqu'un délégué souhaite se dé-déléguer, ses jetons sont soumis à une période de déliaison de 28 jours. Cela signifie qu'il ne peut pas transférer ses jetons ou gagner des récompenses pendant 28 jours. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -Il convient également de choisir judicieusement un indexeur. Si vous choisissez un indexeur qui n'est pas digne de confiance ou qui ne fait pas du bon travail, vous voudrez annuler la délégation, ce qui signifie que vous perdrez beaucoup d'occasions de gagner des récompenses, ce qui peut être tout aussi grave que de brûler des TRG. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    !Délégation débondage](/img/Delegation-Unbonding.png) _Notez la commission de 0,5% dans l'interface utilisateur de la délégation, ainsi que la période de débondage de 28 jours. @@ -39,25 +41,25 @@ Il convient également de choisir judicieusement un indexeur. Si vous choisissez ### Choisir un indexeur digne de confiance avec une rémunération équitable pour les délégués -Il s'agit d'une partie importante à comprendre. Discutons d'abord de trois valeurs très importantes, qui sont les paramètres de délégation. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Réduction de la récompense d'indexation - La réduction de la récompense d'indexation est la part des récompenses que l'indexeur gardera pour lui. Cela signifie que si elle est fixée à 100 %, en tant que délégué, vous obtiendrez 0 récompense d'indexation. Si vous voyez 80 % dans l'interface utilisateur, cela signifie qu'en tant que délégué, vous recevrez 20 %. Remarque importante : au début du réseau, les récompenses d'indexation représenteront la majorité des récompenses. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *Le meilleur indexeur donne aux délégués 90 % des récompenses. Le celui du milieu donne 20 % aux délégués. Celui du bas donne aux délégués environ 83 %.*
    -- Réduction des frais de requête – Cela fonctionne exactement comme la réduction des récompenses d’indexation. Cependant, cela concerne spécifiquement les retours sur les frais de requête collectés par l’indexeur. Il convient de noter qu’au démarrage du réseau, les retours sur les frais de requête seront très faibles par rapport à la récompense d’indexation. Il est recommandé de prêter attention au réseau pour déterminer quand les frais de requête sur le réseau commenceront à être plus importants. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -Comme vous pouvez le constater, le choix du bon indexeur demande beaucoup de réflexion. C'est pourquoi nous vous recommandons fortement d'explorer The Graph Discord pour déterminer qui sont les indexeurs ayant la meilleure réputation sociale et technique, afin de récompenser les délégués de manière cohérente. De nombreux indexeurs sont très actifs sur Discord et se feront un plaisir de répondre à vos questions. Beaucoup d'entre eux indexent depuis des mois sur le testnet et font de leur mieux pour aider les délégués à obtenir un bon retour, car cela améliore la santé et le succès du réseau. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Calcul du rendement attendu des délégués -Le délégué doit prendre en compte un grand nombre de facteurs pour déterminer le rendement. Ces facteurs sont les suivants: +A Delegator must consider a lot of factors when determining the return. These include: - Un délégué technique peut également examiner la capacité de l'indexeur à utiliser les jetons délégués dont il dispose. Si un indexeur n'alloue pas tous les jetons disponibles, il ne réalise pas le profit maximum qu'il pourrait réaliser pour lui-même ou pour ses délégués. -- À l'heure actuelle, sur le réseau, un indexeur peut choisir de clôturer une allocation et de collecter des récompenses à tout moment entre 1 et 28 jours. Il est donc possible qu’un indexeur ait beaucoup de récompenses qu’il n’a pas encore collectées et que ses récompenses totales soient donc faibles. Ceci doit être pris en considération dès les premiers jours. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Considérant la réduction des frais d'interrogation et la réduction des frais d'indexation @@ -71,28 +73,32 @@ Une autre chose qu'un délégant doit prendre en compte est la proportion du poo ![Formule de partage](/img/Share-Forumla.png) -En utilisant cette formule, nous pouvons voir qu'il est en fait possible pour un indexeur qui n'offre que 20 % aux délégants d'offrir aux délégants une récompense encore meilleure qu'un indexeur qui donne 90 % aux délégants. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -Un délégué peut donc faire le calcul pour déterminer que l'indexeur qui offre 20 % aux délégués propose un meilleur rendement. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Compte tenu de la capacité de délégation Une autre chose à considérer est la capacité de délégation. Actuellement, le ratio de délégation est fixé à 16. Cela signifie que si un indexeur a mis en jeu 1 000 000 GRT, sa capacité de délégation est de 16 000 000 GRT de jetons délégués qu'il peut utiliser dans le protocole. Tout jeton délégué dépassant ce montant diluera toutes les récompenses du délégué. -Imaginons qu'un indexeur se voit déléguer 100 000 000 GRT et que sa capacité ne soit que de 16 000 000 GRT. Cela signifie que 84 000 000 GRT ne sont pas utilisés pour gagner des tokens. Et tous les délégués, ainsi que l'indexeur, gagnent beaucoup moins de récompenses qu'ils ne le pourraient. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Par conséquent, un délégant doit toujours prendre en compte la capacité de délégation d’un indexeur et en tenir compte dans sa prise de décision. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## FAQ et bugs pour les délégants ### Bug MetaMask « Transaction en attente » -**Lorsque j'essaie de déléguer ma transaction dans MetaMask, elle apparaît comme « En attente » ou « En file d'attente » plus longtemps que prévu. Que dois-je faire?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -Parfois, les tentatives de délégation aux indexeurs via MetaMask peuvent échouer et entraîner des périodes prolongées de tentatives de transactions "en attente" ou "en fichier d'attente". Par exemple, un utilisateur peut tenter de téléguer des frais d'essence insuffisants par rapport aux prix actuels, ce qui fait que la tentative de transaction s'affiche comme "en attente" dans son portefeuille MetaMask pendant plus de 15 minutes. Dans ce cas, l'utilisateur peut tenter d'effectuer des transactions ultérieures, mais celles-ci ne seront pas traitées tant que la transaction initiale n'aura pas été minée, car les transactions pour une adresse doivent être traitées dans l'ordre. Dans ce cas, ces transactions peuvent être annulées dans MetaMask, mais les tentatives de transactions accumuleront des frais de gaz sans aucune garantie que les tentatives suivantes aboutissent. Une solution plus simple consiste à redémarrer le navigateur (par exemple en utilisant "abort:restart" dans la barre d'adresse), ce qui annulera toutes les tentatives précédentes sans que le gaz ne soit soustrait du portefeuille. Plusieurs utilisateurs qui ont rencontré ce problème ont signalé des transactions réussies après avoir redémarré leur navigateur et tenté de déléguer. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Guide vidéo pour l'interface utilisateur du réseau -Ce guide présente un examen complet de ce document et explique comment tenir compte de tous les éléments qu'il contient lors de l'utilisation de l'interface utilisateur. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From ce8d09f147a6b9a07b2d02dc7d8f7a2e2ad14458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:10 -0400 Subject: [PATCH 1442/2326] New translations delegating.mdx (Spanish) --- website/pages/es/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/es/network/delegating.mdx b/website/pages/es/network/delegating.mdx index 96cc78bd994a..2d1b5ab66ee3 100644 --- a/website/pages/es/network/delegating.mdx +++ b/website/pages/es/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegar --- -Los delegadores son participantes de la red que delegan GRT (hacen stake) a uno o varios indexadores. Los delegadores contribuyen a la seguridad de la red sin ejecutar ellos mismos un Graph Node. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -Al delegar en un Indexador, los Delegadores ganan una parte de las tarifas de las consultas del Indexador y de las recompensas. La cantidad de consultas que puede procesar un Indexador depende de su propio stake (y del delegado) y del precio que el indexador cobra por cada consulta, por lo que cuanto más participación se asigne a un Indexador, más consultas potenciales podrá procesar. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Guía del Delegador -Esta guía explicará cómo ser un Delegador efectivo en Graph Network. Los Delegadores comparten las ganancias del protocolo junto con todos los Indexadores en función de su participación delegada. Un Delegador debe usar su mejor juicio para elegir a los Indexadores basándose en múltiples factores. Por favor, ten en cuenta que esta guía no repasará pasos como la configuración de Metamask correctamente, ya que esa información está ampliamente disponible en Internet. Hay tres secciones en esta guía: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - Los riesgos de delegar tokens en la red de The Graph - Cómo calcular los rendimientos que te esperan siendo Delegador @@ -22,15 +24,15 @@ A continuación se enumeran los principales riesgos de ser un Delegador en el pr Los Delegadores no pueden ser recortados por mal comportamiento, pero existe un impuesto sobre los Delegadores para desincentivar la toma de malas decisiones que puedan perjudicar la integridad de la red. -Es importante entender que cada vez que delegas, se te cobrará el 0,5%. Esto significa que si delegas 1000 GRT, quemarás automáticamente 5 GRT. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -Esto significa que, para estar seguro, un Delegador debe calcular cuál será su rendimiento al delegar en un Indexador. Por ejemplo, un Delegador podría calcular cuántos días tardará en recuperar el 0,5% de impuestos de su delegación. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### El período de unbonding (desvinculación) de la delegación -Siempre que un Delegador quiera retirar la delegación, sus tokens estarán sujetos a un periodo de unbonding de 28 días. Esto significa que no pueden transferir sus tokens ni obtener recompensas durante 28 días. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -Una cosa a considerar también es elegir un Indexador sabiamente. Si eliges un Indexador que no es de confianza, o que no hace un buen trabajo, querrás retirar la delegación, lo que significa que perderás muchas oportunidades de ganar recompensas, lo que puede ser tan malo como quemar GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) _Ten en cuenta la tasa del 0,5% en la UI de la Delegación, así @@ -39,9 +41,9 @@ Una cosa a considerar también es elegir un Indexador sabiamente. Si eliges un I ### Elige un Indexador fiable, que pague recompensas justas a sus Delegadores -Esta es una parte importante que hay que entender. Primero vamos a discutir tres valores muy importantes, que son los Parámetros de Delegación. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Recorte de Recompensa de Indexación - El recorte de la recompensa de indexación es la parte de las recompensas que el Indexador se quedará para sí mismo. Esto significa que si se establece en el 100%, como Delegador obtendrás 0 recompensas de indexación. Si ves el 80% en la interfaz de usuario, significa que como Delegador recibirás el 20%. Una nota importante: al principio de la red, las Recompensas de Indexación representarán la mayor parte de las recompensas. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *El Indexador de arriba está dando a los Delegadores el 90% de @@ -49,16 +51,16 @@ Recorte de Recompensa de Indexación - El recorte de la recompensa de indexació Delegadores*
    -- Reducción de tarifa de consulta: esto funciona de igual forma que la reducción de recompensa por indexación. Sin embargo, esto funciona específicamente para un reembolso de las tarifas por cada consulta que cobrará el Indexador. Cabe resaltar que en los inicios de la red, los retornos de las tarifas por consulta serán muy pequeños en comparación con la recompensa de indexación. Se recomienda prestar atención a la red para determinar cuándo las tarifas de consulta en la red comenzarán a ser más significativas. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -Como puedes ver, hay que pensar mucho para elegir al Indexador adecuado. Por eso te recomendamos encarecidamente que explores el Discord de The Graph para determinar quiénes son los Indexadores con mejor reputación social, y reputación técnica, para recompensar a los Delegadores de forma consistente. Muchos de los Indexadores son muy activos en Discord y estarán encantados de responder a tus preguntas. Muchos de ellos han estado indexando durante meses en la red de pruebas, y hacen todo lo posible para ayudar a los Delegadores a obtener un buen rendimiento, ya que mejora la salud y el éxito de la red. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Calculando el retorno esperado para los Delegadores -Un Delegador tiene que tener en cuenta muchos factores a la hora de determinar la rentabilidad. Entre ellos: +A Delegator must consider a lot of factors when determining the return. These include: - Un Delegador técnico también puede ver la capacidad de los Indexadores para usar los tokens que han sido delegados y la capacidad de disponibilidad a su favor. Si un Indexador no está asignando todos los tokens disponibles, no está obteniendo el beneficio máximo que podría obtener para sí mismo o para sus Delegadores. -- Por ahora, en la red, un Indexador puede optar por cerrar una asignación y cobrar las recompensas en cualquier momento entre el primer día y el día 28. Por ende, es posible que un Indexador tenga muchas recompensas por recolectar y que por ello, sus recompensas totales sean bajas. Esto debe tenerse en cuenta durante los primeros días. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Siempre ten en cuenta la tarifa por consulta y el recorte de recompensas para el Indexador @@ -72,28 +74,32 @@ Otra cosa que tiene que tener en cuenta un Delegador es qué proporción del Poo ![Fórmula para compartir](/img/Share-Forumla.png) -Utilizando esta fórmula, podemos ver que en realidad es posible que un Indexador que está ofreciendo sólo el 20% a los Delegadores, en realidad esté dando a los Delegadores una recompensa aún mejor que un Indexador que está dando el 90% a los Delegadores. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -Por lo tanto, un Delegador puede hacer los cálculos para determinar que el Indexador que ofrece el 20% a los Delegadores, está ofreciendo un mejor rendimiento. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Considerar la capacidad de delegación Otra cosa a tener en cuenta es la capacidad de delegación. Actualmente, el Ratio de Delegación está fijado en 16. Esto significa que si un Indexador ha stakeado 1.000.000 GRT, su Capacidad de Delegación es de 16.000.000 GRT de tokens delegados que puede utilizar en el protocolo. Cualquier token delegado que supere esta cantidad diluirá todas las recompensas del Delegador. -Imagina que un Indexador tiene 100.000.000 GRT delegados, y su capacidad es de sólo 16.000.000 GRT. Esto significa que, efectivamente, 84.000.000 GRT no se están utilizando para ganar tokens. Y todos los Delegadores, y el Indexador, están ganando muchas menos recompensas de las que podrían. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Por lo tanto, un Delegador siempre debe considerar la Capacidad de Delegación de un Indexador, y tenerla en cuenta en su toma de decisiones. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Preguntas Frecuentes del Delegador y Errores ### Error de "Transacción Pendiente" en MetaMask -**Cuando intento delegar mi transacción en MetaMask aparece como "Pendiente" o "En cola" durante más tiempo del esperado. ¿Qué debo hacer?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -A veces, los intentos de delegar a los Indexadores a través de MetaMask pueden fallar y dar lugar a períodos prolongados de intentos de transacciones "Pendientes" o "En cola". Por ejemplo, un usuario puede intentar delegar con una tarifa de gas insuficiente en relación con los precios actuales, lo que hace que el intento de transacción aparezca como "Pendiente" en su wallet de MetaMask durante más de 15 minutos. Cuando esto ocurre, un usuario puede intentar realizar transacciones posteriores, pero éstas no se procesarán hasta que la transacción inicial sea minada, ya que las transacciones para una dirección deben ser procesadas en orden. En estos casos, estas transacciones pueden ser canceladas en MetaMask, pero los intentos de transacciones acumularán tarifas de gas sin ninguna garantía de que los intentos posteriores tengan éxito. Una solución más sencilla a este fallo es reiniciar el navegador (por ejemplo, utilizando "abort:restart" en la barra de direcciones), lo que cancelará todos los intentos anteriores sin que se reste gas a la wallet. Varios usuarios que han encontrado este problema y han informado de transacciones exitosas después de reiniciar su navegador e intentar delegar. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Video guía de la interfaz de usuario de la red -Esta guía proporciona una revisión completa de este documento, y cómo tener en cuenta todo lo que contiene mientras se interactúa con la interfaz de usuario. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From c75c52cdc0d609f93b51aa46a5fb72bf1d99c3c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:11 -0400 Subject: [PATCH 1443/2326] New translations delegating.mdx (Arabic) --- website/pages/ar/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/ar/network/delegating.mdx b/website/pages/ar/network/delegating.mdx index eea33ceb91da..85101ff65a44 100644 --- a/website/pages/ar/network/delegating.mdx +++ b/website/pages/ar/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegating --- -لا يمكن شطب المفوضين بسبب السلوك السيئ ، ولكن هناك ضريبة ودائع على المفوضين لتثبيط اتخاذ القرار السيئ الذي قد يضر بسلامة الشبكة. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -سيشرح هذا الدليل كيف تكون مفوضا فعالا في Graph Network. يشارك المفوضون أرباح حصتهم المفوضة مع المفهرسين. يجب أن يستخدم المفوض أفضل حكم لديه لاختيار المفهرسين بناء على عوامل متعددة. يرجى ملاحظة أن هذا الدليل لن يتطرق لخطوات مثل إعداد Metamask ، حيث أن هذه المعلومات متاحة على نطاق واسع على الإنترنت. يوجد ثلاثة أقسام في هذا الدليل: +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## دليل المفوض -This guide will explain how to be an effective Delegator in the Graph Network. Delegators share earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not go over steps such as setting up Metamask properly, as that information is widely available on the internet. There are three sections in this guide: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - مخاطر تفويض التوكن في شبكة The Graph - كيفية حساب العوائد المتوقعة كمفوض @@ -22,15 +24,15 @@ This guide will explain how to be an effective Delegator in the Graph Network. D Delegators cannot be slashed for bad behavior, but there is a tax on Delegators to disincentivize poor decision-making that could harm the integrity of the network. -من المهم أن تفهم أنه في كل مرة تقوم فيها بالتفويض ، سيتم حرق 0.5٪. هذا يعني أنه إذا كنت تفوض 1000 GRT ، فستحرق 5 GRT تلقائيا. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -هذا يعني أنه لكي يكون المفوض آمنا ، يجب أن يحسب كم ستكون عوائده من خلال التفويض للمفهرس. على سبيل المثال ، قد يحسب المفوض عدد الأيام التي سيستغرقها لاسترداد رسوم الـ 0.5٪ التي دفعها للتفويض. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### فترة إلغاء التفويض -Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens, or earn any rewards for 28 days. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -One thing to consider as well is choosing an Indexer wisely. If you choose an Indexer who was not trustworthy, or not doing a good job, you will want to undelegate, which means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    لاحظ 0.5٪ رسوم التفويض ، بالإضافة إلى فترة 28 يوما لإلغاء التفويض. @@ -38,24 +40,24 @@ One thing to consider as well is choosing an Indexer wisely. If you choose an In ### اختيار مفهرس جدير بالثقة مع عائد جيد للمفوضين -هذا جزء مهم عليك أن تفهمه. أولاً ، دعنا نناقش ثلاث قيم مهمة للغاية وهي بارامترات التفويض. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. That means if it is set to 100%, as a Delegator you will get 0 indexing rewards. If you see 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    *المفهرس الأعلى يمنح المفوضين 90٪ من المكافآت. والمتوسط يمنح المفوضين 20٪. والأدنى يعطي المفوضين ~ 83٪.*
    -- اقتطاع رسوم الاستعلام Query Fee Cut - هذا تماما مثل اقتطاع مكافأة الفهرسة Indexing Reward Cut. ومع ذلك ، فهو مخصص بشكل خاص للعائدات على رسوم الاستعلام التي يجمعها المفهرس. وتجدر الإشارة إلى أنه في بداية الشبكة ، سيكون العائد من رسوم الاستعلام صغيرا جدا مقارنة بمكافأة الفهرسة. من المستحسن الاهتمام بالشبكة لتحديد متى ستصبح رسوم الاستعلام في الشبكة أكثر أهمية. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -As you can see, there is a lot of thought that must go into choosing the right Indexer. This is why we highly recommend you explore The Graph Discord to determine who the Indexers are with the best social reputation, and technical reputation, to reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months in the testnet, and are doing their best to help Delegators earn a good return, as it improves the health and success of the network. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### حساب العائد المتوقع للمفوضين -يجب على المفوض النظر في الكثير من العوامل عند تحديد العوائد. وتشمل: +A Delegator must consider a lot of factors when determining the return. These include: - يمكن للمفوض إلقاء نظرة على قدرة المفهرسين على استخدام التوكن المفوضة المتاحة لهم. إذا لم يقم المفهرس بتخصيص جميع التوكن المتاحة ، فإنه لا يكسب أقصى ربح يمكن أن يحققه لنفسه أو للمفوضين. -- الآن في الشبكة ، يمكن للمفهرس اختيار إغلاق المخصصة (allocation) وجمع المكافآت في أي وقت بين 1 و 28 يوما. لذلك من الممكن أن يكون لدى المفهرس الكثير من المكافآت التي لم يجمعها بعد ، وبالتالي ، فإن إجمالي مكافآته منخفضة. يجب أن يؤخذ هذا في الاعتبار في الأيام الأولى. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### النظر في اقتطاع رسوم الاستعلام query fee cut واقتطاع رسوم الفهرسة indexing fee cut @@ -69,28 +71,32 @@ As you can see, there is a lot of thought that must go into choosing the right I ![شارك الصيغة](/img/Share-Forumla.png) -باستخدام هذه الصيغة ، يمكننا أن نرى أنه من الممكن فعليا للمفهرس الذي يعطي فقط 20٪ للمفوضين ، أن يمنح المفوضين عائدا أفضل من المفهرس الذي يعطي 90٪ للمفوضين. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -وبالتالي يمكن للمفوض أن يقوم بالحسابات ليدرك أن المفهرس الذي يقدم 20٪ للمفوضين يقدم عائدا أفضل. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### النظر في سعة التفويض (delegation capacity) Another thing to consider is the delegation capacity. Currently, the Delegation Ratio is set to 16. This means that if an Indexer has staked 1,000,000 GRT, their Delegation Capacity is 16,000,000 GRT of Delegated tokens that they can use in the protocol. Any delegated tokens over this amount will dilute all the Delegator rewards. -Imagine an Indexer has 100,000,000 GRT delegated to them, and their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. And all the Delegators, and the Indexer, are earning way less rewards than they could be. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -لذلك يجب على المفوض دائما أن يأخذ في الاعتبار سعة التفويض (Delegation Capacity) للمفهرس ، وأن يأخذها في الاعتبار عند اتخاذ القرار. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Delegator FAQs and Bugs ### MetaMask "Pending Transaction" Bug -**When I try to delegate my transaction in MetaMask appears as "Pending" or "Queued" for longer than expected. What should I do?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, subsequent transactions can be attempted by a user, but these will not be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. A simpler resolution to this bug is restarting the browsesr (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users that have encountered this issue and have reported successful transactions after restarting their browser and attempting to delegate. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Video guide for the network UI -This guide provides a full review of this document, and how to consider everything in this document while interacting with the UI. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From fb11d7414ee7bfa25f37669178ef8518ba242189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:12 -0400 Subject: [PATCH 1444/2326] New translations delegating.mdx (Czech) --- website/pages/cs/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/cs/network/delegating.mdx b/website/pages/cs/network/delegating.mdx index df6ce204f133..8f6863d7ca79 100644 --- a/website/pages/cs/network/delegating.mdx +++ b/website/pages/cs/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegování --- -Delegáti jsou účastníci sítě, kteří delegují (tj. "sázejí") GRT na jednoho nebo více indexátorů. Delegáti přispívají k zabezpečení sítě, aniž by sami provozovali uzel Graf. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -Delegováním na indexátora získávají delegáti část poplatků a odměn za dotazy indexátora. Množství dotazů, které může indexátor zpracovat, závisí na jeho vlastním (a delegovaném) podílu a ceně, kterou si indexátor účtuje za každý dotaz, takže čím větší podíl je indexátorovi přidělen, tím více potenciálních dotazů může zpracovat. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Průvodce delegáta -V této příručce se dozvíte, jak se stát efektivním delegátem v síti Graf. Delegáti se podílejí na výnosech protokolu spolu se všemi Indexery na základě svého delegovaného podílu. Delegát musí při výběru Indexátorů vycházet ze svého nejlepšího úsudku, a to na základě více faktorů. Vezměte prosím na vědomí, že tento průvodce nebude rozebírat kroky, jako je správné nastavení Metamasky, protože tyto informace jsou široce dostupné na internetu. Tato příručka obsahuje tři části: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - Rizika delegování tokenů v síti Graf - Jak vypočítat očekávané výnosy jako delegát @@ -22,15 +24,15 @@ Níže jsou uvedena hlavní rizika plynoucí z delegáta v protokolu. Delegáti nemohou být za špatné chování kráceni, ale existuje daň pro delegáty, která má odradit od špatného rozhodování, jež by mohlo poškodit integritu sítě. -Je důležité si uvědomit, že při každém delegování vám bude účtováno 0.5%. To znamená, že pokud delegujete 1000 GRT, automaticky spálíte 5 GRT. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -To znamená, že delegát by si měl pro jistotu spočítat, jaký bude jeho výnos při delegování na indexátor. Delegát by si například mohl spočítat, za kolik dní se mu vrátí 0.5% daň z delegování. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### Konec období vázanosti delegací -Kdykoli chce delegát zrušit delegování, jeho tokeny podléhají 28denní lhůtě pro zrušení delegování. To znamená, že po dobu 28 dní nemohou své tokeny převádět ani získávat žádné odměny. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -Jednou z věcí, kterou je třeba zvážit, je rozumný výběr indexátoru. Pokud si vyberete indexátora, který nebyl důvěryhodný nebo neodváděl dobrou práci, budete chtít zrušit delegaci, což znamená, že přijdete o mnoho příležitostí získat odměny, což může být stejně špatné jako spálení GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Zrušení vázanosti delegací](/img/Delegation-Unbonding.png) _Všimněte si 0.5% poplatku v UI delegací a 28denní lhůty. @@ -39,25 +41,25 @@ Jednou z věcí, kterou je třeba zvážit, je rozumný výběr indexátoru. Pok ### Výběr důvěryhodného indexátora se spravedlivou odměnou pro delegáty -To je důležitá část, kterou je třeba pochopit. Nejprve si probereme tři velmi důležité hodnoty, které představují parametry delegování. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Indexační podíl na odměně - Indexační podíl na odměně je část odměny, kterou si indexátor ponechá pro sebe. To znamená, že pokud je nastavena na 100%, jako delegát získáte 0 odměn za indexaci. Pokud se v uživatelském rozhraní zobrazí hodnota 80%, znamená to, že jako delegát obdržíte 20%. Důležitá poznámka - na začátku sítě budou odměny za indexování tvořit většinu odměn. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *Nejlepší indexátor dává delegátům 90 % odměn. Na prostřední dává delegátům 20 % odměn. Spodní dává delegátům ~83 %.*
    -- Snížení poplatku za dotaz - Funguje stejně jako snížení odměny za indexování. Jedná se však konkrétně o výnosy z poplatků za dotaz, které indexátor vybere. Je třeba poznamenat, že na začátku sítě budou výnosy z poplatků za dotazování ve srovnání s odměnou za indexaci velmi malé. Doporučujeme věnovat pozornost síti, abyste zjistili, kdy začnou být poplatky za dotazování v síti významnější. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -Jak vidíte, výběr správného indexátoru je třeba důkladně promyslet. Proto vám vřele doporučujeme prozkoumat Graf Discord a zjistit, kdo jsou Indexátoři s nejlepší společenskou reputací a technickou reputací, abyste mohli Delegáty důsledně odměňovat. Mnozí z Indexátorů jsou na Discordu velmi aktivní a rádi zodpoví vaše dotazy. Mnozí z nich indexují v testovací síti již několik měsíců a dělají vše pro to, aby pomohli Delegátům získat dobrou odměnu, protože tím zlepšují zdraví a úspěšnost sítě. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Výpočet očekávaného výnosu delegátů -Delegát musí při určování návratnosti zohlednit mnoho faktorů. Mezi ně patří: +A Delegator must consider a lot of factors when determining the return. These include: - Technický delegát se může také podívat na schopnost indexátoru používat dostupné delegované tokeny. Pokud Indexátor nealokuje všechny dostupné tokeny, nevydělává pro sebe ani pro své Delegáty maximální možný zisk. -- V současné době může indexátor v síti uzavřít alokaci a vybrat odměnu kdykoli v rozmezí 1 až 28 dnů. Je tedy možné, že indexátor má mnoho odměn, které ještě nevybral, a jeho celkové odměny jsou tedy nízké. To je třeba v prvních dnech brát v úvahu. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### S ohledem na snížení poplatků za dotaz a indexaci @@ -71,28 +73,32 @@ Další věcí, kterou musí delegát zvážit, je, jakou část fondu delegát ![Sdílet vzorec](/img/Share-Forumla.png) -Pomocí tohoto vzorce můžeme zjistit, že je možné, aby indexátor, který nabízí delegátům pouze 20%, ve skutečnosti poskytoval delegátům ještě lepší odměnu než indexátor, který poskytuje delegátům 90%. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -Delegát tedy může výpočtem zjistit, že indexátor, který nabízí delegátům 20%, nabízí lepší výnos. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Vzhledem ke kapacitě delegace Další věcí, kterou je třeba zvážit, je kapacita delegování. V současné době je poměr delegování nastaven na 16. To znamená, že pokud indexátor vsadil 1,000,000 GRT, jeho delegační kapacita je 16,000,000 GRT delegovaných tokenů, které může v protokolu použít. Jakékoli delegované tokeny nad toto množství rozředí všechny odměny delegátora. -Představte si, že na indexátora je delegováno 100,000,000 BRT a jeho kapacita je pouze 16,000,000 BRT. To znamená, že efektivně 84,000,000 žetonů GRT není použito k vydělávání žetonů. A všichni delegáti i Indexer vydělávají mnohem méně odměn, než by mohli. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Delegát by proto měl vždy zvážit kapacitu delegování indexátora a zohlednit ji při svém rozhodování. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## FAQ a chyby delegáta ### Chyba MetaMask "Čekající transakce" -**Když se pokusím delegovat transakci, zobrazí se v MetaMasce jako "Pending" nebo "Queued" na delší dobu, než se očekávalo. Co mám dělat?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -Občas se může stát, že pokusy o delegování na indexátory prostřednictvím funkce MetaMask selžou a vyústí v delší dobu trvající pokusy o transakci v režimu "čekající" nebo "ve frontě". Uživatel se například může pokusit o delegování s nedostatečným poplatkem za plyn vzhledem k aktuálním cenám, což vede k tomu, že se pokus o transakci v jeho peněžence MetaMask zobrazí jako "čekající" po dobu více než 15 minut. Pokud k tomu dojde, může se uživatel pokusit o další transakce, ale ty nebudou zpracovány, dokud nebude vytěžena původní transakce, protože transakce pro danou adresu musí být zpracovány v pořadí. V takových případech lze tyto transakce v MetaMasku zrušit, ale za pokusy o transakce budou narůstat poplatky za plyn bez záruky, že následné pokusy budou úspěšné. Jednodušším řešením této chyby je restartování prohlížeče (např. pomocí příkazu "abort:restart" v adresním řádku), čímž se zruší všechny předchozí pokusy, aniž by se z peněženky odečetl plyn. Několik uživatelů, kteří se s tímto problémem setkali a hlásili úspěšné transakce po restartování prohlížeče a pokusu o delegování. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Videoprůvodce UI sítě -V této příručce najdete úplný přehled tohoto dokumentu a návod, jak při práci s UI zohlednit vše, co je v tomto dokumentu uvedeno. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From 3ca0f9ebed39a582f18c4b4686018c741d52b31e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:13 -0400 Subject: [PATCH 1445/2326] New translations delegating.mdx (German) --- website/pages/de/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/de/network/delegating.mdx b/website/pages/de/network/delegating.mdx index 4a6d6e00b73e..81824234e072 100644 --- a/website/pages/de/network/delegating.mdx +++ b/website/pages/de/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegating --- -Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators contribute to securing the network without running a Graph Node themselves. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -By delegating to an Indexer, Delegators earn a portion of the Indexer's query fees and rewards. The amount of queries an Indexer can process depends on the Indexer's own (and delegated) stake and the price the Indexer charges for each query, so the more stake that is allocated to an Indexer, the more potential queries they can process. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Delegator Guide -This guide will explain how to be an effective Delegator in the Graph Network. Delegators share earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not go over steps such as setting up Metamask properly, as that information is widely available on the internet. There are three sections in this guide: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - The risks of delegating tokens in The Graph Network - How to calculate expected returns as a Delegator @@ -22,15 +24,15 @@ Listed below are the main risks of being a Delegator in the protocol. Delegators cannot be slashed for bad behavior, but there is a tax on Delegators to disincentivize poor decision-making that could harm the integrity of the network. -It is important to understand that every time you delegate, you will be charged 0.5%. This means if you are delegating 1000 GRT, you will automatically burn 5 GRT. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -This means that to be safe, a Delegator should calculate what their return will be by delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### The delegation unbonding period -Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens, or earn any rewards for 28 days. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -One thing to consider as well is choosing an Indexer wisely. If you choose an Indexer who was not trustworthy, or not doing a good job, you will want to undelegate, which means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) _Note the 0.5% fee in the Delegation UI, as well as the 28 day @@ -39,25 +41,25 @@ One thing to consider as well is choosing an Indexer wisely. If you choose an In ### Choosing a trustworthy Indexer with a fair reward payout for Delegators -This is an important part to understand. First let's discuss three very important values, which are the Delegation Parameters. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. That means if it is set to 100%, as a Delegator you will get 0 indexing rewards. If you see 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *The top Indexer is giving Delegators 90% of the rewards. The middle one is giving Delegators 20%. The bottom one is giving Delegators ~83%.*
    -- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this is specifically for returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended to pay attention to the network to determine when the query fees in the network will start to be more significant. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -As you can see, there is a lot of thought that must go into choosing the right Indexer. This is why we highly recommend you explore The Graph Discord to determine who the Indexers are with the best social reputation, and technical reputation, to reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months in the testnet, and are doing their best to help Delegators earn a good return, as it improves the health and success of the network. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Calculating Delegators expected return -A Delegator has to consider a lot of factors when determining the return. These include: +A Delegator must consider a lot of factors when determining the return. These include: - A technical Delegator can also look at the Indexer's ability to use the Delegated tokens available to them. If an Indexer is not allocating all the tokens available, they are not earning the maximum profit they could be for themselves or their Delegators. -- Right now in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So it is possible that an Indexer has a lot of rewards they have not collected yet, and thus, their total rewards are low. This should be taken into consideration in the early days. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Considering the query fee cut and indexing fee cut @@ -71,28 +73,32 @@ Another thing a Delegator has to consider is what proportion of the Delegation P ![Share formula](/img/Share-Forumla.png) -Using this formula, we can see that it is actually possible for an Indexer who is offering only 20% to Delegators, to actually be giving Delegators an even better reward than an Indexer who is giving 90% to Delegators. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -A Delegator can therefore do the math to determine that the Indexer offering 20% to Delegators, is offering a better return. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Considering the delegation capacity Another thing to consider is the delegation capacity. Currently, the Delegation Ratio is set to 16. This means that if an Indexer has staked 1,000,000 GRT, their Delegation Capacity is 16,000,000 GRT of Delegated tokens that they can use in the protocol. Any delegated tokens over this amount will dilute all the Delegator rewards. -Imagine an Indexer has 100,000,000 GRT delegated to them, and their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. And all the Delegators, and the Indexer, are earning way less rewards than they could be. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Therefore a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Delegator FAQs and Bugs ### MetaMask "Pending Transaction" Bug -**When I try to delegate my transaction in MetaMask appears as "Pending" or "Queued" for longer than expected. What should I do?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, subsequent transactions can be attempted by a user, but these will not be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. A simpler resolution to this bug is restarting the browsesr (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users that have encountered this issue and have reported successful transactions after restarting their browser and attempting to delegate. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Video guide for the network UI -This guide provides a full review of this document, and how to consider everything in this document while interacting with the UI. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From 4362d4bd0275065e203cf50ab965ecd155c632a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:14 -0400 Subject: [PATCH 1446/2326] New translations delegating.mdx (Italian) --- website/pages/it/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/it/network/delegating.mdx b/website/pages/it/network/delegating.mdx index 8f07f0b33986..198fb1c8177c 100644 --- a/website/pages/it/network/delegating.mdx +++ b/website/pages/it/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegazione --- -I delegator sono partecipanti alla rete che delegano (cioè "fanno stake") i GRT a uno o più Indexer. I delegator contribuiscono alla sicurezza della rete senza gestire direttamente un Graph Node. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -Delegando a un Indexer, i delegator guadagnano una parte delle tariffe di query e dei premi dell'Indexer. La quantità di query che un Indexer può elaborare dipende dalla quota di partecipazione dell'Indexer stesso (e di quella delegata) e dal prezzo che l'Indexer applica per ogni query; pertanto, maggiore è la quota di partecipazione assegnata a un Indexer, maggiore è il numero di query potenziali che può elaborare. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Guida per i delegator -Questa guida spiega come essere un delegator efficace su The Graph Network. I delegator condividono i guadagni del protocollo con tutti gli Indexer in base alla loro quota di partecipazione delegata. Un delegator deve usare il proprio giudizio per scegliere gli Indexer in base a diversi fattori. Si prega di notare che la presente guida non illustra passi come la corretta impostazione di Metamask, in quanto questi informazioni sono ampiamente disponibili su Internet. Questa guida comprende tre sezioni: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - I rischi della delegazione dei token in The Graph Network - Come calcolare i rendimenti previsti come Delegator @@ -22,15 +24,15 @@ Di seguito sono elencati i principali rischi essere il Delegator nel protocollo. I delegator non possono essere penalizzati per un comportamento scorretto, ma c'è una tassa sui delegator per disincentivare un processo decisionale insufficiente che potrebbero danneggiare l'integrità della rete. -È importante capire che ogni volta che delegate, vi verrà addebitato il 0,5%. Ciò significa che se delegate 1000 GRT, brucerete automaticamente 5 GRT. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -Ciò significa che, per sicurezza, un Delegator dovrebbe calcolare quale sarà il suo rendimento delegando a un Indexer. Ad esempio, un Delegator potrebbe calcolare quanti giorni ci vorranno prima di aver recuperato il 0,5% di tasse sulla sua delega. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### Il periodo di sblocco di delegazione -Ogni volta che un Delegator vuole riottenere i suoi token, questi sono soggetti a un periodo di sblocco di 28 giorni. Ciò significa che non può trasferire i token o guadagnare ricompense per 28 giorni. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -Una cosa da considerare è anche la scelta oculata di un Indexer. Se scegliete un Indexer che non è affidabile o che non sta facendo un buon lavoro, vorrete annullare la delega, il che significa che perderete molte opportunità di guadagnare ricompense, il che può essere altrettanto negativo che bruciare GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Sblocco di Delegator](/img/Delegation-Unbonding.png) _Nota la commissione del 0,5% nel UI della delegazione, così come il periodo di sblocco di 28 giorni. @@ -39,25 +41,25 @@ Una cosa da considerare è anche la scelta oculata di un Indexer. Se scegliete u ### Scegliere un Indexer affidabile con una giusta ricompensa per i Delegator -Questa è una parte importante da capire. Per prima cosa discutiamo di tre valori molto importanti, che sono i parametri di delegazione. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Taglio della ricompensa di indicizzazione - Il taglio della ricompensa di indicizzazione è la parte delle ricompense che l'Indexer terrà per sé. Ciò significa che se è impostato al 100%, come delegator riceverete 0 ricompense di indicizzazione. Se nel UI vedete 80%, significa che come Delegator riceverete il 20%. Una nota importante: all'inizio della rete, le ricompense di indicizzazione rappresentano la maggior parte delle ricompense. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Taglio delle ricompense dell'indicizzazione](/img/Indexing-Reward-Cut.png) *Il top Indexer sta dando ai Delegator il 90% delle ricompense. Il centrale dà ai Delegator il 20%. Quello in basso dà ai Delegator ~83%.*
    -- Taglio delle tariffe di query - Funziona esattamente come il Taglio della ricompensa di indicizzazione. Tuttavia, riguarda specificamente i rendimenti delle tariffe di query raccolte dal Indexer. Va notato che all'inizio della rete, i rendimenti delle tariffe di query saranno molto ridotti rispetto alla ricompensa di indicizzazione. Si raccomanda di prestare attenzione alla rete per determinare quando le tariffe di query nella rete inizieranno a essere più significative. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -Come si può notare, la scelta dell'Indexer giusto richiede una grande attenzione. Per questo motivo vi consigliamo vivamente di esplorare The Graph Discord per determinare quali sono gli Indexer con la migliore reputazione sociale e tecnica, in grado di premiare i delegator in modo coerente. Molti degli Indexer sono attivi su Discord e saranno felici di rispondere alle vostre domande. Molti di loro fanno indicizzazione da mesi nella testnet e fanno del loro meglio per aiutare i delegator a ottenere un buon ritorno, in quanto ciò migliora la salute e il successo della rete. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Calcolo del rendimento previsto dei Delegator -Il Delegator deve considerare molti fattori per determinare il rendimento. Questi includono: +A Delegator must consider a lot of factors when determining the return. These include: - Un Delegator tecnico può anche esaminare la capacità dell' Indexer di utilizzare i token delegati a sua disposizione. Se un Indexer non sta allocando tutti i token disponibili, non sta guadagnando il massimo profitto che potrebbe ottenere per sé o per i suoi Delegator. -- Attualmente nella rete un Indexer può scegliere di chiudere un'allocazione e raccogliere le ricompense in qualsiasi momento tra 1 e 28 giorni. È quindi possibile che un Indexer abbia molte ricompense che non ha ancora raccolto e che quindi le sue ricompense totali siano basse. Questo aspetto deve essere preso in considerazione nei primi giorni. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Considerando la riduzione delle tariffe di query e la riduzione delle tariffe di indicizzazione @@ -71,28 +73,32 @@ Un altro aspetto che un Delegator deve considerare è il proporzione del Delegat ![Formula di condivisione](/img/Share-Forumla.png) -Utilizzando questa formula, possiamo vedere che è possibile che un Indexer che offre solo il 20% ai Delegator, in realtà stia dando ai Delegator una ricompensa ancora migliore di un Indexer che offre il 90% ai Delegator. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -Un Delegator può quindi fare i conti per determinare che l'Indexer che offre il 20% ai Delegatori offre un rendimento migliore. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Considerando la capacità di delegazione Un altro aspetto da considerare è la capacità di Delegator. Attualmente, il Delegation Ratio è impostato su 16. Ciò significa che se un Indexer ha fatto un stake di 1,000,000 GRT, la sua Delegation Capacity è di 16,000,000 di GRT di token delegati che può utilizzare nel protocollo. Tutti i token delegati che superano questa quantità diluiranno tutte le ricompense dei Delegator. -Immaginiamo che un Indexer abbia 100,000,000 di GRT delegati e che la sua capacità sia solo di 16,000,000 di GRT. Ciò significa che 84,000,000 di token GRT non vengono utilizzati per guadagnare token. E tutti i Delegator e l'Indexer stanno guadagnando meno ricompense di quanto potrebbero. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Perciò un delegator deve sempre considerare la Delegation Capacity di un Indexer e tenerla in considerazione nel processo decisionale. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## FAQ e bug dei Delegator ### MetaMask "Transazione in sospeso" Bug -**Quando provo a delegare la mia transazione in MetaMask appare come "In attesa" o "In coda" per un periodo più lungo del previsto. Cosa devo fare?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -A volte, i tentativi di delegare agli Indexer tramite MetaMask possono fallire e risultare in prolungati periodi di tentativi di transazione "In attesa" o "In coda". Ad esempio, un utente può tentare di delegare con una tariffa del gas insufficiente rispetto ai prezzi correnti, con il risultato che il tentativo di transazione viene visualizzato come "In sospeso" nel suo portafoglio MetaMask per oltre 15 minuti. Quando si verifica questa situazione, l'utente può tentare di effettuare transazioni successive, ma queste non saranno elaborate finché la transazione iniziale non sarà stata estratta, poiché le transazioni per un indirizzo devono essere elaborate in ordine. In questi casi, le transazioni possono essere annullate in MetaMask, ma i tentativi di transazione accumuleranno tariffe del gas senza alcuna garanzia che i tentativi successivi vadano a buon fine. Una soluzione più semplice a questo bug è il riavvio del browser (ad esempio, utilizzando "abort:restart" nel address bar), che annullerà tutti i tentativi precedenti senza che il gas venga sottratto dal portafoglio. Diversi utenti che hanno riscontrato questo problema hanno riportato transazioni riuscite dopo aver riavviato il browser e aver tentato di delegare. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Guida video per UI della rete -Questa guida fornisce una revisione completa del documento e spiega come tenere conto di tutti i suoi elementi durante l'interazione con UI. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From f99adf5abfd990c84141f15fca1b102dfbd9c545 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:15 -0400 Subject: [PATCH 1447/2326] New translations delegating.mdx (Japanese) --- website/pages/ja/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/ja/network/delegating.mdx b/website/pages/ja/network/delegating.mdx index 12f348e52e03..80b87a30a8e2 100644 --- a/website/pages/ja/network/delegating.mdx +++ b/website/pages/ja/network/delegating.mdx @@ -2,13 +2,15 @@ title: 委任 --- -委任者は、GRT を委任 (つまり、「ステーク」) して 1 つ以上のインデクサーに貢献するネットワーク参加者です。グラフ ノード自体を実行せずにネットワークを保護する委任者。 +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -インデクサーに委任することにより、委任者はインデクサーのクエリ料金と報酬の一部を獲得します。インデクサーが処理できるクエリの量は、インデクサー自身の (および委任された) ステークと、各クエリに対してインデクサーが請求する価格によって異なります。 +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## デリゲーターガイド -このガイドでは、グラフ ネットワークで効果的な委任者になる方法について説明します。委任者は、委任されたステークに基づいて、すべてのインデクサーと一緒にプロトコルの収益を共有します。委任者は、複数の要因に基づいてインデクサーを選択するために最善の判断を下す必要があります。このガイドでは、Metamask の適切なセットアップなどの手順については説明しません。その情報はインターネットで広く入手できるためです。このガイドには、次の 3 つのセクションがあります: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - グラフネットワークでトークンをデリゲートすることのリスク - デリゲーターとしての期待リターンの計算方法 @@ -22,15 +24,15 @@ title: 委任 デリゲーターは悪意の行動をしてもスラッシュされないが、デリゲーターにはデポジット税が課せられ、ネットワークの整合性を損なう可能性のある悪い意思決定を抑止します。 -委任するたびに 0.5% が請求されることを理解することが重要です。これは、1000 GRT を委任する場合、自動的に 5 GRT を消費することを意味します。 +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -これは、安全を期すために、Delegator が Indexer に委譲することによって、リターンがどうなるかを計算する必要があることを意味します。たとえば、委任者は、委任に対する 0.5% の税金を取り戻すまでにかかる日数を計算する場合があります。 +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### 委任期間無制限 -デリゲーターが、デリゲーションを解除しようとすると、そのトークンは 28 日間のアンボンディング期間が設けられます。 つまり、28 日間はトークンの譲渡や報酬の獲得ができません。 +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -考慮すべき点は、インデクサーを賢く選ぶことです。 信頼できない、あるいは良い仕事をしていないインデクサーを選んだ場合、アンデリゲートしたくなるでしょう。 つまり、報酬を獲得する機会を大幅に失うことになり、GRT をバーンするのと同じくらいの負担となります。 +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    デリゲーション UIの0.5%の手数料と、28日間のアンボンディング期間に注目してください。 @@ -38,25 +40,25 @@ title: 委任 ### デリゲーターに公平な報酬を支払う信頼できるインデクサーの選択 -これは理解しておくべき重要な部分です。最初に、委任パラメーターである 3 つの非常に重要な値について説明します。 +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -インデキシング報酬カット - インデキシング報酬カットは、インデクサーが自分のために保持する報酬の部分です。 つまり、これが 100%に設定されていると、デリゲーターであるあなたは 0 のインデキシング報酬を得ることになります。 UI に 80%と表示されている場合は、デリゲーターとして 20%を受け取ることになります。 重要な注意点として、ネットワークの初期段階では、インデキシング報酬が報酬の大半を占めます。 +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) ※上位インデクサーは委任者に90%の報酬を与えています。の 中央のものは委任者に 20% を与えています。一番下のものは委任者に ~83% を与えています.*
    -- クエリーフィーカット - これはインデキシングリワードカットと全く同じ働きをします。 しかし、これは特に、インデクサーが収集したクエリフィーに対するリターンを対象としています。 ネットワークの初期段階では、クエリフィーからのリターンは、インデキシング報酬に比べて非常に小さいことに注意する必要があります。 ネットワーク内のクエリフィーがいつから大きくなり始めるのかを判断するために、ネットワークに注意を払うことをお勧めします。 +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -ご覧のとおり、適切なインデクサーを選択するには多くの考慮が必要です。これが、The Graph Discord を調べて、最高の社会的評判と技術的評判を持つインデクサーを特定し、委任者に報酬を与えることを強くお勧めする理由です。インデクサーの多くは Discord で非常に活発に活動しており、喜んで質問に答えてくれます。それらの多くは、テストネットで数か月間インデックスを作成しており、ネットワークの健全性と成功を改善するため、委任者が良いリターンを得るのを助けるために最善を尽くしています. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### デリゲーターの期待リターンを計算 -デリゲーターはリターンを決定する際に多くの要素を考慮する必要があります。 これらは以下の通りです: +A Delegator must consider a lot of factors when determining the return. These include: - デリゲーターは、インデクサーが利用可能なデリゲートトークンを使用する能力にも目を向けることができます。 もしインデクサーが利用可能なトークンをすべて割り当てていなければ、彼らは自分自身やデリゲーターのために得られる最大の利益を得られないことになります。 -- 現在のネットワークでは、インデクサーは 1 日から 28 日の間であればいつでも割り当てを終了して報酬を受け取ることができます。 そのため、インデクサーがまだ回収していない報酬をたくさん抱えている可能性があり、その結果、報酬の総額が少なくなっています。 これは初期の段階で考慮しておく必要があります。 +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### クエリフィーのカットとインデックスフィーのカットの検討 @@ -70,28 +72,32 @@ title: 委任 ![シェアの計算式](/img/Share-Forumla.png) -この式を使うと、デリゲーターに対して20%しか提供していないインデクサーが、デリゲーターに対して90%提供しているインデクサーよりも、実際にデリゲーターにより良い報酬を提供できることがわかります。 +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -したがって、委任者は計算を行って、委任者に 20% を提供するインデクサーがより良いリターンを提供していることを判断できます。 +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### デリゲーションの容量を考慮する もうひとつ考慮しなければならないのが、デリゲーション能力です。 現在、デリゲーションレシオは 16 に設定されています。 これは、インデクサーが 1,000,000GRT をステークしている場合、そのデリゲーション容量はプロトコルで使用できる 16,000,000GRT のデリゲーショントークンであることを意味します。 この量を超えるデリゲートされたトークンは、全てのデリゲーター報酬を薄めてしまいます。 -あるインデクサーが 100,000,000 GRT をデリゲートされていて、その容量が 16,000,000 GRT しかないと想像してみてください。 これは事実上、84,000,000 GRT トークンがトークンの獲得に使われていないことを意味します。 そして、すべてのデリゲーターとインデクサーは、本来得られるはずの報酬よりもずっと少ない報酬しか得られていません。 +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -したがって、デリゲーターはインデクサーのデリゲーション・キャパシティを常に考慮し、意思決定に反映させる必要があります。 +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## デリゲーターに関するFAQと不具合 ### MetaMask "Pending Transaction "バグ -**MetaMaskのトランザクションをデリゲートしようとすると、"Pending "または "Queued "と表示され、予定より長く待たされることがあります。どうしたらよいでしょうか?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -MetaMaskを経由してindexerにデリゲートしようとすると、失敗して「Pending」または「Queued」トランザクションの試行が長時間続くことがあります。例えば、あるユーザーが現在の価格に対して不十分なガソリン代でデリゲートを試みた結果、そのユーザーのMetaMaskウォレットに15分以上「Pending」と表示されることがあります。このような場合、ユーザーは後続の取引を試みることができますが、アドレスに対する取引は順番に処理されなければならないため、最初の取引がマイニングされるまで処理されることはありません。このような場合、これらの取引はMetaMaskでキャンセルすることができますが、その後の取引の試みが成功する保証はなく、ガス代が発生することになります。このバグに対するより簡単な解決策は、ブラウザを再起動することです(例:アドレスバーで "abort:restart" を使用)。この問題に遭遇した複数のユーザーが、ブラウザを再起動し、デリゲートを試みた後に取引が成功したと報告しています。 +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## ネットワーク UI のビデオガイド -このガイドでは、このドキュメントの完全なレビューと、UI を操作しながらこのドキュメントのすべてを検討する方法について説明します。 +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From d7bc6c130779e9efa88a8476fad79046c92d9fbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:16 -0400 Subject: [PATCH 1448/2326] New translations delegating.mdx (Korean) --- website/pages/ko/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/ko/network/delegating.mdx b/website/pages/ko/network/delegating.mdx index 4a6d6e00b73e..81824234e072 100644 --- a/website/pages/ko/network/delegating.mdx +++ b/website/pages/ko/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegating --- -Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators contribute to securing the network without running a Graph Node themselves. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -By delegating to an Indexer, Delegators earn a portion of the Indexer's query fees and rewards. The amount of queries an Indexer can process depends on the Indexer's own (and delegated) stake and the price the Indexer charges for each query, so the more stake that is allocated to an Indexer, the more potential queries they can process. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Delegator Guide -This guide will explain how to be an effective Delegator in the Graph Network. Delegators share earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not go over steps such as setting up Metamask properly, as that information is widely available on the internet. There are three sections in this guide: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - The risks of delegating tokens in The Graph Network - How to calculate expected returns as a Delegator @@ -22,15 +24,15 @@ Listed below are the main risks of being a Delegator in the protocol. Delegators cannot be slashed for bad behavior, but there is a tax on Delegators to disincentivize poor decision-making that could harm the integrity of the network. -It is important to understand that every time you delegate, you will be charged 0.5%. This means if you are delegating 1000 GRT, you will automatically burn 5 GRT. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -This means that to be safe, a Delegator should calculate what their return will be by delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### The delegation unbonding period -Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens, or earn any rewards for 28 days. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -One thing to consider as well is choosing an Indexer wisely. If you choose an Indexer who was not trustworthy, or not doing a good job, you will want to undelegate, which means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) _Note the 0.5% fee in the Delegation UI, as well as the 28 day @@ -39,25 +41,25 @@ One thing to consider as well is choosing an Indexer wisely. If you choose an In ### Choosing a trustworthy Indexer with a fair reward payout for Delegators -This is an important part to understand. First let's discuss three very important values, which are the Delegation Parameters. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. That means if it is set to 100%, as a Delegator you will get 0 indexing rewards. If you see 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *The top Indexer is giving Delegators 90% of the rewards. The middle one is giving Delegators 20%. The bottom one is giving Delegators ~83%.*
    -- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this is specifically for returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended to pay attention to the network to determine when the query fees in the network will start to be more significant. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -As you can see, there is a lot of thought that must go into choosing the right Indexer. This is why we highly recommend you explore The Graph Discord to determine who the Indexers are with the best social reputation, and technical reputation, to reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months in the testnet, and are doing their best to help Delegators earn a good return, as it improves the health and success of the network. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Calculating Delegators expected return -A Delegator has to consider a lot of factors when determining the return. These include: +A Delegator must consider a lot of factors when determining the return. These include: - A technical Delegator can also look at the Indexer's ability to use the Delegated tokens available to them. If an Indexer is not allocating all the tokens available, they are not earning the maximum profit they could be for themselves or their Delegators. -- Right now in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So it is possible that an Indexer has a lot of rewards they have not collected yet, and thus, their total rewards are low. This should be taken into consideration in the early days. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Considering the query fee cut and indexing fee cut @@ -71,28 +73,32 @@ Another thing a Delegator has to consider is what proportion of the Delegation P ![Share formula](/img/Share-Forumla.png) -Using this formula, we can see that it is actually possible for an Indexer who is offering only 20% to Delegators, to actually be giving Delegators an even better reward than an Indexer who is giving 90% to Delegators. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -A Delegator can therefore do the math to determine that the Indexer offering 20% to Delegators, is offering a better return. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Considering the delegation capacity Another thing to consider is the delegation capacity. Currently, the Delegation Ratio is set to 16. This means that if an Indexer has staked 1,000,000 GRT, their Delegation Capacity is 16,000,000 GRT of Delegated tokens that they can use in the protocol. Any delegated tokens over this amount will dilute all the Delegator rewards. -Imagine an Indexer has 100,000,000 GRT delegated to them, and their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. And all the Delegators, and the Indexer, are earning way less rewards than they could be. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Therefore a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Delegator FAQs and Bugs ### MetaMask "Pending Transaction" Bug -**When I try to delegate my transaction in MetaMask appears as "Pending" or "Queued" for longer than expected. What should I do?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, subsequent transactions can be attempted by a user, but these will not be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. A simpler resolution to this bug is restarting the browsesr (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users that have encountered this issue and have reported successful transactions after restarting their browser and attempting to delegate. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Video guide for the network UI -This guide provides a full review of this document, and how to consider everything in this document while interacting with the UI. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From b913377f5e307aaf2a142cddd24d3a2e1c3ecbe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:17 -0400 Subject: [PATCH 1449/2326] New translations delegating.mdx (Dutch) --- website/pages/nl/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/nl/network/delegating.mdx b/website/pages/nl/network/delegating.mdx index 9cf383d14f26..ddc4dd0dbe95 100644 --- a/website/pages/nl/network/delegating.mdx +++ b/website/pages/nl/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegeren --- -Delegeerders zijn netwerkdeelnemers die GRT delegeren (d.w.z. "staking") aan één of meerdere Indexeerders. Delegeerders dragen bij aan de beveiliging van het netwerk zonder zelf een Graph Node operationeel te houden. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -Door te delegeren aan een Indexeerder, krijgen Delegeerders een deel van de querykosten en inkomsten van de Indexeerder. Het aantal query's dat een Indexeerder kan verwerken, hangt af van de eigen (en gedelegeerde) GRT van de Indexer en de prijs die de Indexeerder rekent voor elke query. Dus hoe meer inzet aan een Indexeerder wordt toegewezen, hoe meer potentiële query's ze kunnen verwerken. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Delegeerder Gids -Deze gids legt uit hoe je een effectieve Delegeerder kunt zijn in The Graph Netwerk. Delegeerders delen de inkomsten van het protocol samen met alle Indexeerders op basis van hun gedelegeerde Grt. Een Delegeerder moet zijn gezonde verstand gebruiken bij het kiezen van Indexeerders op basis van meerdere factoren. Houd er rekening mee dat deze gids niet ingaat op stappen zoals het correct instellen van een wallet, aangezien die informatie wijdverspreid beschikbaar is op internet. Deze gids heeft drie onderdelen: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - De risico's van het delegeren van tokens in het Graph Netwerk - Hoe je verwachte opbrengsten als Delegeerder berekent @@ -22,15 +24,15 @@ Hieronder staan de belangrijkste risico's van het zijn van een Delegeerder in he Delegeerders kunnen niet worden gestraft voor slecht gedrag, maar er is een belasting voor Delegeerders om slechte besluitvorming die de integriteit van het netwerk kan schaden te ontmoedigen. -Het is belangrijk om te begrijpen dat elke keer dat je delegeert, er 0,5% belasting in rekening wordt gebracht. Dit betekent dat als je bijvoorbeeld 1000 GRT delegeert, je automatisch 5 GRT zult betalen aan belasting, deze GRT wordt verbrand. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -Dit betekent dat om veilig te zijn, een Delegeerder kan berekenen wat hun opbrengst zal zijn door te delegeren aan een Indexeerder. Bijvoorbeeld, een Delegeerder kan berekenen hoeveel dagen het zal duren voordat ze de 0,5% belasting op hun delegatie hebben terugverdiend. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### Delegatieontbindingsperiode -Wanneer een Delegeerder een delegatie wil sluiten, zijn hun tokens gebonden aan een ontbindingsperiode van 28 dagen. Dit betekent dat ze hun tokens niet kunnen overdragen naar een andere delegatie of beloningen kunnen verdienen gedurende 28 dagen. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -Een andere overweging is ook het wijs kiezen van een Indexeerder. Als je een Indexeerder kiest die niet betrouwbaar was of zijn werk niet goed doet, wil je je delegatie sluiten, wat betekent dat je veel kansen om beloningen te ontvangen zal missen wat net zo slecht kan zijn als GRT verbranden. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) _Let op de 0,5% belasting in de Delegatie UI, evenals de 28-daagse ontbindingsperiode_ @@ -38,24 +40,24 @@ Een andere overweging is ook het wijs kiezen van een Indexeerder. Als je een Ind ### Het kiezen van een betrouwbare Indexeerder met een eerlijke beloningsuitbetaling voor Delegeerders -Dit is een belangrijk aspect om te begrijpen. Laten we eerst drie zeer belangrijke waarden bespreken, die de Delegatieparameters genoemd worden. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Indexing Reward Cut - De indexing reward cut is het deel van de beloningen dat de Indexeerder voor zichzelf zal houden. Dat betekent dat als het is ingesteld op 100%, je als delegeerder 0% van de beloningen voor het indexeren krijgt. Als je 80% ziet op de website, betekent dit dat je als Delegeerder 20% van de beloningen ontvangt. Een belangrijke opmerking - aan het begin van het netwerk zullen Indexing Rewards het grootste deel van de beloningen uitmaken. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *De bovenste Indexeerder geeft Delegeerders 90% van de beloningen. De middelste geeft Delegeerders 20%. De onderste geeft Delegeerders ~83%.*
    -- Query Fee Cut - Dit werkt precies hetzelfde als de Indexing Reward Cut. Dit is echter specifiek voor opbrengsten uit de querykosten die de Indexer binnen krijgt. Aan het begin van het netwerk zullen de opbrengsten uit querykosten erg klein zijn in vergelijking met de opbrengsten van het indexeren. Het wordt aanbevolen om aandacht te besteden aan het netwerkactiviteit om te bepalen wanneer de querykosten in het netwerk significant zullen worden. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -Zoals je kunt zien, moet je goed nadenken over welke indexeerder je kiest. Daarom raden we ten zeerste aan om discord server van The Graph te verkennen om te bepalen wie de Indexers zijn met de beste reputatie en technische reputatie. Veel van de Indexers zijn zeer actief op Discord en zullen je vragen beantwoorden. Velen van hen zijn al maanden of jaren bezig met Indexeren in het testnet en doen hun best om Delegeerders een goed rendement te laten behalen, omdat dit de gezondheid en het succes van het netwerk verbetert. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Het berekenen van de verwachte opbrengst van Delegeerders -Een Delegeerder moet veel factoren overwegen bij het berekenen van het rendement. Deze zijn: +A Delegator must consider a lot of factors when determining the return. These include: - Een technische delegeerder kan ook kijken of een Indexeerder de aan hen beschikbaar gestelde gedelegeerde tokens wel volledig gebruikt. Als een Indexeerder niet alle beschikbare tokens toewijst, verdienen zij niet de maximale winst die mogelijk is voor zichzelf of hun Delegeerders. -- Op dit moment in het netwerk kan een Indexeerder ervoor kiezen om een allocatie te sluiten en beloningen op elk moment tussen 1 en 28 dagen te verzamelen. Het is dus mogelijk dat een Indexer veel beloningen heeft die ze nog niet hebben verzameld, en dus zijn hun totale beloningen laag. Hiermee moet rekening worden gehouden in de beginfase van het netwerk. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Rekening houden met de query fee aandeel en indexing fee aandeel @@ -69,28 +71,32 @@ Een andere factor waarmee een Delegeerder rekening moet houden, is welk deel van ![Deel Formule](/img/Share-Forumla.png) -Met behulp van deze formule kunnen we zien dat het eigenlijk mogelijk is dat een Indexeerder die slechts 20% aan Delegeerders biedt, Delegeerders een nog betere beloning kan geven dan een Indexeerder die 90% aan Delegeerders geeft. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -Een Delegeerder kan dus de berekeningen maken om te bepalen dat de Indexeerder die 20% aan Delegeerder aanbiedt, een beter rendement biedt. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Rekening houden met de delegatiecapaciteit Een andere factor om te overwegen is de delegatiecapaciteit. Momenteel is de Delegatie Ratio ingesteld op 16. Dit betekent dat als een Indexeerder 1.000.000 GRT heeft gestaked, hun Delegatiecapaciteit 16.000.000 GRT aan gedelegeerde tokens is die ze kunnen gebruiken in het protocol. Elke gedelegeerde token boven dit bedrag zal voor alle Delegeerders de beloningen verwateren. -Stel je voor dat een Indexeerder 100.000.000 GRT aan zich heeft gedelegeerd en hun capaciteit slechts 16.000.000 GRT is. Dit betekent effectivelijk dat 84.000.000 GRT tokens niet worden gebruikt om beloningen te verdienen. In dit geval zullen alle Delegeerders, en de Indexeerder, veel minder beloningen verdienen dan ze zouden kunnen. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Daarom moet een Delegeerder altijd rekening houden met de Delegatiecapaciteit van een Indexeerder en dit meenemen in hun besluitvorming. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Veelgestelde vragen van Delegeerders en Bugs ### MetaMask "Pending Transaction" Bug -**Wanneer ik probeer te delegeren, staat mijn transactie in MetaMask "Pending" of "Queued" voor langer dan verwacht. Wat moet ik doen?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -Soms kunnen pogingen om via MetaMask te delegeren aan indexeerders mislukken en resulteren in langdurige perioden van "Pending" of "Queued" transactiepogingen. Bijvoorbeeld, een gebruiker kan proberen te delegeren met een onvoldoende gas in verhouding tot de huidige prijzen, waardoor de transactiepoging gedurende 15+ minuten als "Pending" in hun MetaMask wordt weergegeven. Wanneer dit gebeurt, kunnen gebruikers nadien transacties proberen uit te voeren, maar deze worden pas verwerkt nadat de initiële transactie is verwerkt, aangezien transacties voor een adres in volgorde moeten worden verwerkt. In dergelijke gevallen kunnen deze transacties in MetaMask worden geannuleerd, maar de transactiepogingen zullen gasvergoedingen opbouwen zonder enige garantie dat latere pogingen succesvol zullen zijn. Een eenvoudigere oplossing voor deze bug is het opnieuw opstarten van de browser (bijv. "abort:restart" gebruiken in de adresbalk), wat alle vorige pogingen zal annuleren zonder dat er gaskosten van de portemonnee wordt afgetrokken. Verschillende gebruikers die dit probleem zijn tegengekomen, hebben succesvolle transacties gemeld na het herstarten van de browser. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Videohandleiding voor de netwerk-gebruikersomgeving -Deze gids biedt een volledige beoordeling van dit document en hoe je alles in dit document moet overwegen bij het omgaan met de gebruikersomgeving. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From b8d70eac5c68ad65aedfc50af7043f6dc5f89800 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:18 -0400 Subject: [PATCH 1450/2326] New translations delegating.mdx (Polish) --- website/pages/pl/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/pl/network/delegating.mdx b/website/pages/pl/network/delegating.mdx index 4a6d6e00b73e..81824234e072 100644 --- a/website/pages/pl/network/delegating.mdx +++ b/website/pages/pl/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegating --- -Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators contribute to securing the network without running a Graph Node themselves. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -By delegating to an Indexer, Delegators earn a portion of the Indexer's query fees and rewards. The amount of queries an Indexer can process depends on the Indexer's own (and delegated) stake and the price the Indexer charges for each query, so the more stake that is allocated to an Indexer, the more potential queries they can process. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Delegator Guide -This guide will explain how to be an effective Delegator in the Graph Network. Delegators share earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not go over steps such as setting up Metamask properly, as that information is widely available on the internet. There are three sections in this guide: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - The risks of delegating tokens in The Graph Network - How to calculate expected returns as a Delegator @@ -22,15 +24,15 @@ Listed below are the main risks of being a Delegator in the protocol. Delegators cannot be slashed for bad behavior, but there is a tax on Delegators to disincentivize poor decision-making that could harm the integrity of the network. -It is important to understand that every time you delegate, you will be charged 0.5%. This means if you are delegating 1000 GRT, you will automatically burn 5 GRT. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -This means that to be safe, a Delegator should calculate what their return will be by delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### The delegation unbonding period -Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens, or earn any rewards for 28 days. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -One thing to consider as well is choosing an Indexer wisely. If you choose an Indexer who was not trustworthy, or not doing a good job, you will want to undelegate, which means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) _Note the 0.5% fee in the Delegation UI, as well as the 28 day @@ -39,25 +41,25 @@ One thing to consider as well is choosing an Indexer wisely. If you choose an In ### Choosing a trustworthy Indexer with a fair reward payout for Delegators -This is an important part to understand. First let's discuss three very important values, which are the Delegation Parameters. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. That means if it is set to 100%, as a Delegator you will get 0 indexing rewards. If you see 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *The top Indexer is giving Delegators 90% of the rewards. The middle one is giving Delegators 20%. The bottom one is giving Delegators ~83%.*
    -- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this is specifically for returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended to pay attention to the network to determine when the query fees in the network will start to be more significant. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -As you can see, there is a lot of thought that must go into choosing the right Indexer. This is why we highly recommend you explore The Graph Discord to determine who the Indexers are with the best social reputation, and technical reputation, to reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months in the testnet, and are doing their best to help Delegators earn a good return, as it improves the health and success of the network. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Calculating Delegators expected return -A Delegator has to consider a lot of factors when determining the return. These include: +A Delegator must consider a lot of factors when determining the return. These include: - A technical Delegator can also look at the Indexer's ability to use the Delegated tokens available to them. If an Indexer is not allocating all the tokens available, they are not earning the maximum profit they could be for themselves or their Delegators. -- Right now in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So it is possible that an Indexer has a lot of rewards they have not collected yet, and thus, their total rewards are low. This should be taken into consideration in the early days. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Considering the query fee cut and indexing fee cut @@ -71,28 +73,32 @@ Another thing a Delegator has to consider is what proportion of the Delegation P ![Share formula](/img/Share-Forumla.png) -Using this formula, we can see that it is actually possible for an Indexer who is offering only 20% to Delegators, to actually be giving Delegators an even better reward than an Indexer who is giving 90% to Delegators. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -A Delegator can therefore do the math to determine that the Indexer offering 20% to Delegators, is offering a better return. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Considering the delegation capacity Another thing to consider is the delegation capacity. Currently, the Delegation Ratio is set to 16. This means that if an Indexer has staked 1,000,000 GRT, their Delegation Capacity is 16,000,000 GRT of Delegated tokens that they can use in the protocol. Any delegated tokens over this amount will dilute all the Delegator rewards. -Imagine an Indexer has 100,000,000 GRT delegated to them, and their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. And all the Delegators, and the Indexer, are earning way less rewards than they could be. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Therefore a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Delegator FAQs and Bugs ### MetaMask "Pending Transaction" Bug -**When I try to delegate my transaction in MetaMask appears as "Pending" or "Queued" for longer than expected. What should I do?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, subsequent transactions can be attempted by a user, but these will not be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. A simpler resolution to this bug is restarting the browsesr (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users that have encountered this issue and have reported successful transactions after restarting their browser and attempting to delegate. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Video guide for the network UI -This guide provides a full review of this document, and how to consider everything in this document while interacting with the UI. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From 4dc3a31d6729c3706875f77ccad874cbd116804c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:19 -0400 Subject: [PATCH 1451/2326] New translations delegating.mdx (Portuguese) --- website/pages/pt/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/pt/network/delegating.mdx b/website/pages/pt/network/delegating.mdx index 1eff5f9b506c..bdc331c8eef6 100644 --- a/website/pages/pt/network/delegating.mdx +++ b/website/pages/pt/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegação --- -Os Delegantes são participantes na rede que delegam (por ex., "stake") GRT a um ou mais Indexadores. Estes contribuem à segurança da rede sem executar um Graph Node por conta própria. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -Ao delegar a um Indexador, os Delegantes ganham uma porção das taxas de query e recompensas do Indexador. A quantidade de queries que um Indexador pode processar depende do próprio stake (e delegado) do Indexador e do preço que o Indexador cobra por cada consulta, portanto, quanto mais stake for alocado a um Indexador, mais queries ele pode processar. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Guia do Delegante -Este guia explicará como ser um Delegante eficaz na Graph Network. Os Delegantes dividem a renda do protocolo com todos os Indexadores, com base no seu stake delegado. Um Delegante deve raciocinar bem para escolher Indexadores, baseado em vários fatores. Perceba que este guia não abordará passos como a configuração apropriada do MetaMask, já que essa informação está amplamente disponível na internet. Este guia tem três seções: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - Os riscos de delegar tokens na Graph Network - Como calcular retornos esperados como um Delegante @@ -22,15 +24,15 @@ Veja abaixo os riscos principais de ser um Delegante no protocolo. Os Delegantes não podem ser punidos por mau comportamento, mas há uma taxa sobre Delegantes, para desencorajar más decisões que possam ferir a integridade da rede. -É importante entender que, sempre que delega, o Delegante será cobrado 0.5%. Ou seja, se delegar 1000 GRT, automaticamente queimará 5 GRT. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -Portanto, por questões de segurança, um Delegante deve calcular qual será seu retorno ao delegar a um Indexador. Por exemplo, um Delegante pode calcular quantos dias demorará até conseguir quitar a taxa de 0.5% na sua delegação. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### O período de separação da delegação -Se um Delegado quiser cancelar a sua delegação, seus tokens estarão sujeitos a um período de 28 dias sem transferência, e também não pode ganhar quaisquer recompensas por este período. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -Considere escolher um Indexador com muito cuidado. Se escolher um Indexador que não é de confiança, ou não fez um bom trabalho, talvez queira cancelar a sua delegação, o que implica em sacrificar muitas oportunidades de recompensa, o que pode ser tão lamentável quanto queimar GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) _Perceba a taxa de 0.5% na interface da Delegação, além do período de separação de 28 dias._ @@ -38,24 +40,24 @@ Considere escolher um Indexador com muito cuidado. Se escolher um Indexador que ### Como escolher um Indexador de confiança, com um pagamento justo para Delegantes -Isto é importante. Primeiro, vamos discutir três valores muito importantes: os Parâmetros de Delegação. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Porção da Recompensa de Indexação - Esta é a porção das recompensas que o Indexador guardará para si. Isto significa que, se configurada para 100%, o Delegante receberá 0 recompensas de indexação. Se ver 80% na interface, isto significa que, como Delegado, receberá 20%. Importante saber que no começo da rede, as Recompensas de Indexação contarão como a maioria das recompensas. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *O Indexador acima está a dar 90% das recompensas aos Delegantes, o do meio dá 20%, e o de baixo dá cerca de 83%.*
    -- Porção da Taxa de Recompensa - Isto funciona exatamente como a Porção da Recompensa de Indexação, sendo especificamente para retornos nas taxas de consulta coletadas pelo Indexador. Perceba que, no começo da rede, os retornos de taxas de query serão muito menores que a recompensa de indexação. Vale prestar atenção na rede para determinar quando as taxas de consulta na rede começarão a ser mais significantes. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -Como pode-se ver, deve-se pensar muito antes de escolher o Indexador certo. É por isto que vale a pena explorar o Discord do The Graph para determinar quem são os Indexadores com as melhores reputações sociais e técnicas, a fim de recompensar Delegantes com consistência. Muitos dos Indexadores são ativos no Discord e estarão prontos para responder as suas perguntas. Muitos deles indexam há meses na testnet e fazem o seu melhor para ajudar os Delegantes a ganhar bons retornos, pois isto melhora a saúde e o êxito da rede. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Como calcular o retorno esperado dos Delegados -Um Delegante tem muito a considerar ao determinar o retorno. Os fatores incluem: +A Delegator must consider a lot of factors when determining the return. These include: - Um Delegante técnico também pode examinar a habilidade do Indexador de usar os tokens Delegados a ele disponíveis. Se um Indexador não aloca todos os tokens disponíveis, eles não estão a ganhar o lucro máximo que poderia ser para si mesmo ou para os seus Delegados. -- Agora mesmo, na rede, um Indexador pode escolher fechar uma alocação e resgatar as recompensas entre 1 e 28 dias. Então, é possível que um Indexador tenha muitas recompensas que ainda não resgatou, e assim, suas recompensas totais são baixas. Isto deve ser considerado nos primeiros dias. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Como considerar as porções das taxas de query e de indexação @@ -69,28 +71,32 @@ Um Delegante também deve considerar a proporção do Pool de Delegação que te ![Fórmula de ações](/img/Share-Forumla.png) -Esta fórmula mostra que é possível que um Indexador a oferecer apenas 20% para os Delegantes, dê-lhes uma recompensa melhor que um Indexador que dá 90% aos Delegantes. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -Um Delegante pode então fazer as contas para determinar que o Indexador que oferece 20% aos Delegantes oferece um retorno melhor. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Como considerar a capacidade de delegação Atualmente, a Proporção de Delegação é configurada em 16. Portanto, caso um Indexador tenha feito stake em 1.000.000 GRT, sua Capacidade de Delegação é 16.000.000 de tokens delegados que eles podem usar no protocolo. Quaisquer tokens delegados acima desta quantidade diluirão todas as recompensas do Delegante. -Imagine que um Indexador tem 100.000.000 GRT delegados a ele, e a sua capacidade é de apenas 16.000.000 GRT. Efetivamente, 84.000.000 tokens GRT não estão a ser usados para ganhar tokens. E todos os Delegantes, e o Indexador, ganham muito menos recompensas do que deveriam estar a ganhar. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Assim, um Delegante deve sempre considerar a Capacidade de Delegação de um Indexador, e levá-la em conta ao tomar decisões. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Erros e Perguntas Frequentes sobre Delegação ### Erro de "Transação Pendente" no MetaMask -**Quando eu tento delegar, a minha transação no MetaMask aparece como "Pendente" ou "Na Fila" por mais tempo que o esperado. O que devo fazer?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -Às vezes, as tentativas de delegar a indexadores através do MetaMask podem falhar e resultar em períodos prolongados de tentativas de transação "Pendentes" ou "Na Fila". Por exemplo, um utilizador pode tentar delegar com uma taxa de gás muito baixa em relação aos preços atuais, portanto, a tentativa de transação aparece como "Pendente" na sua carteira MetaMask por mais de 15 minutos. Quando isto ocorre, o utilizador pode tentar fazer mais transações, mas estas não serão processadas até a transação inicial for minerada, já que transações para um endereço devem ser processadas em ordem. Em tais casos, estas transações podem ser canceladas no MetaMask, mas as tentativas de transações acumularão taxas de gas sem qualquer garantia de êxito. Uma resolução mais simples seria reiniciar o navegador (por ex., usar o "abort:restart" na barra de endereço), o que cancelará todas as tentativas anteriores sem a subtração de gas da carteira. Vários usuários encontraram este problema e relataram transações com êxito após reiniciar seus navegadores e tentarem delegar. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Guia de vídeo para a interface da rede -Este guia providencia uma revisão completa deste documento, e como considerar tudo neste documento durante as interações com a interface de utilizador. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From cb6f3669f064ff3913318a84f45dd26193ddb204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:20 -0400 Subject: [PATCH 1452/2326] New translations delegating.mdx (Russian) --- website/pages/ru/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/ru/network/delegating.mdx b/website/pages/ru/network/delegating.mdx index ed6f3a0c5332..cb85a2941e51 100644 --- a/website/pages/ru/network/delegating.mdx +++ b/website/pages/ru/network/delegating.mdx @@ -2,13 +2,15 @@ title: Делегирование --- -Делегаторы - это участники сети которые делегируют (т.е. "стейкают") GRT одному или нескольким Индексаторам. Делегаторы вносят свой вклад в устойчивость сети без надобности запускать Graph Node самим. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -Делегируя токены Индексатору, Делегаторы получают доход как часть от вознаграждений за индексацию и за обработку запросов. Количество запросов которое Индексатор сможет обработать зависит от собственного стейка Индексатора (и делегированных токенов) и цены которую Индексатор назначает за обработку запроса. Таким образом, чем больше общий стейк индексатора, тем больше запросов он сможет обработать. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Инструкция Делегатора -Данный материал объяснит как стать успешным Делегатором в сети The Graph. Делегаторы делят между собой вознаграждение, которые зарабатывает Индексатор, пропорционально размеру делегации. Делегатор должен тщательно выбирать Индексатора, которому будет делегировать исходя из нескольких факторов. Просим отметить что данная инструкция не будет включать в себя такие шаги как настройка Метамаска, ибо это широко доступно в Интернете. В этой инструкции будет 3 основных секции: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - Риски связанные с делегацией в сети The Graph - Как расчитать примерный доход @@ -22,15 +24,15 @@ title: Делегирование Делегаторы не могут быть наказаны за некорректное поведение, но они уплачивают комиссию на делегацию, который должен стимулировать обдуманный выбор Индексатора для делегации. -Необходимо помнить, что каждый раз когда Вы делегируете, Вы должны уплатить 0.5%. Это означает, что если Вы делегируете 1000 GRT, автоматически сгорит 5 GRT от Вашей делегации. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -Это означает, что Делегаторы должны учитывать эту комиссию при расчетах прибыли. На пример, Делегатор должен подсчитать сколько дней займет вернуть эти 0.5% при делегации. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### Период unbonding (разблокировки) делегирования -Когда Делегатор хочет отозвать делегирование, его токены подлежат 28-дневному периоду разблокировки. Это означает, что он не может перевести свои токены или получать какие-либо вознаграждения в течение 28 дней. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -Еще одним аспектом, который стоит учитывать, является разумный выбор Индексатора. Если вы выберете ненадежного или некомпетентного Индексатора, вам, возможно, захочется отозвать делегирование, что в свою очередь означает потерю множества возможностей для получения вознаграждений. Это может быть столь плохо, как и сжигание токенов GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) _Обратите внимание на комиссию в размере 0,5% в пользовательском интерфейсе Delegation, а также на 28-дневный срок @@ -39,25 +41,25 @@ title: Делегирование ### Выбор надежного Индексатора со справедливым распределением вознаграждений для Делегаторов -Это важная часть для понимания. Сначала давайте обсудим три очень важных значения — параметры делегирования. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Срез вознаграждения за индексацию - это часть вознаграждений, которую Индексатор оставит для себя. Это значит, что если он установлен на 100%, то вы, как Делегатор, не получите вознаграждений за индексацию. Если в пользовательском интерфейсе указано 80%, это означает, что в качестве Делегатора вы получите 20%. Важное примечание - в начале работы сети вознаграждения за индексацию будут составлять большую часть всех вознаграждений. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *Топ-индексатор отдает делегаторам 90% вознаграждений. Средний отдает - 20%. Нижний индексатор дает ~83%
    -- Срез комиссии за запросы - это работает точно так же, как и срез вознаграждения за индексацию. Однако это конкретно касается доходов от сборов за запросы, которые собирает Индексатор. Стоит отметить, что на начальном этапе работы сети доходы от комиссий за запросы будут очень малы по сравнению с вознаграждением за индексацию. Рекомендуется следить за сетью, чтобы определить, когда комиссии за запросы в сети начнут иметь большее значение. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -Как вы можете заметить, выбор правильного Индексатора требует серьезного подхода. По этой причине мы настоятельно рекомендуем изучить Discord The Graph, чтобы определить, какие Индексаторы имеют лучшую социальную и техническую репутацию для стабильного вознаграждения Делегаторов. Многие Индексаторы очень активны в Discord и с удовольствием ответят на ваши вопросы. Многие из них уже месяцами занимаются индексацией в тестовой сети и делают все возможное, чтобы помочь Делегаторам получать хорошую доходность, так как это способствует здоровью и успеху всей сети. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Расчет ожидаемой доходности делегатов -Делегатор должен учитывать множество факторов при определении дохода. К ним относятся: +A Delegator must consider a lot of factors when determining the return. These include: - Технически подкованный Делегатор также может оценить способность Индексатора использовать доступные ему делегированные токены. Если Индексатор не распределяет все доступные токены, он не зарабатывает максимальную прибыль, которую мог бы получить для себя или своих Делегаторов. -- В настоящее время в сети Индексатор может выбрать закрытие распределения и собрать вознаграждения в любое время между 1 и 28 днями. Таким образом, возможно, что у Индексатора есть много еще не собранных вознаграждений, и, следовательно, их общая сумма вознаграждений невелика. Этот аспект следует учитывать на ранних этапах. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Учёт среза комиссии за запросы и срез вознаграждения за индексацию @@ -71,28 +73,32 @@ title: Делегирование ![Share formula](/img/Share-Forumla.png) -Используя эту формулу, мы можем увидеть, что на самом деле возможно такое, что Индексатор, предлагающий Делегаторам всего 20%, на самом деле может предоставить Делегаторам даже лучшее вознаграждение, чем Индексатор, предоставляющий 90% Делегаторам. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -Таким образом, Делегатор может подсчитать, чтобы определить, что Индексатор, предлагающий 20% Делегаторам, предлагает более высокую прибыль. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Учёт возможности делегирования Еще одним фактором, который следует учитывать, является вместимость делегирования. В настоящее время соотношение делегирования установлено на уровне 16. Это означает, что если у Индексатора есть 1,000,000 застейканых GRT, его вместимость делегирования составляет 16,000,000 GRT делегированных токенов, которые он может использовать в протоколе. Любые делегированные токены сверх этого объема будут разбавлять вознаграждения всех Делегаторов. -Представьте, что у Индексатора 100,000,000 GRT делегировано к нему, а его вместимость составляет всего 16,000,000 GRT. Это эффективно означает, что 84,000,000 GRT токенов не используются для заработка токенов. И все Делегаторы, а также сам Индексатор, зарабатывают гораздо меньше вознаграждений, чем могли бы. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Поэтому Делегатор всегда должен учитывать возможности делегирования индексатора и учитывать их при принятии решений. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Частые вопросы и баги ### Ошибка Метамаска "Pending Transaction" -**Когда я пытаюсь делегировать мою транзакцию в MetaMask, она отображается как "Pending" или "Queued" дольше, чем ожидалось. Что мне делать?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -Временами попытки делегировать индексаторам через MetaMask могут завершиться неудачей и приводить к продолжительным периодам "Pending" или "Queued" при попытках транзакции. Например, пользователь может попытаться сделать делегирование с недостаточной комиссией за газ по отношению к текущим ценам, что приведет к отображению попытки транзакции как "Pending" в кошельке MetaMask на протяжении 15+ минут. Когда это происходит, последующие транзакции могут быть предприняты пользователем, но они не будут обработаны до момента завершения первоначальной транзакции, поскольку транзакции для одного адреса должны обрабатываться в порядке очереди. В таких случаях эти транзакции можно отменить в MetaMask, но попытки транзакций будут накапливать комиссии за газ без каких-либо гарантий, что последующие попытки будут успешными. Более простым решением этой проблемы является перезапуск браузера (например, используя "abort:restart" в адресной строке), что отменит все предыдущие попытки без вычета газа из кошелька. Несколько пользователей, столкнувшихся с этой проблемой, сообщили об успешных транзакциях после перезапуска своего браузера и попытки делегирования. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Видео руководство по сетевому интерфейсу -В этом руководстве представлен полный обзор этого документа и показано, как учитывать все, что содержится в этом документе, при взаимодействии с пользовательским интерфейсом. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From f0118e9fa83bd04fcce7e84d53433dc38f9b1f91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:21 -0400 Subject: [PATCH 1453/2326] New translations delegating.mdx (Swedish) --- website/pages/sv/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/sv/network/delegating.mdx b/website/pages/sv/network/delegating.mdx index 65204d68d29d..93d58473149c 100644 --- a/website/pages/sv/network/delegating.mdx +++ b/website/pages/sv/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegera --- -Delegater är nätverksdeltagare som delegerar (dvs. "satsar") GRT till en eller flera Indexers. Delegater bidrar till att säkra nätverket utan att själva köra en Graf Node. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -Genom att delegera till en indexerare tjänar delegatorer en del av indexerarens frågeavgifter och belöningar. Mängden frågor en indexerare kan behandla beror på indexerarens egen (och delegerade) insats och priset indexeraren tar ut för varje fråga, så ju mer insats som tilldelas en indexerare, desto fler potentiella frågor kan de bearbeta. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Delegateringsguide -Denna guide förklarar hur man blir en effektiv Delegater i Graf-nätverket. Delegater delar intäkterna från protokollet tillsammans med alla Indexers baserat på deras delegerade insats. En Delegater måste använda sitt bästa omdöme för att välja Indexers baserat på flera faktorer. Observera att denna guide inte kommer att gå igenom steg som att ställa in Metamask korrekt, eftersom den informationen är allmänt tillgänglig på internet. Det finns tre avsnitt i denna guide: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - Riskerna med att delegera tokens i The Graph-nätverket - Hur man beräknar förväntad avkastning som Delegater @@ -22,15 +24,15 @@ Här nedan listas huvudriskerna med att vara en Delegater i protokollet. Delegater kan inte "slashas" för dåligt beteende, men det finns en avgift för Delegater för att avskräcka dåligt beslutsfattande som kan skada nätverkets integritet. -Det är viktigt att förstå att varje gång du delegerar kommer du att debiteras 0,5%. Detta innebär att om du delegerar 1000 GRT bränner du automatiskt 5 GRT. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -Det innebär att en Delegater säkert bör beräkna vad deras avkastning kommer att vara genom att delegera till en Indexer. Till exempel kan en Delegater beräkna hur många dagar det kommer att ta innan de har tjänat tillbaka 0,5% avgiften för deras delegation. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### Perioden för upphävande av delegering -När som helst en Delegater vill upphäva sin delegering är deras tokens föremål för en upphävningsperiod på 28 dagar. Det innebär att de inte kan överföra sina tokens eller tjäna några belöningar under 28 dagar. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -En sak att tänka på är också att välja en Indexer klokt. Om du väljer en Indexer som inte var pålitlig eller inte gjorde ett bra jobb, kommer du att vilja upphäva, vilket innebär att du kommer att förlora många möjligheter att tjäna belöningar, vilket kan vara lika dåligt som att bränna GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation upphävning](/img/Delegation-Upphävning.png) _Observera avgiften @@ -39,9 +41,9 @@ på 0,5% i Delegation UI, samt den 28 dagar långa upphävningsperioden._ ### Att välja en pålitlig Indexer med en rättvis belöningsutbetalning till Delegater -Detta är en viktig del att förstå. Först låt oss diskutera tre mycket viktiga värden, vilka är Delegationsparametrar. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Indexing Reward Cut - Indexing reward cut är den del av belöningarna som Indexer kommer att behålla för sig själva. Det betyder om den är inställd på 100%, som en Delegater kommer du att få 0 indexing rewards. Om du ser 80% i UI, innebär det att du som Delegater kommer att få 20%. En viktig notering - i början av nätverket kommer Indexing Rewards att utgöra majoriteten av belöningarna. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Edward Cut](/img/Indexing-Edward-Cut.png) *Den översta Indexet ger @@ -49,16 +51,16 @@ Delegater 90% av belöningarna. Den mellersta ger Delegater 20%. Den nedersta ger Delegater ~83%.*
    -- Query Fee Cut - Detta fungerar precis som Indexing Reward Cut. Detta gäller dock för avkastningen på frågebetalningar som Indexer samlar in. Det bör noteras att i början av nätverket kommer avkastningen från frågebetalningar att vara mycket små jämfört med indexeringsbelöningen. Det rekommenderas att uppmärksamma nätverket för att avgöra när frågebetalningarna i nätverket kommer att börja vara mer betydande. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -Som du kan se krävs det mycket tanke som måste gå in i att välja rätt Indexer. Detta är varför vi starkt rekommenderar att du utforskar The Graf Discord för att avgöra vilka Indexers som har bästa sociala rykte och tekniska rykte för att belöna Delegater konsekvent. Många av Indexers är mycket aktiva på Discord och kommer att vara glada att besvara dina frågor. Många av dem har indexerat i månader på testnätet och gör sitt bästa för att hjälpa Delegater att tjäna en god avkastning, eftersom det förbättrar nätverkets hälsa och framgång. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Beräkning av Delegaters förväntade avkastning -En Delegater måste överväga många faktorer när de bestämmer avkastningen. Dessa inkluderar: +A Delegator must consider a lot of factors when determining the return. These include: - En teknisk Delegater kan också titta på Indexer's förmåga att använda de Delegerade tokens som är tillgängliga för dem. Om en Indexer inte allokerar alla tillgängliga tokens tjänar de inte maximal vinst de kunde för sig själva eller sina Delegater. -- Just nu i nätverket kan en Indexer välja att stänga en allokering och samla in belöningar när som helst mellan 1 och 28 dagar. Så det är möjligt att en Indexer har många belöningar som de ännu inte har samlat in, och därmed är deras totala belöningar låga. Detta bör beaktas i de tidiga dagarna. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Att överväga frågebetalningsavgiften och indexeringsavgiften @@ -72,28 +74,32 @@ En annan sak som en Delegater måste överväga är vilken proportion av Delegat ![Dela formel](/img/Share-Forumla.png) -Genom att använda denna formel kan vi se att det faktiskt är möjligt för en Indexer som erbjuder endast 20% till Delegater att faktiskt ge Delegater en ännu bättre belöning än en Indexer som ger 90% till Delegater. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -En Delegater kan därför göra matematiska beräkningar för att fastställa att Indexer som erbjuder 20% till Delegater erbjuder en bättre avkastning. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Att överväga delegeringskapaciteten En annan sak att överväga är delegeringskapaciteten. För närvarande är Delegationsförhållandet inställt på 16. Det innebär att om en Indexer har satsat 1 000 000 GRT är deras Delegationskapacitet 16 000 000 GRT av Delegerade tokens som de kan använda i protokollet. Alla delegerade tokens över denna mängd kommer att utspäda alla Delegaternas belöningar. -Tänk dig att en Indexer har 100 000 000 GRT delegerade till dem och deras kapacitet är endast 16 000 000 GRT. Detta innebär effektivt att 84 000 000 GRT-tokens inte används för att tjäna tokens. Och alla Delegater, och Indexer, tjänar mycket mindre belöningar än de kunde. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Därför bör en Delegater alltid överväga Indexer's Delegationskapacitet och faktor detta in i deras beslutsfattande. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Delegaters FAQ och buggar ### Metamask "Väntande transaktion" bugg -**När jag försöker delegera visas min transaktion i MetaMask som "Väntande" eller "I kö" längre än förväntat. Vad ska jag göra?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -Ibland kan försök att delegera till indexers via MetaMask misslyckas och resultera i långvariga perioder av "Väntande" eller "I kö" -transaktionsförsök. Till exempel kan en användare försöka delegera med en otillräcklig gasavgift i förhållande till de nuvarande priserna, vilket resulterar i att transaktionsförsöket visas som "Väntande" i deras MetaMask-plånbok i 15+ minuter. När detta inträffar kan efterföljande transaktioner försökas av en användare, men dessa kommer inte att bearbetas förrän den ursprungliga transaktionen bryts, eftersom transaktioner för en adress måste bearbetas i ordning. I sådana fall kan dessa transaktioner avbrytas i MetaMask, men transaktionsförsöken kommer att kosta gasavgifter utan någon garanti att efterföljande försök kommer att lyckas. En enklare lösning på denna bugg är att starta om webbläsaren (t.ex. använda "abort:restart" i adressfältet), vilket kommer att avbryta alla tidigare försök utan att gas subtraheras från plånboken. Flera användare som har stött på detta problem och har rapporterat framgångsrika transaktioner efter att ha startat om sin webbläsare och försökt att delegera. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Videoguide för nätverks-UI -Denna guide ger en fullständig översikt över detta dokument och hur man överväger allt i detta dokument vid interaktion med UI. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From 11889088f5e79c8c1e91739b7382ddf1f73ac7b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:22 -0400 Subject: [PATCH 1454/2326] New translations delegating.mdx (Turkish) --- website/pages/tr/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/tr/network/delegating.mdx b/website/pages/tr/network/delegating.mdx index 4a6d6e00b73e..81824234e072 100644 --- a/website/pages/tr/network/delegating.mdx +++ b/website/pages/tr/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegating --- -Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators contribute to securing the network without running a Graph Node themselves. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -By delegating to an Indexer, Delegators earn a portion of the Indexer's query fees and rewards. The amount of queries an Indexer can process depends on the Indexer's own (and delegated) stake and the price the Indexer charges for each query, so the more stake that is allocated to an Indexer, the more potential queries they can process. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Delegator Guide -This guide will explain how to be an effective Delegator in the Graph Network. Delegators share earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not go over steps such as setting up Metamask properly, as that information is widely available on the internet. There are three sections in this guide: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - The risks of delegating tokens in The Graph Network - How to calculate expected returns as a Delegator @@ -22,15 +24,15 @@ Listed below are the main risks of being a Delegator in the protocol. Delegators cannot be slashed for bad behavior, but there is a tax on Delegators to disincentivize poor decision-making that could harm the integrity of the network. -It is important to understand that every time you delegate, you will be charged 0.5%. This means if you are delegating 1000 GRT, you will automatically burn 5 GRT. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -This means that to be safe, a Delegator should calculate what their return will be by delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### The delegation unbonding period -Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens, or earn any rewards for 28 days. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -One thing to consider as well is choosing an Indexer wisely. If you choose an Indexer who was not trustworthy, or not doing a good job, you will want to undelegate, which means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) _Note the 0.5% fee in the Delegation UI, as well as the 28 day @@ -39,25 +41,25 @@ One thing to consider as well is choosing an Indexer wisely. If you choose an In ### Choosing a trustworthy Indexer with a fair reward payout for Delegators -This is an important part to understand. First let's discuss three very important values, which are the Delegation Parameters. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. That means if it is set to 100%, as a Delegator you will get 0 indexing rewards. If you see 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *The top Indexer is giving Delegators 90% of the rewards. The middle one is giving Delegators 20%. The bottom one is giving Delegators ~83%.*
    -- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this is specifically for returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended to pay attention to the network to determine when the query fees in the network will start to be more significant. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -As you can see, there is a lot of thought that must go into choosing the right Indexer. This is why we highly recommend you explore The Graph Discord to determine who the Indexers are with the best social reputation, and technical reputation, to reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months in the testnet, and are doing their best to help Delegators earn a good return, as it improves the health and success of the network. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Calculating Delegators expected return -A Delegator has to consider a lot of factors when determining the return. These include: +A Delegator must consider a lot of factors when determining the return. These include: - A technical Delegator can also look at the Indexer's ability to use the Delegated tokens available to them. If an Indexer is not allocating all the tokens available, they are not earning the maximum profit they could be for themselves or their Delegators. -- Right now in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So it is possible that an Indexer has a lot of rewards they have not collected yet, and thus, their total rewards are low. This should be taken into consideration in the early days. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Considering the query fee cut and indexing fee cut @@ -71,28 +73,32 @@ Another thing a Delegator has to consider is what proportion of the Delegation P ![Share formula](/img/Share-Forumla.png) -Using this formula, we can see that it is actually possible for an Indexer who is offering only 20% to Delegators, to actually be giving Delegators an even better reward than an Indexer who is giving 90% to Delegators. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -A Delegator can therefore do the math to determine that the Indexer offering 20% to Delegators, is offering a better return. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Considering the delegation capacity Another thing to consider is the delegation capacity. Currently, the Delegation Ratio is set to 16. This means that if an Indexer has staked 1,000,000 GRT, their Delegation Capacity is 16,000,000 GRT of Delegated tokens that they can use in the protocol. Any delegated tokens over this amount will dilute all the Delegator rewards. -Imagine an Indexer has 100,000,000 GRT delegated to them, and their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. And all the Delegators, and the Indexer, are earning way less rewards than they could be. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Therefore a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Delegator FAQs and Bugs ### MetaMask "Pending Transaction" Bug -**When I try to delegate my transaction in MetaMask appears as "Pending" or "Queued" for longer than expected. What should I do?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, subsequent transactions can be attempted by a user, but these will not be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. A simpler resolution to this bug is restarting the browsesr (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users that have encountered this issue and have reported successful transactions after restarting their browser and attempting to delegate. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Video guide for the network UI -This guide provides a full review of this document, and how to consider everything in this document while interacting with the UI. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From 49638d0dd526b484501aed5e7219529dde3253f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:23 -0400 Subject: [PATCH 1455/2326] New translations delegating.mdx (Ukrainian) --- website/pages/uk/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/uk/network/delegating.mdx b/website/pages/uk/network/delegating.mdx index a4fe90cf6c5a..ed05af28fc96 100644 --- a/website/pages/uk/network/delegating.mdx +++ b/website/pages/uk/network/delegating.mdx @@ -2,13 +2,15 @@ title: Делегування --- -Делегати — це учасники мережі, які делегували (тобто "віддали") GRT одному або декільком індексаторам. Делегати сприяють забезпеченню безпеки мережі, не запускаючи самої Graph ноди. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -Делегуючи індексатору свої токени, делегати отримують частину від комісії та винагород індексатора за обробку запитів. Кількість запитів, які може обробити індексатор, залежить від власної (та делегованих) токенів на індексатору та ціни, яку індексатор стягує за кожен запит, тому чим більший стейк закріплений за індексатором, тим більше потенційних запитів він може обробити. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Гайд для делегатів -Цей гайд пояснює, як бути ефективним делегатом в мережі Graph. Делегати розділяють прибуток від протоколу разом з усіма індексаторами, залежно від делегованої ними кількості токенів на останніх. Враховуючи безліч факторів та власний професійний досвід, делегат повинен свідомо підійти до вибору індексатора. Будь ласка, зверніть увагу, що тут не розглядаються такі питання, як правильно налаштувати Metamask, оскільки ця інформація широко доступна в інтернеті. Цей гайд складається з трьох розділів: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - Ризики делегування токенів в мережі Graph - Як розрахувати можливі прибутки як делегат @@ -22,15 +24,15 @@ title: Делегування Делегати не можуть бути виключені за погану поведінку, але існує певний штраф для них, щоб позбавити стимулу щодо прийняття поганих рішень, які можуть зашкодити цілісності мережі. -Важливо розуміти, що кожного разу, коли ви здійснюєте делегування токенів, з вас буде стягуватися 0,5%. Це означає, що якщо ви делегуєте 1000 GRT, ви автоматично спалюєте 5 GRT. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -Це означає, що для того, щоб бути в безпеці, делегат повинен розрахувати, який прибуток він отримає, делегувавши свої кошти індексатору. Наприклад, делегат може підрахувати, скільки днів йому знадобиться, щоб повернути збір у розмірі 0,5% від його делегування. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### Період розблокування делегації -Щоразу, коли делегат бажає скасувати свою участь, його токени підлягають 28-денному періоду розблокування. Це означає, що вони не можуть переводити свої токени або отримувати будь-які винагороди протягом 28 днів. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -Важливо також враховувати, що вибір індексатора має бути обґрунтованим. Якщо ви вирішите обрати індексатора, який не заслуговує на довіру або погано виконує свою роботу, ви побажаєте відмовитися від делегування, а це означає, що ви втратите багато можливостей заробити винагороду, що може бути так само погано, як і спалювання GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) _Зверніть увагу на комісію в розмірі 0,5% в Інтерфейсі для делегацій, а також на 28-денний період розблокування._ @@ -38,24 +40,24 @@ title: Делегування ### Вибір надійного індексатора зі справедливою винагородою для делегатів -Це важлива частина для розуміння. Спочатку давайте обговоримо три дуже важливі цінності, які є параметрами делегування. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Частина винагороди за індексацію (Indexing Reward Cut) — це частина винагороди, яку індексатор залишає собі. Це означає, що якщо вона встановлена на рівні 100%, то як делегат ви отримаєте 0% за індексацію. Якщо в інтерфейсі ви бачите 80%, це означає, що як делегат ви отримаєте 20%. Важливе зауваження — на початку роботи мережі винагороди за індексацію будуть складати більшу частину доходів. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *Найкращий індексатор віддає делегатам 90% від суми винагороди. Середній - 20%. Найменший індексатор дає ~83%. *
    -- Частина від винагороди за запити — працює точно так само, як і за індексацію. Однак, це стосується саме повернення комісії за запити, яку отримує індексатор. Слід зазначити, що на початку роботи мережі прибуток від комісійних за запити буде дуже малий в порівнянні з винагородою за індексацію. Рекомендується стежити за мережею, щоб визначити, коли комісія за запити в мережі почне бути більш значущою. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -Як бачите, вибір правильного індексатора вимагає багато зусиль. Ось чому ми наполегливо рекомендуємо вам вивчити The Graph Discord, щоб визначити, хто є індексаторами з найкращою соціальною репутацією та технічною надійністю, щоб стабільно нагороджувати делегатів. Багато з індексаторів дуже активні в Discord і будуть раді відповісти на ваші запитання. Багато з них вже місяцями займаються індексацією в тестовій мережі та роблять все можливе, щоб допомогти делегатам отримувати хороший дохід, тому, що це покращує стан здоров'я й успіх мережі. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Розрахунок очікуваного прибутку -Делегат повинен враховувати багато факторів при прийнятті рішення задля отримання прибутку. До них відносяться: +A Delegator must consider a lot of factors when determining the return. These include: - Технічно підкований делегат також може подивитися на ефективність індексатора використовувати делеговані токени, які йому доступні. Якщо індексатор не використовує всі наявні токени, він не отримує максимального прибутку, який міг би отримати сам або його делегати. -- На цей момент в мережі індексатор може закрити розподіл і отримати винагороду в будь-який час від 1 до 28 днів. Таким чином, можливо, що в індексатора є велика сума винагород, які він ще не зібрав, і, таким чином, його загальна кількість є низькою. Це слід враховувати в перші дні. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Розглянемо питання про отримання частини винагороди за індексацію та за запити @@ -69,28 +71,32 @@ title: Делегування ![Share formula](/img/Share-Forumla.png) -Використовуючи цю формулу, ми бачимо, що індексатор, який пропонує лише 20% від суми винагороди делегатам, насправді надає їм навіть більшу винагороду, ніж індексатор, який платить 90%. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -Таким чином, делегат може підрахувати, що індексатор, який пропонує 20% для делегатів, забезпечує кращу прибутковість. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Розглянемо ліміт делегування Інша річ, яку слід враховувати, — це ліміт делегування. Зараз коефіцієнт делегування встановлений на рівні 16. Це означає, що якщо індексатор застейкав 1 000 000 GRT, його ліміт делегації становить 16 000 000 GRT делегованих токенів, які він може використовувати в протоколі. Будь-які делеговані токени, що перевищують цю суму, розмивають всі винагороди делегата. -Уявіть, що індексатору делеговано 100 000 000 GRT, а його ліміт становить лише 16 000 000 GRT. Це означає, що фактично 84 000 000 GRT токенів не використовуються для отримання токенів. І всі делегати, а також індексатор заробляють значно менше винагород, ніж могли б заробляти. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Таким чином, делегат повинен завжди враховувати ліміт для делегування в індексатора і враховувати його при прийнятті своїх фінансових рішень. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Поширені запитання та баги ### Баг в гаманці MetaMask "Pending Transaction" -**При спробі делегування моя транзакція в MetaMask зображається, як "Pending" або "Queued" довше, ніж очікувалося. Що мені робити?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -Іноді спроби делегування індексаторам через MetaMask можуть бути невдалими та призводять до того, що транзакції перебувають у стані "Pending" або "Queued" протягом тривалого періоду часу. Наприклад, користувач може спробувати делегувати з недостатнім значенням комісії за газ відносно поточних цін, що призведе до того, що спроба транзакція буде показуватися як "Pending" в його гаманці MetaMask протягом 15+ хвилин. Коли це відбувається, користувач може спробувати здійснити наступні транзакції, але вони не будуть оброблені до тих пір, поки не буде завершена початкова транзакція, оскільки транзакції для однієї адреси повинні оброблятися по черзі. У таких випадках ці транзакції можуть бути скасовані в MetaMask, але за спроби транзакцій буде нарахована додаткова плата за газ без будь-якої гарантії, що наступні спроби будуть успішними. Простим вирішенням цієї помилки є перезапуск браузера (наприклад, за допомогою команди "abort:restart" в адресному рядку), який скасує всі попередні спроби без списання комісій за газ з гаманця. Кілька користувачів, які зіткнулися з цією проблемою, повідомили про успішне проведення транзакцій після перезапуску браузера і спроби делегування. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Відеоінструкція, по взаємодії з інтерфейсом мережі Graph -Цей гайд містить повний огляд цього документу, а також те, як враховувати все, що в ньому описано, при взаємодії з інтерфейсом управління. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From 756ca66b52a8ca773d63bb3a0fdb2e5790576453 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:24 -0400 Subject: [PATCH 1456/2326] New translations delegating.mdx (Chinese Simplified) --- website/pages/zh/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/zh/network/delegating.mdx b/website/pages/zh/network/delegating.mdx index 09208995ad22..8938e2fd7768 100644 --- a/website/pages/zh/network/delegating.mdx +++ b/website/pages/zh/network/delegating.mdx @@ -2,13 +2,15 @@ title: 委托 --- -委托人是网络参与者,他们将 (例如,份额)GRT 委托给一个或多个索引人。委托程序有助于在不运行 Graph节点的情况下保护网络。 +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -通过委托给索引人,委托人可以获得索引人查询费用和奖励的一部分。索引人可以处理的查询数量取决于索引人自己的(和委托的) 份额和索引人为每个查询收取的价格,因此分配给索引人的份额越多,它们可以处理的潜在查询就越多。 +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## 委托人指南 -本指南将解释如何在Graph网络中成为一个有效的委托人。 委托人与所有索引人一起分享其委托份额的协议收益。 委托人必须根据多种因素,运用他们的最佳判断力来选择索引人。 请注意,本指南将不涉及正确设置Metamask等步骤,因为这些信息在互联网上广泛存在。 本指南有三个部分: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - 在 Graph 网络中委托代币的风险 - 如何计算作为委托人的预期回报 @@ -22,15 +24,15 @@ title: 委托 委托人不能因为不良行为而被取消,但对委托有税,以抑制可能损害网络完整性的不良决策。 -重要的是要了解每次委托时,您将被收取 0.5% 的费用。 这意味着如果您委托 1000 GRT,您将自动耗费 5 GRT。 +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -这意味着为了安全起见,委托人应该通过委托给索引人来计算他们的回报。 例如,委托人可能会计算他们需要多少天才能收回其委托的 0.5% 税。 +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### 委托解约期 -每当委托人想要解除委托时,他们的代币都有 28 天的解除绑定期。 这意味着他们在 28 天内不能转移他们的代币,也不能获得任何奖励。 +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -还需要考虑的一件事是明智地选择索引人。 如果您选择了一个不值得信赖的 索引人,或者没有做好工作,您将想要取消委托,这意味着您将失去很多获得奖励的机会,这可能与耗费 GRT 一样糟糕。 +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    请注意委托用户界面中的0.5%费用,以及28天的解约期。 @@ -38,24 +40,24 @@ title: 委托 ### 选择一个为委托人提供公平的奖励分配的值得信赖的索引人 -这是需要理解的重要部分。 首先让我们讨论三个非常重要的值,即委托参数。 +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -索引奖励分成- 索引奖励分成是指索引人将为自己保留的那部分奖励。 这意味着,如果它被设置为 100%,作为一个委托人,你将获得 0 个索引奖励。 如果你在 UI 中看到 80%,这意味着作为委托人,你将获得 20%。 一个重要的说明 -在网络的初期,索引奖励将占奖励的大部分比重。 +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *上 面的索引人分给委托人 90% 的收益。 中间的给委托人 20%。 下面的给委托人约 83%。
    -- 查询费分成-这与索引奖励分成的运作方式完全相同。 不过,这是专门针对索引人收取的查询费的回报。 需要注意的是,在网络初期,查询费的回报与索引奖励相比会非常小。 建议关注网络来确定网络中的查询费何时开始变的比较可观。 +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -正如您所看到的,在选择正确的索引人时,必须进行大量的思考。这就是为什么我们强烈推荐你探索“Graph Discord”,以确定谁的索引人具有最好的社会声誉和技术声誉,以奖励代表一致。许多索引人是非常活跃的不和谐,将很高兴回答你的问题。他们中的许多人已经在测试网络中索引了几个月,并且正在尽最大努力帮助代表们获得良好的回报,因为它改善了网络的健康和成功。 +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### 计算委托人的预期收益 -委托人在确定收益时必须考虑很多因素。 这些因素解释如下 : +A Delegator must consider a lot of factors when determining the return. These include: - 有技术的委托人还可以查看索引人使用他们可用的委托代币的能力。 如果索引人没有分配所有可用的代币,他们就不会为自己或他们的委托人赚取最大利润。 -- 现在在网络中,索引人可以选择关闭分配并在 1 到 28 天之间的任何时间收集奖励。 因此,索引人可能有很多尚未收集的奖励,因此他们的总奖励很低。 早期应该考虑到这一点。 +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### 考虑到查询费用的分成和索引费用的分成 @@ -69,28 +71,32 @@ title: 委托 ![共享公式](/img/Share-Forumla.png) -使用这个公式,我们可以看到,一个只给委托人提供20% 报酬的索引人,实际上可以给予委托人比一个给予委托人90%报酬的索引人更好的报酬。 +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -因此,委托人可以进行数学计算,以确定向委托人提供 20% 的 索引人提供了更好的回报。 +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### 考虑委托容量 另一个需要考虑的是委托容量。 目前,委托比例被设置为 16。 这意味着,如果一个索引人质押了100万GRT,他们的委托容量是 16,00万GRT 的委托代币,他们可以在协议中使用。 任何超过这个数量的委托代币将稀释所有的委托人奖励。 -想象一下,一个索引人有 100,000,000 GRT 委托给他们,而他们的能力只有 16,000,000 GRT。 这意味着实际上,84,000,000 GRT 代币没有被用来赚取代币。 而所有的委托人,以及索引人,赚取的奖励也远远低于他们可以赚取的。 +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -因此,委托人应始终考虑索引人的接受委托数量的容量,并将其纳入决策。 +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## 委托人常见问题和错误 ### MetaMask“待定交易”错误 -**当我尝试委托 MetaMask 中的交易时,“ Pending”或“ Queued”显示的时间比预期的要长,该怎么办?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -有时,尝试通过 MetaMask 委托给索引者可能会失败,并导致长时间的“挂起”或“排队”交易尝试。例如,一个用户可能会尝试委托一个相对于当前价格不足的gas费,导致交易尝试显示为“Pending”在他们的 MetaMask 钱包超过15分钟。当这种情况发生时,用户可以尝试进行后续交易,但是这些交易在挖掘初始交易之前不会被处理,因为地址的交易必须按顺序处理。在这种情况下,MetaMask 可以取消这些交易,但这些交易尝试将产生gas费用,而无法保证后续尝试能够成功。一个更简单的解决方案是重新启动浏览器(例如,在地址栏中使用“ abort: start”) ,它将取消所有以前的尝试,而不会从钱包中减去gas。有几个用户遇到了这个问题,并且在重新启动浏览器并试图委托之后报告了成功的交易。 +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## 网络界面视频指南 -本指南提供了对本文档的完整检阅,以及如何在与 UI 交互时考虑本文档中的所有内容。 +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From 73fba2f0f15efc9ad878f20d40946a2a68ecdc59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:25 -0400 Subject: [PATCH 1457/2326] New translations delegating.mdx (Urdu (Pakistan)) --- website/pages/ur/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/ur/network/delegating.mdx b/website/pages/ur/network/delegating.mdx index a9df7189a9ae..75eb43ee2dd2 100644 --- a/website/pages/ur/network/delegating.mdx +++ b/website/pages/ur/network/delegating.mdx @@ -2,13 +2,15 @@ title: ڈیلیگیٹنگ --- -ڈیلیگیٹرز نیٹ ورک کے شرکاء ہیں جو ایک یا ایک سے زیادہ انڈیکسرز کو GRT ڈیلیگیٹ کرتے ہیں (یعنی "حصہ").ڈیلیگیٹرز خود گراف نوڈ چلائے بغیر نیٹ ورک کو محفوظ بنانے میں اپنا حصہ ڈالتے ہیں. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -ایک انڈیکسر کو ڈیلیگیٹ کر نے سے، ڈیلیگیٹرز انڈیکسر کی استفسار کی فیس اور انعامات کا ایک حصہ حاصل کرتے ہیں. ایک انڈیکسر جتنی کیوریز پر کارروائی کر سکتا ہے اس کا انحصار انڈیکسر کے اپنے (اور ڈیلیگیٹڈ) حصص اور ہر استفسار کے لیے انڈیکسر کی قیمت پر ہوتا ہے۔ لہذا انڈیکسر کو جتنا زیادہ حصہ مختص کیا جاتا ہے،زیادہ ممکنہ کیوریز پر وہ کارروائی کر سکتے ہیں. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## ڈیلیگیٹر گائیڈ -یہ گائیڈ وضاحت کرے گا کہ گراف نیٹ ورک میں ایک مؤثر ڈیلگیٹر کیسے بننا ہے. ڈیلیگیٹرز پروٹوکول کی کمائی کو تمام انڈیکسرز کے ساتھ اپنے ڈیلیگیٹ حصص کی بنیاد پر بانٹتے ہیں۔ ایک ڈیلیگیڑ کو متعدد عوامل کی بنیاد پر انڈیکسرز کا انتخاب کرنے کے لیے اپنے بہترین فیصلے کا استعمال کرنا چاہیے۔براہ کرم نوٹ کریں کہ یہ گائیڈ میٹاماسک کو درست طریقے سے ترتیب دینے جیسے مراحل پر نہیں جائے گا، کیونکہ یہ معلومات انٹرنیٹ پر وسیع پیمانے پر دستیاب ہے۔یہاں اس گائیڈ میں تین حصے ہیں: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - گراف نیٹ ورک میں ٹوکن ڈیلیگ کرنے کے خطرات - بطور ڈیلیگیٹر متوقع واپسی کا حساب کیسے لگائیں @@ -22,15 +24,15 @@ title: ڈیلیگیٹنگ برے رویۓ پر ڈیلیگیٹرز کو نہیں چھوڑا جا سکتا، لیکن ناقص فیصلہ سازی کی حوصلہ شکنی کے لیے ڈیلیگیٹرز پر ٹیکس ہے جو نیٹ ورک کی سالمیت کو نقصان پہنچا سکتا ہے. -یہ سمجھنا ضروری ہے کہ جب بھی آپ نمائندگی کرتے ہیں،آپ سے 0.5% چارج کیا جائے گا۔اس کا مطلب ہے کہ اگر آپ 1000 GRT کی ڈیلیگیشن کر رہے ہیں, تو آپ خود بخود 5 GRT جلا دیں گے. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -اس کا مطلب محفوظ رہنے کے لیے، ایک ڈیلیگیٹر کو حساب لگانا چاہیے کہ ان کی واپسی کیا ہوگی ایک انڈیکسرکو ڈیلیگیٹ کرکے۔ مثال کے طور پے،ایک ڈیلیگیٹر حساب لگا سکتا ہے کہ اس نے اپنے وفد پر 0.5% ٹیکس واپس حاصل کرنے سے پہلے کتنے دن لگیں گے. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### وفد کی بندش کی مدت -جب بھی کوئی ڈیلیگیٹر ان ڈیلیگیٹ کرنا چاہے. ان کے ٹوکنز 28 دن کی ان بانڈنگ مدت کے ساتھ مشروط ہیں۔اس کا مطلب ہے کہ وہ اپنے ٹوکن منتقل نہیں کر سکتے، یا 28 دنوں تک کوئی انعام حاصل نہیں کر سکتے. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -غور کرنے کی ایک چیز یہ ہے کہ انڈیکسر کا انتخاب دانشمندی سے کریں۔اگر آپ انڈیکسر کا انتخاب کرتے ہیں جو قابل اعتماد نہیں تھا،یا اچھا کام نہیں کر رہا،آپ غیر منتخب کرنا چاہیں گے،جس کا مطلب ہے آپ انعامات حاصل کرنے کے بہت سے مواقع کھو رہے ہوں گے،جو GRT کو جلانے جیسا ہی برا ہو سکتا ہے. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    [ڈیلیگیشن ان بانڈنگ](/img/Delegation-Unbonding.png) _ڈیلیگیشن UI میں 0.5% فیس نوٹ کریں، ساتھ ہی 28 دن @@ -39,24 +41,24 @@ title: ڈیلیگیٹنگ ### ڈیلیگیٹرز کے لیے منصفانہ انعامی ادائیگی کے ساتھ ایک قابل اعتماد انڈیکسر کا انتخاب کرنا -یہ سمجھنے کے لیے ایک اہم حصہ ہے۔سب سے پہلے تین بہت اہم اقدار پر بات کرتے ہیں،جو کے ڈیلیگیشن پیرامیٹرز ہے. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -انڈیکسنگ ریوارڈ کٹ - انڈیکسنگ ریوارڈ کٹ انعامات کا وہ حصہ ہے جو انڈیکسر اپنے لیے رکھے گا۔ اس کا مطلب ہے کہ اگر یہ 100% پر سیٹ ہے، بطور ڈیلیگیٹر آپ کو 0 انڈیکسنگ کےانعامات ملیں گے۔ اگر آپ UI میں 80٪ دیکھتے ہیں،اس کا مطلب ہے کہ بطور ڈیلیگیٹر، آپ کو 20% ملے گا۔ ایک اہم نوٹ - نیٹ ورک کے آغاز میں، انڈیکسنگ انعامات کی اکثریت کا حصہ ہوں گے. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![انڈیکسنگ ریوارڈ کٹ](/img/Indexing-Reward-Cut.png) *سب سے اوپر انڈیکسر ڈیلیگیٹرز کو 90% انعامات دے رہا ہے. درمیان والا ڈیلیگیٹرز کو 20% دے رہا ہے۔ نیچے والا ڈیلیگیٹرز کو ~83% دے رہا ہے۔*
    -- کیوری فیس کٹوتی - یہ بلکل انڈیکسنگ ریوارڈ کٹ کی طرح کام کرتا ہے. البتہ، یہ خاص طور پر انڈیکسر جمع کردہ کیوری کی فیس پر واپسی کے لیے ہے۔ واضح رہے کہ نیٹ ورک کے آغاز پر، کیوری فیس سے واپسی انڈیکسنگ کے انعامات کے مقابلے میں بہت کم ہوگی۔ اس بات کا تعین کرنے کے لیے نیٹ ورک پر توجہ دینے کی سفارش کی جاتی ہے کہ نیٹ ورک میں کیوری کی فیس کب زیادہ اہم ہونا شروع ہو گی. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -جیسا کے آپ دیکھ سکتے ہیں،صحیح انڈیکسر کو منتخب کرنے کے لیے کافی سوچ بچار کی ضرورت ہے۔ یہی وجہ ہے کہ ہم آپ کو گراف ڈسکورڈ کو دریافت کرنے کا مشورہ دیتے ہیں تاکہ یہ تعین کیا جا سکے کہ انڈیکسرز بہترین سماجی شہرت کے حامل کون ہیں، اور تکنیکی ساکھ، ڈیلیگیٹرز کو مسلسل انعام دینے کے لیے. بہت سے انڈیکسرز ڈسکورڈ میں بہت فعال ہیں اور آپ کی کیوریز کے جوابات دینے میں خوشی محسوس کریں گے۔ ان میں سے بہت سے ٹیسٹ نیٹ میں مہینوں سے انڈیکسنگ کر رہے ہیں، اور ڈیلیگیٹرزکو اچھی واپسی حاصل کرنے میں مدد کرنے کی پوری کوشش کر رہے ہیں، کیونکہ یہ نیٹ ورک کی صحت اور کامیابی کو بہتر بناتا ہے. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### ڈیلیگیٹرز کی متوقع واپسی کا حساب لگانا -ایک ڈیلیگیٹرکو واپسی کا تعین کرتے وقت بہت سے عوامل پر غور کرنا پڑتا ہے۔ یہ شامل ہیں: +A Delegator must consider a lot of factors when determining the return. These include: - ایک ٹیکنیکل ڈیلیگیٹر انڈیکسر کی ان کے لیے دستیاب ڈیلیگیٹڈ ٹوکن استعمال کرنے کی صلاحیت کو بھی دیکھ سکتا ہے۔ اگرایک انڈیکسر دستیاب تمام ٹوکن مختص نہیں کر رہا ہے، وہ زیادہ سے زیادہ منافع نہیں کما رہے ہیں جو وہ اپنے یا اپنے ڈیلیگیٹرز کے لیے ہو سکتا ہے. -- ابھی نیٹ ورک میں ایک انڈیکسر 1 سے 28 دنوں کے درمیان کسی بھی وقت مختص کو بند کرنے اور انعامات جمع کرنے کا انتخاب کر سکتا ہے۔ لہذا یہ ممکن ہے کہ ایک انڈیکسرکے پاس بہت سارے انعامات ہوں جو انہوں نے ابھی تک جمع نہیں کیے ہیں،اور اس طرح، ان کے کل انعامات کم ہیں۔ابتدائی دنوں میں اس کا خیال رکھنا چاہیے. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### کیوری فیس میں کمی اور انڈیکسنگ کی فیس میں کمی پر غور کرنا @@ -70,28 +72,32 @@ title: ڈیلیگیٹنگ ![فارمولہ شیئر کریں](/img/Share-Forumla.png) -اس فارمولے کو استعمال کرتے ہوئے، ہم دیکھ سکتے ہیں کہ یہ دراصل ایک انڈیکسر کے لیے ممکن ہے جو ڈیلیگیٹرز کو صرف 20% پیش کر رہا ہو، دراصل ڈیلیگیٹرز کو انڈیکسر سے بھی بہتر انعام دینا ہے جو ڈیلیگیٹرز کو 90% دے رہا ہے. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -اس لیے ایک ڈیلیگیٹر اس بات کا تعین کرنے کے لیے ریاضی کر سکتا ہے کہ انڈیکسر جو ڈیلیگیٹرز کو 20% پیش کر رہا ہے، بہتر واپسی کی پیشکش کر رہا ہے. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### ڈیلیگیشن کی صلاحیت کو مدنظر رکھتے ہوئے غور کرنے کی ایک اور چیز ڈیلیگیشن کی صلاحیت ہے۔ فی الحال، ڈیلیگیشن تناسب 16 پر سیٹ ہے۔ اس کا مطلب یہ ہے کہ اگر کسی انڈیکسر نے 1,000,000 GRT کا حصہ لگایا ہے، ان کی ڈیلیگیشن کی صلاحیت ڈیلیگیٹڈ ٹوکنز کی 16,000,000 GRT ہے جسے وہ پروٹوکول میں استعمال کر سکتے ہیں۔ اس رقم پر کوئی بھی ڈیلیگیٹ ٹوکن ڈیلیگیٹر کے تمام انعامات کو کم کردے گا. -تصور کریں کہ ایک انڈیکسر کو 100,000,000 GRT ڈیلیگیٹڈ کیا گیا ہے، ور ان کی گنجائش صرف 16,000,000 GRT ہے۔ اس کا مطلب ہے مؤثر طریقے سے، 84,000,000 GRT ٹوکنز ٹوکن حاصل کرنے کے لیے استعمال نہیں کیے جا رہے ہیں. اور تمام ڈیلیگیٹرز، اور انڈیکسر، ان کے مقابلے میں کم انعامات حاصل کر رہے ہیں. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -لہذا ایک ڈیلیگیٹر کو ہمیشہ ایک انڈیکسر کی ڈیلیگیشن کی صلاحیت پر غور کرنا چاہیے، اور اسے اپنے فیصلہ سازی میں شامل کرنا چاہیے. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## ڈیلیگیٹر کے اکثر پوچھے گئے سوالات اور بگز ### میٹا ماسک "پینڈنگ ٹرانزیکشن" بگ -**جب میں میٹاماسک میں اپنا ٹرانزیکشن ڈیلیگیٹ کرنے کی کوشش کرتا ہوں تو توقع سے زیادہ دیر تک "پینڈنگ" یا "قطار" کے طور پر ظاہر ہوتا ہے. مجھے کیا کرنا چاہیے؟** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -بعض اوقات، میٹاماسک کے ذریعے انڈیکسرزکوڈیلیگیٹ کرنے کی کوششیں ناکام ہو سکتی ہیں اور اس کے نتیجے میں طویل عرصے تک "زیر التواء" یا "قطار میں بند" ٹرانزیکشن کی کوششیں ہوتی ہیں۔ مثال کے طور پر، صارف موجودہ قیمتوں کے مقابلے میں گیس کی ناکافی فیس کے ساتھ ڈیلیگیٹ کرنے کی کوشش کر سکتا ہے، جس کے نتیجے میں ٹرانزیکشن کی کوشش ان کے میٹاماسک والیٹ میں 15+ منٹ کے لیے "زیر التواء" کے طور پر دکھائی دیتی ہے۔ جب ایسا ہوتا ہے تو، صارف کی طرف سے بعد میں ٹرانزیکشن کی کوشش کی جا سکتی ہے، لیکن ان پر اس وقت تک کارروائی نہیں کی جائے گی جب تک کہ ابتدائی ٹرانزیکشن کی کان کنی نہیں ہو جاتی، جیسا کہ ایڈریس کے لیے ٹرانزیکشن کو ترتیب کے ساتھ عمل میں لانا چاہیے۔ ایسی صورتوں میں،یہ ٹرانزیکشن میٹا ماسک میں منسوخ ہوسکتا ہیں،لیکن ٹرانزیکشن کی کوششیں بغیر کسی گارنٹی کے گیس فیس جمع کر لیں گی کہ بعد کی کوششیں کامیاب ہوں گی۔ اس مسئلے کا ایک آسان حل براؤزر کو دوبارہ شروع کرنا ہے (مثال کے طور پر، ایڈریس بار میں "abort:restart" کا استعمال کرتے ہوئے)، جو پرس سے گیس کو منہا کیے بغیر تمام پچھلی کوششوں کو منسوخ کر دے گا۔ کئی صارفین جنہوں نے اس مسئلے کا سامنا کیا ہے اور اپنے براؤزر کو دوبارہ شروع کرنے اور ڈیلیگیٹ کرنے کی کوشش کرنے کے بعد کامیاب ٹرانزیکشن کی اطلاع دی ہے. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## نیٹ ورک UI کے لیے ویڈیو گائیڈ -یہ گائیڈ اس دستاویز کا مکمل جائزہ فراہم کرتا ہے، اور UI کے ساتھ بات چیت کرتے ہوئے اس دستاویز میں موجود ہر چیز پر غور کرنے کا طریقہ فراہم کرتا ہے. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From e322e4213cf6b04e5f8cce62f89a7e33499994b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:25 -0400 Subject: [PATCH 1458/2326] New translations delegating.mdx (Vietnamese) --- website/pages/vi/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/vi/network/delegating.mdx b/website/pages/vi/network/delegating.mdx index 9c289e941505..94555fdaaf3b 100644 --- a/website/pages/vi/network/delegating.mdx +++ b/website/pages/vi/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegating --- -Delegator (Người ủy quyền) không bị phạt cắt tài sản (slash) vì hành vi xấu, nhưng có một khoản thuế đặt cọc đối với Delegator để ngăn cản việc đưa ra quyết định kém có thể làm tổn hại đến tính toàn vẹn của mạng. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -Hướng dẫn này sẽ giải thích cách trở thành delegator hiệu quả trong Mạng The Graph. Delegator chia sẻ thu nhập của giao thức cùng với tất cả những indexer trên cổ phần stake được ủy quyền của họ. Delegator phải sử dụng phán đoán tốt nhất của họ để chọn Indexer dựa trên nhiều yếu tố. Xin lưu ý rằng hướng dẫn này sẽ không bao gồm các bước như thiết lập Metamask đúng cách, vì thông tin đó có sẵn rộng rãi trên internet. Có ba phần trong hướng dẫn này: +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Hướng dẫn Delegator -This guide will explain how to be an effective Delegator in the Graph Network. Delegators share earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not go over steps such as setting up Metamask properly, as that information is widely available on the internet. There are three sections in this guide: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - Rủi ro của việc ủy quyền token trong Mạng The Graph - Cách tính lợi nhuận kỳ vọng với tư cách là delegator @@ -22,15 +24,15 @@ Lưu ý quan trọng là mỗi lần bạn ủy quyền, bạn sẽ bị tính p Delegators cannot be slashed for bad behavior, but there is a tax on Delegators to disincentivize poor decision-making that could harm the integrity of the network. -Bất cứ khi nào Delegator muốn hủy ủy quyền, token của họ phải chịu khoảng thời gian 28 ngày bỏ ràng buộc ủy quyền. Điều này có nghĩa là họ không thể chuyển token của mình hoặc kiếm bất kỳ phần thưởng nào trong 28 ngày. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -Một điều nữa cũng cần xem xét là lựa chọn Indexer một cách khôn ngoan. Nếu bạn chọn một Indexer không đáng tin cậy hoặc không hoàn thành tốt công việc, bạn sẽ muốn hủy ủy quyền, khi đó bạn sẽ mất rất nhiều cơ hội kiếm được phần thưởng, cũng tệ như việc đốt đi GRT vậy. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### Khoảng thời gian bỏ ràng buộc ủy quyền -Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens, or earn any rewards for 28 days. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -One thing to consider as well is choosing an Indexer wisely. If you choose an Indexer who was not trustworthy, or not doing a good job, you will want to undelegate, which means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) Lưu ý khoản phí 0.5% trong Giao diện người dùng Ủy quyền, cũng @@ -39,25 +41,25 @@ One thing to consider as well is choosing an Indexer wisely. If you choose an In ### Chọn một indexer đáng tin cậy với phần thưởng hợp lý cho delegator -Như bạn có thể thấy, có rất nhiều suy nghĩ phải cân nhắc khi lựa chọn Indexer phù hợp. Đây là lý do tại sao chúng tôi thực sự khuyên bạn nên khám phá The Graph Discord để xác định ai là Indexers có danh tiếng xã hội và danh tiếng kỹ thuật tốt nhất, để thưởng cho delegator trên cơ sở nhất quán. Nhiều Indexers rất tích cực trong Discord và sẽ sẵn lòng trả lời câu hỏi của bạn. Nhiều người trong số họ đã Indexing trong nhiều tháng testnet và đang cố gắng hết sức để giúp những các delegator kiếm được lợi nhuận tốt, vì nó cải thiện sức khỏe và sự thành công của mạng. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. That means if it is set to 100%, as a Delegator you will get 0 indexing rewards. If you see 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) Indexer hàng đầu đang trao cho delegator 90% phần thưởng. Những Indexer tầm trung đang trao cho delegator 20%. Những Indexer dưới cùng đang trao cho delegator khoản 83%.
    -- Phần cắt Phí Truy vấn - cũng như Phần cắt Thưởng Indexing. Tuy nhiên, điều này đặc biệt dành cho lợi nhuận từ phí truy vấn mà Indexer thu thập. Cần lưu ý rằng khi bắt đầu mạng, lợi nhuận từ phí truy vấn sẽ rất nhỏ so với phần thưởng indexing. Bạn nên chú ý đến mạng lưới để xác định khi nào phí truy vấn trong mạng sẽ bắt đầu đáng kể hơn. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -As you can see, there is a lot of thought that must go into choosing the right Indexer. This is why we highly recommend you explore The Graph Discord to determine who the Indexers are with the best social reputation, and technical reputation, to reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months in the testnet, and are doing their best to help Delegators earn a good return, as it improves the health and success of the network. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Tính toán lợi nhuận dự kiến của Delegator -Một Delegator phải xem xét rất nhiều yếu tố khi xác định lợi nhuận. Như là: +A Delegator must consider a lot of factors when determining the return. These include: - Một Delegator có trình độ kỹ thuật cũng có thể xem xét cách mà Indexer sử dụng các token được Ủy quyền khả dụng cho họ. Nếu một indexer không phân bổ tất cả các token khả dụng, họ sẽ không kiếm được lợi nhuận tối đa mà họ có thể dành cho chính họ hoặc Delegator của họ. -- Ngay bây giờ trong mạng lưới, Indexer có thể chọn đóng phân bổ và nhận phần thưởng bất kỳ lúc nào trong khoảng thời gian từ 1 đến 28 ngày. Vì vậy, có thể một Indexer có rất nhiều phần thưởng mà họ chưa thu thập được, và do đó, tổng phần thưởng của họ thấp. Điều này cần được xem xét từ những ngày đầu. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Xem xét Phần cắt Phí Truy vấn và Phần cắt Phí indexing @@ -71,28 +73,32 @@ Another thing a Delegator has to consider is what proportion of the Delegation P ![Share formula](/img/Share-Forumla.png) -Using this formula, we can see that it is actually possible for an Indexer who is offering only 20% to Delegators, to actually be giving Delegators an even better reward than an Indexer who is giving 90% to Delegators. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -A Delegator can therefore do the math to determine that the Indexer offering 20% to Delegators, is offering a better return. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Xem xét Delegation Capacity (Năng lực Ủy quyền) Another thing to consider is the delegation capacity. Currently, the Delegation Ratio is set to 16. This means that if an Indexer has staked 1,000,000 GRT, their Delegation Capacity is 16,000,000 GRT of Delegated tokens that they can use in the protocol. Any delegated tokens over this amount will dilute all the Delegator rewards. -Imagine an Indexer has 100,000,000 GRT delegated to them, and their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. And all the Delegators, and the Indexer, are earning way less rewards than they could be. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Do đó, Delegator phải luôn xem xét Năng lực Ủy quyền của Indexer và cân nhắc nó trong quá trình ra quyết định của họ. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Delegator FAQs and Bugs ### MetaMask "Pending Transaction" Bug -**When I try to delegate my transaction in MetaMask appears as "Pending" or "Queued" for longer than expected. What should I do?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, subsequent transactions can be attempted by a user, but these will not be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. A simpler resolution to this bug is restarting the browsesr (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users that have encountered this issue and have reported successful transactions after restarting their browser and attempting to delegate. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Video guide for the network UI -This guide provides a full review of this document, and how to consider everything in this document while interacting with the UI. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From 68320a5f3116441fd1394ca9f5dbeaaaf01e0011 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:26 -0400 Subject: [PATCH 1459/2326] New translations delegating.mdx (Marathi) --- website/pages/mr/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/mr/network/delegating.mdx b/website/pages/mr/network/delegating.mdx index 4370f27cb5c4..96b94d33f3ff 100644 --- a/website/pages/mr/network/delegating.mdx +++ b/website/pages/mr/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegating --- -प्रतिनिधी हे नेटवर्क सहभागी असतात जे एक किंवा अधिक इंडेक्सर्सना GRT सोपवतात (म्हणजे "भाग"). प्रतिनिधी स्वतः ग्राफ नोड न चालवता नेटवर्क सुरक्षित करण्यात योगदान देतात. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -इंडेक्सरला सोपवून, प्रतिनिधी इंडेक्सरच्या क्वेरी फी आणि रिवॉर्ड्सचा एक भाग कमावतात. इंडेक्सर किती प्रश्नांवर प्रक्रिया करू शकतो हे इंडेक्सरच्या स्वतःच्या (आणि नियुक्त केलेल्या) स्टेकवर आणि प्रत्येक क्वेरीसाठी इंडेक्सर किती किंमत आकारतो यावर अवलंबून असते, त्यामुळे इंडेक्सरला जितका अधिक स्टेक वाटप केला जाईल, तितक्या अधिक संभाव्य क्वेरींवर ते प्रक्रिया करू शकतात. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Delegator Guide -हे मार्गदर्शक ग्राफ नेटवर्कमध्ये प्रभावी प्रतिनिधी कसे असावे हे स्पष्ट करेल. प्रतिनिधी प्रोटोकॉलची कमाई सर्व इंडेक्सर्सच्या बरोबरीने त्यांच्या नियुक्त भागिदारीच्या आधारावर शेअर करतात. एका प्रतिनिधीने अनेक घटकांवर आधारित इंडेक्सर्स निवडण्यासाठी त्यांचा सर्वोत्तम निर्णय वापरला पाहिजे. कृपया लक्षात घ्या की हे मार्गदर्शक मेटामास्क योग्यरित्या सेट करण्यासारख्या चरणांवर जाणार नाही, कारण ती माहिती इंटरनेटवर मोठ्या प्रमाणात उपलब्ध आहे. या मार्गदर्शकामध्ये तीन विभाग आहेत: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - The risks of delegating tokens in The Graph Network - How to calculate expected returns as a Delegator @@ -22,15 +24,15 @@ Listed below are the main risks of being a Delegator in the protocol. वाईट वर्तनासाठी प्रतिनिधींना कमी केले जाऊ शकत नाही, परंतु नेटवर्कच्या अखंडतेला हानी पोहोचवणाऱ्या खराब निर्णयक्षमतेला प्रोत्साहन देण्यासाठी प्रतिनिधींवर कर लावला जातो. -हे समजून घेणे महत्त्वाचे आहे की प्रत्येक वेळी तुम्ही प्रतिनिधीत्व करता तेव्हा तुमच्याकडून 0.5% शुल्क आकारले जाईल. याचा अर्थ तुम्ही 1000 GRT नियुक्त करत असल्यास, तुम्ही आपोआप 5 GRT बर्न कराल. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -याचा अर्थ असा की सुरक्षित राहण्यासाठी, एखाद्या प्रतिनिधीने इंडेक्सरकडे सोपवून त्यांचा परतावा काय असेल याची गणना केली पाहिजे. उदाहरणार्थ, प्रतिनिधी त्यांच्या प्रतिनिधींवरील 0.5% कर परत मिळण्यापूर्वी किती दिवस लागतील याची गणना करू शकतात. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### The delegation unbonding period -जेव्हा जेव्हा एखाद्या प्रतिनिधीला प्रतिनिधीत्व रद्द करायचे असते तेव्हा त्यांचे टोकन 28-दिवसांच्या अनबॉन्डिंग कालावधीच्या अधीन असतात. याचा अर्थ ते त्यांचे टोकन हस्तांतरित करू शकत नाहीत किंवा 28 दिवसांसाठी कोणतेही पुरस्कार मिळवू शकत नाहीत. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -विचारात घेण्यासारखी एक गोष्ट म्हणजे इंडेक्सरची निवड हुशारीने करणे. जर तुम्ही असा इंडेक्सर निवडला जो विश्वासार्ह नसेल किंवा चांगले काम करत नसेल, तर तुम्हाला अस्वीकृत करायचे असेल, याचा अर्थ तुम्ही बक्षिसे मिळविण्याच्या अनेक संधी गमावाल, जे GRT बर्न करण्याइतकेच वाईट असू शकते. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![प्रतिनिधी अनबॉन्डिंग](/img/Delegation-Unbonding.png) _डेलिगेशन UI मध्ये 0.5% शुल्क तसेच २८ दिवसांची नोंद घ्या @@ -39,25 +41,25 @@ Listed below are the main risks of being a Delegator in the protocol. ### Choosing a trustworthy Indexer with a fair reward payout for Delegators -समजून घेणे हा एक महत्त्वाचा भाग आहे. प्रथम तीन अत्यंत महत्त्वाच्या मूल्यांवर चर्चा करूया, जे डेलिगेशन पॅरामीटर्स आहेत. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -इंडेक्सिंग रिवॉर्ड कट - इंडेक्सिंग रिवॉर्ड कट हा रिवॉर्डचा भाग आहे जो इंडेक्सर स्वतःसाठी ठेवतो. याचा अर्थ 100% वर सेट केल्यास, प्रतिनिधी म्हणून तुम्हाला 0 इंडेक्सिंग रिवॉर्ड मिळतील. तुम्हाला UI मध्ये 80% दिसल्यास, याचा अर्थ प्रतिनिधी म्हणून, तुम्हाला 20% मिळेल. एक महत्त्वाची टीप - नेटवर्कच्या सुरूवातीस, बहुसंख्य पुरस्कारांसाठी अनुक्रमणिका रिवॉर्ड्स असतील. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![इंडेक्सिंग रिवॉर्ड कट](/img/Indexing-Reward-Cut.png) *टॉप इंडेक्सर प्रतिनिधींना 90% बक्षिसे देत आहे. द मधला प्रतिनिधी 20% देत आहे. सर्वात खालचा भाग प्रतिनिधींना ~83% देत आहे.*
    -- क्वेरी फी कट - हे इंडेक्सिंग रिवॉर्ड कट प्रमाणेच कार्य करते. तथापि, हे विशेषत: इंडेक्सर गोळा केलेल्या क्वेरी शुल्कावरील परताव्यासाठी आहे. हे लक्षात घेतले पाहिजे की नेटवर्कच्या सुरूवातीस, अनुक्रमणिकेच्या रिवॉर्डच्या तुलनेत क्वेरी फीमधून मिळणारे रिटर्न खूपच कमी असेल. नेटवर्कमधील क्वेरी शुल्क अधिक लक्षणीय केव्हा सुरू होईल हे निर्धारित करण्यासाठी नेटवर्ककडे लक्ष देण्याची शिफारस केली जाते. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -जसे तुम्ही बघू शकता, योग्य इंडेक्सर निवडण्यासाठी बरेच विचार करणे आवश्यक आहे. म्हणूनच आम्ही शिफारस करतो की, प्रतिनिधींना सातत्याने बक्षीस देण्यासाठी इंडेक्सर्स सर्वोत्तम सामाजिक प्रतिष्ठा आणि तांत्रिक प्रतिष्ठा असलेले कोण आहेत हे निर्धारित करण्यासाठी तुम्ही ग्राफ डिस्कॉर्ड एक्सप्लोर करा. अनेक इंडेक्सर्स Discord मध्ये खूप सक्रिय आहेत आणि तुमच्या प्रश्नांची उत्तरे देण्यात आनंद होईल. त्यापैकी बरेच जण टेस्टनेटमध्ये अनेक महिन्यांपासून इंडेक्स करत आहेत आणि डेलिगेटर्सना चांगला परतावा मिळविण्यात मदत करण्यासाठी त्यांचे सर्वोत्तम प्रयत्न करत आहेत, कारण यामुळे नेटवर्कचे आरोग्य आणि यश सुधारते. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Calculating Delegators expected return -A Delegator has to consider a lot of factors when determining the return. These include: +A Delegator must consider a lot of factors when determining the return. These include: - तांत्रिक प्रतिनिधी त्यांच्याकडे उपलब्ध असलेले प्रतिनिधी टोकन वापरण्याची इंडेक्सरची क्षमता देखील पाहू शकतो. जर इंडेक्सर उपलब्ध असलेल्या सर्व टोकन्सचे वाटप करत नसेल, तर ते स्वतःसाठी किंवा त्यांच्या प्रतिनिधींसाठी जास्तीत जास्त नफा मिळवत नाहीत. -- सध्या नेटवर्कमध्ये इंडेक्सर 1 ते 28 दिवसांच्या दरम्यान कधीही वाटप बंद करणे आणि बक्षिसे गोळा करणे निवडू शकतो. त्यामुळे हे शक्य आहे की इंडेक्सरकडे भरपूर बक्षिसे आहेत जी त्यांनी अद्याप गोळा केली नाहीत आणि त्यामुळे त्यांची एकूण बक्षिसे कमी आहेत. हे सुरुवातीच्या काळात विचारात घेतले पाहिजे. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Considering the query fee cut and indexing fee cut @@ -71,28 +73,32 @@ A Delegator has to consider a lot of factors when determining the return. These ![Share formula](/img/Share-Forumla.png) -या सूत्राचा वापर करून, आम्ही पाहू शकतो की इंडेक्सर जो प्रतिनिधींना केवळ 20% ऑफर करत आहे, प्रत्यक्षात प्रतिनिधींना 90% देणाऱ्या इंडेक्सरपेक्षा डेलिगेटर्सला अधिक चांगले बक्षीस देणे शक्य आहे. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -A Delegator can therefore do the math to determine that the Indexer offering 20% to Delegators, is offering a better return. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Considering the delegation capacity विचारात घेण्यासारखी दुसरी गोष्ट म्हणजे प्रतिनिधींची क्षमता. सध्या, डेलिगेशन रेशो 16 वर सेट केले आहे. याचा अर्थ असा की जर एखाद्या इंडेक्सरने 1,000,000 GRT स्टेक केले असेल, तर त्यांची डेलिगेशन क्षमता 16,000,000 GRT डेलिगेटेड टोकन्स आहे जी ते प्रोटोकॉलमध्ये वापरू शकतात. या रकमेवरील कोणतेही डेलिगेट केलेले टोकन सर्व डेलिगेटर रिवॉर्ड्स कमी करतील. -कल्पना करा की एका इंडेक्सरकडे 100,000,000 GRT सोपवलेले आहेत आणि त्यांची क्षमता फक्त 16,000,000 GRT आहे. याचा अर्थ प्रभावीपणे, 84,000,000 GRT टोकन टोकन मिळविण्यासाठी वापरले जात नाहीत. आणि सर्व प्रतिनिधी आणि इंडेक्सर, त्यांच्यापेक्षा कमी बक्षिसे मिळवत आहेत. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -त्यामुळे प्रतिनिधीने नेहमी इंडेक्सरच्या डेलिगेशन क्षमतेचा विचार केला पाहिजे आणि निर्णय घेताना त्याचा समावेश केला पाहिजे. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Delegator FAQs and Bugs ### MetaMask "Pending Transaction" Bug -**जेव्हा मी मेटामास्कमध्ये माझा व्यवहार सोपवण्याचा प्रयत्न करतो तेव्हा अपेक्षेपेक्षा जास्त काळ "प्रलंबित" किंवा "रांगेत" असे दिसते. मी काय करू?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -काही वेळा, मेटामास्क द्वारे इंडेक्सर्सना सोपवण्याचे प्रयत्न अयशस्वी होऊ शकतात आणि परिणामी दीर्घकाळ "प्रलंबित" किंवा "रांगेत" व्यवहार प्रयत्न केले जातात. उदाहरणार्थ, वापरकर्ता सध्याच्या किमतींच्या तुलनेत अपुरे गॅस शुल्क सोपवण्याचा प्रयत्न करू शकतो, परिणामी व्यवहाराचा प्रयत्न त्यांच्या MetaMask वॉलेटमध्ये 15+ मिनिटांसाठी "प्रलंबित" म्हणून प्रदर्शित होईल. जेव्हा हे घडते तेव्हा, वापरकर्त्याद्वारे त्यानंतरच्या व्यवहारांचा प्रयत्न केला जाऊ शकतो, परंतु प्रारंभिक व्यवहार खनन होईपर्यंत त्यावर प्रक्रिया केली जाणार नाही, कारण पत्त्यावरील व्यवहारांची क्रमाने प्रक्रिया करणे आवश्यक आहे. अशा परिस्थितीत, हे व्यवहार MetaMask मध्ये रद्द केले जाऊ शकतात, परंतु त्यानंतरचे प्रयत्न यशस्वी होतील याची कोणतीही हमी न देता व्यवहाराच्या प्रयत्नांवर गॅस शुल्क जमा होईल. या बगचे सोपे निराकरण म्हणजे ब्राउझर रीस्टार्ट करणे (उदा. अॅड्रेस बारमध्ये "अ‍ॅबोर्ट:रीस्टार्ट" वापरणे), जे वॉलेटमधून गॅस वजा न करता मागील सर्व प्रयत्न रद्द करेल. अनेक वापरकर्ते ज्यांना ही समस्या आली आहे आणि त्यांनी त्यांचे ब्राउझर रीस्टार्ट केल्यानंतर आणि नियुक्त करण्याचा प्रयत्न केल्यानंतर यशस्वी व्यवहार नोंदवले आहेत. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Video guide for the network UI -हे मार्गदर्शक या दस्तऐवजाचे संपूर्ण पुनरावलोकन प्रदान करते आणि UI सह संवाद साधताना या दस्तऐवजातील प्रत्येक गोष्टीचा विचार कसा करावा. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From 39f65aa416747dbc31e5fa0b0c575b532f282d3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:27 -0400 Subject: [PATCH 1460/2326] New translations delegating.mdx (Hindi) --- website/pages/hi/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/hi/network/delegating.mdx b/website/pages/hi/network/delegating.mdx index 3ced69566ba6..1d7a12839a64 100644 --- a/website/pages/hi/network/delegating.mdx +++ b/website/pages/hi/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegating --- -डेलिगेटर्स नेटवर्क सहभागी होते हैं जो एक या अधिक अनुक्रमणकों को GRT सौंपते हैं (अर्थात, "हिस्सेदारी")। प्रतिनिधि स्वयं ग्राफ़ नोड चलाए बिना नेटवर्क को सुरक्षित करने में योगदान करते हैं। +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -एक इंडेक्सर को प्रत्यायोजित करके, डेलिगेटर्स इंडेक्सर की क्वेरी फीस और पुरस्कारों का एक हिस्सा अर्जित करते हैं। एक अनुक्रमणिका द्वारा संसाधित की जा सकने वाली प्रश्नों की मात्रा अनुक्रमणक की अपनी (और प्रत्यायोजित) हिस्सेदारी और प्रत्येक प्रश्न के लिए अनुक्रमणक शुल्क की कीमत पर निर्भर करती है, इसलिए एक अनुक्रमणिका को जितनी अधिक हिस्सेदारी आवंटित की जाती है, उतनी ही अधिक संभावित क्वेरी को वे संसाधित कर सकते हैं। +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## प्रतिनिधि गाइड -यह मार्गदर्शिका बताएगी कि ग्राफ़ नेटवर्क में एक प्रभावी प्रतिनिधि कैसे बनें। प्रतिनिधि अपने प्रत्यायोजित हिस्सेदारी के आधार पर सभी इंडेक्सर्स के साथ प्रोटोकॉल की कमाई साझा करते हैं। एक प्रतिनिधि को कई कारकों के आधार पर अनुक्रमणिका चुनने के लिए अपने सर्वोत्तम निर्णय का उपयोग करना चाहिए। कृपया ध्यान दें कि यह गाइड मेटामास्क को ठीक से सेट करने जैसे चरणों पर नहीं जाएगी, क्योंकि यह जानकारी इंटरनेट पर व्यापक रूप से उपलब्ध है। इस गाइड में तीन खंड हैं: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - ग्राफ़ नेटवर्क में टोकन सौंपने का जोखिम - प्रतिनिधि के रूप में अपेक्षित रिटर्न की गणना कैसे करें @@ -22,15 +24,15 @@ title: Delegating प्रतिनिधियों को खराब व्यवहार के लिए कम नहीं किया जा सकता है, लेकिन खराब निर्णय लेने को हतोत्साहित करने के लिए प्रतिनिधियों पर एक कर है जो नेटवर्क की अखंडता को नुकसान पहुंचा सकता है। -यह समझना महत्वपूर्ण है कि हर बार जब आप सौंपते हैं, तो आपसे 0.5% शुल्क लिया जाएगा। इसका मतलब है कि अगर आप 1000 GRT सौंप रहे हैं, तो आप अपने आप 5 GRT बर्न कर लेंगे. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -इसका मतलब यह है कि सुरक्षित होने के लिए, एक प्रतिनिधि को यह गणना करनी चाहिए कि अनुक्रमणिका को सौंपने से उनकी वापसी क्या होगी। उदाहरण के लिए, एक प्रतिनिधि यह गणना कर सकता है कि उसे अपने प्रतिनिधिमंडल पर 0.5% कर वापस अर्जित करने में कितने दिन लगेंगे। +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### प्रतिनिधिमंडल बंधन अवधि -जब भी कोई प्रतिनिधि अनाधिकृत करना चाहता है, तो उनके टोकन 28-दिन की अनबॉन्डिंग अवधि के अधीन होते हैं। इसका मतलब है कि वे 28 दिनों के लिए अपने टोकन स्थानांतरित नहीं कर सकते हैं या कोई पुरस्कार अर्जित नहीं कर सकते हैं। +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -एक बात पर भी विचार करना चाहिए कि एक इंडेक्सर को बुद्धिमानी से चुनना है। यदि आप एक ऐसे इंडेक्सर को चुनते हैं जो भरोसेमंद नहीं था, या अच्छा काम नहीं कर रहा था, तो आप अनाधिकृत करना चाहेंगे, जिसका अर्थ है कि आप पुरस्कार अर्जित करने के बहुत सारे अवसर खो देंगे, जो जीआरटी जलाने जितना ही बुरा हो सकता है। +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![डेलिगेशन अनबॉन्डिंग](/img/Delegation-Unbonding.png) _डेलीगेशन UI में 0.5% शुल्क और साथ ही 28 दिन पर ध्यान दें @@ -39,25 +41,25 @@ title: Delegating ### डेलीगेटर्स के लिए उचित इनाम भुगतान के साथ एक भरोसेमंद इंडेक्सर चुनना -यह समझने का एक महत्वपूर्ण हिस्सा है। पहले तीन बहुत महत्वपूर्ण मूल्यों पर चर्चा करते हैं, जो कि डेलिगेशन पैरामीटर्स हैं। +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -इंडेक्सिंग रिवार्ड कट - इंडेक्सिंग रिवार्ड कट उन रिवॉर्ड्स का हिस्सा है जो इंडेक्सर अपने लिए रखेंगे। इसका मतलब है कि अगर इसे 100% पर सेट किया जाता है, तो डेलिगेटर के तौर पर आपको 0 इंडेक्सिंग रिवॉर्ड्स मिलेंगे। यदि आप यूआई में 80% देखते हैं, तो इसका मतलब है कि एक प्रतिनिधि के रूप में, आपको 20% प्राप्त होगा। एक महत्वपूर्ण नोट - नेटवर्क की शुरुआत में, इंडेक्सिंग रिवार्ड्स अधिकांश पुरस्कारों के लिए जिम्मेदार होंगे। +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![इंडेक्सिंग रिवॉर्ड कट](/img/Indexing-Reward-Cut.png) *शीर्ष इंडेक्सर डेलीगेटर्स को पुरस्कारों का 90% दे रहा है। बीच वाला प्रतिनिधि को 20% दे रहा है। नीचे वाला डेलिगेटरों को ~83% दे रहा है।*
    -- प्रश्न शुल्क कट - यह बिल्कुल इंडेक्सिंग रिवार्ड कट की तरह काम करता है। हालाँकि, यह विशेष रूप से इंडेक्सर द्वारा एकत्र की जाने वाली क्वेरी फीस पर रिटर्न के लिए है। यह ध्यान दिया जाना चाहिए कि नेटवर्क की शुरुआत में, इंडेक्सिंग रिवार्ड की तुलना में क्वेरी फीस से रिटर्न बहुत कम होगा। यह निर्धारित करने के लिए नेटवर्क पर ध्यान देने की सिफारिश की जाती है कि नेटवर्क में क्वेरी शुल्क कब अधिक महत्वपूर्ण होने लगेगा। +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -जैसा कि आप देख सकते हैं, सही अनुक्रमणिका का चयन करने में बहुत विचार किया जाना चाहिए। यही कारण है कि हम अत्यधिक अनुशंसा करते हैं कि आप डेलीगेटर्स को लगातार पुरस्कृत करने के लिए सबसे अच्छी सामाजिक प्रतिष्ठा और तकनीकी प्रतिष्ठा वाले इंडेक्सर्स का निर्धारण करने के लिए द ग्राफ डिसॉर्डर का अन्वेषण करें। कई इंडेक्सर्स डिस्कॉर्ड में बहुत सक्रिय हैं और आपके सवालों का जवाब देने में खुशी होगी। उनमें से कई टेस्टनेट में महीनों से इंडेक्सिंग कर रहे हैं, और डेलीगेटर्स को अच्छा रिटर्न कमाने में मदद करने की पूरी कोशिश कर रहे हैं, क्योंकि इससे नेटवर्क की सेहत और सफलता में सुधार होता है। +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### डेलीगेटर्स की अपेक्षित वापसी की गणना -वापसी का निर्धारण करते समय एक प्रतिनिधि को कई कारकों पर विचार करना पड़ता है। इसमे शामिल है: +A Delegator must consider a lot of factors when determining the return. These include: - एक तकनीकी डेलीगेटर इंडेक्सर की उनके लिए उपलब्ध प्रत्यायोजित टोकन का उपयोग करने की क्षमता को भी देख सकता है। यदि कोई इंडेक्सर उपलब्ध सभी टोकन आवंटित नहीं कर रहा है, तो वे स्वयं या उनके प्रतिनिधियों के लिए अधिकतम लाभ अर्जित नहीं कर रहे हैं। -- अभी नेटवर्क में एक इंडेक्सर आवंटन को बंद करने और 1 से 28 दिनों के बीच किसी भी समय पुरस्कार एकत्र करने का विकल्प चुन सकता है। इसलिए यह संभव है कि एक इंडेक्सर के पास बहुत सारे पुरस्कार हैं जो उसने अभी तक एकत्र नहीं किए हैं, और इस प्रकार, उनके कुल पुरस्कार कम हैं। शुरुआती दिनों में इसे ध्यान में रखा जाना चाहिए। +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### प्रश्न शुल्क में कटौती और अनुक्रमण शुल्क में कटौती को ध्यान में रखते हुए @@ -71,28 +73,32 @@ title: Delegating ![साझा सूत्र](/img/Share-Forumla.png) -इस फॉर्मूले का उपयोग करके, हम देख सकते हैं कि एक इंडेक्सर के लिए वास्तव में यह संभव है जो डेलीगेटर्स को केवल 20% की पेशकश कर रहा है, वास्तव में डेलिगेटरों को एक इंडेक्सर की तुलना में एक बेहतर इनाम दे रहा है जो डेलिगेटरों को 90% दे रहा है। +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -एक प्रतिनिधि इसलिए यह निर्धारित करने के लिए गणित कर सकता है कि प्रतिनिधिमंडलों को 20% की पेशकश करने वाला सूचकांक बेहतर रिटर्न की पेशकश कर रहा है। +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### प्रतिनिधिमंडल की क्षमता को ध्यान में रखते हुए एक और बात पर विचार करना प्रतिनिधिमंडल की क्षमता है। वर्तमान में, प्रत्यायोजन अनुपात 16 पर सेट है। इसका अर्थ है कि यदि किसी अनुक्रमणिका ने 1,000,000 GRT दांव पर लगा दिया है, तो उनकी प्रत्यायोजन क्षमता प्रत्यायोजित टोकन की 16,000,000 GRT है जिसे वे प्रोटोकॉल में उपयोग कर सकते हैं। इस राशि से अधिक का कोई भी प्रत्यायोजित टोकन सभी प्रतिनिधि पुरस्कारों को कम कर देगा। -कल्पना करें कि एक इंडेक्सर को 100,000,000 GRT प्रत्यायोजित किया गया है, और उनकी क्षमता केवल 16,000,000 GRT है। इसका मतलब है कि प्रभावी रूप से, 84,000,000 GRT टोकन का उपयोग टोकन अर्जित करने के लिए नहीं किया जा रहा है। और सभी डेलिगेटर्स, और इंडेक्सर, जितना हो सकता था उससे कम पुरस्कार अर्जित कर रहे हैं। +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -इसलिए एक डेलीगेटर को हमेशा एक इंडेक्सर की डेलिगेशन क्षमता पर विचार करना चाहिए, और इसे अपने निर्णय लेने में शामिल करना चाहिए। +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## प्रतिनिधि अक्सर पूछे जाने वाले प्रश्न और बग ### मेटामास्क "लंबित लेन-देन" बग -**जब मैं मेटामास्क में अपने लेन-देन को प्रत्यायोजित करने का प्रयास करता हूं तो अपेक्षा से अधिक समय तक "लंबित" या "कतारबद्ध" के रूप में प्रकट होता है। इक्या करु** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -कई बार, मेटामास्क के माध्यम से इंडेक्सर्स को सौंपने का प्रयास विफल हो सकता है और "लंबित" या "कतारबद्ध" लेनदेन प्रयासों की लंबी अवधि में परिणाम हो सकता है। उदाहरण के लिए, एक उपयोगकर्ता मौजूदा कीमतों के सापेक्ष अपर्याप्त गैस शुल्क के साथ प्रत्यायोजित करने का प्रयास कर सकता है, जिसके परिणामस्वरूप लेन-देन का प्रयास 15+ मिनट के लिए उनके मेटामास्क वॉलेट में "लंबित" के रूप में प्रदर्शित होता है। जब ऐसा होता है, तो उपयोगकर्ता द्वारा बाद के लेन-देन का प्रयास किया जा सकता है, लेकिन इन्हें तब तक संसाधित नहीं किया जाएगा जब तक कि प्रारंभिक लेन-देन का खनन न हो जाए, क्योंकि एक पते के लिए लेन-देन को क्रम में संसाधित किया जाना चाहिए। ऐसे मामलों में, इन लेन-देन को मेटामास्क में रद्द किया जा सकता है, लेकिन लेन-देन के प्रयास बिना किसी गारंटी के गैस शुल्क अर्जित करेंगे कि बाद के प्रयास सफल होंगे। इस बग का एक सरल समाधान ब्राउज़र को फिर से शुरू करना है (उदाहरण के लिए, एड्रेस बार में "abort:restart" का उपयोग करना), जो बटुए से गैस घटाए बिना पिछले सभी प्रयासों को रद्द कर देगा। कई उपयोगकर्ता जिन्होंने इस समस्या का सामना किया है और अपने ब्राउज़र को फिर से शुरू करने और सौंपने का प्रयास करने के बाद सफल लेन-देन की सूचना दी है। +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## नेटवर्क यूआई के लिए वीडियो गाइड -यह गाइड इस दस्तावेज़ की पूरी समीक्षा प्रदान करती है, और यह भी बताती है कि UI के साथ इंटरैक्ट करते समय इस दस्तावेज़ की हर चीज़ पर कैसे विचार किया जाए। +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From 7f3eb0f6024bfd3b86def046873f0b1127760654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:28 -0400 Subject: [PATCH 1461/2326] New translations delegating.mdx (Yoruba) --- website/pages/yo/network/delegating.mdx | 46 ++++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/website/pages/yo/network/delegating.mdx b/website/pages/yo/network/delegating.mdx index 4a6d6e00b73e..81824234e072 100644 --- a/website/pages/yo/network/delegating.mdx +++ b/website/pages/yo/network/delegating.mdx @@ -2,13 +2,15 @@ title: Delegating --- -Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators contribute to securing the network without running a Graph Node themselves. +Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. -By delegating to an Indexer, Delegators earn a portion of the Indexer's query fees and rewards. The amount of queries an Indexer can process depends on the Indexer's own (and delegated) stake and the price the Indexer charges for each query, so the more stake that is allocated to an Indexer, the more potential queries they can process. +Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. ## Delegator Guide -This guide will explain how to be an effective Delegator in the Graph Network. Delegators share earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not go over steps such as setting up Metamask properly, as that information is widely available on the internet. There are three sections in this guide: +This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. + +There are three sections in this guide: - The risks of delegating tokens in The Graph Network - How to calculate expected returns as a Delegator @@ -22,15 +24,15 @@ Listed below are the main risks of being a Delegator in the protocol. Delegators cannot be slashed for bad behavior, but there is a tax on Delegators to disincentivize poor decision-making that could harm the integrity of the network. -It is important to understand that every time you delegate, you will be charged 0.5%. This means if you are delegating 1000 GRT, you will automatically burn 5 GRT. +It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. -This means that to be safe, a Delegator should calculate what their return will be by delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. +In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. ### The delegation unbonding period -Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens, or earn any rewards for 28 days. +Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. -One thing to consider as well is choosing an Indexer wisely. If you choose an Indexer who was not trustworthy, or not doing a good job, you will want to undelegate, which means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT. +Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) _Note the 0.5% fee in the Delegation UI, as well as the 28 day @@ -39,25 +41,25 @@ One thing to consider as well is choosing an Indexer wisely. If you choose an In ### Choosing a trustworthy Indexer with a fair reward payout for Delegators -This is an important part to understand. First let's discuss three very important values, which are the Delegation Parameters. +This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. -Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. That means if it is set to 100%, as a Delegator you will get 0 indexing rewards. If you see 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards. +Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *The top Indexer is giving Delegators 90% of the rewards. The middle one is giving Delegators 20%. The bottom one is giving Delegators ~83%.*
    -- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this is specifically for returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended to pay attention to the network to determine when the query fees in the network will start to be more significant. +- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. -As you can see, there is a lot of thought that must go into choosing the right Indexer. This is why we highly recommend you explore The Graph Discord to determine who the Indexers are with the best social reputation, and technical reputation, to reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months in the testnet, and are doing their best to help Delegators earn a good return, as it improves the health and success of the network. +As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. ### Calculating Delegators expected return -A Delegator has to consider a lot of factors when determining the return. These include: +A Delegator must consider a lot of factors when determining the return. These include: - A technical Delegator can also look at the Indexer's ability to use the Delegated tokens available to them. If an Indexer is not allocating all the tokens available, they are not earning the maximum profit they could be for themselves or their Delegators. -- Right now in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So it is possible that an Indexer has a lot of rewards they have not collected yet, and thus, their total rewards are low. This should be taken into consideration in the early days. +- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. ### Considering the query fee cut and indexing fee cut @@ -71,28 +73,32 @@ Another thing a Delegator has to consider is what proportion of the Delegation P ![Share formula](/img/Share-Forumla.png) -Using this formula, we can see that it is actually possible for an Indexer who is offering only 20% to Delegators, to actually be giving Delegators an even better reward than an Indexer who is giving 90% to Delegators. +Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. -A Delegator can therefore do the math to determine that the Indexer offering 20% to Delegators, is offering a better return. +Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. ### Considering the delegation capacity Another thing to consider is the delegation capacity. Currently, the Delegation Ratio is set to 16. This means that if an Indexer has staked 1,000,000 GRT, their Delegation Capacity is 16,000,000 GRT of Delegated tokens that they can use in the protocol. Any delegated tokens over this amount will dilute all the Delegator rewards. -Imagine an Indexer has 100,000,000 GRT delegated to them, and their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. And all the Delegators, and the Indexer, are earning way less rewards than they could be. +Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. -Therefore a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. +Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. ## Delegator FAQs and Bugs ### MetaMask "Pending Transaction" Bug -**When I try to delegate my transaction in MetaMask appears as "Pending" or "Queued" for longer than expected. What should I do?** +**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** + +At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. + +For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. -At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, subsequent transactions can be attempted by a user, but these will not be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. A simpler resolution to this bug is restarting the browsesr (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users that have encountered this issue and have reported successful transactions after restarting their browser and attempting to delegate. +A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. ## Video guide for the network UI -This guide provides a full review of this document, and how to consider everything in this document while interacting with the UI. +This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. From 5572527c20b32195693196282ae5d41ff5d19817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:29 -0400 Subject: [PATCH 1462/2326] New translations quick-start.mdx (Romanian) --- website/pages/ro/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/ro/quick-start.mdx b/website/pages/ro/quick-start.mdx index 295de75c8a0f..cba2247457b8 100644 --- a/website/pages/ro/quick-start.mdx +++ b/website/pages/ro/quick-start.mdx @@ -8,26 +8,25 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve This guide is written assuming that you have: -- A smart contract address on the network of your choice -- GRT to curate your subgraph - A crypto wallet +- A smart contract address on the network of your choice ## 1. Create a subgraph on Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Install the Graph CLI -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +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. On your local machine, run one of the following commands: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Initialize your Subgraph +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ When you initialize your subgraph, the CLI tool will ask you for the following i - Index contract events as entities: it is suggested that you set this to true as it will automatically add mappings to your subgraph for every emitted event - Add another contract(optional): you can add another contract -Initialize your subgraph from an existing contract by running the following command: - -```sh -graph init --studio -``` - See the following screenshot for an example for what to expect when initializing your subgraph: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Write your Subgraph +## 4. Write your subgraph The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Test your subgraph -You can test your subgraph by making a sample query in the playground section. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. The logs will tell you if there are any errors with your subgraph. The logs of an operational subgraph will look like this: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Publish Your Subgraph to The Graph’s Decentralized Network +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ To save on gas costs, you can curate your subgraph in the same transaction that ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Query your Subgraph +## 8. Query your subgraph Now, you can query your subgraph by sending GraphQL queries to your subgraph’s Query URL, which you can find by clicking on the query button. -You can query from your dapp if you don't have your API key via the free, rate-limited temporary query URL that can be used for development and staging. +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 [here](/querying/querying-the-graph/). From 205da51caeba613925f71b20f176e252fa8b8ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:30 -0400 Subject: [PATCH 1463/2326] New translations quick-start.mdx (French) --- website/pages/fr/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/fr/quick-start.mdx b/website/pages/fr/quick-start.mdx index f857e59eacfa..25d4ae1f22c2 100644 --- a/website/pages/fr/quick-start.mdx +++ b/website/pages/fr/quick-start.mdx @@ -8,26 +8,25 @@ Assurez-vous que votre subgraph indexera les données d'un [réseau pris en char Ce guide est rédigé en supposant que vous possédez : -- Une adresse de smart contract sur le réseau de votre choix -- Des GRT pour la curation de votre subgraph - Un portefeuille crypto +- Une adresse de smart contract sur le réseau de votre choix ## 1. Créez un subgraph sur Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Installez la CLI Graph -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +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. Sur votre machine locale, exécutez l'une des commandes suivantes : Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): npm install -g @graphprotocol/graph-cli ``` -## 3. Initialiser votre subgraph +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ Lorsque vous initialisez votre subgraph, l'outil CLI vous demande les informatio - Indexer les événements de contrat en tant qu'entités : il est suggéré de définir cette valeur sur true car cela ajoutera automatiquement des mappages à votre subgraph pour chaque événement émis - Ajouter un autre contrat (facultatif) : vous pouvez ajouter un autre contrat -Initialisez votre subgraph à partir d'un contrat existant en exécutant la commande suivante : - -```sh -graph init --studio -``` - La capture d'écran suivante donne un exemple de ce qui vous attend lors de l'initialisation de votre subgraph : ![Subgraph command](/img/subgraph-init-example.png) -## 4. Rédigez votre subgraph +## 4. Write your subgraph Les commandes précédentes créent un subgraph d'échafaudage que vous pouvez utiliser comme point de départ pour construire votre propre subgraph. Lorsque vous apporterez des modifications au subgraph, vous travaillerez principalement avec trois fichiers : @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Testez votre subgraph -Vous pouvez tester votre subgraph en effectuant une requête type dans la section de l'aire de jeux. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. Les registres ou logs vous indiqueront s'il y a des erreurs avec votre subgraph. Les logs d'un subgraph opérationnel ressembleront à ceci : @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Publier votre subgraph sur le réseau décentralisé de The Graph +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ Pour économiser sur les coûts de gaz, vous pouvez organiser votre subgraph dan ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Interrogez votre subgraph +## 8. Query your subgraph Désormais, vous pouvez interroger votre subgraph en envoyant des requêtes GraphQL à l'URL de requête de votre subgraph, que vous pouvez trouver en cliquant sur le bouton de requête. -Si vous n'avez pas votre clé API, vous pouvez effectuer une requête à partir de votre dapp via l'URL de requête temporaire gratuite et limitée dans le temps, qui peut être utilisée pour le développement et la mise à l'essai. +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 [here](/querying/querying-the-graph/). From 1e221fbf7d891bfd8dadbfaedcf5c879b0f24e04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:32 -0400 Subject: [PATCH 1464/2326] New translations quick-start.mdx (Spanish) --- website/pages/es/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/es/quick-start.mdx b/website/pages/es/quick-start.mdx index 0d862cde7716..b0765ca7fd36 100644 --- a/website/pages/es/quick-start.mdx +++ b/website/pages/es/quick-start.mdx @@ -8,26 +8,25 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve Esta guía está escrita asumiendo que tú tienes: -- Una dirección de un smart contract en la red de tu preferencia -- GRT para crear tu subgráfo - Una wallet crypto +- Una dirección de un smart contract en la red de tu preferencia ## 1. Crea un subgrafo en el Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Instala the graph CLI -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +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. En tu dispositivo, ejecuta alguno de los siguientes comandos: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Inicia tu subgrafo +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ Cuando inicies tu subgrafo, la herramienta CLI te preguntará por la siguiente i - Indexar eventos del contrato como entidades: se sugiere que lo establezcas en "verdadero" ya que automáticamente agregará mapeos a tu subgrafo para cada evento emitido - Añade otro contrato(opcional): puedes añadir otro contrato -Inicializa tu subgrafo a partir de un contrato existente ejecutando el siguiente comando: - -```sh -graph init --studio -``` - Ve la siguiente captura para un ejemplo de que debes de esperar cuando inicializes tu subgrafo: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Escribe tu subgrafo +## 4. Write your subgraph Los comandos anteriores crean un subgrafo de andamio que puedes utilizar como punto de partida para construir tu subgrafo. Al realizar cambios en el subgrafo, trabajarás principalmente con tres archivos: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Prueba tu subgrafo -Puedes probar tu subgrafo haciendo una consulta de muestra en la sección de "playground". +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. Los registros te indicarán si hay algún error con tu subgrafo. Los registros de un subgrafo operativo se verán así: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Publica tu subgrafo en la red descentralizada de the graph +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ Para ahorrar en costos de gas, puedes curar tu subgrafo en la misma transacción ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Consulta tu subgrafo +## 8. Query your subgraph Ahora puedes hacer consultas a tu subgrafo enviando consultas GraphQL a la URL de consulta de tu subgrafo, que puedes encontrar haciendo clic en el botón de consulta. -Puedes consultar desde tu dapp si no tienes tu clave de API a través de la URL de consulta temporal, libre y de tarifa limitada, que puede utilizarse para el desarrollo y la puesta en marcha. +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 [here](/querying/querying-the-graph/). From 7c24fc1b88357cd46910e3ebb74f3a28a3e0a521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:32 -0400 Subject: [PATCH 1465/2326] New translations quick-start.mdx (Arabic) --- website/pages/ar/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/ar/quick-start.mdx b/website/pages/ar/quick-start.mdx index 2c51215d041b..f510c6ba381d 100644 --- a/website/pages/ar/quick-start.mdx +++ b/website/pages/ar/quick-start.mdx @@ -8,26 +8,25 @@ This guide will quickly take you through how to initialize, create, and deploy y تم كتابة هذا الدليل على افتراض أن لديك: -- عنوان عقد ذكي على الشبكة التي تختارها -- GRT to curate your subgraph - محفظة عملات رقمية +- عنوان عقد ذكي على الشبكة التي تختارها ## 1. Create a subgraph on Subgraph Studio انتقل إلى [سبغراف استوديو] (https://thegraph.com/studio) وقم بربط محفظتك. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Install the Graph CLI -أداة واجهة سطر الأوامر للغراف Graph CLI مكتوبة بلغة جافاسكريبت وستحتاج إلى تثبيت npm أو yarn لاستخدامها. +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. On your local machine, run one of the following commands: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Initialize your Subgraph +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > يمكنك العثور على الأوامر المتعلقة بالغراف الفرعي الخاص بك على صفحة الغراف الفرعي في (سبغراف استوديو) (https://thegraph.com/studio). @@ -53,17 +58,11 @@ yarn global add @graphprotocol/graph-cli - فهرسة أحداث العقد ككيانات: يُقترح ضبط هذا الخيار على "صحيح" (True) حيث سيتم إضافة تعيينات تلقائية إلى غرافك الفرعي لكل حدث يتم إصداره - إضافة عقد آخر (اختياري): يمكنك إضافة عقد آخر -قم بتهيئة غرافك الفرعي من عقد موجود عن طريق تنفيذ الأمر التالي: - -```sh -graph init --studio -``` - يرجى مراجعة الصورة المرفقة كمثال عن ما يمكن توقعه عند تهيئة غرافك الفرعي: أمر الغراف الفرعي(/img/subgraph-init-example.png) -## 4. اكتب غرافك الفرعي +## 4. Write your subgraph الأوامر السابقة تنشئ هيكل غرافك الفرعي والذي يمكنك استخدامه كنقطة بداية لبناء غرافك الفرعي. عند إجراء تغييرات على الغراف الفرعي، ستعمل بشكل رئيسي مع ثلاثة ملفات: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. اختبر غرافك الفرعي -يمكنك اختبار غرافك الفرعي بإجراء استعلام تجريبي في قسم الملعب (Playground). +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. ستخبرك السجلات إذا كانت هناك أي أخطاء في غرافك الفرعي. ستبدو سجلات الغراف الفرعي الفعّال على النحو التالي: @@ -143,15 +142,15 @@ You will be asked for a version label. It's strongly recommended to use [semver] } ``` -## 7. قم بنشر غرافك الفرعي على شبكة الغراف اللامركزية +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, you will be able to click the publish button on the top right of your subgraph's page. حدد الشبكة التي ترغب في نشر غرافك الفرعي عليها. يُوصى بنشر الغرافات الفرعية على شبكة أربترم ون للاستفادة من [سرعة معاملات أسرع وتكاليف غاز أقل](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ For a higher quality of service and stronger redundancy, you can curate your sub ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. استعلم عن غرافك الفرعي +## 8. Query your subgraph الآن يمكنك الاستعلام عن غرافك الفرعي عن طريق إرسال استعلامات لغة GraphQL إلى عنوان استعلامات غرافك الفرعي URL والذي يمكنك أن تجده عن طريق النقر على زر الاستعلام. -يمكنك الاستعلام من التطبيق اللامركزي الخاص بك إذا لم يكن لديك مفتاح لواجهة برمجة التطبيقات عبر عنوان URL للاستعلام المؤقت المجاني والمحدود المعدل والذي يمكن استخدامه للتطوير والتدريج. +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 [here](/querying/querying-the-graph/). From 3cfff3216ab5f4127e1f4bec62999ac52a249521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:33 -0400 Subject: [PATCH 1466/2326] New translations quick-start.mdx (Czech) --- website/pages/cs/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/cs/quick-start.mdx b/website/pages/cs/quick-start.mdx index ac5c6f14f09b..0769dcff9e78 100644 --- a/website/pages/cs/quick-start.mdx +++ b/website/pages/cs/quick-start.mdx @@ -8,26 +8,25 @@ Ujistěte se, že váš podgraf bude indexovat data z [podporované sítě](/dev Tato příručka je napsána za předpokladu, že máte: -- Adresa chytrého kontraktu v síti podle vašeho výběru -- GRT ke kurátorství vašeho podgrafu - Kryptopeněženka +- Adresa chytrého kontraktu v síti podle vašeho výběru ## 1. Vytvoření podgrafu v Subgraph Studio Přejděte do [Subgraph Studio](https://thegraph.com/studio/) a připojte peněženku. -Po připojení můžete začít kliknutím na tlačítko "Create a Subgraph". +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." ## 2. Nainstalujte Graph CLI -Graph CLI je napsáno v JavaScript a k jeho použití je třeba mít nainstalovaný buď `npm`, nebo `yarn`. +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. V místním počítači spusťte jeden z následujících příkazů: Použitím [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Použitím [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Použitím [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Inicializujte podgraf +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > Příkazy pro konkrétní podgraf najdete na stránce podgrafu v [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ Při inicializaci podgrafu vás nástroj CLI požádá o následující informac - Indexovat události smlouvy jako entity: doporučujeme nastavit tuto hodnotu na true, protože se automaticky přidá mapování do vašeho subgrafu pro každou emitovanou událost - Přidat další smlouvu(nepovinné): můžete přidat další smlouvu -Inicializujte podgraf z existující smlouvy spuštěním následujícího příkazu: - -```sh -graph init --studio -``` - Na následujícím snímku najdete příklad toho, co můžete očekávat při inicializaci podgrafu: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Napište svůj podgraf +## 4. Write your subgraph Předchozí příkazy vytvořily podgraf lešení, který můžete použít jako výchozí bod pro sestavení podgrafu. Při provádění změn v podgrafu budete pracovat především se třemi soubory: @@ -93,7 +92,7 @@ Budete vyzváni k zadání štítku verze. Důrazně se doporučuje použít [se ## 6. Otestujte svůj podgraf -Svůj podgraf můžete otestovat pomocí vzorového dotazu v sekci hřiště. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. V protokolech se dozvíte, zda se v podgrafu vyskytly nějaké chyby. Protokoly funkčního podgrafu budou vypadat takto: @@ -143,15 +142,15 @@ Pokud podgraf selhává, můžete se na stav podgrafu zeptat pomocí nástroje G } ``` -## 7. Zveřejnění subgrafu v decentralizované síti grafu +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, you will be able to click the publish button on the top right of your subgraph's page. Vyberte síť, do které chcete podgraf publikovat. Doporučujeme publikovat podgrafy do sítě Arbitrum One, abyste mohli využít výhod [vyšší rychlost transakcí a nižší náklady na plyn](/arbitrum/arbitrum-faq). -(Upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] začne obsluhovat dotazy na vašem podgrafu bez ohledu na kurátorství podgrafu a poskytne vám 100,000 dotazů měsíčně zdarma. +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. Pro vyšší kvalitu služeb a silnější redundanci můžete svůj podgraf upravit tak, aby přilákal více indexátorů. V době psaní tohoto článku je doporučeno, abyste svůj podgraf kurátorovali s alespoň 3,000 GRT, abyste zajistili, že 3-5 dalších Indexerů začne obsluhovat dotazy na vašem podgrafu. @@ -159,10 +158,10 @@ Abyste ušetřili náklady na benzín, můžete svůj subgraf kurátorovat ve st ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Dotaz na podgraf +## 8. Query your subgraph Nyní se můžete dotazovat na svůj podgraf odesláním dotazů GraphQL na adresu URL dotazu podgrafu, kterou najdete kliknutím na tlačítko dotazu. -Pokud nemáte svůj klíč API, můžete se ze své aplikace dotazovat prostřednictvím bezplatné dočasné adresy URL pro dotazy s omezenou sazbou, kterou lze použít pro vývoj a staging. +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. Další informace o dotazování na data z podgrafu najdete [zde](/querying/querying-the-graph/). From 0fcb141b9549c502305dcb7799180e2f40c1aba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:34 -0400 Subject: [PATCH 1467/2326] New translations quick-start.mdx (German) --- website/pages/de/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/de/quick-start.mdx b/website/pages/de/quick-start.mdx index 8b79ba8d53d4..1a3c915185de 100644 --- a/website/pages/de/quick-start.mdx +++ b/website/pages/de/quick-start.mdx @@ -8,26 +8,25 @@ Stellen Sie sicher, dass Ihr Subgraph Daten aus einem [unterstützten Netzwerk] Bei der Erstellung dieses Leitfadens wird davon ausgegangen, dass Sie über die entsprechenden Kenntnisse verfügen: -- Eine Smart-Contract-Adresse im Netzwerk Ihrer Wahl nach -- GRT, um Ihren Subgraphen zu kuratieren - Eine Krypto-Wallet +- Eine Smart-Contract-Adresse im Netzwerk Ihrer Wahl nach ## 1. Erstellen Sie einen Untergraphen in Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Installieren der Graph-CLI -Die Graph-CLI ist in JavaScript geschrieben und Sie müssen entweder `npm` oder `yarn` installiert haben, um sie zu verwenden. +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. Führen Sie einen der folgenden Befehle auf Ihrem lokalen Computer aus: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Initialize your Subgraph +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ Wenn Sie Ihren Untergraphen initialisieren, fragt das CLI-Tool Sie nach den folg - Index contract events as entities (Vertragsereignisse als Entitäten): Es wird empfohlen, dies auf true (wahr) zu setzen, da es automatisch Zuordnungen zu Ihrem Subgraph für jedes emittierte Ereignis hinzufügt - Einen weiteren Vertrag hinzufügen (optional): Sie können einen weiteren Vertrag hinzufügen -Initialisieren Sie Ihren Subgraphen anhand eines bestehenden Vertrags, indem Sie den folgenden Befehl ausführen: - -```sh -graph init --studio -``` - Der folgende Screenshot zeigt ein Beispiel dafür, was Sie bei der Initialisierung Ihres Untergraphen ( Subgraph ) erwarten können: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Schreiben Sie Ihren Untergraph +## 4. Write your subgraph Die vorangegangenen Befehle erstellen einen gerüstartigen Subgraphen, den Sie als Ausgangspunkt für den Aufbau Ihres Subgraphen verwenden können. Wenn Sie Änderungen an dem Subgraphen vornehmen, werden Sie hauptsächlich mit @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Testen Sie Ihren Untergraphen ( Subgraphen ) -Sie können Ihren Untergraphen testen, indem Sie eine Beispielabfrage im Playground-Bereich erstellen. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. In den Protokollen können Sie sehen, ob es Fehler in Ihrem Subgraphen gibt. Die Protokolle eines funktionierenden Subgraphen sehen wie folgt aus: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Veröffentlichen Sie Ihren Subgraphen im dezentralen Netzwerk von The Graph +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ Um Gaskosten zu sparen, können Sie Ihren Subgraphen in der gleichen Transaktion ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Abfrage Ihres Subgraphen +## 8. Query your subgraph Jetzt können Sie Ihren Subgraphen abfragen, indem Sie GraphQL-Abfragen an die Abfrage-URL Ihres Subgraphen senden, die Sie durch Klicken auf die Abfrage-Schaltfläche finden können. -Wenn Sie Ihren API-Schlüssel nicht haben, können Sie von Ihrer App aus eine Abfrage über die kostenlose, zeitlich begrenzte Abfrage-URL durchführen, die für die Entwicklung und das Bereitstellen verwendet werden kann. +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 [here](/querying/querying-the-graph/). From 4977bdbc0d5d6f32549797a7cdd644c4d6d4ff13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:35 -0400 Subject: [PATCH 1468/2326] New translations quick-start.mdx (Italian) --- website/pages/it/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/it/quick-start.mdx b/website/pages/it/quick-start.mdx index 295de75c8a0f..cba2247457b8 100644 --- a/website/pages/it/quick-start.mdx +++ b/website/pages/it/quick-start.mdx @@ -8,26 +8,25 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve This guide is written assuming that you have: -- A smart contract address on the network of your choice -- GRT to curate your subgraph - A crypto wallet +- A smart contract address on the network of your choice ## 1. Create a subgraph on Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Install the Graph CLI -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +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. On your local machine, run one of the following commands: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Initialize your Subgraph +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ When you initialize your subgraph, the CLI tool will ask you for the following i - Index contract events as entities: it is suggested that you set this to true as it will automatically add mappings to your subgraph for every emitted event - Add another contract(optional): you can add another contract -Initialize your subgraph from an existing contract by running the following command: - -```sh -graph init --studio -``` - See the following screenshot for an example for what to expect when initializing your subgraph: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Write your Subgraph +## 4. Write your subgraph The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Test your subgraph -You can test your subgraph by making a sample query in the playground section. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. The logs will tell you if there are any errors with your subgraph. The logs of an operational subgraph will look like this: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Publish Your Subgraph to The Graph’s Decentralized Network +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ To save on gas costs, you can curate your subgraph in the same transaction that ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Query your Subgraph +## 8. Query your subgraph Now, you can query your subgraph by sending GraphQL queries to your subgraph’s Query URL, which you can find by clicking on the query button. -You can query from your dapp if you don't have your API key via the free, rate-limited temporary query URL that can be used for development and staging. +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 [here](/querying/querying-the-graph/). From 8100d7bee6babda710949ec07137229adcf75e40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:36 -0400 Subject: [PATCH 1469/2326] New translations quick-start.mdx (Japanese) --- website/pages/ja/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/ja/quick-start.mdx b/website/pages/ja/quick-start.mdx index 979635a35b04..987d081a1d94 100644 --- a/website/pages/ja/quick-start.mdx +++ b/website/pages/ja/quick-start.mdx @@ -8,26 +8,25 @@ This guide will quickly take you through how to initialize, create, and deploy y このガイドは、次のことを前提として書かれています。 -- 選択したネットワーク上のスマート コントラクト アドレス -- サブグラフをキュレートする GRT - クリプトウォレット +- 選択したネットワーク上のスマート コントラクト アドレス ## 1. Subgraph Studio でサブグラフを作成する [Subgraph Studio](https://thegraph.com/studio/)にアクセスし、ウォレットを接続する。 -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Graph CLI をインストールする -Graph CLI は JavaScript で書かれており、これを使用するには「npm」または「yarn」のいずれかをインストールする必要があります。 +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. ローカル マシンで、次のいずれかのコマンドを実行します。 Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. サブグラフの初期化 +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > 特定のサブグラフのコマンドは、[Subgraph Studio](https://thegraph.com/studio/) のサブグラフ ページで見つけることができます。 @@ -53,17 +58,11 @@ yarn global add @graphprotocol/graph-cli - コントラクト イベントをエンティティとしてインデックス付けする: これを true に設定することをお勧めします。発行されたすべてのイベントのサブグラフにマッピングが自動的に追加されるためです。 - 別の契約を追加 (オプション): 別の契約を追加できます -次のコマンドを実行して、既存のコントラクトからサブグラフを初期化します。 - -```sh -graph init --studio -``` - サブグラフを初期化する際に予想されることの例については、次のスクリーンショットを参照してください。 ![Subgraph command](/img/subgraph-init-example.png) -## 4. サブグラフを書く +## 4. Write your subgraph 前述のコマンドでは、サブグラフを作成するための出発点として使用できる scaffold サブグラフを作成します。 サブグラフに変更を加える際には、主に 3 つのファイルを使用します: @@ -93,7 +92,7 @@ $ graph deploy --studio ## 6. サブグラフをテストする -プレイグラウンド セクションでサンプル クエリを作成して、サブグラフをテストできます。 +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. ログは、サブグラフにエラーがあるかどうかを示します。運用サブグラフのログは次のようになります。 @@ -142,15 +141,15 @@ $ graph deploy --studio } ``` -## 7. サブグラフをグラフの分散型ネットワークに公開する +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, you will be able to click the publish button on the top right of your subgraph's page. サブグラフを公開したいネットワークを選択します。 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq) を利用するために、サブグラフを Arbitrum One に公開することをお勧めします。 -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -158,10 +157,10 @@ For a higher quality of service and stronger redundancy, you can curate your sub ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. サブグラフをクエリする +## 8. Query your subgraph これで、GraphQL クエリをサブグラフのクエリ URL に送信することで、サブグラフにクエリを実行できます。これは、クエリ ボタンをクリックして見つけることができます。 -API キーを持っていない場合は、開発とステージングに使用できる無料のレート制限された一時クエリ URL を介して、dapp からクエリを実行できます。 +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. サブグラフからデータをクエリする方法については、[こちら](/querying/querying-the-graph/)を参照してください。 From dbce0857bc01dccc0d5ec44b2cacd9ee7c93bdf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:37 -0400 Subject: [PATCH 1470/2326] New translations quick-start.mdx (Korean) --- website/pages/ko/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/ko/quick-start.mdx b/website/pages/ko/quick-start.mdx index 295de75c8a0f..cba2247457b8 100644 --- a/website/pages/ko/quick-start.mdx +++ b/website/pages/ko/quick-start.mdx @@ -8,26 +8,25 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve This guide is written assuming that you have: -- A smart contract address on the network of your choice -- GRT to curate your subgraph - A crypto wallet +- A smart contract address on the network of your choice ## 1. Create a subgraph on Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Install the Graph CLI -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +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. On your local machine, run one of the following commands: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Initialize your Subgraph +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ When you initialize your subgraph, the CLI tool will ask you for the following i - Index contract events as entities: it is suggested that you set this to true as it will automatically add mappings to your subgraph for every emitted event - Add another contract(optional): you can add another contract -Initialize your subgraph from an existing contract by running the following command: - -```sh -graph init --studio -``` - See the following screenshot for an example for what to expect when initializing your subgraph: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Write your Subgraph +## 4. Write your subgraph The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Test your subgraph -You can test your subgraph by making a sample query in the playground section. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. The logs will tell you if there are any errors with your subgraph. The logs of an operational subgraph will look like this: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Publish Your Subgraph to The Graph’s Decentralized Network +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ To save on gas costs, you can curate your subgraph in the same transaction that ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Query your Subgraph +## 8. Query your subgraph Now, you can query your subgraph by sending GraphQL queries to your subgraph’s Query URL, which you can find by clicking on the query button. -You can query from your dapp if you don't have your API key via the free, rate-limited temporary query URL that can be used for development and staging. +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 [here](/querying/querying-the-graph/). From d5ca6c416279109336032e5209c6c44bc4ddbdb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:38 -0400 Subject: [PATCH 1471/2326] New translations quick-start.mdx (Dutch) --- website/pages/nl/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/nl/quick-start.mdx b/website/pages/nl/quick-start.mdx index 4d0ca69cd11b..0d0c1c067ba6 100644 --- a/website/pages/nl/quick-start.mdx +++ b/website/pages/nl/quick-start.mdx @@ -8,26 +8,25 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve This guide is written assuming that you have: -- A smart contract address on the network of your choice -- GRT to curate your subgraph - A crypto wallet +- A smart contract address on the network of your choice ## 1. Create a subgraph on Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Install the Graph CLI -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +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. On your local machine, run one of the following commands: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Initialiseer je Subgraph +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ When you initialize your subgraph, the CLI tool will ask you for the following i - Index contract events as entities: it is suggested that you set this to true as it will automatically add mappings to your subgraph for every emitted event - Add another contract(optional): you can add another contract -Initialize your subgraph from an existing contract by running the following command: - -```sh -graph init --studio -``` - See the following screenshot for an example for what to expect when initializing your subgraph: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Write your Subgraph +## 4. Write your subgraph The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Test your subgraph -You can test your subgraph by making a sample query in the playground section. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. The logs will tell you if there are any errors with your subgraph. The logs of an operational subgraph will look like this: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Publish Your Subgraph to The Graph’s Decentralized Network +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ To save on gas costs, you can curate your subgraph in the same transaction that ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Query your Subgraph +## 8. Query your subgraph Now, you can query your subgraph by sending GraphQL queries to your subgraph’s Query URL, which you can find by clicking on the query button. -You can query from your dapp if you don't have your API key via the free, rate-limited temporary query URL that can be used for development and staging. +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 [here](/querying/querying-the-graph/). From f92d4b486d60a27fa4bca8c36b1a3fe15d1a2569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:39 -0400 Subject: [PATCH 1472/2326] New translations quick-start.mdx (Polish) --- website/pages/pl/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/pl/quick-start.mdx b/website/pages/pl/quick-start.mdx index 88e79f60f3a7..b4a3af8f542f 100644 --- a/website/pages/pl/quick-start.mdx +++ b/website/pages/pl/quick-start.mdx @@ -8,26 +8,25 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve This guide is written assuming that you have: -- A smart contract address on the network of your choice -- GRT to curate your subgraph - A crypto wallet +- A smart contract address on the network of your choice ## 1. Create a subgraph on Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Install the Graph CLI -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +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. On your local machine, run one of the following commands: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Initialize your Subgraph +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ When you initialize your subgraph, the CLI tool will ask you for the following i - Index contract events as entities: it is suggested that you set this to true as it will automatically add mappings to your subgraph for every emitted event - Add another contract(optional): you can add another contract -Initialize your subgraph from an existing contract by running the following command: - -```sh -graph init --studio -``` - See the following screenshot for an example for what to expect when initializing your subgraph: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Write your Subgraph +## 4. Write your subgraph The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Test your subgraph -You can test your subgraph by making a sample query in the playground section. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. The logs will tell you if there are any errors with your subgraph. The logs of an operational subgraph will look like this: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Publish Your Subgraph to The Graph’s Decentralized Network +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ To save on gas costs, you can curate your subgraph in the same transaction that ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Query your Subgraph +## 8. Query your subgraph Now, you can query your subgraph by sending GraphQL queries to your subgraph’s Query URL, which you can find by clicking on the query button. -You can query from your dapp if you don't have your API key via the free, rate-limited temporary query URL that can be used for development and staging. +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 [here](/querying/querying-the-graph/). From 85c04b97ff3830d90b3665ca7f3d8f4cd0ff5007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:40 -0400 Subject: [PATCH 1473/2326] New translations quick-start.mdx (Portuguese) --- website/pages/pt/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/pt/quick-start.mdx b/website/pages/pt/quick-start.mdx index cd3d5f86595f..bc1cbc99821b 100644 --- a/website/pages/pt/quick-start.mdx +++ b/website/pages/pt/quick-start.mdx @@ -8,26 +8,25 @@ Garanta que o seu subgraph indexará dados de uma [rede apoiada](/developing/sup Este guia presume que tem: -- Um endereço de contrato inteligente na rede da sua escolha -- GRT para a curadoria do seu subgraph - Uma carteira de criptomoedas +- Um endereço de contrato inteligente na rede da sua escolha ## 1. Como criar um subgraph no Subgraph Studio Entre no [Subgraph Studio](https://thegraph.com/studio/) e conecte a sua carteira de criptomoedas. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Como instalar o Graph CLI -O Graph CLI é escrito em JavaScript. Para usá-lo, instale o `npm` ou `yarn`. +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. Execute um dos seguintes comandos na sua máquina local: Uso de [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Uso de [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Uso de [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Como Inicializar o seu Subgraph +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > Veja comandos para o seu subgraph específico na página do subgraph no [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ Ao inicializar o seu subgraph, a ferramenta CLI pedirá pelas seguintes informa - Indexar eventos de contrato como entidades: é sugerido configurar isto como true, já que ele automaticamente adicionará mapeamentos ao seu subgraph para cada evento emitido - Adicionar outro contrato (opcional): adicionar outro contrato -Inicialize o seu subgraph a partir de um contrato existente ao executar o seguinte comando: - -```sh -graph init --studio -``` - Veja a imagem a seguir para um exemplo do que esperar quando for inicializar o seu subgraph: ![Comando do subgraph](/img/subgraph-init-example.png) -## 4. Como escrever o seu Subgraph +## 4. Write your subgraph O comando interior cria um subgraph de altura que pode ser usado como ponto de partida para construir o seu subgraph. Enquanto faz mudanças ao subgraph, trabalhará principalmente com três arquivos: @@ -93,7 +92,7 @@ Há de inserir um rótulo de versão. É altamente recomendado usar o [semver](h ## 6. Como testar o seu subgraph -Podes testar o seu subgraph ao fazer um exemplo de query na secção do playground. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. Os logs dirão-lhe se há quaisquer erros com o seu subgraph. Os logs de um subgraph operacional parecerão com isto: @@ -143,15 +142,15 @@ Se o seu subgraph continuar a falhar, faça um query sobre a saúde do subgraph } ``` -## 7. Como Publicar um Subgraph na Rede Descentralizada do The Graph +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, you will be able to click the publish button on the top right of your subgraph's page. Selecione a rede onde quer editar o seu subgraph. Vale editar subgraphs no Arbitrum One, para aproveitar as [transações mais rápidas e custos menores de gas](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ Para poupar custos de gas, cure o seu subgraph na mesma transação em que ele f ![Editar subgraph](/img/publish-and-signal-tx.png) -## 8. Como consultar o seu subgraph +## 8. Query your subgraph Agora, podes consultar o seu subgraph com o envio de queries GraphQL para o URL de Consulta do seu subgraph, que pode ser visto ao clicar no botão Query (consultas). -Caso não tenha a sua chave API, pode fazer um query do seu dApp pelo URL de consulta temporária, grátis e com rate-limit, que pode ser usado para desenvolvimento e encenação. +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. Para mais informações sobre queries de dados do seu subgraph, leia mais [aqui](/querying/querying-the-graph/). From 809ffc410eaef1c700f4009fc76cbb343b6cf8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:40 -0400 Subject: [PATCH 1474/2326] New translations quick-start.mdx (Russian) --- website/pages/ru/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/ru/quick-start.mdx b/website/pages/ru/quick-start.mdx index 16d3b270152e..ff0df0fc6713 100644 --- a/website/pages/ru/quick-start.mdx +++ b/website/pages/ru/quick-start.mdx @@ -8,26 +8,25 @@ This guide will quickly take you through how to initialize, create, and deploy y Это руководство написано, исходя из того, что у Вас есть: -- Адрес смарт-контракта в выбранной Вами сети -- GRT для курирования вашего субграфа - Криптовалютный кошелек +- Адрес смарт-контракта в выбранной Вами сети ## 1. Создание субграфа в Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Установка Graph CLI -Графический интерфейс Graph CLI написан на JavaScript, и для его использования Вам потребуется установить либо `npm`, либо `yarn`. +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. Выполните одну из следующих команд на своём локальном компьютере: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Инициализация Вашего Субграфа +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ yarn global add @graphprotocol/graph-cli - Индексировать события контракта как объекты: рекомендуется установить для этого параметра значение true, поскольку он автоматически добавит сопоставления в Ваш субграф для каждого запускаемого события - Добавить еще один контракт (опционально): Вы можете добавить еще один контракт -Инициализируйте свой субграф из существующего контракта, выполнив следующую команду: - -```sh -graph init --studio -``` - На следующем скриншоте показан пример того, чего следует ожидать при инициализации субграфа: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Создание Вашего субграфа +## 4. Write your subgraph Предыдущая команда создала "скелет" субграфа, который Вы можете использовать в качестве отправной точки для построения своего субграфа. При внесении изменений в субграф Вы будете в основном работать с тремя файлами: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Тестирование Вашего субграфа -Вы можете протестировать свой субграф, осуществив пример запроса в разделе игровой площадки. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. Логи сообщат вам, есть ли какие-либо ошибки с вашим субграфом. Логи рабочего субграфа будут выглядеть следующим образом: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## Публикация субграфа в децентрализованной сети The Graph +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ For a higher quality of service and stronger redundancy, you can curate your sub ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Запрос Вашего Субграфа +## 8. Query your subgraph Теперь Вы можете запросить свой субграф, отправив запросы GraphQL на URL-адрес запроса Вашего субграфа, который можно найти, нажав кнопку запроса. -Вы можете сделать запрос из своего децентрализованного приложения, если у Вас нет ключа API, с помощью бесплатного временного URL-адреса запроса с ограниченной скоростью, который можно использовать для разработки и подготовки. +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 [here](/querying/querying-the-graph/). From 1bc779e7d7df52f9ce857efc9b851d32f0248956 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:41 -0400 Subject: [PATCH 1475/2326] New translations quick-start.mdx (Swedish) --- website/pages/sv/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/sv/quick-start.mdx b/website/pages/sv/quick-start.mdx index c6cc10579365..2a6e084ed0fd 100644 --- a/website/pages/sv/quick-start.mdx +++ b/website/pages/sv/quick-start.mdx @@ -8,26 +8,25 @@ Se till att din subgraf kommer att indexera data från ett [nätverk som stöds] Den här guiden är skriven förutsatt att du har: -- En smart kontraktsadress på det nätverk du väljer -- GRT för att kurera din subgraf - En kryptoplånbok +- En smart kontraktsadress på det nätverk du väljer ## 1. Skapa en subgraf på Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Installera Graph CLI -Graph CLI är skrivet i JavaScript och du måste ha antingen `npm` eller `yarn` installerat för att kunna använda det. +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: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Initiera din subgraf +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ När du initierar din subgraf kommer CLI verktyget att be dig om följande infor - 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 -Initiera din subgraf från ett befintligt kontrakt genom att köra följande kommando: - -```sh -graph init --studio -``` - Se följande skärmdump för ett exempel för vad du kan förvänta dig när du initierar din subgraf: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Skriv din subgraf +## 4. Write your subgraph 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: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Testa din subgraf -Du kan testa din subgraf genom att göra en exempelfråga i lekplatssektionen. +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: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Publicera din subgraf till The Graph's decentraliserade nätverk +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ För att spara på gaskostnaderna kan du kurera din subgraf i samma transaktion ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Fråga din subgraf +## 8. Query your subgraph 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. -Du kan fråga från din dapp om du inte har din API nyckel via den kostnadsfria, hastighetsbegränsade tillfälliga sökadressen som kan användas för utveckling och iscensättning. +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 [here](/querying/querying-the-graph/). From 75ef98a3c6d8c8ebddd7a4fdc5df1acfa2325418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:42 -0400 Subject: [PATCH 1476/2326] New translations quick-start.mdx (Turkish) --- website/pages/tr/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/tr/quick-start.mdx b/website/pages/tr/quick-start.mdx index d856bdd90e23..6b5178a057f3 100644 --- a/website/pages/tr/quick-start.mdx +++ b/website/pages/tr/quick-start.mdx @@ -8,26 +8,25 @@ Subgraph'ınızın [desteklenen bir ağdan](/developing/supported-networks) gele Bu rehber, aşağıdakilere sahip olduğunuzu varsayar: -- Seçtiğiniz ağ üzerinde bir akıllı sözleşme adresi -- Subgraph'ınızın kürasyonu için GRT - Bir kripto cüzdanı +- Seçtiğiniz ağ üzerinde bir akıllı sözleşme adresi ## 1. Subgraph Stüdyo'da bir subgraph oluşturun Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Graph CLI'yi yükleyin -Graph CLI JavaScript ile yazılmıştır ve kullanmak için `npm` ya da `yarn` yüklemiş olmanız gerekir. +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. Yerel makinenizde aşağıdaki komutlardan birini çalıştırın: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Subgraph'ınızı başlatın +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ Subgraph'ınızı başlattığınızda, CLI aracı sizden aşağıdaki bilgileri - Sözleşme olaylarını varlıklar olarak indeksleyin: Yayılan her olay için subgraph'ınıza otomatik olarak eşlemeler ekleyeceğinden bunu true olarak ayarlamanız önerilir - Başka bir sözleşme ekle (opsiyonel): Başka bir sözleşme ekleyebilirsiniz -Aşağıdaki komutu çalıştırarak subgraph'ınızı mevcut bir sözleşmeden başlatın: - -```sh -graph init --studio -``` - Subgraph'ınızı başlatırken neyle karşılaşacağınıza dair bir örnek için aşağıdaki ekran görüntüsüne bakın: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Subgraph'ınızı Yazın +## 4. Write your subgraph Önceki komutlar, subgraph'ınızı oluşturmak için bir başlangıç noktası olarak kullanabileceğiniz bir subgraph iskeletini oluşturur. Subgraph'ta değişiklik yaparken, temel olarak üç dosya ile çalışacaksınız: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Subgraph'ınızı Test Edin -Test alanı(playground) bölümünde örnek bir sorgu yaparak subgraph'ınızı test edebilirsiniz. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. Kayıtlar, subgraph'ınızla ilgili herhangi bir hata olup olmadığını size söyleyecektir. Çalışan bir subgraph'ın kayıtları aşağıdaki gibi görünecektir: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Subgraph'ınızı Graph'ın Merkeziyetsiz Ağında Yayınlayın +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ Gas maliyetlerinden tasarruf etmek için, subgraph'ınızı Graph'ın merkeziyet ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Subgraph'ınızı Sorgulayın +## 8. Query your subgraph Şimdi, subgraph'ınızın Sorgu URL'sine GraphQL sorguları göndererek onu sorgulayabilirsiniz; bu URL'yi sorgu düğmesine tıklayarak bulabilirsiniz. -API anahtarınız yoksa, geliştirme ve hazırlama için kullanılabilen ücretsiz, rate limit'li geçici sorgu URL'si aracılığıyla merkeziyetsiz uygulamanızdan sorgulama yapabilirsiniz. +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 [here](/querying/querying-the-graph/). From ff32797a9f3f1c51bafbef6825ae961a197ad5ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:43 -0400 Subject: [PATCH 1477/2326] New translations quick-start.mdx (Ukrainian) --- website/pages/uk/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/uk/quick-start.mdx b/website/pages/uk/quick-start.mdx index ddfc89ce9bfe..e1c67fc854ce 100644 --- a/website/pages/uk/quick-start.mdx +++ b/website/pages/uk/quick-start.mdx @@ -8,26 +8,25 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve Цей покроковий посібник написаний з урахуванням того, що у вас уже є: -- Адреса смартконтракту в мережі, яку ви обрали -- GRT для того, щоб використати для подачі сигналу на підграф, у якості куратора - Криптогаманець +- Адреса смартконтракту в мережі, яку ви обрали ## 1. Створення підграфа в Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Встановлення Graph CLI -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +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. На вашому локальному комп'ютері запустіть одну з наведених нижче команд: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Initialize your Subgraph +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ yarn global add @graphprotocol/graph-cli - Індексація подій контракту у якості елементів: рекомендується встановити значення true, оскільки це автоматично додасть відповідність вашого підграфа для кожної виданої події - Додання ще одного контракту (необов'язково): ви можете додати ще один контракт -Ініціалізуйте ваш підграф з наявного контракту, виконавши наступну команду: - -```sh -graph init --studio -``` - На наступному скриншоті ви можете побачити, чого варто очікувати при ініціалізації вашого підграфа: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Написання вашого підграфа +## 4. Write your subgraph Попередні команди створюють так званий "скелет" підграфа, який ви можете використовувати як відправну точку для побудови вашого підграфа. При внесенні змін до підграфа ви будете працювати переважно з трьома файлами: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Тестування вашого підграфа -Ви можете протестувати свій підграф, зробивши зразок запиту в розділі "playground" (середовище для тестування). +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. Журнали покажуть вам, чи є якісь помилки у вашому підграфі. Журнал робочого підграфа матиме такий вигляд: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Публікація вашого підграфа в децентралізованій мережі The Graph +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ For a higher quality of service and stronger redundancy, you can curate your sub ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Запит до вашого підграфа +## 8. Query your subgraph Тепер ви можете запитувати ваш підграф, надсилаючи GraphQL-запити на URL-адресу запиту вашого підграфа, яку ви можете знайти, натиснувши на кнопку запиту. -Якщо у вас немає ключа API, ви можете робити запити з вашого додатка через безплатну тимчасову URL-адресу запиту з обмеженим тарифом, яку можна використовувати для розробки та тестування. +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 [here](/querying/querying-the-graph/). From 3777e30390e84c45fc054f00f2d8e8c6f57b2112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:44 -0400 Subject: [PATCH 1478/2326] New translations quick-start.mdx (Chinese Simplified) --- website/pages/zh/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/zh/quick-start.mdx b/website/pages/zh/quick-start.mdx index 7d78d2473e5a..dfd8e5f92aa2 100644 --- a/website/pages/zh/quick-start.mdx +++ b/website/pages/zh/quick-start.mdx @@ -8,26 +8,25 @@ This guide will quickly take you through how to initialize, create, and deploy y 本指南是在假设您具备以下条件的情况下编写的: -- 您选择的网络上的智能合约地址 -- GRT来策划你的子图 - 一个加密钱包 +- 您选择的网络上的智能合约地址 ## 1. 在子图工作室中创建子图 Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. 安装 Graph CLI -Graph CLI 是用 JavaScript 编写的,需要安装npm 或yarn 来使用。 +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. 在本地计算机上,运行以下命令之一: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. 初始化子图 +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > 您可以在[Subgraph Studio](https://thegraph.com/studio/)的子图页面找到针对您特定子图的命令。 @@ -53,17 +58,11 @@ yarn global add @graphprotocol/graph-cli - 将合约事件作为实体进行索引:建议您将其设置为true,因为它将自动为每个发出的事件向子图添加映射 - 添加其他合约(可选):您可以添加其他合约 -通过运行以下命令从现有合约初始化子图: - -```sh -graph init --studio -``` - 请参阅下面的屏幕截图,以获取初始化子图时所需的示例: ![Subgraph command](/img/subgraph-init-example.png) -## 4. 编写子图 +## 4. Write your subgraph 前面的命令创建了一个原始子图,可以将其用作构建子图的起点。当对子图进行更改时,将主要使用三个文件: @@ -93,7 +92,7 @@ $ graph deploy --studio ## 6. 测试子图 -您可以通过在playground部分进行示例查询来测试子图。 +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. 日志会告诉你你的子图是否有任何错误。操作子图的日志如下所示: @@ -143,15 +142,15 @@ $ graph deploy --studio } ``` -## 7. 将你的子图发布到Graph的去中心化网络 +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, you will be able to click the publish button on the top right of your subgraph's page. 选择您希望发布子图的网络。建议将子图发布到 Arbitrum One,以利用[更快的交易速度和更低的Gas费用](/arbitrum/arbitrum-faq)。 -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ For a higher quality of service and stronger redundancy, you can curate your sub ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. 查询子图 +## 8. Query your subgraph 现在,您可以通过将GraphQL查询发送到子图的查询URL来查询子图,您可以单击查询按钮找到该查询URL。 -如果你没有你的API密钥,你可以通过免费的、速率有限的临时查询URL从你的去中心化应用查询,该URL可用于开发和暂存。 +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 [here](/querying/querying-the-graph/). From 774c80684fb163630d0f75f572853b8a04427d7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:45 -0400 Subject: [PATCH 1479/2326] New translations quick-start.mdx (Urdu (Pakistan)) --- website/pages/ur/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/ur/quick-start.mdx b/website/pages/ur/quick-start.mdx index 14f3e84d2ea6..5126122005e2 100644 --- a/website/pages/ur/quick-start.mdx +++ b/website/pages/ur/quick-start.mdx @@ -8,26 +8,25 @@ This guide will quickly take you through how to initialize, create, and deploy y یہ گائیڈ یہ فرض کرتے ہوئے لکھی گئ ہے کہ آپ کے پاس ہے: -- ایک سمارٹ کنٹریکٹ ایڈریس جو آپ کی مرضی کے نیٹ ورک پر ہے -- آپ کے سب گراف کو کیوریٹ کرنے کے لۓ جی آر ٹی - ایک کرپٹو والیٹ +- ایک سمارٹ کنٹریکٹ ایڈریس جو آپ کی مرضی کے نیٹ ورک پر ہے ## 1. سب گراف سٹوڈیو پر سب گراف بنائیں [سب گراف سٹوڈیو](https://thegraph.com/studio/) پر جائیں اور اپنے والیٹ کو منسلک کریں۔ -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. گراف CLI انسٹال کریں -گراف CLI جاوا اسکرپٹ میں لکھا ہوا ہے اور اسے استعمال کرنے کے لیے آپ کو یا تو `npm` یا `Yarn` انسٹال کرنے کی ضرورت ہوگی. +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. اپنی مقامی مشین پر، درج زیل کمانڈز میں سے ایک کو رن کریں: [npm](https://www.npmjs.com/) کا استعمال: ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` [yarn](https://yarnpkg.com/) کا استعمال: @@ -36,7 +35,13 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -## 3. اپنا سب گراف شروع کریں +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > آپ اپنے مخصوص سب گراف کے لیے سب گراف کے پیج پر [سب گراف سٹوڈیو](https://thegraph.com/studio/) میں کمانڈز تلاش کر سکتے ہیں. @@ -53,17 +58,11 @@ yarn global add @graphprotocol/graph-cli - کنٹریکٹ کے واقعات کو انڈیکس کریں بطور ادارے: یہ تجویز کیا جاتا ہے کہ آپ اسے درست پر سیٹ کریں کیونکہ یہ خود بخود ہر خارج ہونے والے واقع کے لیے آپ کے سب گراف میں میپنگس کا اضافہ کر دے گا۔ - ایک اور کنٹریکٹ شامل کریں(اختیاری): آپ ایک اور کنٹریکٹ شامل کر سکتے ہیں۔ -درج ذیل کمانڈ کو رن کر کے اپنے سب گراف کو موجودہ کنٹریکٹ سے شروع کریں: - -```sh -graph init --studio -``` - اپنے سب گراف کو شروع کرتے وقت کیا توقع کی جائے اس کی مثال کے لیے درج ذیل اسکرین شاٹ دیکھیں: ![سب گراف کمانڈ](/img/subgraph-init-example.png) -## 4. اپنا سب گراف لکھیں +## 4. Write your subgraph پچھلی کمانڈز ایک سکیفولڈ سب گراف بناتی ہیں جسے آپ اپنے سب گراف کی تعمیر کے لیے نقطہ آغاز کے طور پر استعمال کر سکتے ہیں۔ سب گراف میں تبدیلی کرتے وقت، آپ بنیادی طور پر تین فائلوں کے ساتھ کام کریں گے: @@ -93,7 +92,7 @@ $ graph deploy --studio ## 6. اپنے سب گراف کو ٹیسٹ کریں -آپ پلے گراؤنڈ سیکشن میں اپنا سب گراف ایک سامپل کیوری بنا کر ٹیسٹ کر سکتے ہیں. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. لوگز آپ کو بتائیں گے اکر آپ کے سب گراف میں مسائل ہیں۔ آپریشنل سب گراف کے لوگز اس طرح کے دکھیں گے: @@ -143,15 +142,15 @@ $ graph deploy --studio } ``` -## 7. اپنے سب گراف کو گراف کے ڈیسینٹرالائزڈ نیٹ ورک پر شائع کریں +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +In Subgraph Studio, you will be able to click the publish button on the top right of your subgraph's page. وہ نیٹ ورک منتخب کریں جس پر آپ اپنا سب گراف شائع کرنا چاہتے ہیں۔ Arbitrum One کے سب گراف شائع کرنے کی سفارش کی جاتی ہے تاکہ [تیز تر ٹرانزیکشن کی رفتار اور گیس کے کم اخراجات] (/arbitrum/arbitrum-faq) سے فائدہ اٹھایا جا سکے۔ -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ For a higher quality of service and stronger redundancy, you can curate your sub ![سب گراف شائع کریں](/img/publish-and-signal-tx.png) -## 8. اپنے سب گراف کو کیوری کریں +## 8. Query your subgraph اب، آپ اپنے سب گراف کی کیوریز کو اپنے سب گراف کے کیوری URL پر بھیج کر اپنے سب گراف سے کیوری کر سکتے ہیں، جسے آپ کیوری کے بٹن پر کلک کر کے تلاش کر سکتے ہیں. -اگر آپ کے پاس اپنی API کلید فری کے ذریعے نہیں ہے تو آپ اپنے ڈیپ سے کیوری کر سکتے ہیں، ریٹ محدود عارضی کیوری URL کے ذریعے نہیں ہے جسے ترقی اور سٹیجنگ کے لیے استعمال کیا جا سکتا ہے. +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. اپنے سب گراف سے ڈیٹا کیوری کرنے کے بارے میں مزید معلومات کے لیے، مزید پڑھیں [یہاں](/querying/querying-the-graph/)۔ From 4ddea8be083a10bedc0d93168ca6182797caa055 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:46 -0400 Subject: [PATCH 1480/2326] New translations quick-start.mdx (Vietnamese) --- website/pages/vi/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/vi/quick-start.mdx b/website/pages/vi/quick-start.mdx index 06067021785e..d091de61071e 100644 --- a/website/pages/vi/quick-start.mdx +++ b/website/pages/vi/quick-start.mdx @@ -8,26 +8,25 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve This guide is written assuming that you have: -- A smart contract address on the network of your choice -- GRT to curate your subgraph - A crypto wallet +- A smart contract address on the network of your choice ## 1. Create a subgraph on Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Install the Graph CLI -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +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. On your local machine, run one of the following commands: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Initialize your Subgraph +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ When you initialize your subgraph, the CLI tool will ask you for the following i - Index contract events as entities: it is suggested that you set this to true as it will automatically add mappings to your subgraph for every emitted event - Add another contract(optional): you can add another contract -Initialize your subgraph from an existing contract by running the following command: - -```sh -graph init --studio -``` - See the following screenshot for an example for what to expect when initializing your subgraph: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Write your Subgraph +## 4. Write your subgraph The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Test your subgraph -You can test your subgraph by making a sample query in the playground section. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. The logs will tell you if there are any errors with your subgraph. The logs of an operational subgraph will look like this: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Publish Your Subgraph to The Graph’s Decentralized Network +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ To save on gas costs, you can curate your subgraph in the same transaction that ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Query your Subgraph +## 8. Query your subgraph Now, you can query your subgraph by sending GraphQL queries to your subgraph’s Query URL, which you can find by clicking on the query button. -You can query from your dapp if you don't have your API key via the free, rate-limited temporary query URL that can be used for development and staging. +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 [here](/querying/querying-the-graph/). From 2205f894955fd9f0898af5f8ce98c16d107685f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:47 -0400 Subject: [PATCH 1481/2326] New translations quick-start.mdx (Marathi) --- website/pages/mr/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/mr/quick-start.mdx b/website/pages/mr/quick-start.mdx index 7c8f709f11fc..960c8e212b69 100644 --- a/website/pages/mr/quick-start.mdx +++ b/website/pages/mr/quick-start.mdx @@ -8,26 +8,25 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve हे मार्गदर्शक तुमच्याकडे आहे असे गृहीत धरून लिहिले आहे: -- तुमच्या पसंतीच्या नेटवर्कवर एक स्मार्ट करार पत्ता -- तुमचा सबग्राफ क्युरेट करण्यासाठी GRT - एक क्रिप्टो वॉलेट +- तुमच्या पसंतीच्या नेटवर्कवर एक स्मार्ट करार पत्ता ## 1. सबग्राफ स्टुडिओवर सबग्राफ तयार करा Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. आलेख CLI स्थापित करा -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +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. तुमच्या स्थानिक मशीनवर, खालीलपैकी एक कमांड चालवा: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. तुमचा सबग्राफ सुरू करा +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ yarn global add @graphprotocol/graph-cli - इंडेक्स कॉन्ट्रॅक्ट इव्हेंट्स घटक म्हणून: असे सुचवले जाते की तुम्ही हे सत्य वर सेट करा कारण ते प्रत्येक उत्सर्जित इव्हेंटसाठी तुमच्या सबग्राफमध्ये स्वयंचलितपणे मॅपिंग जोडेल - दुसरा करार जोडा(पर्यायी): तुम्ही दुसरा करार जोडू शकता -खालील आदेश चालवून विद्यमान करारातून तुमचा सबग्राफ सुरू करा: - -```sh -graph init --studio -``` - तुमचा सबग्राफ सुरू करताना काय अपेक्षा करावी याच्या उदाहरणासाठी खालील स्क्रीनशॉट पहा: ![Subgraph command](/img/subgraph-init-example.png) -## 4. तुमचा सबग्राफ लिहा +## 4. Write your subgraph मागील कमांड एक स्कॅफोल्ड सबग्राफ तयार करतात ज्याचा वापर तुम्ही तुमचा सबग्राफ तयार करण्यासाठी प्रारंभिक बिंदू म्हणून करू शकता. सबग्राफमध्ये बदल करताना, तुम्ही प्रामुख्याने तीन फाइल्ससह कार्य कराल: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. तुमच्या सबग्राफची चाचणी घ्या -तुम्ही खेळाच्या मैदानाच्या विभागात नमुना क्वेरी करून तुमच्या सबग्राफची चाचणी घेऊ शकता. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. तुमच्या सबग्राफमध्ये काही त्रुटी असल्यास नोंदी तुम्हाला सांगतील. ऑपरेशनल सबग्राफचे लॉग यासारखे दिसतील: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. ग्राफच्या विकेंद्रीकृत नेटवर्कवर तुमचा सबग्राफ प्रकाशित करा +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ For a higher quality of service and stronger redundancy, you can curate your sub ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. तुमचा सबग्राफ क्वेरी करा +## 8. Query your subgraph आता, तुम्ही तुमच्या सबग्राफच्या क्वेरी URL वर GraphQL क्वेरी पाठवून तुमच्या सबग्राफची क्वेरी करू शकता, जी तुम्ही क्वेरी बटणावर क्लिक करून शोधू शकता. -तुम्‍ही तुमच्‍या dapp वरून क्‍वेरी करू शकता जर तुमच्‍याकडे तुमच्‍या API की नसल्‍यास मोफत, रेट-मर्यादित तात्पुरती क्‍वेरी URL द्वारे जे डेव्हलपमेंट आणि स्‍टेजिंगसाठी वापरले जाऊ शकते. +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 [here](/querying/querying-the-graph/). From 64d7bd338a17fe73ff15d2742bf09feba650ff9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:48 -0400 Subject: [PATCH 1482/2326] New translations quick-start.mdx (Hindi) --- website/pages/hi/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/hi/quick-start.mdx b/website/pages/hi/quick-start.mdx index 71d62ddb2651..ad090e4226e8 100644 --- a/website/pages/hi/quick-start.mdx +++ b/website/pages/hi/quick-start.mdx @@ -8,26 +8,25 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve यह मार्गदर्शिका यह मानते हुए लिखी गई है कि आपके पास: -- आपकी पसंद के नेटवर्क पर एक स्मार्ट अनुबंध पता -- आपके सबग्राफ को क्यूरेट करने के लिए GRT - एक क्रिप्टो वॉलेट +- आपकी पसंद के नेटवर्क पर एक स्मार्ट अनुबंध पता ## 1. सबग्राफ स्टूडियो पर एक सबग्राफ बनाएं Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. ग्राफ़ सीएलआई स्थापित करें -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +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. अपनी स्थानीय मशीन पर, निम्न आदेशों में से कोई एक चलाएँ: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. अपना सबग्राफ इनिशियलाइज़ करें +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ yarn global add @graphprotocol/graph-cli - इकाइयों के रूप में अनुक्रमणिका अनुबंध ईवेंट: यह सुझाव दिया जाता है कि आप इसे सही पर सेट करें क्योंकि यह प्रत्येक उत्सर्जित ईवेंट के लिए स्वचालित रूप से आपके सबग्राफ में मैपिंग जोड़ देगा - दूसरा अनुबंध जोड़ें (वैकल्पिक): आप एक और अनुबंध जोड़ सकते हैं -निम्न आदेश चलाकर मौजूदा अनुबंध से अपना सबग्राफ प्रारंभ करें: - -```sh -graph init --studio -``` - अपने सबग्राफ को इनिशियलाइज़ करते समय क्या अपेक्षा की जाए, इसके उदाहरण के लिए निम्न स्क्रीनशॉट देखें: ![Subgraph command](/img/subgraph-init-example.png) -## 4. अपना सबग्राफ लिखें +## 4. Write your subgraph पिछले आदेश एक मचान सबग्राफ बनाते हैं जिसका उपयोग आप अपने सबग्राफ के निर्माण के लिए शुरुआती बिंदु के रूप में कर सकते हैं। सबग्राफ में बदलाव करते समय, आप मुख्य रूप से तीन फाइलों के साथ काम करेंगे: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. अपने सबग्राफ का परीक्षण करें -आप खेल के मैदान अनुभाग में एक नमूना क्वेरी बनाकर अपने सबग्राफ का परीक्षण कर सकते हैं। +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. लॉग आपको बताएंगे कि क्या आपके सबग्राफ में कोई त्रुटि है। एक ऑपरेशनल सबग्राफ के लॉग इस तरह दिखेंगे: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. अपने सबग्राफ को ग्राफ़ के विकेंद्रीकृत नेटवर्क पर प्रकाशित करें +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ For a higher quality of service and stronger redundancy, you can curate your sub ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. अपना सबग्राफ पूछें +## 8. Query your subgraph अब, आप अपने सबग्राफ को अपने सबग्राफ के क्वेरी URL पर ग्राफ़क्यूएल क्वेरी भेजकर क्वेरी कर सकते हैं, जिसे आप क्वेरी बटन पर क्लिक करके पा सकते हैं। -यदि आपके पास अपनी एपीआई कुंजी नहीं है, तो आप अपने डैप से मुफ्त, दर-सीमित अस्थायी क्वेरी URL के माध्यम से पूछ सकते हैं, जिसका उपयोग विकास और मंचन के लिए किया जा सकता है। +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 [here](/querying/querying-the-graph/). From 67c494f17951eddebd663b57ac610aa9194c3cc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 29 May 2024 19:56:49 -0400 Subject: [PATCH 1483/2326] New translations quick-start.mdx (Yoruba) --- website/pages/yo/quick-start.mdx | 39 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website/pages/yo/quick-start.mdx b/website/pages/yo/quick-start.mdx index 382dcc83c6d4..cf7facbdc32e 100644 --- a/website/pages/yo/quick-start.mdx +++ b/website/pages/yo/quick-start.mdx @@ -8,26 +8,25 @@ Ensure that your subgraph will be indexing data from a [supported network](/deve This guide is written assuming that you have: -- A smart contract address on the network of your choice -- GRT to curate your subgraph - A crypto wallet +- A smart contract address on the network of your choice ## 1. Create a subgraph on Subgraph Studio Go to the [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet. -Once connected, you can begin by clicking “Create a Subgraph”. +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." ## 2. Install the Graph CLI -The Graph CLI is written in JavaScript and you will need to have either `npm` or `yarn` installed to use it. +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. On your local machine, run one of the following commands: Using [npm](https://www.npmjs.com/): ```sh -npm install -g @graphprotocol/graph-cli +npm install -g @graphprotocol/graph-cli@latest ``` Using [yarn](https://yarnpkg.com/): @@ -36,7 +35,13 @@ Using [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Initialize your Subgraph +## 3. Initialize your subgraph from existing contract + +Initialize your subgraph from an existing contract by running the initialize command: + +```sh +graph init --studio +``` > You can find commands for your specific subgraph on the subgraph page in [Subgraph Studio](https://thegraph.com/studio/). @@ -53,17 +58,11 @@ When you initialize your subgraph, the CLI tool will ask you for the following i - Index contract events as entities: it is suggested that you set this to true as it will automatically add mappings to your subgraph for every emitted event - Add another contract(optional): you can add another contract -Initialize your subgraph from an existing contract by running the following command: - -```sh -graph init --studio -``` - See the following screenshot for an example for what to expect when initializing your subgraph: ![Subgraph command](/img/subgraph-init-example.png) -## 4. Write your Subgraph +## 4. Write your subgraph The previous commands create a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: @@ -93,7 +92,7 @@ You will be asked for a version label. It's strongly recommended to use [semver] ## 6. Test your subgraph -You can test your subgraph by making a sample query in the playground section. +In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. The logs will tell you if there are any errors with your subgraph. The logs of an operational subgraph will look like this: @@ -143,15 +142,15 @@ If your subgraph is failing, you can query the subgraph health by using the Grap } ``` -## 7. Publish Your Subgraph to The Graph’s Decentralized Network +## 7. Publish your subgraph to The Graph’s Decentralized Network -Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and are ready to put it into production, you can then publish it to the decentralized network. +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, click on your subgraph. On the subgraph’s page, you will be able to click the publish button on the top right. +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 [faster transaction speeds and lower gas costs](/arbitrum/arbitrum-faq). -The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and will provide you with 100,000 free queries per month. +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. @@ -159,10 +158,10 @@ To save on gas costs, you can curate your subgraph in the same transaction that ![Subgraph publish](/img/publish-and-signal-tx.png) -## 8. Query your Subgraph +## 8. Query your subgraph Now, you can query your subgraph by sending GraphQL queries to your subgraph’s Query URL, which you can find by clicking on the query button. -You can query from your dapp if you don't have your API key via the free, rate-limited temporary query URL that can be used for development and staging. +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 [here](/querying/querying-the-graph/). From 1f3a1e2af19335e09fc7718747e94aa42671a531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:05 -0400 Subject: [PATCH 1484/2326] New translations sunrise.mdx (Romanian) --- website/pages/ro/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/ro/sunrise.mdx b/website/pages/ro/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/ro/sunrise.mdx +++ b/website/pages/ro/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From 453ef5a9a95c89ad311fe15877473774fbc8ffb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:06 -0400 Subject: [PATCH 1485/2326] New translations sunrise.mdx (French) --- website/pages/fr/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/fr/sunrise.mdx b/website/pages/fr/sunrise.mdx index ffb9437885e0..7d1cb0356261 100644 --- a/website/pages/fr/sunrise.mdx +++ b/website/pages/fr/sunrise.mdx @@ -20,7 +20,7 @@ Ce plan s'appuie sur de nombreux développements antérieurs de l'écosystème T ### Quand les subgraphs du service hébergé ne seront-ils plus disponibles ? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Mon subgraph de service hébergé sera-t-il pris en charge sur le réseau The Graph ? @@ -46,7 +46,9 @@ La communauté Graph est là pour aider les développeurs à passer au réseau G ### Comment puis-je garantir une haute qualité de service et une redondance pour les subgraphs sur le réseau The Graph ? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### Que se passe-t-il si je ne mets pas à jour mon subgraph ? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### Comment puis-je commencer à interroger des subgraphs sur The Graph Network ? From 99ed16602a97dd745636d96ef0db4be1792718e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:08 -0400 Subject: [PATCH 1486/2326] New translations sunrise.mdx (Spanish) --- website/pages/es/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/es/sunrise.mdx b/website/pages/es/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/es/sunrise.mdx +++ b/website/pages/es/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From 8de56f4132939c30a6957d6cc9f9c0ed132f6200 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:09 -0400 Subject: [PATCH 1487/2326] New translations sunrise.mdx (Arabic) --- website/pages/ar/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/ar/sunrise.mdx b/website/pages/ar/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/ar/sunrise.mdx +++ b/website/pages/ar/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From a7608d9360bd31eee3d5978cd3dfa1ea27d47f77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:10 -0400 Subject: [PATCH 1488/2326] New translations sunrise.mdx (Czech) --- website/pages/cs/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/cs/sunrise.mdx b/website/pages/cs/sunrise.mdx index 5df337773e28..b5c538960e5b 100644 --- a/website/pages/cs/sunrise.mdx +++ b/website/pages/cs/sunrise.mdx @@ -20,7 +20,7 @@ Tento plán vychází z mnoha předchozích změn v ekosystému Graf, včetně v ### Kdy přestanou být podgrafy hostovaných služeb k dispozici? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Bude můj podgraf hostované služby podporován v síti Graf? @@ -46,7 +46,9 @@ Komunita Graf je zde, aby podporovala vývojáře při přechodu na síť Graf. ### Jak lze zajistit vysokou kvalitu služeb a redundanci podgrafů v síti Graf? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### Co se stane, když svůj podgraf neaktualizuji? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### Jak se mohu začít dotazovat na podgrafy v síti grafů? From b5982846f0421ab0a5c1231fd1ddfb9f1fc3f2ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:10 -0400 Subject: [PATCH 1489/2326] New translations sunrise.mdx (German) --- website/pages/de/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/de/sunrise.mdx b/website/pages/de/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/de/sunrise.mdx +++ b/website/pages/de/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From 441ba4e5cf80717115043e919b840232eb924196 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:11 -0400 Subject: [PATCH 1490/2326] New translations sunrise.mdx (Italian) --- website/pages/it/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/it/sunrise.mdx b/website/pages/it/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/it/sunrise.mdx +++ b/website/pages/it/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From 8a05c8b8c16827a0cb848d4faa5dee1a76a1853d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:13 -0400 Subject: [PATCH 1491/2326] New translations sunrise.mdx (Japanese) --- website/pages/ja/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/ja/sunrise.mdx b/website/pages/ja/sunrise.mdx index 3be5e52c660f..3df6dc01ac43 100644 --- a/website/pages/ja/sunrise.mdx +++ b/website/pages/ja/sunrise.mdx @@ -20,7 +20,7 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From ea072ab41ede17b6cf947eba5c0346aaa855895a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:13 -0400 Subject: [PATCH 1492/2326] New translations sunrise.mdx (Korean) --- website/pages/ko/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/ko/sunrise.mdx b/website/pages/ko/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/ko/sunrise.mdx +++ b/website/pages/ko/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From 7aa96806b11aea053c086b58e22c8a1408649a1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:14 -0400 Subject: [PATCH 1493/2326] New translations sunrise.mdx (Dutch) --- website/pages/nl/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/nl/sunrise.mdx b/website/pages/nl/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/nl/sunrise.mdx +++ b/website/pages/nl/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From d8595d507d6661ef00e60e27fb038b59e6377557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:15 -0400 Subject: [PATCH 1494/2326] New translations sunrise.mdx (Polish) --- website/pages/pl/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/pl/sunrise.mdx b/website/pages/pl/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/pl/sunrise.mdx +++ b/website/pages/pl/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From 0a70f5d69271d2a21ad603a6b293646bf259b3a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:16 -0400 Subject: [PATCH 1495/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index fe0352e15d12..6fe11a39d9f1 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -20,7 +20,7 @@ Este plano usa vários desenvolvimentos prévios do ecossistema do The Graph, in ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From 4e29236e2188f1e64fbcfd59be3f40c8d1000f90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:17 -0400 Subject: [PATCH 1496/2326] New translations sunrise.mdx (Russian) --- website/pages/ru/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/ru/sunrise.mdx b/website/pages/ru/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/ru/sunrise.mdx +++ b/website/pages/ru/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From e8423d477374b68903d79eafed4ac8c32e4ef5d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:18 -0400 Subject: [PATCH 1497/2326] New translations sunrise.mdx (Swedish) --- website/pages/sv/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/sv/sunrise.mdx b/website/pages/sv/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/sv/sunrise.mdx +++ b/website/pages/sv/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From f08d387ae921d719ff2f63a1a7976e747c23bbd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:19 -0400 Subject: [PATCH 1498/2326] New translations sunrise.mdx (Turkish) --- website/pages/tr/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/tr/sunrise.mdx b/website/pages/tr/sunrise.mdx index d7e2e08568e7..c85829294740 100644 --- a/website/pages/tr/sunrise.mdx +++ b/website/pages/tr/sunrise.mdx @@ -20,7 +20,7 @@ Bu plan, yeni yayınlanan subgraphlar üzerinde sorgular sunmak için bir yükse ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From defd20ef2b80ce17888b7d1a7dccb46172fc742f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:20 -0400 Subject: [PATCH 1499/2326] New translations sunrise.mdx (Ukrainian) --- website/pages/uk/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/uk/sunrise.mdx b/website/pages/uk/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/uk/sunrise.mdx +++ b/website/pages/uk/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From 61ae4940c1a5152025f539ba904d5de30a8b5a4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:21 -0400 Subject: [PATCH 1500/2326] New translations sunrise.mdx (Chinese Simplified) --- website/pages/zh/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/zh/sunrise.mdx b/website/pages/zh/sunrise.mdx index 838bcb977f55..9b976f4b42b8 100644 --- a/website/pages/zh/sunrise.mdx +++ b/website/pages/zh/sunrise.mdx @@ -20,7 +20,7 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From c9aaec404a8ae5af4450bb066ce1809d23f5b2bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:23 -0400 Subject: [PATCH 1501/2326] New translations sunrise.mdx (Urdu (Pakistan)) --- website/pages/ur/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/ur/sunrise.mdx b/website/pages/ur/sunrise.mdx index df87ac95949c..133defdd9517 100644 --- a/website/pages/ur/sunrise.mdx +++ b/website/pages/ur/sunrise.mdx @@ -20,7 +20,7 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From 47bb2e5b834d0a1c06791fc18528e40cf8a9e240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:24 -0400 Subject: [PATCH 1502/2326] New translations sunrise.mdx (Vietnamese) --- website/pages/vi/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/vi/sunrise.mdx b/website/pages/vi/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/vi/sunrise.mdx +++ b/website/pages/vi/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From b7c36db4f70124a8414f81eb2918ce4a12bd56c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:25 -0400 Subject: [PATCH 1503/2326] New translations sunrise.mdx (Marathi) --- website/pages/mr/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/mr/sunrise.mdx b/website/pages/mr/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/mr/sunrise.mdx +++ b/website/pages/mr/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From 92cfe93fce8ba1a46d21bec61bff3ab04b24cb2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:26 -0400 Subject: [PATCH 1504/2326] New translations sunrise.mdx (Hindi) --- website/pages/hi/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/hi/sunrise.mdx b/website/pages/hi/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/hi/sunrise.mdx +++ b/website/pages/hi/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From c61cd7f324e87cdacf4a927fa3801e6d49a19897 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 14:53:27 -0400 Subject: [PATCH 1505/2326] New translations sunrise.mdx (Yoruba) --- website/pages/yo/sunrise.mdx | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/website/pages/yo/sunrise.mdx b/website/pages/yo/sunrise.mdx index 4ca7c3012616..2d11a2be8d8a 100644 --- a/website/pages/yo/sunrise.mdx +++ b/website/pages/yo/sunrise.mdx @@ -20,7 +20,7 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service endpoints will no longer be available after June 12th, 2024. Developers will no longer be able to deploy new versions, and query endpoints will no longer be available to query. +Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. ### Will my hosted service subgraph be supported on The Graph Network? @@ -46,7 +46,9 @@ The Graph community is here to support developers as they move to The Graph Netw ### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? -All subgraphs will be supported by the upgrade indexer. In order to attract additional Indexers for redundancy and improved quality of service, developers can add curation signal to subgraphs eligible for indexing rewards. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). @@ -82,7 +84,27 @@ Around the start of June, Edge & Node will automatically upgrade actively querie ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam) +Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). + +### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? + +It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. + +### Will Subgraph Studio be impacted by this upgrade? + +No, Subgraph Studio will not be impacted by Sunrise. + +### What will happen to the hosted service? + +After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. + +### Will subgraphs need to be re-indexed again? + +No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). + +### Why is my subgraph being published to Arbitrum, is it indexing a different network? + +The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) ### How can I get started querying subgraphs on The Graph Network? From 9f95a3331330711d64f7de35fdb21e6718c17369 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:09 -0400 Subject: [PATCH 1506/2326] New translations publishing-a-subgraph.mdx (Romanian) --- .../ro/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/ro/publishing/publishing-a-subgraph.mdx b/website/pages/ro/publishing/publishing-a-subgraph.mdx index 9ccfe70d014d..482be222a7b5 100644 --- a/website/pages/ro/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ro/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Updating metadata for a published subgraph Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From 81bbf2275a2782acaf702d507e51eabbb5b8f1da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:10 -0400 Subject: [PATCH 1507/2326] New translations publishing-a-subgraph.mdx (French) --- .../fr/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/fr/publishing/publishing-a-subgraph.mdx b/website/pages/fr/publishing/publishing-a-subgraph.mdx index 6094081dc0bf..fa4f4c268152 100644 --- a/website/pages/fr/publishing/publishing-a-subgraph.mdx +++ b/website/pages/fr/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Mise à jour des métadonnées d'un subgraph publié Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From dd777b56a937dde52cacf9ee075463fa3fbbfab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:11 -0400 Subject: [PATCH 1508/2326] New translations publishing-a-subgraph.mdx (Spanish) --- .../es/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/es/publishing/publishing-a-subgraph.mdx b/website/pages/es/publishing/publishing-a-subgraph.mdx index f2717174a6c8..9cedf8eb0237 100644 --- a/website/pages/es/publishing/publishing-a-subgraph.mdx +++ b/website/pages/es/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Actualización de los metadatos de un subgrafo publicado Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From 3724f5c0034d2d3b6721252b234deca1df08c969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:12 -0400 Subject: [PATCH 1509/2326] New translations publishing-a-subgraph.mdx (Arabic) --- .../ar/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/ar/publishing/publishing-a-subgraph.mdx b/website/pages/ar/publishing/publishing-a-subgraph.mdx index e0ba44d6776f..981a8ad09ed9 100644 --- a/website/pages/ar/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ar/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Updating metadata for a published subgraph Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From c93fe0805fbbac7f782a52a5b3d1d5b72652add3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:13 -0400 Subject: [PATCH 1510/2326] New translations publishing-a-subgraph.mdx (Czech) --- .../cs/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/cs/publishing/publishing-a-subgraph.mdx b/website/pages/cs/publishing/publishing-a-subgraph.mdx index 5ddf71d931da..fea7300096c4 100644 --- a/website/pages/cs/publishing/publishing-a-subgraph.mdx +++ b/website/pages/cs/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Případně můžete přidat signál GRT do publikovaného podgrafu z Průzkumn ## Aktualizace metadata publikovaného podgrafu Jakmile je váš podgraf zveřejněn v decentralizované síti, můžete kdykoli změnit metadata provedením aktualizace na ovládacím panelu podgrafu v aplikaci Podgraf Studio. Po uložení změn a publikování aktualizací do sítě se tyto změny projeví v aplikaci Průzkumník grafů. Tím se nevytvoří nová verze, protože vaše nasazení se nezměnilo. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From aa601ec7db052bb03883a188be62717990ed3ce6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:14 -0400 Subject: [PATCH 1511/2326] New translations publishing-a-subgraph.mdx (German) --- .../de/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/de/publishing/publishing-a-subgraph.mdx b/website/pages/de/publishing/publishing-a-subgraph.mdx index 9ccfe70d014d..482be222a7b5 100644 --- a/website/pages/de/publishing/publishing-a-subgraph.mdx +++ b/website/pages/de/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Updating metadata for a published subgraph Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From d9af8427923ec3141ebd8152a2b54b7e297866f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:15 -0400 Subject: [PATCH 1512/2326] New translations publishing-a-subgraph.mdx (Italian) --- .../it/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/it/publishing/publishing-a-subgraph.mdx b/website/pages/it/publishing/publishing-a-subgraph.mdx index 31af65d794bc..600ae76742b6 100644 --- a/website/pages/it/publishing/publishing-a-subgraph.mdx +++ b/website/pages/it/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Aggiornamento dei metadati per un subgraph pubblicato Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From dfc44dc80a8093062c56697a348744147b7edd0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:17 -0400 Subject: [PATCH 1513/2326] New translations publishing-a-subgraph.mdx (Japanese) --- .../ja/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/ja/publishing/publishing-a-subgraph.mdx b/website/pages/ja/publishing/publishing-a-subgraph.mdx index 0bf201fc3fa3..c9aaea2335dd 100644 --- a/website/pages/ja/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ja/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## パブリッシュされたサブグラフのメタデータの更新 Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From f3ffc261d71e37129eeab5418d89739ad8360426 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:18 -0400 Subject: [PATCH 1514/2326] New translations publishing-a-subgraph.mdx (Korean) --- .../ko/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/ko/publishing/publishing-a-subgraph.mdx b/website/pages/ko/publishing/publishing-a-subgraph.mdx index 9ccfe70d014d..482be222a7b5 100644 --- a/website/pages/ko/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ko/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Updating metadata for a published subgraph Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From 86f5c787c1eebb518bb5cbdbc513f4814d7d5e5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:19 -0400 Subject: [PATCH 1515/2326] New translations publishing-a-subgraph.mdx (Dutch) --- .../nl/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/nl/publishing/publishing-a-subgraph.mdx b/website/pages/nl/publishing/publishing-a-subgraph.mdx index 25907c6214f9..ab2e2dc64f69 100644 --- a/website/pages/nl/publishing/publishing-a-subgraph.mdx +++ b/website/pages/nl/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Updating metadata for a published subgraph Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From c0afa4c65127279a748342a2957d67be1ac27c4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:20 -0400 Subject: [PATCH 1516/2326] New translations publishing-a-subgraph.mdx (Polish) --- .../pl/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/pl/publishing/publishing-a-subgraph.mdx b/website/pages/pl/publishing/publishing-a-subgraph.mdx index 9ccfe70d014d..482be222a7b5 100644 --- a/website/pages/pl/publishing/publishing-a-subgraph.mdx +++ b/website/pages/pl/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Updating metadata for a published subgraph Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From 8216d4e06240d74eb76edcfbda1d0d08a27a6238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:21 -0400 Subject: [PATCH 1517/2326] New translations publishing-a-subgraph.mdx (Portuguese) --- .../pt/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/pt/publishing/publishing-a-subgraph.mdx b/website/pages/pt/publishing/publishing-a-subgraph.mdx index 64a5a5ce2cf6..f2cb8f326d4b 100644 --- a/website/pages/pt/publishing/publishing-a-subgraph.mdx +++ b/website/pages/pt/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Como atualizar metadados para um subgraph editado Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From f78dc7373288fdfbb7e05d6e5fed02d5e0a93a99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:23 -0400 Subject: [PATCH 1518/2326] New translations publishing-a-subgraph.mdx (Russian) --- .../ru/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/ru/publishing/publishing-a-subgraph.mdx b/website/pages/ru/publishing/publishing-a-subgraph.mdx index 7ba880e4b803..4e22e130678e 100644 --- a/website/pages/ru/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ru/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Updating metadata for a published subgraph Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From b335ad2155de6350e2fb81da0a832803f9c182e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:24 -0400 Subject: [PATCH 1519/2326] New translations publishing-a-subgraph.mdx (Swedish) --- .../sv/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/sv/publishing/publishing-a-subgraph.mdx b/website/pages/sv/publishing/publishing-a-subgraph.mdx index 459b8fea763e..c803476b117c 100644 --- a/website/pages/sv/publishing/publishing-a-subgraph.mdx +++ b/website/pages/sv/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Uppdatera metadata för en publicerad subgraph Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From 6cd97e19348f24176eba2c9aafece19f1cffaf47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:25 -0400 Subject: [PATCH 1520/2326] New translations publishing-a-subgraph.mdx (Turkish) --- .../tr/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/tr/publishing/publishing-a-subgraph.mdx b/website/pages/tr/publishing/publishing-a-subgraph.mdx index 7480033a255b..7740e0f467fb 100644 --- a/website/pages/tr/publishing/publishing-a-subgraph.mdx +++ b/website/pages/tr/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Yayınlanan bir subgraph için üst veri güncelleme Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From 7b41bd7cde007b02059f912cf7890e4deb4038c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:26 -0400 Subject: [PATCH 1521/2326] New translations publishing-a-subgraph.mdx (Ukrainian) --- .../uk/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/uk/publishing/publishing-a-subgraph.mdx b/website/pages/uk/publishing/publishing-a-subgraph.mdx index e915ef1b4ee7..a220543fc909 100644 --- a/website/pages/uk/publishing/publishing-a-subgraph.mdx +++ b/website/pages/uk/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Updating metadata for a published subgraph Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From ce3b3bcd1fa2f782e207d2bc02066cc7ded6669d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:27 -0400 Subject: [PATCH 1522/2326] New translations publishing-a-subgraph.mdx (Chinese Simplified) --- .../zh/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/zh/publishing/publishing-a-subgraph.mdx b/website/pages/zh/publishing/publishing-a-subgraph.mdx index 3eecf8cd19ed..6bc857f194c6 100644 --- a/website/pages/zh/publishing/publishing-a-subgraph.mdx +++ b/website/pages/zh/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## 更新已发布的子图的元数据 Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From a2dd638b31e4e461070291e77669239321ed7953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:28 -0400 Subject: [PATCH 1523/2326] New translations publishing-a-subgraph.mdx (Urdu (Pakistan)) --- .../ur/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/ur/publishing/publishing-a-subgraph.mdx b/website/pages/ur/publishing/publishing-a-subgraph.mdx index 113167b1fe6f..c15f49107e4a 100644 --- a/website/pages/ur/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ur/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## شائع شدہ سب گراف کے لیے میٹا ڈیٹا کو اپ ڈیٹ کرنا Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From 96054744d082a3c5fbe762c26b2d15b41a615ab4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:29 -0400 Subject: [PATCH 1524/2326] New translations publishing-a-subgraph.mdx (Vietnamese) --- .../vi/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/vi/publishing/publishing-a-subgraph.mdx b/website/pages/vi/publishing/publishing-a-subgraph.mdx index 7b04909bbfc6..351d5ed02fee 100644 --- a/website/pages/vi/publishing/publishing-a-subgraph.mdx +++ b/website/pages/vi/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Updating metadata for a published subgraph Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From 2f2886e27f914e0e67f8a5420313cb7352a9d1c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:30 -0400 Subject: [PATCH 1525/2326] New translations publishing-a-subgraph.mdx (Marathi) --- .../mr/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/mr/publishing/publishing-a-subgraph.mdx b/website/pages/mr/publishing/publishing-a-subgraph.mdx index e27139f9c3b8..d9f8047e5ecc 100644 --- a/website/pages/mr/publishing/publishing-a-subgraph.mdx +++ b/website/pages/mr/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## प्रकाशित सबग्राफसाठी मेटाडेटा अपडेट करत आहे Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From 671c9cf4d407a1e932c1d5aafad72f7a642ae35c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:31 -0400 Subject: [PATCH 1526/2326] New translations publishing-a-subgraph.mdx (Hindi) --- .../hi/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/hi/publishing/publishing-a-subgraph.mdx b/website/pages/hi/publishing/publishing-a-subgraph.mdx index 4d97e4264c92..b6fb00065777 100644 --- a/website/pages/hi/publishing/publishing-a-subgraph.mdx +++ b/website/pages/hi/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## प्रकाशित सबग्राफ के लिए मेटाडेटा अपडेट करना Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From 444300246bb8f02c08d682676004e5ed51bb5ed1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 16:04:33 -0400 Subject: [PATCH 1527/2326] New translations publishing-a-subgraph.mdx (Yoruba) --- .../yo/publishing/publishing-a-subgraph.mdx | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/website/pages/yo/publishing/publishing-a-subgraph.mdx b/website/pages/yo/publishing/publishing-a-subgraph.mdx index 9ccfe70d014d..482be222a7b5 100644 --- a/website/pages/yo/publishing/publishing-a-subgraph.mdx +++ b/website/pages/yo/publishing/publishing-a-subgraph.mdx @@ -49,3 +49,24 @@ Alternatively, you can add GRT signal to a published subgraph from Graph Explore ## Updating metadata for a published subgraph Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. + +Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. + +![cli-ui](/img/cli-ui.png) + +You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: + +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. +``` From 46c4a8af72177bd96063aa95900350c59ef0aff3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:46 -0400 Subject: [PATCH 1528/2326] New translations glossary.mdx (Romanian) --- website/pages/ro/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ro/glossary.mdx b/website/pages/ro/glossary.mdx index e3e23d383c4e..cd24a22fd4d5 100644 --- a/website/pages/ro/glossary.mdx +++ b/website/pages/ro/glossary.mdx @@ -38,7 +38,7 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From dc1f13d9924d748578a88a440dfa77845350cf69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:47 -0400 Subject: [PATCH 1529/2326] New translations glossary.mdx (French) --- website/pages/fr/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/fr/glossary.mdx b/website/pages/fr/glossary.mdx index b12c50512100..e709ff578441 100644 --- a/website/pages/fr/glossary.mdx +++ b/website/pages/fr/glossary.mdx @@ -38,7 +38,7 @@ title: Glossaire - **Développeur de subgraphs** : un développeur qui crée et déploie un subgraph sur le réseau décentralisé de The Graph. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From b357a02d07723eaad7bdbd32bc9155245390a7ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:48 -0400 Subject: [PATCH 1530/2326] New translations glossary.mdx (Spanish) --- website/pages/es/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/es/glossary.mdx b/website/pages/es/glossary.mdx index 1f049866b5e5..adabc2b4b467 100644 --- a/website/pages/es/glossary.mdx +++ b/website/pages/es/glossary.mdx @@ -38,7 +38,7 @@ title: Glosario - **Developer de subgrafos (Subgraph developer)**: Developer que construye y realiza el deploy de un subgrafo en la red descentralizada de The Graph. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From 9823ebb2c72a2e34a2d4a9853ba453bdbf9a7641 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:49 -0400 Subject: [PATCH 1531/2326] New translations glossary.mdx (Arabic) --- website/pages/ar/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ar/glossary.mdx b/website/pages/ar/glossary.mdx index c44b2886ae23..a94cb5d4be55 100644 --- a/website/pages/ar/glossary.mdx +++ b/website/pages/ar/glossary.mdx @@ -38,7 +38,7 @@ title: قائمة المصطلحات - **مطور السوبغراف**: هو المطور الذي يقوم ببناء ونشر السوبغراف على شبكة الغراف اللامركزية. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **الحقبة (Epoch)**: وحدة زمنية داخل الشبكة. حاليًا، تتألف الحقبة من 6,646 كتلة أو تقريبًا يوم واحد. From 017e629b16f73196b755069acab95208fe8f1ed7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:50 -0400 Subject: [PATCH 1532/2326] New translations glossary.mdx (Czech) --- website/pages/cs/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/glossary.mdx b/website/pages/cs/glossary.mdx index 6911536894cf..b1e74d28b440 100644 --- a/website/pages/cs/glossary.mdx +++ b/website/pages/cs/glossary.mdx @@ -38,7 +38,7 @@ title: Glosář - **Vývojář podgrafů**: Vývojář, který vytváří a nasazuje subgraf do decentralizované sítě Grafu. -- **Manifest podgrafů**: Soubor JSON, který popisuje schéma podgrafu v jazyce GraphQL, zdroje dat a další metadata. [Tady](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) je příklad. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: Časová jednotka v rámci sítě. V současné době je jedna epocha 6,646 bloků nebo přibližně 1 den. From 08115c3908d6e314b1058983fafd4eb852b8a58c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:51 -0400 Subject: [PATCH 1533/2326] New translations glossary.mdx (German) --- website/pages/de/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/glossary.mdx b/website/pages/de/glossary.mdx index e3e23d383c4e..cd24a22fd4d5 100644 --- a/website/pages/de/glossary.mdx +++ b/website/pages/de/glossary.mdx @@ -38,7 +38,7 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From aa34a19928d9a3ead5a310a89dd968f6b841b96a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:52 -0400 Subject: [PATCH 1534/2326] New translations glossary.mdx (Italian) --- website/pages/it/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/it/glossary.mdx b/website/pages/it/glossary.mdx index e3e23d383c4e..cd24a22fd4d5 100644 --- a/website/pages/it/glossary.mdx +++ b/website/pages/it/glossary.mdx @@ -38,7 +38,7 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From a61c548184d296f15d46ef912a9000d22e669742 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:53 -0400 Subject: [PATCH 1535/2326] New translations glossary.mdx (Japanese) --- website/pages/ja/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ja/glossary.mdx b/website/pages/ja/glossary.mdx index ffec3f05297d..6cb8c102d04b 100644 --- a/website/pages/ja/glossary.mdx +++ b/website/pages/ja/glossary.mdx @@ -38,7 +38,7 @@ title: 用語集 - **サブグラフ・デベロッパー**:The Graphの分散型ネットワークにサブグラフを構築し、デプロイする開発者のことです。 -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **エポック**: ネットワーク内の時間の単位。現在、1エポックは6,646ブロック、または約1日です。 From d2ed672b724b62e17efdb51248e36b13ce905003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:54 -0400 Subject: [PATCH 1536/2326] New translations glossary.mdx (Korean) --- website/pages/ko/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ko/glossary.mdx b/website/pages/ko/glossary.mdx index e3e23d383c4e..cd24a22fd4d5 100644 --- a/website/pages/ko/glossary.mdx +++ b/website/pages/ko/glossary.mdx @@ -38,7 +38,7 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From d59ea35818ddfe34794518babdb873c82d2775c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:55 -0400 Subject: [PATCH 1537/2326] New translations glossary.mdx (Dutch) --- website/pages/nl/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/nl/glossary.mdx b/website/pages/nl/glossary.mdx index e3e23d383c4e..cd24a22fd4d5 100644 --- a/website/pages/nl/glossary.mdx +++ b/website/pages/nl/glossary.mdx @@ -38,7 +38,7 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From f53669664e770e309c6edea7040ce778f1d4e468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:57 -0400 Subject: [PATCH 1538/2326] New translations glossary.mdx (Polish) --- website/pages/pl/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pl/glossary.mdx b/website/pages/pl/glossary.mdx index e3e23d383c4e..cd24a22fd4d5 100644 --- a/website/pages/pl/glossary.mdx +++ b/website/pages/pl/glossary.mdx @@ -38,7 +38,7 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From 31ee0200667a456ff680e36c85dff27b40e070ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:58 -0400 Subject: [PATCH 1539/2326] New translations glossary.mdx (Portuguese) --- website/pages/pt/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/glossary.mdx b/website/pages/pt/glossary.mdx index ed81c3fac678..fdeac0df5676 100644 --- a/website/pages/pt/glossary.mdx +++ b/website/pages/pt/glossary.mdx @@ -38,7 +38,7 @@ title: Glossário - **Programador de Subgraph**: Um programador que constrói e lança um subgraph à rede descentralizada do The Graph. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: Uma unidade de tempo na rede. Um epoch atualmente dura 6.646 blocos, ou cerca de um dia. From bae04640de9f8bccb6fc81ce8bdc3a6e4e55f966 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:02:59 -0400 Subject: [PATCH 1540/2326] New translations glossary.mdx (Russian) --- website/pages/ru/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ru/glossary.mdx b/website/pages/ru/glossary.mdx index e3e23d383c4e..cd24a22fd4d5 100644 --- a/website/pages/ru/glossary.mdx +++ b/website/pages/ru/glossary.mdx @@ -38,7 +38,7 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From 96dd5b629a27444a838db8a2704bffb17832a778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:03:00 -0400 Subject: [PATCH 1541/2326] New translations glossary.mdx (Swedish) --- website/pages/sv/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/sv/glossary.mdx b/website/pages/sv/glossary.mdx index cc6b4386945f..5623c1c1b9fc 100644 --- a/website/pages/sv/glossary.mdx +++ b/website/pages/sv/glossary.mdx @@ -38,7 +38,7 @@ title: Ordlista - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From 8e9f390a972828dcce590ffc99be788b7ce8e3fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:03:01 -0400 Subject: [PATCH 1542/2326] New translations glossary.mdx (Turkish) --- website/pages/tr/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/tr/glossary.mdx b/website/pages/tr/glossary.mdx index ba5b159d1f35..23b85c69e0c1 100644 --- a/website/pages/tr/glossary.mdx +++ b/website/pages/tr/glossary.mdx @@ -38,7 +38,7 @@ title: Glossary - **Subgraph Geliştiricisi**: Graph'in merkeziyetsiz ağına bir subgraph inşa eden ve dağıtan bir geliştirici. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From be92b6cfc0b91f98371e46abc37b515544123f2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:03:02 -0400 Subject: [PATCH 1543/2326] New translations glossary.mdx (Ukrainian) --- website/pages/uk/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/uk/glossary.mdx b/website/pages/uk/glossary.mdx index dc79d30d8c49..392cc6b55f27 100644 --- a/website/pages/uk/glossary.mdx +++ b/website/pages/uk/glossary.mdx @@ -38,7 +38,7 @@ title: Глосарій - **Розробник підграфа**: Розробник, який створює та розгортає підграф у децентралізованій мережі The Graph. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From 2cd8dcdb789722bff0cf64fb1ae23c1019e9639b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:03:03 -0400 Subject: [PATCH 1544/2326] New translations glossary.mdx (Chinese Simplified) --- website/pages/zh/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/zh/glossary.mdx b/website/pages/zh/glossary.mdx index b0aea0cc50d1..dea556fafe08 100644 --- a/website/pages/zh/glossary.mdx +++ b/website/pages/zh/glossary.mdx @@ -38,7 +38,7 @@ title: 术语汇编 - **Subgraph Developer**: 构建并部署子图到 Graph 去中心化网络的开发人员。 -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: 网络中的时间单位。一个时期目前为6,646个区块或大约1天。 From 725ac2293c6162f2a79fc7c56c7efa41026f44d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:03:04 -0400 Subject: [PATCH 1545/2326] New translations glossary.mdx (Urdu (Pakistan)) --- website/pages/ur/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ur/glossary.mdx b/website/pages/ur/glossary.mdx index a793726d3b25..637afbec2617 100644 --- a/website/pages/ur/glossary.mdx +++ b/website/pages/ur/glossary.mdx @@ -38,7 +38,7 @@ title: لغت - **سب گراف ڈویلپر**: ایک ڈویلپر جو گراف کے ڈیسینٹرالائزڈ نیٹ ورک پر سب گراف بناتا اور تعینات کرتا ہے. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From c47d1f8fddeba9ac10693f1881ba9057a2ed31c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:03:05 -0400 Subject: [PATCH 1546/2326] New translations glossary.mdx (Vietnamese) --- website/pages/vi/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/vi/glossary.mdx b/website/pages/vi/glossary.mdx index e3e23d383c4e..cd24a22fd4d5 100644 --- a/website/pages/vi/glossary.mdx +++ b/website/pages/vi/glossary.mdx @@ -38,7 +38,7 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From 245cda124c2299222f035dd8bed358e0703d8bdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:03:06 -0400 Subject: [PATCH 1547/2326] New translations glossary.mdx (Marathi) --- website/pages/mr/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/mr/glossary.mdx b/website/pages/mr/glossary.mdx index 5ce03f957294..3b293eb5489a 100644 --- a/website/pages/mr/glossary.mdx +++ b/website/pages/mr/glossary.mdx @@ -38,7 +38,7 @@ title: Glossary - **सबग्राफ डेव्हलपर**: एक विकासक जो ग्राफच्या विकेंद्रीकृत नेटवर्कवर सबग्राफ तयार करतो आणि तैनात करतो. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From 749eac87ac55a3e1123d9d43623032362015820d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:03:07 -0400 Subject: [PATCH 1548/2326] New translations glossary.mdx (Hindi) --- website/pages/hi/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/hi/glossary.mdx b/website/pages/hi/glossary.mdx index 3b00ff0e4d96..aa9f07691bff 100644 --- a/website/pages/hi/glossary.mdx +++ b/website/pages/hi/glossary.mdx @@ -38,7 +38,7 @@ title: शब्दकोष - **सबग्राफ डेवलपर**: एक डेवलपर जो ग्राफ़ के विकेंद्रीकृत नेटवर्क के लिए एक सबग्राफ़ बनाता और तैनात करता है। -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From f4656ced22362646e14979c90dbe23e46b3e2297 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 3 Jun 2024 17:03:08 -0400 Subject: [PATCH 1549/2326] New translations glossary.mdx (Yoruba) --- website/pages/yo/glossary.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/yo/glossary.mdx b/website/pages/yo/glossary.mdx index e3e23d383c4e..cd24a22fd4d5 100644 --- a/website/pages/yo/glossary.mdx +++ b/website/pages/yo/glossary.mdx @@ -38,7 +38,7 @@ title: Glossary - **Subgraph Developer**: A developer who builds and deploys a subgraph to The Graph's decentralized network. -- **Subgraph Manifest**: A JSON file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. - **Epoch**: A unit of time within the network. Currently, one epoch is 6,646 blocks or approximately 1 day. From d1402269e15b06b79f7ff6e7d1da0794200decb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:23:54 -0400 Subject: [PATCH 1550/2326] New translations deploying-a-subgraph-to-hosted.mdx (Romanian) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx index f1be54725c2b..840ad6900998 100644 --- a/website/pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ro/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ If you don't have a `networks.json` file, you'll need to manually create one wit **Note:** You don't have to specify any of the `templates` (if you have any) in the config file, only the `dataSources`. If there are any `templates` declared in the `subgraph.yaml` file, their network will be automatically updated to the one specified with the `--network` option. -Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `goerli` networks, and this is your `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ This is what your networks config file should look like: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ Now we can run one of the following commands: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -The `build` command will update your `subgraph.yaml` with the `goerli` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ Now you are ready to `yarn deploy`. ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Using subgraph.yaml template One solution for older graph-cli versions that allows to parameterize aspects like contract addresses is to generate parts of it using a templating system like [Mustache](https://mustache.github.io/) or [Handlebars](https://handlebarsjs.com/). -To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Goerli using different contract addresses. You could then define two config files providing the addresses for each network: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ and ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ In order to generate a manifest to either network, you could add two additional "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ In order to generate a manifest to either network, you could add two additional } ``` -To deploy this subgraph for mainnet or Goerli you would now simply run one of the two following commands: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` A working example of this can be found [here](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From 47f3d095c49001ffa61a24ae8333fcca1278c7ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:23:56 -0400 Subject: [PATCH 1551/2326] New translations deploying-a-subgraph-to-hosted.mdx (French) --- .../deploying-a-subgraph-to-hosted.mdx | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/website/pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx index b88e12256ab2..39d85164f0f6 100644 --- a/website/pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/fr/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ Si vous n'avez pas de fichier `networks.json`, vous devrez en créer un manuelle **Note:** Vous n'avez pas à spécifier les `modèles` (si vous en avez) dans le fichier de configuration, seulement les `dataSources`. S'il existe des `modèles` déclarés dans le fichier `subgraph.yaml`, leur réseau sera automatiquement mis à jour avec celui spécifié avec l'option `--network`. -Supposons maintenant que vous souhaitiez pouvoir déployer votre subgraph sur les réseaux `mainnet` et `goerli`, et voici votre `subgraph.yaml` : +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ Voici à quoi devrait ressembler votre fichier de configuration réseau : "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -135,21 +135,21 @@ Voici à quoi devrait ressembler votre fichier de configuration réseau : Nous pouvons maintenant exécuter l'une des commandes suivantes : ```sh -# Utilisation du fichier networks.json par défaut -yarn build --network goerli +# Using default networks.json file +yarn build --network sepolia -# Utilisation d'un fichier personnalisé -yarn build --network goerli --network-file path/to/config +# Using custom named file +yarn build --network sepolia --network-file path/to/config ``` -La commande `build` mettra à jour votre `subgraph.yaml` avec la configuration `goerli` puis recompilera le subgraph. Votre fichier `subgraph.yaml` devrait maintenant ressembler à ceci : +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -162,18 +162,18 @@ Vous êtes maintenant prêt à `yarn deploy`. **Remarque :** Comme mentionné précédemment, depuis `graph-cli 0.32.0` vous pouvez exécuter directement `yarn deploy` avec le `--network` option : ```sh -# Utilisation du fichier networks.json par défaut -yarn deploy --network goerli +# Using default networks.json file +yarn deploy --network sepolia -# Utilisation d'un fichier personnalisé -yarn deploy --network goerli --network-file path/to/config +# Using custom named file +yarn deploy --network sepolia --network-file path/to/config ``` ### Utilisation du modèle subgraph.yaml Une solution pour les anciennes versions de graph-cli qui permet de paramétrer des aspects tels que les adresses de contrat consiste à en générer des parties à l'aide d'un système de modèles comme [Mustache](https://mustache.github.io/) ou [Handlebars](https://handlebarsjs.com/). -Pour illustrer cette approche, supposons qu'un subgraph doive être déployé sur mainnet et Goerli en utilisant des adresses contractuelles différentes. Vous pourriez alors définir deux fichiers de configuration fournissant les adresses pour chaque réseau : +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,8 +186,8 @@ et ```json { - "réseau": "goerli", - "adresse": "0xabc..." + "network": "sepolia", + "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ Afin de générer un manifeste sur l'un ou l'autre des réseaux, vous pouvez ajo "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ Afin de générer un manifeste sur l'un ou l'autre des réseaux, vous pouvez ajo } ``` -Pour déployer ce subgraph pour le réseau principal ou Goerli, vous devez maintenant simplement exécuter l'une des deux commandes suivantes : +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` Un exemple concret de ce type d'action peut être trouvé [ici](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From 4ee09628a5405f1c25b74a405ca7c9c54cea4ebb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:23:57 -0400 Subject: [PATCH 1552/2326] New translations deploying-a-subgraph-to-hosted.mdx (Spanish) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/es/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/es/deploying/deploying-a-subgraph-to-hosted.mdx index 85ea272aedaf..0c7be61e16cd 100644 --- a/website/pages/es/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/es/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ Si no tienes un archivo `networks.json`, deberás crear uno manualmente con la s **Nota:** No tienes que especificar ninguna de las `templates` (si tienes alguna) en el archivo de configuración, solo el ` dataSources`. Si hay alguna `templates` declarada en el archivo `subgraph.yaml`, su red se actualizará automáticamente a la especificada con la opción `--network`. -Ahora, supongamos que deseas implementar tu subgrafo en las redes `mainnet` y `goerli`, y este es tu `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ Este es el aspecto que debe tener el archivo de configuración de tu red: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ Ahora podemos ejecutar uno de los siguientes comandos: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -El comando `build` actualizará tu `subgraph.yaml` con la configuración de `goerli` y luego volverá a compilar el subgrafo. Tu archivo `subgraph.yaml` ahora debería verse así: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ Ahora está listo para ` yarn deploy `. ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Usando la plantilla subgraph.yaml Una solución para las versiones antiguas de graph-cli que permite parametrizar aspectos como las direcciones de los contratos es generar partes del mismo mediante un sistema de plantillas como [Mustache](https://mustache.github.io/) o [Handlebars](https://handlebarsjs.com/). -Para ilustrar este enfoque, supongamos que un subgrafo debe deployarse en mainnet y Goerli utilizando diferentes direcciones de contrato. Podrías entonces definir dos archivos de configuración proporcionando las direcciones para cada red: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ y ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ Para generar un manifiesto para cualquiera de las redes, puedes agregar dos coma "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ Para generar un manifiesto para cualquiera de las redes, puedes agregar dos coma } ``` -Para deployar este subgrafo para mainnet o Goerli ahora solo tendrías que ejecutar uno de los dos siguientes comandos: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` Un ejemplo práctico de esto se puede encontrar [aqui](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From 6f8c1c7c8e63eaab58ed702d15e0ebd28419659c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:23:58 -0400 Subject: [PATCH 1553/2326] New translations deploying-a-subgraph-to-hosted.mdx (Arabic) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx index 06b3860076eb..327809be6460 100644 --- a/website/pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ar/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ If you don't have a `networks.json` file, you'll need to manually create one wit **Note:** You don't have to specify any of the `templates` (if you have any) in the config file, only the `dataSources`. If there are any `templates` declared in the `subgraph.yaml` file, their network will be automatically updated to the one specified with the `--network` option. -Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `goerli` networks, and this is your `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ This is what your networks config file should look like: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ Now we can run one of the following commands: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -The `build` command will update your `subgraph.yaml` with the `goerli` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ Now you are ready to `yarn deploy`. ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Using subgraph.yaml template One solution for older graph-cli versions that allows to parameterize aspects like contract addresses is to generate parts of it using a templating system like [Mustache](https://mustache.github.io/) or [Handlebars](https://handlebarsjs.com/). -To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Goerli using different contract addresses. You could then define two config files providing the addresses for each network: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ and ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ In order to generate a manifest to either network, you could add two additional "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ In order to generate a manifest to either network, you could add two additional } ``` -To deploy this subgraph for mainnet or Goerli you would now simply run one of the two following commands: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` A working example of this can be found [here](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From e1c184ea596d951a25bb807ec9da63cf81fa1fef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:23:59 -0400 Subject: [PATCH 1554/2326] New translations deploying-a-subgraph-to-hosted.mdx (Czech) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx index bd6871614d06..754f59ece522 100644 --- a/website/pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/cs/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ Pokud nemáte soubor `networks.json`, musíte jej vytvořit ručně s následuj **Poznámka:** V konfiguračním souboru nemusíte zadávat žádné `šablony` (pokud nějaké máte), pouze ` dataSources`. Pokud jsou v souboru `subgraph.yaml` deklarovány nějaké `šablony`, jejich síť bude automaticky aktualizována na síť zadanou pomocí možnosti `--network`. -Nyní předpokládejme, že chcete být schopni nasadit svůj podgraf do sítí `mainnet` a `goerli`, a to je váš soubor `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ Takto by měl vypadat konfigurační soubor sítě: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ Nyní můžeme spustit jeden z následujících příkazů: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -Příkaz `build` aktualizuje váš `subgraph.yaml` pomocí konfigurace `goerli` a poté znovu zkompiluje podgraf. Váš soubor `subgraph.yaml` by nyní měl vypadat takto: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ Nyní jste připraveni na `yarn deploy`. ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Použití šablony subgraph.yaml Jedním z řešení pro starší verze graph-cli, které umožňují parametrizovat aspekty, jako jsou adresy smluv, je generování jeho částí pomocí šablonovacího systému, jako je [Mustache](https://mustache.github.io/) nebo [Handlebars](https://handlebarsjs.com/). -Pro ilustraci tohoto přístupu předpokládejme, že podgraf by měl být nasazen do mainnet a Goerli s použitím různých smluvních adres. Pak byste mohli definovat dva konfigurační soubory poskytující adresy pro každou síť: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ a ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ Abychom vygenerovali manifest pro libovolnou síť, můžete přidat k souboru ` "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ Abychom vygenerovali manifest pro libovolnou síť, můžete přidat k souboru ` } ``` -Pro nasazení tohoto podgrafu pro mainnet nebo Goerli nyní stačí spustit jeden z následujících dvou příkazů: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` Funkční příklad najdete [zde](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From 97b296b95aa6877fb7ce911fc6edc06f17ce9881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:00 -0400 Subject: [PATCH 1555/2326] New translations deploying-a-subgraph-to-hosted.mdx (German) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/de/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/de/deploying/deploying-a-subgraph-to-hosted.mdx index f1be54725c2b..840ad6900998 100644 --- a/website/pages/de/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/de/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ If you don't have a `networks.json` file, you'll need to manually create one wit **Note:** You don't have to specify any of the `templates` (if you have any) in the config file, only the `dataSources`. If there are any `templates` declared in the `subgraph.yaml` file, their network will be automatically updated to the one specified with the `--network` option. -Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `goerli` networks, and this is your `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ This is what your networks config file should look like: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ Now we can run one of the following commands: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -The `build` command will update your `subgraph.yaml` with the `goerli` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ Now you are ready to `yarn deploy`. ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Using subgraph.yaml template One solution for older graph-cli versions that allows to parameterize aspects like contract addresses is to generate parts of it using a templating system like [Mustache](https://mustache.github.io/) or [Handlebars](https://handlebarsjs.com/). -To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Goerli using different contract addresses. You could then define two config files providing the addresses for each network: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ and ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ In order to generate a manifest to either network, you could add two additional "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ In order to generate a manifest to either network, you could add two additional } ``` -To deploy this subgraph for mainnet or Goerli you would now simply run one of the two following commands: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` A working example of this can be found [here](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From 14af37e21251d6c9c1c7a2f774538e99ffda6da6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:01 -0400 Subject: [PATCH 1556/2326] New translations deploying-a-subgraph-to-hosted.mdx (Italian) --- .../deploying-a-subgraph-to-hosted.mdx | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/website/pages/it/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/it/deploying/deploying-a-subgraph-to-hosted.mdx index 1b2aafa5714e..6a76b4352426 100644 --- a/website/pages/it/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/it/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ Se non si dispone di un file `networks.json`, è necessario crearne uno manualme **Nota:** Non è necessario specificare alcuno dei `template` (se ne esistono) nel file di configurazione, ma solo i `dataSource`. Se ci sono `templates` dichiarati nel file `subgraph.yaml`, la loro rete sarà automaticamente aggiornata a quella specificata con l'opzione `--network`. -Ora, supponiamo che si voglia essere in grado di distribuire il proprio subgraph nelle rete `mainnet` e `goerli`, e questo è il `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ Questo è l'aspetto del file di configurazione delle reti: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -135,21 +135,21 @@ Questo è l'aspetto del file di configurazione delle reti: Ora possiamo eseguire uno dei seguenti comandi: ```sh -# Utilizzo di un file predefinito networks.json -yarn build --network goerli +# Using default networks.json file +yarn build --network sepolia -# Utilizzo di un file con nome personalizzato -yarn build --network goerli --network-file path/to/config +# Using custom named file +yarn build --network sepolia --network-file path/to/config ``` -Il comando `build` aggiornerà il `subgraph.yaml` con la configurazione di `goerli` e poi ricompilerà il subgraph. Il file `subgraph.yaml` dovrebbe ora avere questo aspetto: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -162,18 +162,18 @@ Ora si è pronti per `yarn deploy`. **Nota:** Come già menzionato, da `graph-cli 0.32.0` è possibile eseguire direttamente `yarn deploy` con l'opzione `--network`: ```sh -# Utilizzo di un file predefinito networks.json -yarn deploy --network goerli +# Using default networks.json file +yarn deploy --network sepolia -# Utilizzo di un file con nome personalizzato -yarn deploy --network goerli --network-file path/to/config +# Using custom named file +yarn deploy --network sepolia --network-file path/to/config ``` ### Utilizzo del template subgraph.yaml Una soluzione per le vecchie versioni di graph-cli che permettono di parametrizzare aspetti come gli indirizzi dei contratti è quella di generare parti di esso utilizzando un sistema di template come [Mustache](https://mustache.github.io/) oppure [Handlebars](https://handlebarsjs.com/). -Per illustrare questo approccio, supponiamo che un subgraph debba essere distribuito su mainnet e Goerli utilizzando indirizzi di contratto diversi. Si potrebbero definire due file di configurazione che forniscono gli indirizzi per ciascuna rete: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ e ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ Per generare un manifest per entrambe le reti, si possono aggiungere due comandi "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ Per generare un manifest per entrambe le reti, si possono aggiungere due comandi } ``` -Per distribuire questo subgraph per mainnet o Goerli è sufficiente eseguire uno dei due comandi seguenti: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` Un esempio funzionante di questo può essere trovato [qui](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From 91b353b3d2b95121ac7bc4ff92aa6a37efc711e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:02 -0400 Subject: [PATCH 1557/2326] New translations deploying-a-subgraph-to-hosted.mdx (Japanese) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx index 8b9aad507585..1394f8047abe 100644 --- a/website/pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ja/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ Options: **Note:** 設定ファイルでは`templates`(もしあれば)を指定する必要はなく、`dataSources`だけを指定すればよいでしょう。もし、`subgraph.yaml`ファイルで宣言された`templates`があれば、それらのネットワークは自動的に`--network`オプションで指定したものに更新されます。 -ここで、サブグラフを`mainnet`と`goerli`ネットワークにデプロイできるようにしたいと仮定し、これが`subgraph.yaml`であるとしましょう: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ dataSources: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ dataSources: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -`build`コマンドは、`subgraph.yaml`を`goerli`の設定で更新し、サブグラフをリコンパイルします。`subgraph.yaml`ファイルは、以下のようになります: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ dataSources: ```sh # Using default networks.json file -yarn build --network goerli +yarn deploy --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### subgraph.yamlテンプレートの使用 古いバージョンのgraph-cliで、コントラクトアドレスのような側面をパラメータ化できるようにする一つの解決策は、[Mustache](https://mustache.github.io/) や [Handlebars](https://handlebarsjs.com/) などのテンプレートシステムを使ってその一部を生成することです。 -この方法を説明するために、あるサブグラフが異なるコントラクトアドレスを使用してmainnetと Goerliにデプロイされるべきだと仮定してみましょう。その場合、各ネットワークのアドレスを提供する 2 つのconfigファイルを定義することができます。 +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ and/と ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ dataSources: "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ dataSources: } ``` -このサブグラフをmainnetやGoerliにデプロイするには、次の 2 つのコマンドのどちらかを実行するだけです: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` この例は、[こちら](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759)でご覧いただけます。 From c641a5b7b7aae3102c5c2ad1413f9f206cb716ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:04 -0400 Subject: [PATCH 1558/2326] New translations deploying-a-subgraph-to-hosted.mdx (Korean) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx index f1be54725c2b..840ad6900998 100644 --- a/website/pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ko/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ If you don't have a `networks.json` file, you'll need to manually create one wit **Note:** You don't have to specify any of the `templates` (if you have any) in the config file, only the `dataSources`. If there are any `templates` declared in the `subgraph.yaml` file, their network will be automatically updated to the one specified with the `--network` option. -Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `goerli` networks, and this is your `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ This is what your networks config file should look like: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ Now we can run one of the following commands: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -The `build` command will update your `subgraph.yaml` with the `goerli` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ Now you are ready to `yarn deploy`. ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Using subgraph.yaml template One solution for older graph-cli versions that allows to parameterize aspects like contract addresses is to generate parts of it using a templating system like [Mustache](https://mustache.github.io/) or [Handlebars](https://handlebarsjs.com/). -To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Goerli using different contract addresses. You could then define two config files providing the addresses for each network: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ and ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ In order to generate a manifest to either network, you could add two additional "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ In order to generate a manifest to either network, you could add two additional } ``` -To deploy this subgraph for mainnet or Goerli you would now simply run one of the two following commands: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` A working example of this can be found [here](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From 676b2a8a887a71f8a583c47bb2a11eca2298358e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:05 -0400 Subject: [PATCH 1559/2326] New translations deploying-a-subgraph-to-hosted.mdx (Dutch) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx index f1be54725c2b..840ad6900998 100644 --- a/website/pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/nl/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ If you don't have a `networks.json` file, you'll need to manually create one wit **Note:** You don't have to specify any of the `templates` (if you have any) in the config file, only the `dataSources`. If there are any `templates` declared in the `subgraph.yaml` file, their network will be automatically updated to the one specified with the `--network` option. -Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `goerli` networks, and this is your `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ This is what your networks config file should look like: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ Now we can run one of the following commands: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -The `build` command will update your `subgraph.yaml` with the `goerli` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ Now you are ready to `yarn deploy`. ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Using subgraph.yaml template One solution for older graph-cli versions that allows to parameterize aspects like contract addresses is to generate parts of it using a templating system like [Mustache](https://mustache.github.io/) or [Handlebars](https://handlebarsjs.com/). -To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Goerli using different contract addresses. You could then define two config files providing the addresses for each network: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ and ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ In order to generate a manifest to either network, you could add two additional "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ In order to generate a manifest to either network, you could add two additional } ``` -To deploy this subgraph for mainnet or Goerli you would now simply run one of the two following commands: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` A working example of this can be found [here](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From ab65aed3dc853993dede7d68341e5241e531c925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:06 -0400 Subject: [PATCH 1560/2326] New translations deploying-a-subgraph-to-hosted.mdx (Polish) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx index f1be54725c2b..840ad6900998 100644 --- a/website/pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/pl/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ If you don't have a `networks.json` file, you'll need to manually create one wit **Note:** You don't have to specify any of the `templates` (if you have any) in the config file, only the `dataSources`. If there are any `templates` declared in the `subgraph.yaml` file, their network will be automatically updated to the one specified with the `--network` option. -Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `goerli` networks, and this is your `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ This is what your networks config file should look like: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ Now we can run one of the following commands: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -The `build` command will update your `subgraph.yaml` with the `goerli` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ Now you are ready to `yarn deploy`. ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Using subgraph.yaml template One solution for older graph-cli versions that allows to parameterize aspects like contract addresses is to generate parts of it using a templating system like [Mustache](https://mustache.github.io/) or [Handlebars](https://handlebarsjs.com/). -To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Goerli using different contract addresses. You could then define two config files providing the addresses for each network: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ and ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ In order to generate a manifest to either network, you could add two additional "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ In order to generate a manifest to either network, you could add two additional } ``` -To deploy this subgraph for mainnet or Goerli you would now simply run one of the two following commands: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` A working example of this can be found [here](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From eb6600f216189b518d5ba2b951b659310bb512fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:07 -0400 Subject: [PATCH 1561/2326] New translations deploying-a-subgraph-to-hosted.mdx (Portuguese) --- .../deploying-a-subgraph-to-hosted.mdx | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx index 9e3e82e198bb..7053b8c4a858 100644 --- a/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ Caso não tenha um arquivo `networks.json`, precisará criar o mesmo manualmente **Nota:** Não precisa especificar quaisquer dos `templates` (se tiver) no arquivo de configuração, apenas as `dataSources`. Se houver alguns `templates` declarados no arquivo `subgraph.yaml`, sua rede será automaticamente atualizada à especificada na opção `--network`. -Agora, vamos supor que quer lançar o seu subgraph às redes `mainnet` e `goerli`, e este é o seu `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ O seu arquivo de config de redes deve ficar assim: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -135,21 +135,21 @@ O seu arquivo de config de redes deve ficar assim: Agora podemos executar um dos seguintes comandos: ```sh -# Usar o arquivo networks.json padrão -yarn build --network goerli +# Using default networks.json file +yarn build --network sepolia -# Usar arquivo com nome personalizado -yarn build --network goerli --network-file local/do/config +# Using custom named file +yarn build --network sepolia --network-file path/to/config ``` -O comando `build` atualizará o seu `subgraph.yaml` com a configuração `goerli` e depois recompilará o subgraph. O seu arquivo `subgraph.yaml` agora deve parecer com isto: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -162,18 +162,18 @@ Agora está tudo pronto para executar o `yarn deploy`. **Nota:** Como já levantado, desde o `graph-cli 0.32.0`, dá para executar diretamente o `yarn deploy` com a opção `--network`: ```sh -# Usar o arquivo networks.json padrão -yarn deploy --network goerli +# Using default networks.json file +yarn deploy --network sepolia -# Usar um arquivo de nome personalizado -yarn deploy --network goerli --network-file local/do/config +# Using custom named file +yarn deploy --network sepolia --network-file path/to/config ``` ### Como usar o template subgraph.yaml Uma solução para versões mais antigas do graph-cli, que permite a parametrização de aspetos como endereços de contratos, é gerar partes dele com um sistema de templating como o [Mustache](https://mustache.github.io/) ou o [Handlebars](https://handlebarsjs.com/). -Para ilustrar este método, vamos supor que um subgraph deve ser lançado à mainnet e à Goerli, com uso de diferentes endereços de contratos. Então, daria para definir dois arquivos de config ao fornecer os endereços para cada rede: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ e ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ Para poder gerar um manifest para uma rede, pode adicionar mais dois comandos ao "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ Para poder gerar um manifest para uma rede, pode adicionar mais dois comandos ao } ``` -Para lançar este subgraph à mainnet ou à Goerli, só precisaria executar um dos seguintes comandos: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` Veja um exemplo funcional disto [aqui](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From e354d49aa7b3b20bd3271117a62ac8f0ebf224bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:08 -0400 Subject: [PATCH 1562/2326] New translations deploying-a-subgraph-to-hosted.mdx (Russian) --- .../deploying-a-subgraph-to-hosted.mdx | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/website/pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx index 679100e7996e..1a425a43f781 100644 --- a/website/pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ru/deploying/deploying-a-subgraph-to-hosted.mdx @@ -98,7 +98,7 @@ After deploying the subgraph, Graph Explorer will switch to showing the synchron **Примечание:** Вам не нужно указывать ни один из `templates` (если они у вас есть) в файле конфигурации, только `dataSources`. Если есть какие-либо `templates`, объявленные в файле `subgraph.yaml`, их сеть будет автоматически обновлена до указанной с помощью опции `--network`. -Теперь давайте предположим, что вы хотите иметь возможность развернуть свой подграф в сетях `mainnet` и `goerli`, и это ваш `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -122,7 +122,7 @@ dataSources: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -133,21 +133,21 @@ dataSources: Теперь мы можем запустить одну из следующих команд: ```sh -# Использование стандартного файла networks.json -yarn build --network goerli +# Using default networks.json file +yarn build --network sepolia -# Использование файла с пользовательским именем -yarn build --network goerli --network-file path/to/config +# Using custom named file +yarn build --network sepolia --network-file path/to/config ``` -Команда `build` обновит ваш `subgraph.yaml` конфигурацией `goerli`, а затем повторно скомпилирует подграф. Ваш файл `subgraph.yaml` теперь должен выглядеть следующим образом: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -160,18 +160,18 @@ dataSources: **Примечание:** Как упоминалось ранее, поскольку `graph-cli 0.32.0` вы можете напрямую запустить `yarn deploy` с опцией `--network`: ```sh -# Использование стандартного файла networks.json -yarn deploy --network goerli +# Using default networks.json file +yarn deploy --network sepolia -# Использование файла с пользовательским именем -yarn deploy --network goerli --network-file path/to/config +# Using custom named file +yarn deploy --network sepolia --network-file path/to/config ``` ### Использование шаблона subgraph.yaml Одним из решений для старых версий graph-cli, которое позволяет параметризовать такие аспекты, как адреса контрактов, является генерация его частей с использованием системы шаблонов, такой как [Mustache](https://mustache.github.io/) или [Handlebars](https://handlebarsjs.com/). -Чтобы проиллюстрировать этот подход, давайте предположим, что подграф должен быть развернут в основной сети и в сети Goerli с использованием разных адресов контракта. Затем вы можете определить два файла конфигурации, содержащие адреса для каждой сети: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -184,7 +184,7 @@ yarn deploy --network goerli --network-file path/to/config ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -214,7 +214,7 @@ dataSources: "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -223,14 +223,14 @@ dataSources: } ``` -Чтобы развернуть этот подграф для основной сети или сети Goerli, вам нужно просто выполнить одну из двух следующих команд: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` Рабочий пример этого можно найти [здесь](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From 51315cdf4a4fef3b68abb7e214cd35bcc3b930c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:09 -0400 Subject: [PATCH 1563/2326] New translations deploying-a-subgraph-to-hosted.mdx (Swedish) --- .../deploying-a-subgraph-to-hosted.mdx | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/website/pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx index 37db4a8cc83c..7fd11dcfc6f0 100644 --- a/website/pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/sv/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ Om du inte har en `networks.json`-fil måste du skapa en manuellt med följande **Obs!** Du behöver inte ange någon av `templates` (om du har några) i konfigurationsfilen, bara ` dataSources`. Om det finns några `templates` deklarerade i filen `subgraph.yaml`, kommer deras nätverk automatiskt att uppdateras till det som anges med alternativet `--network`. -Låt oss nu anta att du vill kunna distribuera din subgraf till `mainnet`- och `goerli`-nätverken, och det här är din `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ Så här ska nätverkets konfigurationsfil se ut: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -135,21 +135,21 @@ Så här ska nätverkets konfigurationsfil se ut: Nu kan vi köra något av följande kommandon: ```sh -# Använda standardfilen networks.json -yarn build --network goerli +# Using default networks.json file +yarn build --network sepolia -# Använda fil med eget namn -yarn build --network goerli --network-file path/to/config +# Using custom named file +yarn build --network sepolia --network-file path/to/config ``` -Kommandot `build` uppdaterar din `subgraph.yaml` med `goerli`-konfigurationen och kompilerar sedan om subgrafen. Din `subgraph.yaml`-fil bör nu se ut så här: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -162,18 +162,18 @@ Nu är du redo att `yarn deploy`. **Obs:** Som nämnts tidigare, sedan `graph-cli 0.32.0` kan du direkt köra `yarn deploy` med `--nätverk` alternativ: ```sh -# Använda standardfilen networks.json -yarn build --network goerli +# Using default networks.json file +yarn deploy --network sepolia -# Använda fil med eget namn -yarn build --network goerli --network-file path/to/config +# Using custom named file +yarn deploy --network sepolia --network-file path/to/config ``` ### Använda subgraph.yaml mallen En lösning för äldre graph-cli versioner som tillåter parameterisering av aspekter som kontraktsadresser är att generera delar av den med hjälp av ett mallsystem som [Mustache](https://mustache.github.io/) eller [Handlebars](https://handlebarsjs.com/). -För att illustrera detta tillvägagångssätt, låt oss anta att en subgraf ska distribueras till mainnet och Goerli med hjälp av olika kontraktsadresser. Du kan då definiera två konfigurationsfiler som innehåller adresserna för varje nätverk: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ och ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ För att generera ett manifest till något av nätverken kan du lägga till ytte "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ För att generera ett manifest till något av nätverken kan du lägga till ytte } ``` -För att distribuera denna subgraf för mainnet eller Goerli behöver du nu bara köra ett av följande två kommandon: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` Ett fungerande exempel på detta hittar du [här](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From 17038be0d88d870adbd41a91c90c7a382ebead62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:10 -0400 Subject: [PATCH 1564/2326] New translations deploying-a-subgraph-to-hosted.mdx (Turkish) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx index 4614cbc742d5..0f6093a2c7da 100644 --- a/website/pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/tr/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ If you don't have a `networks.json` file, you'll need to manually create one wit **Note:** You don't have to specify any of the `templates` (if you have any) in the config file, only the `dataSources`. If there are any `templates` declared in the `subgraph.yaml` file, their network will be automatically updated to the one specified with the `--network` option. -Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `goerli` networks, and this is your `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ This is what your networks config file should look like: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ Now we can run one of the following commands: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -The `build` command will update your `subgraph.yaml` with the `goerli` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ Now you are ready to `yarn deploy`. ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Using subgraph.yaml template One solution for older graph-cli versions that allows to parameterize aspects like contract addresses is to generate parts of it using a templating system like [Mustache](https://mustache.github.io/) or [Handlebars](https://handlebarsjs.com/). -To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Goerli using different contract addresses. You could then define two config files providing the addresses for each network: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ and ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ In order to generate a manifest to either network, you could add two additional "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ In order to generate a manifest to either network, you could add two additional } ``` -To deploy this subgraph for mainnet or Goerli you would now simply run one of the two following commands: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` A working example of this can be found [here](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From 1c54f0c781c113a5b9e49ee7d19ef3791cc3b368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:11 -0400 Subject: [PATCH 1565/2326] New translations deploying-a-subgraph-to-hosted.mdx (Ukrainian) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx index f1be54725c2b..840ad6900998 100644 --- a/website/pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/uk/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ If you don't have a `networks.json` file, you'll need to manually create one wit **Note:** You don't have to specify any of the `templates` (if you have any) in the config file, only the `dataSources`. If there are any `templates` declared in the `subgraph.yaml` file, their network will be automatically updated to the one specified with the `--network` option. -Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `goerli` networks, and this is your `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ This is what your networks config file should look like: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ Now we can run one of the following commands: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -The `build` command will update your `subgraph.yaml` with the `goerli` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ Now you are ready to `yarn deploy`. ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Using subgraph.yaml template One solution for older graph-cli versions that allows to parameterize aspects like contract addresses is to generate parts of it using a templating system like [Mustache](https://mustache.github.io/) or [Handlebars](https://handlebarsjs.com/). -To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Goerli using different contract addresses. You could then define two config files providing the addresses for each network: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ and ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ In order to generate a manifest to either network, you could add two additional "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ In order to generate a manifest to either network, you could add two additional } ``` -To deploy this subgraph for mainnet or Goerli you would now simply run one of the two following commands: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` A working example of this can be found [here](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From fa1c58f6644a5cf7a0edfd085880f159093dcd6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:12 -0400 Subject: [PATCH 1566/2326] New translations deploying-a-subgraph-to-hosted.mdx (Chinese Simplified) --- .../deploying-a-subgraph-to-hosted.mdx | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/website/pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx index 75dbf2df0ce4..00afe3278648 100644 --- a/website/pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/zh/deploying/deploying-a-subgraph-to-hosted.mdx @@ -102,7 +102,7 @@ After deploying the subgraph, Graph Explorer will switch to showing the synchron **注意**:您不必在配置文件中指定任何`模板`(如果有),只需指定`dataSources`。如果`subgraph.yaml`文件中声明了任何`模板`,则其网络将自动更新为`--network`选项指定的模板。 -现在,让我们假设您希望能够将子图部署到 `mainnet` 和 `goerli` 网络中,这是您的`subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -126,7 +126,7 @@ dataSources: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -138,20 +138,20 @@ dataSources: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -`Build` 命令将使用 `goerli` 配置更新 `subgrap.yaml`,然后重新编译子图。你的`subgraph.yaml`现在应该是这样的: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -164,17 +164,18 @@ dataSources: **注意: **如前所述,由于 `graph-cli 0.32.0`,您可以使用 `--network`选项直接运行`yarn deploy`: ```sh -# 使用默认的 networks.json 文件 -yarn deploy --network goerli -# 使用自定义命名文件 -yarn deploy --network goerli --network-file path/to/config +# Using default networks.json file +yarn deploy --network sepolia + +# Using custom named file +yarn deploy --network sepolia --network-file path/to/config ``` ### 使用 subgraph.yaml 模板 对于允许参数化诸如合约地址等方面的旧的 graph-cli 版本,一种解决方案是使用诸如 [Mustache](https://mustache.github.io/) 或 [Handlebar](https://handlebarsjs.com/) 之类的模板系统生成部分内容。 -为了说明这种方法,我们假设应该使用不同的合约地址将子图部署到 mainnet 和 Goerli。然后,您可以定义两个配置文件,提供每个网络的地址: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -187,7 +188,7 @@ yarn deploy --network goerli --network-file path/to/config ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -217,7 +218,7 @@ dataSources: "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -226,14 +227,14 @@ dataSources: } ``` -要为 mainnet 或 Goerli 部署这个子图,现在只需运行以下两个命令之一: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` [这里](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759)可以找到一个实际的例子。 From 340b1bb6ddc8a45e7d5efc4f85c0f778948dd967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:13 -0400 Subject: [PATCH 1567/2326] New translations deploying-a-subgraph-to-hosted.mdx (Urdu (Pakistan)) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx index ed6825e079b2..cac274d9b5b7 100644 --- a/website/pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/ur/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ After deploying the subgraph, Graph Explorer will switch to showing the synchron **نوٹ:** آپ کو تشکیل فائل میں کسی بھی `templates` (اگر آپ کے پاس کوئی ہے) کی وضاحت کرنے کی ضرورت نہیں ہے، صرف ` dataSources `۔ اگر `subgraph.yaml` فائل میں کوئی بھی `templates` کا اعلان کیا گیا ہے، تو ان کا نیٹ ورک خود بخود `--network` اختیار کے ساتھ مخصوص کردہ سے اپ ڈیٹ ہوجائے گا. -اب، فرض کریں کہ آپ اپنے سب گراف کو `mainnet` اور `goerli` نیٹ ورکس پر تعینات کرنے کے قابل ہونا چاہتے ہیں، اور یہ آپ کا `subgraph.yaml` ہے: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ dataSources: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ dataSources: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -`build` کمانڈ آپ کے `subgraph.yaml` کو `goerli` کنفیگریشن کے ساتھ اپ ڈیٹ کرے گا اور پھر سب گراف کو دوبارہ مرتب کرے گا۔ آپ کی `subgraph.yaml` فائل اب اس طرح نظر آنی چاہئے: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ dataSources: ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Subgraph.yaml ٹیمپلیٹ استعمال کرنا پرانے گراف-کلی ورژن کے لیے ایک حل جو کنٹریکٹ ایڈریس جیسے پہلوؤں کو پیرامیٹرائز کرنے کی اجازت دیتا ہے یہ ہے کہ [مس ٹیش](https://mustache.github.io/) جیسے ٹیمپلیٹنگ سسٹم کا استعمال کرتے ہوئے اس کے کچھ حصے بنانا [ہینڈل بارز](https://handlebarsjs.com/). -اس نقطہ نظر کو واضح کرنے کے لیے، آئیے فرض کریں کہ مختلف کنٹریکٹ ایڈریسز کا استعمال کرتے ہوئے مین نیٹ اور گوئرلی پر ایک سب گراف تعینات کیا جانا چاہیے۔ اس کے بعد آپ ہر نیٹ ورک کے پتے فراہم کرنے والی دو کنفگ فائلوں کی وضاحت کرسکتے ہیں: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ yarn deploy --network goerli --network-file path/to/config ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ dataSources: "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ dataSources: } ``` -مین نیٹ یا Goerli کے لیے اس سب گراف کو تعینات کرنے کے لیے اب آپ درج ذیل دو کمانڈز میں سے ایک کو چلائیں گے: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` اس کی عملی مثال [یہاں](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759) مل سکتی ہے. From ff9da314b0928f3d6f2fdeecfb3f875bfd83ed4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:14 -0400 Subject: [PATCH 1568/2326] New translations deploying-a-subgraph-to-hosted.mdx (Vietnamese) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx index f1be54725c2b..840ad6900998 100644 --- a/website/pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/vi/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ If you don't have a `networks.json` file, you'll need to manually create one wit **Note:** You don't have to specify any of the `templates` (if you have any) in the config file, only the `dataSources`. If there are any `templates` declared in the `subgraph.yaml` file, their network will be automatically updated to the one specified with the `--network` option. -Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `goerli` networks, and this is your `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ This is what your networks config file should look like: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ Now we can run one of the following commands: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -The `build` command will update your `subgraph.yaml` with the `goerli` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ Now you are ready to `yarn deploy`. ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Using subgraph.yaml template One solution for older graph-cli versions that allows to parameterize aspects like contract addresses is to generate parts of it using a templating system like [Mustache](https://mustache.github.io/) or [Handlebars](https://handlebarsjs.com/). -To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Goerli using different contract addresses. You could then define two config files providing the addresses for each network: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ and ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ In order to generate a manifest to either network, you could add two additional "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ In order to generate a manifest to either network, you could add two additional } ``` -To deploy this subgraph for mainnet or Goerli you would now simply run one of the two following commands: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` A working example of this can be found [here](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From f983a403efd37e3cd9fb4d7bda2a447fc21d2cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:15 -0400 Subject: [PATCH 1569/2326] New translations deploying-a-subgraph-to-hosted.mdx (Marathi) --- .../deploying-a-subgraph-to-hosted.mdx | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/website/pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx index 3abb234c7371..09dfd5edc8af 100644 --- a/website/pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/mr/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ Options: **टीप:** तुम्हाला कॉन्फिगरेशन फाइलमध्ये कोणतेही `टेम्पलेट` (जर तुमच्याकडे असतील तर) निर्दिष्ट करण्याची गरज नाही, फक्त ` डेटास्रोत`. `subgraph.yaml` फाइलमध्ये घोषित केलेले कोणतेही `टेम्पलेट` असल्यास, त्यांचे नेटवर्क `--network` पर्यायासह निर्दिष्ट केलेल्या नेटवर्कवर स्वयंचलितपणे अद्यतनित केले जाईल. -आता, समजू की तुम्हाला तुमचा सबग्राफ `mainnet` आणि `goerli` नेटवर्कवर उपयोजित करायचा आहे आणि हे तुमचे `subgraph.yaml` आहे: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ dataSources: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -135,21 +135,21 @@ dataSources: आता आपण खालीलपैकी एक कमांड रन करू शकतो: ```sh -# डीफॉल्ट networks.json फाइल वापरणे -यार्न बिल्ड --नेटवर्क गोअरली +# Using default networks.json file +yarn build --network sepolia -# सानुकूल नावाची फाइल वापरणे -यार्न बिल्ड --network goerli --network-file path/to/config +# Using custom named file +yarn build --network sepolia --network-file path/to/config ``` -`build` कमांड तुमचा `subgraph.yaml` `goerli` कॉन्फिगरेशनसह अपडेट करेल आणि नंतर सबग्राफ पुन्हा संकलित करेल. तुमची `subgraph.yaml` फाइल आता यासारखी दिसली पाहिजे: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -162,18 +162,18 @@ dataSources: **टीप:** आधी सांगितल्याप्रमाणे, `graph-cli 0.32.0` पासून तुम्ही थेट `यार्न डिप्लॉय` चालवू शकता `--नेटवर्क` पर्याय: ```sh -# डीफॉल्ट networks.json फाइल वापरणे -सूत उपयोजित --network goerli +# Using default networks.json file +yarn deploy --network sepolia -# सानुकूल नावाची फाइल वापरणे -सूत उपयोजित --network goerli --network-file path/to/config +# Using custom named file +yarn deploy --network sepolia --network-file path/to/config ``` ### वापरत आहे subgraph.yaml टेम्पलेट जुन्या ग्राफ-क्ली आवृत्त्यांसाठी एक उपाय जो करार पत्त्यांसारख्या पैलूंचे पॅरामीटराइझ करण्याची परवानगी देतो तो म्हणजे [Mustache](https://mustache.github.io/) किंवा [हँडलबार](https://handlebarsjs.com/). -हा दृष्टिकोन स्पष्ट करण्यासाठी, भिन्न करार पत्ते वापरून मेननेट आणि गोएर्लीमध्ये सबग्राफ तैनात केले जावेत असे गृहीत धरू. त्यानंतर तुम्ही प्रत्येक नेटवर्कसाठी पत्ते प्रदान करणार्‍या दोन कॉन्फिगरेशन फाइल्स परिभाषित करू शकता: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ dataSources: ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ dataSources: "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ dataSources: } ``` -हा सबग्राफ mainnet किंवा Goerli साठी उपयोजित करण्यासाठी तुम्ही आता खालील दोन कमांडपैकी एक चालवा: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` याचे एक कार्यरत उदाहरण [येथे](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759) आढळू शकते. From d8fd40f8a54c0f2653055ab6e3254e156ac2d81e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:16 -0400 Subject: [PATCH 1570/2326] New translations deploying-a-subgraph-to-hosted.mdx (Hindi) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx index 254ced573ab3..ba25635ad380 100644 --- a/website/pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/hi/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ Options: **ध्यान दें:** कॉन्फ़िग फ़ाइल में आपको कोई `टेम्प्लेट` (यदि आपके पास है) निर्दिष्ट करने की आवश्यकता नहीं है, केवल ` डेटा सोर्स `। यदि `subgraph.yaml` फ़ाइल में कोई `टेम्प्लेट` घोषित है, तो उनका नेटवर्क स्वचालित रूप से `--network` विकल्प के साथ निर्दिष्ट एक में अपडेट हो जाएगा. -अब, मान लें कि आप अपने सबग्राफ को ` mainnet ` और `goerli` नेटवर्क पर तैनात करना चाहते हैं, और यह आपका `subgraph.yaml` है: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ dataSources: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ dataSources: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -`build` कमांड आपके `subgraph.yaml` को `goerli` कॉन्फ़िगरेशन के साथ अपडेट करेगा और फिर सबग्राफ को फिर से कंपाइल करेगा। आपकी `subgraph.yaml` फ़ाइल अब इस तरह दिखनी चाहिए: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ dataSources: ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Subgraph.yaml टेम्पलेट का उपयोग करना पुराने graph-cli संस्करणों के लिए एक समाधान जो कॉन्ट्रैक्ट एड्रेस जैसे पहलुओं को पैरामीटर करने की अनुमति देता है, [Mustache](https://mustache.github.io/) और [हैंडलबार](https://handlebarsjs.com/) जैसी टेम्प्लेटिंग प्रणाली का उपयोग करके इसके कुछ हिस्सों को उत्पन्न करना है| -इस दृष्टिकोण को स्पष्ट करने के लिए, मान लें कि अलग-अलग कॉन्ट्रैक्ट एड्रेस का उपयोग करके मेननेट और गोएर्ली पर एक सबग्राफ तैनात किया जाना चाहिए। फिर आप प्रत्येक नेटवर्क के लिए एड्रेस प्रदान करने वाली दो कॉन्फिग फाइलों को परिभाषित कर सकते हैं: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ yarn deploy --network goerli --network-file path/to/config ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ dataSources: "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ dataSources: } ``` -मेननेट या गोएर्ली के लिए इस सबग्राफ को तैनात करने के लिए अब आप निम्नलिखित दो आदेशों में से एक को चला सकते हैं: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` इसका एक कार्यशील उदाहरण [यहां](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759) पाया जा सकता है। From 8178e6b3436507c8b290c29da70f69931641b9a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:17 -0400 Subject: [PATCH 1571/2326] New translations deploying-a-subgraph-to-hosted.mdx (Yoruba) --- .../deploying-a-subgraph-to-hosted.mdx | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/website/pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx index f1be54725c2b..840ad6900998 100644 --- a/website/pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/yo/deploying/deploying-a-subgraph-to-hosted.mdx @@ -100,7 +100,7 @@ If you don't have a `networks.json` file, you'll need to manually create one wit **Note:** You don't have to specify any of the `templates` (if you have any) in the config file, only the `dataSources`. If there are any `templates` declared in the `subgraph.yaml` file, their network will be automatically updated to the one specified with the `--network` option. -Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `goerli` networks, and this is your `subgraph.yaml`: +Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: ```yaml # ... @@ -124,7 +124,7 @@ This is what your networks config file should look like: "address": "0x123..." } }, - "goerli": { + "sepolia": { "Gravity": { "address": "0xabc..." } @@ -136,20 +136,20 @@ Now we can run one of the following commands: ```sh # Using default networks.json file -yarn build --network goerli +yarn build --network sepolia # Using custom named file -yarn build --network goerli --network-file path/to/config +yarn build --network sepolia --network-file path/to/config ``` -The `build` command will update your `subgraph.yaml` with the `goerli` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: +The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: ```yaml # ... dataSources: - kind: ethereum/contract name: Gravity - network: goerli + network: sepolia source: address: '0xabc...' abi: Gravity @@ -163,17 +163,17 @@ Now you are ready to `yarn deploy`. ```sh # Using default networks.json file -yarn deploy --network goerli +yarn deploy --network sepolia # Using custom named file -yarn deploy --network goerli --network-file path/to/config +yarn deploy --network sepolia --network-file path/to/config ``` ### Using subgraph.yaml template One solution for older graph-cli versions that allows to parameterize aspects like contract addresses is to generate parts of it using a templating system like [Mustache](https://mustache.github.io/) or [Handlebars](https://handlebarsjs.com/). -To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Goerli using different contract addresses. You could then define two config files providing the addresses for each network: +To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: ```json { @@ -186,7 +186,7 @@ and ```json { - "network": "goerli", + "network": "sepolia", "address": "0xabc..." } ``` @@ -216,7 +216,7 @@ In order to generate a manifest to either network, you could add two additional "scripts": { ... "prepare:mainnet": "mustache config/mainnet.json subgraph.template.yaml > subgraph.yaml", - "prepare:goerli": "mustache config/goerli.json subgraph.template.yaml > subgraph.yaml" + "prepare:sepolia": "mustache config/sepolia.json subgraph.template.yaml > subgraph.yaml" }, "devDependencies": { ... @@ -225,14 +225,14 @@ In order to generate a manifest to either network, you could add two additional } ``` -To deploy this subgraph for mainnet or Goerli you would now simply run one of the two following commands: +To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: ```sh # Mainnet: yarn prepare:mainnet && yarn deploy -# Goerli: -yarn prepare:goerli && yarn deploy +# Sepolia: +yarn prepare:sepolia && yarn deploy ``` A working example of this can be found [here](https://github.com/graphprotocol/example-subgraph/tree/371232cf68e6d814facf5e5413ad0fef65144759). From ddc91f223137e3b2ec19f39a0f92783d6191c97d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:18 -0400 Subject: [PATCH 1572/2326] New translations developer-faqs.mdx (Romanian) --- website/pages/ro/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ro/developing/developer-faqs.mdx b/website/pages/ro/developing/developer-faqs.mdx index 38f0042eb7ec..7f4da3639ee0 100644 --- a/website/pages/ro/developing/developer-faqs.mdx +++ b/website/pages/ro/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ If only one entity is created during the event and if there's nothing better ava Within a subgraph, the events are always processed in the order they appear in the blocks, regardless of whether that is across multiple contracts or not. -## 14. Is it possible to differentiate between networks (mainnet, Goerli, local) from within event handlers? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Yes. You can do this by importing `graph-ts` as per the example below: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Do you support block and call handlers on Goerli? +## 15. Do you support block and call handlers on Sepolia? -Yes. Goerli supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Can I import ethers.js or other JS libraries into my subgraph mappings? From 32938d9afe3585f52233a0878725719e7142ff88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:20 -0400 Subject: [PATCH 1573/2326] New translations developer-faqs.mdx (French) --- website/pages/fr/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/fr/developing/developer-faqs.mdx b/website/pages/fr/developing/developer-faqs.mdx index 7203a2843057..e46bbbcfeb19 100644 --- a/website/pages/fr/developing/developer-faqs.mdx +++ b/website/pages/fr/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Si une seule entité est créée lors de l'événement et s'il n'y a rien de mie Dans un subgraph, les événements sont toujours traités dans l'ordre dans lequel ils apparaissent dans les blocs, que ce soit sur plusieurs contrats ou non. -## 14. Est-il possible de différencier les réseaux (réseau principal, Goerli, local) à partir des gestionnaires d'événements ? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Oui. Vous pouvez le faire en important `graph-ts` comme dans l'exemple ci-dessous : @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Prenez-vous en charge les gestionnaires de blocs et d'appels sur Goerli ? +## 15. Do you support block and call handlers on Sepolia? -Oui. Goerli prend en charge les gestionnaires de blocs, les gestionnaires d'appels et les gestionnaires d'événements. Il convient de noter que les gestionnaires d'événements sont beaucoup plus performants que les deux autres et qu'ils sont pris en charge par tous les réseaux compatibles avec l'EVM. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Puis-je importer ethers.js ou d'autres bibliothèques JS dans mes mappages de subgraphs ? From d596576bd97118989e007d2b1edad1f001363406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:21 -0400 Subject: [PATCH 1574/2326] New translations developer-faqs.mdx (Spanish) --- website/pages/es/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/es/developing/developer-faqs.mdx b/website/pages/es/developing/developer-faqs.mdx index 64da913733b4..55357e42a4ef 100644 --- a/website/pages/es/developing/developer-faqs.mdx +++ b/website/pages/es/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Si sólo se crea una entidad durante el evento y si no hay nada mejor disponible Dentro de un subgrafo, los eventos se procesan siempre en el orden en que aparecen en los bloques, independientemente de que sea a través de múltiples contratos o no. -## 14. ¿Es posible diferenciar entre redes (mainnet, Goerli, local) desde los event handlers? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Sí. Puedes hacerlo importando `graph-ts` como en el ejemplo siguiente: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. ¿Soporta block y call handlers en Goerli? +## 15. Do you support block and call handlers on Sepolia? -Sí. Goerli admite block handlers, call handlers y event handlers. Cabe señalar que los event handlers tienen mucho más rendimiento que los otros dos handlers y son compatibles con todas las redes EVM. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. ¿Puedo importar ethers.js u otras bibliotecas JS en mis mappings de subgrafos? From 37db462faf2afde3ce3d18bb7800e55b06a2f0c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:22 -0400 Subject: [PATCH 1575/2326] New translations developer-faqs.mdx (Arabic) --- website/pages/ar/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ar/developing/developer-faqs.mdx b/website/pages/ar/developing/developer-faqs.mdx index 883d0359a225..1758e9f909b6 100644 --- a/website/pages/ar/developing/developer-faqs.mdx +++ b/website/pages/ar/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Yes. On `graph init` command itself you can add multiple datasources by entering ضمن ال Subgraph ، تتم معالجة الأحداث دائمًا بالترتيب الذي تظهر به في الكتل ، بغض النظر عما إذا كان ذلك عبر عقود متعددة أم لا. -## 14. Is it possible to differentiate between networks (mainnet, Goerli, local) from within event handlers? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? نعم. يمكنك القيام بذلك عن طريق استيراد `graph-ts` كما في المثال أدناه: @@ -78,9 +78,9 @@ Yes. On `graph init` command itself you can add multiple datasources by entering ()dataSource.address ``` -## 15. Do you support block and call handlers on Goerli? +## 15. Do you support block and call handlers on Sepolia? -Yes. Goerli supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Can I import ethers.js or other JS libraries into my subgraph mappings? From 2532a873302e7c8a77e27f9411d2186756d19cbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:23 -0400 Subject: [PATCH 1576/2326] New translations developer-faqs.mdx (Czech) --- website/pages/cs/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/cs/developing/developer-faqs.mdx b/website/pages/cs/developing/developer-faqs.mdx index ea5142b430ff..828debf0f7a4 100644 --- a/website/pages/cs/developing/developer-faqs.mdx +++ b/website/pages/cs/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Pokud je během události vytvořena pouze jedna entita a pokud není k dispozic V rámci podgrafu se události zpracovávají vždy v pořadí, v jakém se objevují v blocích, bez ohledu na to, zda se jedná o více smluv. -## 14. Je možné v rámci obsluhy událostí rozlišovat mezi síti (mainnet, Goerli, local)? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Ano, můžete to provést importováním `graph-ts` podle níže uvedeného příkladu: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Podporujete na Goerli obsluhu bloků a volání? +## 15. Do you support block and call handlers on Sepolia? -Ano. Goerli podporuje obsluhy bloků, obsluhy volání a obsluhy událostí. Je třeba poznamenat, že obsluhy událostí jsou mnohem výkonnější než ostatní dvě obsluhy a jsou podporovány v každé síti kompatibilní s EVM. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Mohu do mapování podgrafů importovat ethers.js nebo jiné JS knihovny? From ac578ede9965cd0650ca9d4e158ef59203d79835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:24 -0400 Subject: [PATCH 1577/2326] New translations developer-faqs.mdx (German) --- website/pages/de/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/de/developing/developer-faqs.mdx b/website/pages/de/developing/developer-faqs.mdx index 09beeddac20f..b4af2c711bc8 100644 --- a/website/pages/de/developing/developer-faqs.mdx +++ b/website/pages/de/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ If only one entity is created during the event and if there's nothing better ava Within a subgraph, the events are always processed in the order they appear in the blocks, regardless of whether that is across multiple contracts or not. -## 14. Is it possible to differentiate between networks (mainnet, Goerli, local) from within event handlers? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Yes. You can do this by importing `graph-ts` as per the example below: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Do you support block and call handlers on Goerli? +## 15. Do you support block and call handlers on Sepolia? -Yes. Goerli supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Can I import ethers.js or other JS libraries into my subgraph mappings? From 0c6033f349b22389cb092c31c9c9cd6dd2302685 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:25 -0400 Subject: [PATCH 1578/2326] New translations developer-faqs.mdx (Italian) --- website/pages/it/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/it/developing/developer-faqs.mdx b/website/pages/it/developing/developer-faqs.mdx index 09beeddac20f..b4af2c711bc8 100644 --- a/website/pages/it/developing/developer-faqs.mdx +++ b/website/pages/it/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ If only one entity is created during the event and if there's nothing better ava Within a subgraph, the events are always processed in the order they appear in the blocks, regardless of whether that is across multiple contracts or not. -## 14. Is it possible to differentiate between networks (mainnet, Goerli, local) from within event handlers? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Yes. You can do this by importing `graph-ts` as per the example below: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Do you support block and call handlers on Goerli? +## 15. Do you support block and call handlers on Sepolia? -Yes. Goerli supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Can I import ethers.js or other JS libraries into my subgraph mappings? From e9843bca8a54d8a0372398a9cdf48c523c2f6c0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:26 -0400 Subject: [PATCH 1579/2326] New translations developer-faqs.mdx (Japanese) --- website/pages/ja/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ja/developing/developer-faqs.mdx b/website/pages/ja/developing/developer-faqs.mdx index 3f253e5ab0e3..81b14f3a8117 100644 --- a/website/pages/ja/developing/developer-faqs.mdx +++ b/website/pages/ja/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Yes. On `graph init` command itself you can add multiple datasources by entering サブグラフ内では、複数のコントラクトにまたがっているかどうかにかかわらず、イベントは常にブロックに表示される順序で処理されます。 -## 14. イベント ハンドラー内からネットワーク (メインネット、Goerli、ローカル) を区別することは可能ですか? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? はい、以下の例のように`graph-ts`をインポートすることで可能です。 @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Goerli でブロック ハンドラーとコール ハンドラーをサポートしていますか? +## 15. Do you support block and call handlers on Sepolia? -はい。 Goerli は、ブロック ハンドラー、コール ハンドラー、およびイベント ハンドラーをサポートしています。イベント ハンドラーは、他の 2 つのハンドラーよりもはるかにパフォーマンスが高く、すべての EVM 互換ネットワークでサポートされていることに注意してください。 +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. サブグラフ マッピングに ethers.js または他の JS ライブラリをインポートできますか? From c8fff51e6cf7d9b78550812b11606d1ff8571caa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:27 -0400 Subject: [PATCH 1580/2326] New translations developer-faqs.mdx (Korean) --- website/pages/ko/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ko/developing/developer-faqs.mdx b/website/pages/ko/developing/developer-faqs.mdx index 09beeddac20f..b4af2c711bc8 100644 --- a/website/pages/ko/developing/developer-faqs.mdx +++ b/website/pages/ko/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ If only one entity is created during the event and if there's nothing better ava Within a subgraph, the events are always processed in the order they appear in the blocks, regardless of whether that is across multiple contracts or not. -## 14. Is it possible to differentiate between networks (mainnet, Goerli, local) from within event handlers? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Yes. You can do this by importing `graph-ts` as per the example below: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Do you support block and call handlers on Goerli? +## 15. Do you support block and call handlers on Sepolia? -Yes. Goerli supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Can I import ethers.js or other JS libraries into my subgraph mappings? From 3011e52c8db82c27adb8f3e6c868bd0c7144f8db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:28 -0400 Subject: [PATCH 1581/2326] New translations developer-faqs.mdx (Dutch) --- website/pages/nl/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/nl/developing/developer-faqs.mdx b/website/pages/nl/developing/developer-faqs.mdx index 1b4fc51378cd..b9cd3035c35e 100644 --- a/website/pages/nl/developing/developer-faqs.mdx +++ b/website/pages/nl/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ If only one entity is created during the event and if there's nothing better ava Within a subgraph, the events are always processed in the order they appear in the blocks, regardless of whether that is across multiple contracts or not. -## 14. Is it possible to differentiate between networks (mainnet, Goerli, local) from within event handlers? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Yes. You can do this by importing `graph-ts` as per the example below: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Do you support block and call handlers on Goerli? +## 15. Do you support block and call handlers on Sepolia? -Yes. Goerli supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Can I import ethers.js or other JS libraries into my subgraph mappings? From 0203150b1dbb54969e1a7609c44b6ad58d692538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:29 -0400 Subject: [PATCH 1582/2326] New translations developer-faqs.mdx (Polish) --- website/pages/pl/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pl/developing/developer-faqs.mdx b/website/pages/pl/developing/developer-faqs.mdx index 0ed7ec4c6846..ce139b51a9d0 100644 --- a/website/pages/pl/developing/developer-faqs.mdx +++ b/website/pages/pl/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ If only one entity is created during the event and if there's nothing better ava Within a subgraph, the events are always processed in the order they appear in the blocks, regardless of whether that is across multiple contracts or not. -## 14. Is it possible to differentiate between networks (mainnet, Goerli, local) from within event handlers? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Yes. You can do this by importing `graph-ts` as per the example below: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Do you support block and call handlers on Goerli? +## 15. Do you support block and call handlers on Sepolia? -Yes. Goerli supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Can I import ethers.js or other JS libraries into my subgraph mappings? From acc804f099ebd4e6e653f5d2d202cf393c216995 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:30 -0400 Subject: [PATCH 1583/2326] New translations developer-faqs.mdx (Portuguese) --- website/pages/pt/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/developing/developer-faqs.mdx b/website/pages/pt/developing/developer-faqs.mdx index 554067221af7..676bb845063c 100644 --- a/website/pages/pt/developing/developer-faqs.mdx +++ b/website/pages/pt/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Se só uma entidade for criada durante o evento e não houver nada melhor dispon Dentro de um subgraph, os eventos são sempre processados na ordem em que aparecem nos blocos, mesmo sendo ou não através de vários contratos. -## 14. É possível diferenciar entre redes (mainnet, Goerli, local) de dentro de handlers de eventos? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Sim. Isto é possível ao importar o `graph-ts` como no exemplo abaixo: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Vocês apoiam handlers de bloco e chamada no Goerli? +## 15. Do you support block and call handlers on Sepolia? -Sim. O Goerli apoia handlers de blocos, chamadas e eventos. Vale notar que handlers de eventos têm desempenho muito melhor do que os outros dois e têm apoio em todas as redes compatíveis com EVMs. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Posso importar ethers.js ou outras bibliotecas JS nos meus mapeamentos de subgraph? From 50f2699bfe95ac2c28f0cfa14cfaa1c734e3a23e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:31 -0400 Subject: [PATCH 1584/2326] New translations developer-faqs.mdx (Russian) --- website/pages/ru/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ru/developing/developer-faqs.mdx b/website/pages/ru/developing/developer-faqs.mdx index 6fa8f23e3de6..178862db0a24 100644 --- a/website/pages/ru/developing/developer-faqs.mdx +++ b/website/pages/ru/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Yes. On `graph init` command itself you can add multiple datasources by entering Внутри субграфа события всегда обрабатываются в том порядке, в котором они появляются в блоках, независимо от того, относится ли это к нескольким контрактам или нет. -## 14. Можно ли различать сети (основную сеть, Goerli, локальную) из обработчиков событий? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Да. Вы можете это сделать, импортировав `graph-ts`, как показано в примере ниже: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Поддерживаете ли вы обработчики блоков и вызовов на Goerli? +## 15. Do you support block and call handlers on Sepolia? -Да. Goerli поддерживает обработчики блоков, обработчики вызовов и обработчики событий. Следует отметить, что обработчики событий намного более эффективны, чем два других обработчика, и они поддерживаются в каждой сети, совместимой с EVM. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Могу ли я импортировать ethers.js или другие библиотеки JS в мои мэппинги субграфов? From 19ee6cd82dadc2d8471e747b0624658475c7e9e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:32 -0400 Subject: [PATCH 1585/2326] New translations developer-faqs.mdx (Swedish) --- website/pages/sv/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/sv/developing/developer-faqs.mdx b/website/pages/sv/developing/developer-faqs.mdx index 8f122ebbcb8e..9059a8b8698c 100644 --- a/website/pages/sv/developing/developer-faqs.mdx +++ b/website/pages/sv/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Om endast en entitet skapas under händelsen och om inget bättre är tillgängl Inom en subgraf behandlas händelser alltid i den ordning de visas i blocken, oavsett om det är över flera kontrakt eller inte. -## 14. Är det möjligt att särskilja mellan nätverk (mainnet, Goerli, lokalt) från händelsehanterare? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Ja, du kan göra detta genom att importera `graph-ts` enligt exemplet nedan: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Stödjer ni block- och uppropshanterare på Goerli? +## 15. Do you support block and call handlers on Sepolia? -Ja. Goerli stödjer blockhanterare, uppropshanterare och händelsehanterare. Det bör noteras att händelsehanterare är betydligt mer prestandaeffektiva än de andra två hanterarna, och de stöds på varje EVM-kompatibelt nätverk. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Kan jag importera ethers.js eller andra JS-bibliotek i mina subgraf-mappningar? From 7fed4a5bcbe27c3f7675faec65e862b409845ec5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:34 -0400 Subject: [PATCH 1586/2326] New translations developer-faqs.mdx (Turkish) --- website/pages/tr/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/tr/developing/developer-faqs.mdx b/website/pages/tr/developing/developer-faqs.mdx index 06c8c5676aae..b3d712bb4de8 100644 --- a/website/pages/tr/developing/developer-faqs.mdx +++ b/website/pages/tr/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ If only one entity is created during the event and if there's nothing better ava Within a subgraph, the events are always processed in the order they appear in the blocks, regardless of whether that is across multiple contracts or not. -## 14. Olay işleyicileri içinden ağlar (mainnet, Göerli, local) arasında ayrım yapmak mümkün mü? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Yes. You can do this by importing `graph-ts` as per the example below: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Göerli'de blok ve çağrı işleyicilerini destekliyor musunuz? +## 15. Do you support block and call handlers on Sepolia? -Yes. Goerli supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Subgraph eşleştirmelerime ethers.js veya diğer JS kütüphanelerini aktarabilir miyim? From dd8f833cf526d2dc0efeeee53479450ee5a8a222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:35 -0400 Subject: [PATCH 1587/2326] New translations developer-faqs.mdx (Ukrainian) --- website/pages/uk/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/uk/developing/developer-faqs.mdx b/website/pages/uk/developing/developer-faqs.mdx index dfd4374f742f..0ace9cbee870 100644 --- a/website/pages/uk/developing/developer-faqs.mdx +++ b/website/pages/uk/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ If only one entity is created during the event and if there's nothing better ava Within a subgraph, the events are always processed in the order they appear in the blocks, regardless of whether that is across multiple contracts or not. -## 14. Is it possible to differentiate between networks (mainnet, Goerli, local) from within event handlers? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Yes. You can do this by importing `graph-ts` as per the example below: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Do you support block and call handlers on Goerli? +## 15. Do you support block and call handlers on Sepolia? -Yes. Goerli supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Can I import ethers.js or other JS libraries into my subgraph mappings? From 221723d3c0dab3fd583e5417f59af6962303ff2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:36 -0400 Subject: [PATCH 1588/2326] New translations developer-faqs.mdx (Chinese Simplified) --- website/pages/zh/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/zh/developing/developer-faqs.mdx b/website/pages/zh/developing/developer-faqs.mdx index 4245bcede3eb..e223135992e7 100644 --- a/website/pages/zh/developing/developer-faqs.mdx +++ b/website/pages/zh/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Yes. On `graph init` command itself you can add multiple datasources by entering 在子图中,无论是否跨多个合约,事件始终按照它们在区块中出现的顺序进行处理的。 -## 14. 是否可以从事件处理程序中区分网络(主网、Goerli、本地)? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? 是的。 您可以按照以下示例通过导入 `graph-ts` 来做到这一点: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. 在Goerli上是否支持区块和调用处理程序? +## 15. Do you support block and call handlers on Sepolia? -是的。Goerli支持区块处理程序、调用处理程序和事件处理程序。应该注意的是,事件处理程序的性能远远高于其他两个处理程序,并且在每个EVM兼容的网络上都支持它们。 +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. 我可以将 ethers.js 或其他 JS 库导入我的子图映射吗? From c02b80bdab73217ea47519e9d4834b2e784163a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:37 -0400 Subject: [PATCH 1589/2326] New translations developer-faqs.mdx (Urdu (Pakistan)) --- website/pages/ur/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/ur/developing/developer-faqs.mdx b/website/pages/ur/developing/developer-faqs.mdx index 9f59d0de9c9a..5070304b0f43 100644 --- a/website/pages/ur/developing/developer-faqs.mdx +++ b/website/pages/ur/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Yes. On `graph init` command itself you can add multiple datasources by entering سب گراف کے اندر، ایونٹس کو ہمیشہ اسی ترتیب سے پروسیس کیا جاتا ہے جس ترتیب سے وہ بلاکس میں ظاہر ہوتے ہیں، قطع نظر اس کے کہ یہ متعدد کنٹریکٹس میں ہے یا نہیں. -## 14. کیا ایونٹ ہینڈلرز کے اندر سے نیٹ ورکس (mainnet ,Goerli, local) کے درمیان فرق کرنا ممکن ہے؟ +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? جی ہاں. آپ ذیل کی مثال کے مطابق `graph-ts` درآمد کر کے ایسا کر سکتے ہیں: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. کیا آپ گوئرلی پر بلاک اور کال ہینڈلرز سپورٹ کرتے ہیں؟ +## 15. Do you support block and call handlers on Sepolia? -جی ہاں. Goerli بلاک ہینڈلرز، کال ہینڈلرز اور ایونٹ ہینڈلرز کو سپورٹ کرتا ہے۔ واضح رہے کہ ایونٹ ہینڈلرز دوسرے دو ہینڈلرز سے کہیں زیادہ پرفارمنس ہوتے ہیں، اور وہ ہر ای وی ایم سے مطابقت رکھنے والے نیٹ ورک پر سپورٹ ہوتے ہیں. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. کیا میں ethers.js یا دوسری JS لائبریریز کو اپنے سب گراف میپنگس میں درآمد کر سکتا ہوں? From a112d1765af163dc25f3dafd5a00c5d29dc7e989 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:38 -0400 Subject: [PATCH 1590/2326] New translations developer-faqs.mdx (Vietnamese) --- website/pages/vi/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/vi/developing/developer-faqs.mdx b/website/pages/vi/developing/developer-faqs.mdx index d544a1a02a79..9fd66e6afc9b 100644 --- a/website/pages/vi/developing/developer-faqs.mdx +++ b/website/pages/vi/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Nếu chỉ một thực thể được tạo trong sự kiện và nếu không Trong một subgraph, các sự kiện luôn được xử lý theo thứ tự chúng xuất hiện trong các khối, bất kể điều đó có qua nhiều hợp đồng hay không. -## 14. Is it possible to differentiate between networks (mainnet, Goerli, local) from within event handlers? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Đúng. Bạn có thể thực hiện việc này bằng cách nhập `graph-ts` theo ví dụ bên dưới: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Do you support block and call handlers on Goerli? +## 15. Do you support block and call handlers on Sepolia? -Yes. Goerli supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Can I import ethers.js or other JS libraries into my subgraph mappings? From 29efe80fd1e02a807205f9aea3ea908eddfd6975 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:39 -0400 Subject: [PATCH 1591/2326] New translations developer-faqs.mdx (Marathi) --- website/pages/mr/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/mr/developing/developer-faqs.mdx b/website/pages/mr/developing/developer-faqs.mdx index c02cd0339b64..82680a88f462 100644 --- a/website/pages/mr/developing/developer-faqs.mdx +++ b/website/pages/mr/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Yes. On `graph init` command itself you can add multiple datasources by entering सबग्राफमध्‍ये, इव्‍हेंट नेहमी ब्लॉकमध्‍ये दिसण्‍याच्‍या क्रमाने संसाधित केले जातात, ते एकाधिक कॉन्ट्रॅक्टमध्‍ये असले किंवा नसले तरीही. -## 14. इव्हेंट हँडलर्समधील नेटवर्क्स (मेननेट, गोएर्ली, स्थानिक) मध्ये फरक करणे शक्य आहे का? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? होय. तुम्ही खालील उदाहरणानुसार `graph-ts` इंपोर्ट करून हे करू शकता: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. तुम्ही गोअरलीवर ब्लॉक आणि कॉल हँडलरला सपोर्ट करता का? +## 15. Do you support block and call handlers on Sepolia? -होय. गोअरली ब्लॉक हँडलर, कॉल हँडलर आणि इव्हेंट हँडलर्सना सपोर्ट करते. हे लक्षात घेतले पाहिजे की इव्हेंट हँडलर इतर दोन हँडलर्सपेक्षा खूप जास्त कार्यक्षम आहेत आणि ते प्रत्येक EVM-सुसंगत नेटवर्कवर समर्थित आहेत. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. मी माझ्या सबग्राफ मॅपिंगमध्ये ethers.js किंवा इतर JS लायब्ररी आयात करू शकतो का? From 32692a543d53608a21129124f35ead417b324635 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:40 -0400 Subject: [PATCH 1592/2326] New translations developer-faqs.mdx (Hindi) --- website/pages/hi/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/hi/developing/developer-faqs.mdx b/website/pages/hi/developing/developer-faqs.mdx index 387329b215c7..ce378ef44162 100644 --- a/website/pages/hi/developing/developer-faqs.mdx +++ b/website/pages/hi/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ Yes. On `graph init` command itself you can add multiple datasources by entering एक सबग्राफ के भीतर, घटनाओं को हमेशा उसी क्रम में संसाधित किया जाता है जिस क्रम में वे ब्लॉक में दिखाई देते हैं, भले ही वह कई अनुबंधों में हो या नहीं। -## 14. क्या इवेंट हैंडलर के भीतर से नेटवर्क (मेननेट, गोएर्ली, लोकल) के बीच अंतर करना संभव है? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? हाँ। नीचे दिए गए उदाहरण के अनुसार आप `ग्राफ़-टीएस` आयात करके ऐसा कर सकते हैं: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. क्या आप गोएर्ली पर ब्लॉक और कॉल हैंडलर का समर्थन करते हैं? +## 15. Do you support block and call handlers on Sepolia? -हाँ। गोएर्ली ब्लॉक हैंडलर, कॉल हैंडलर और इवेंट हैंडलर का समर्थन करता है। यह ध्यान दिया जाना चाहिए कि इवेंट हैंडलर अन्य दो हैंडलर की तुलना में कहीं अधिक प्रदर्शन करते हैं, और वे प्रत्येक ईवीएम-संग +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. क्या मैं अपने सबग्राफ मैपिंग में ethers.js या अन्य JS लाइब्रेरी आयात कर सकता हूँ? From a96b176c6c5a40d491d35877b023cfc7f55530da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:41 -0400 Subject: [PATCH 1593/2326] New translations developer-faqs.mdx (Yoruba) --- website/pages/yo/developing/developer-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/yo/developing/developer-faqs.mdx b/website/pages/yo/developing/developer-faqs.mdx index b334adf05f45..7a15b1eb60ef 100644 --- a/website/pages/yo/developing/developer-faqs.mdx +++ b/website/pages/yo/developing/developer-faqs.mdx @@ -67,7 +67,7 @@ If only one entity is created during the event and if there's nothing better ava Within a subgraph, the events are always processed in the order they appear in the blocks, regardless of whether that is across multiple contracts or not. -## 14. Is it possible to differentiate between networks (mainnet, Goerli, local) from within event handlers? +## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? Yes. You can do this by importing `graph-ts` as per the example below: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Do you support block and call handlers on Goerli? +## 15. Do you support block and call handlers on Sepolia? -Yes. Goerli supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. +Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. ## 16. Can I import ethers.js or other JS libraries into my subgraph mappings? From 3f453457a935eef3c1c75a65b7cb3a61957c0cdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:42 -0400 Subject: [PATCH 1594/2326] New translations unit-testing-framework.mdx (Romanian) --- website/pages/ro/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ro/developing/unit-testing-framework.mdx b/website/pages/ro/developing/unit-testing-framework.mdx index ed7a2e07b03d..bec8b22bb196 100644 --- a/website/pages/ro/developing/unit-testing-framework.mdx +++ b/website/pages/ro/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts From `graph-cli 0.25.2`, the `graph test` command supports running `matchstick` in a docker container with the `-d` flag. The docker implementation uses [bind mount](https://docs.docker.com/storage/bind-mounts/) so it does not have to rebuild the docker image every time the `graph test -d` command is executed. Alternatively you can follow the instructions from the [matchstick](https://github.com/LimeChain/matchstick#docker-) repository to run docker manually. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ If you have previously ran `graph test` you may encounter the following error during docker build: ```sh From ceb8969fd95fbb1ccbee0532b5bdbfa6d29b227c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:44 -0400 Subject: [PATCH 1595/2326] New translations unit-testing-framework.mdx (French) --- website/pages/fr/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/fr/developing/unit-testing-framework.mdx b/website/pages/fr/developing/unit-testing-framework.mdx index eead6740337d..f48a31c1eb9e 100644 --- a/website/pages/fr/developing/unit-testing-framework.mdx +++ b/website/pages/fr/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts À partir de `graph-cli 0.25.2`, la commande `graph test` prend en charge l'exécution de `matchstick` dans un conteneur Docker avec le `-d drapeau. L'implémentation de Docker utilise bind mount afin de ne pas avoir à reconstruire l'image Docker à chaque fois que la commande graph test -d` est exécutée. Vous pouvez également suivre les instructions du référentiel [matchstick](https://github.com/LimeChain/matchstick#docker-) pour exécuter Docker manuellement. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ En cas d'exécution préalable de `graph test`, vous risquez de rencontrer l'erreur suivante lors de la construction de docker : ```sh From f853fbaaea15dd0ca45b768e8b2ef91fda6b66d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:45 -0400 Subject: [PATCH 1596/2326] New translations unit-testing-framework.mdx (Spanish) --- website/pages/es/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/es/developing/unit-testing-framework.mdx b/website/pages/es/developing/unit-testing-framework.mdx index 58fd3be3c996..ac99e4e8e46d 100644 --- a/website/pages/es/developing/unit-testing-framework.mdx +++ b/website/pages/es/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts Desde `graph-cli 0.25.2`, el comando `graph test` admite la ejecución de `matchstick` en un contenedor de Docker con la marca `-d`. La implementación de Docker utiliza [bind-mount](https://docs.docker.com/storage/bind-mounts/) para que no tenga que reconstruir la imagen del Docker cada vez que se ejecuta el comando ` graph test -d`. Como alternativa, puedes seguir las instrucciones del repositorio [matchstick](https://github.com/LimeChain/matchstick#docker-) para ejecutar docker manualmente. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ Si ejecutaste previamente `graph test`, es posible que encuentres el siguiente error durante la compilación de docker: ```sh From c4cd6c9267c12dfa3c0b98a60ce87cdc118697ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:46 -0400 Subject: [PATCH 1597/2326] New translations unit-testing-framework.mdx (Arabic) --- website/pages/ar/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ar/developing/unit-testing-framework.mdx b/website/pages/ar/developing/unit-testing-framework.mdx index f34cbcbdf6ab..fad1e010d641 100644 --- a/website/pages/ar/developing/unit-testing-framework.mdx +++ b/website/pages/ar/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts From `graph-cli 0.25.2`, the `graph test` command supports running `matchstick` in a docker container with the `-d` flag. The docker implementation uses [bind mount](https://docs.docker.com/storage/bind-mounts/) so it does not have to rebuild the docker image every time the `graph test -d` command is executed. Alternatively you can follow the instructions from the [matchstick](https://github.com/LimeChain/matchstick#docker-) repository to run docker manually. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ If you have previously ran `graph test` you may encounter the following error during docker build: ```sh From 0b646efdcae1349d7f4f7429956b58f9264cc2c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:47 -0400 Subject: [PATCH 1598/2326] New translations unit-testing-framework.mdx (Czech) --- website/pages/cs/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/cs/developing/unit-testing-framework.mdx b/website/pages/cs/developing/unit-testing-framework.mdx index f12e7b236a54..99eb02863ed5 100644 --- a/website/pages/cs/developing/unit-testing-framework.mdx +++ b/website/pages/cs/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts Od verze `graph-cli 0.25.2` podporuje příkaz `graph test` spuštění `matchstick` v kontejneru docker s příznakem `-d`. Implementace dockeru používá příkaz [bind mount](https://docs.docker.com/storage/bind-mounts/), takže nemusí při každém spuštění příkazu `graph test -d` obnovovat obraz dockeru. Případně můžete postupovat podle pokynů z repozitáře [matchstick](https://github.com/LimeChain/matchstick#docker-) a spustit docker ručně. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ Pokud jste dříve spustili `graph test`, můžete se při sestavování dockeru setkat s následující chybou: ```sh From 3775f05c4874544322a92bbd647091c8bc9a20bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:48 -0400 Subject: [PATCH 1599/2326] New translations unit-testing-framework.mdx (German) --- website/pages/de/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/de/developing/unit-testing-framework.mdx b/website/pages/de/developing/unit-testing-framework.mdx index ed7a2e07b03d..bec8b22bb196 100644 --- a/website/pages/de/developing/unit-testing-framework.mdx +++ b/website/pages/de/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts From `graph-cli 0.25.2`, the `graph test` command supports running `matchstick` in a docker container with the `-d` flag. The docker implementation uses [bind mount](https://docs.docker.com/storage/bind-mounts/) so it does not have to rebuild the docker image every time the `graph test -d` command is executed. Alternatively you can follow the instructions from the [matchstick](https://github.com/LimeChain/matchstick#docker-) repository to run docker manually. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ If you have previously ran `graph test` you may encounter the following error during docker build: ```sh From 726f6511d0f93ed69accc30348b19313b8949f6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:49 -0400 Subject: [PATCH 1600/2326] New translations unit-testing-framework.mdx (Italian) --- website/pages/it/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/it/developing/unit-testing-framework.mdx b/website/pages/it/developing/unit-testing-framework.mdx index ed7a2e07b03d..bec8b22bb196 100644 --- a/website/pages/it/developing/unit-testing-framework.mdx +++ b/website/pages/it/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts From `graph-cli 0.25.2`, the `graph test` command supports running `matchstick` in a docker container with the `-d` flag. The docker implementation uses [bind mount](https://docs.docker.com/storage/bind-mounts/) so it does not have to rebuild the docker image every time the `graph test -d` command is executed. Alternatively you can follow the instructions from the [matchstick](https://github.com/LimeChain/matchstick#docker-) repository to run docker manually. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ If you have previously ran `graph test` you may encounter the following error during docker build: ```sh From 33998adbcb54f8fc4c2893605bb8d39c3097f8ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:50 -0400 Subject: [PATCH 1601/2326] New translations unit-testing-framework.mdx (Japanese) --- website/pages/ja/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ja/developing/unit-testing-framework.mdx b/website/pages/ja/developing/unit-testing-framework.mdx index 7160450a45a1..cb6fbbe65a63 100644 --- a/website/pages/ja/developing/unit-testing-framework.mdx +++ b/website/pages/ja/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts `graph-cli 0.25.2` からは、`graph test` コマンドが `-d` フラグの付いた docker コンテナでの `matchstick` の実行をサポートしています。docker の実装では、[bind mount](https://docs.docker.com/storage/bind-mounts/) を使用しているので、`graph test -d` コマンドを実行するたびに docker イメージを再構築する必要はありません。また、[matchstick](https://github.com/LimeChain/matchstick#docker-) リポジトリの説明に従って、手動でDockerを実行することもできます。 +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ 以前に `graph test` を実行したことがある場合、docker build 中に以下のようなエラーが発生することがあります。 ```sh From 0d092bdf13c76086c74def441d85faad02ceee35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:52 -0400 Subject: [PATCH 1602/2326] New translations unit-testing-framework.mdx (Korean) --- website/pages/ko/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ko/developing/unit-testing-framework.mdx b/website/pages/ko/developing/unit-testing-framework.mdx index ed7a2e07b03d..bec8b22bb196 100644 --- a/website/pages/ko/developing/unit-testing-framework.mdx +++ b/website/pages/ko/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts From `graph-cli 0.25.2`, the `graph test` command supports running `matchstick` in a docker container with the `-d` flag. The docker implementation uses [bind mount](https://docs.docker.com/storage/bind-mounts/) so it does not have to rebuild the docker image every time the `graph test -d` command is executed. Alternatively you can follow the instructions from the [matchstick](https://github.com/LimeChain/matchstick#docker-) repository to run docker manually. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ If you have previously ran `graph test` you may encounter the following error during docker build: ```sh From f07b791591295dd0ee5fcd182a64271d3bb12129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:53 -0400 Subject: [PATCH 1603/2326] New translations unit-testing-framework.mdx (Dutch) --- website/pages/nl/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/nl/developing/unit-testing-framework.mdx b/website/pages/nl/developing/unit-testing-framework.mdx index ed7a2e07b03d..bec8b22bb196 100644 --- a/website/pages/nl/developing/unit-testing-framework.mdx +++ b/website/pages/nl/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts From `graph-cli 0.25.2`, the `graph test` command supports running `matchstick` in a docker container with the `-d` flag. The docker implementation uses [bind mount](https://docs.docker.com/storage/bind-mounts/) so it does not have to rebuild the docker image every time the `graph test -d` command is executed. Alternatively you can follow the instructions from the [matchstick](https://github.com/LimeChain/matchstick#docker-) repository to run docker manually. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ If you have previously ran `graph test` you may encounter the following error during docker build: ```sh From 59fe0285187c7e3393b899ede99ac9f16fe6fcba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:54 -0400 Subject: [PATCH 1604/2326] New translations unit-testing-framework.mdx (Polish) --- website/pages/pl/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/pl/developing/unit-testing-framework.mdx b/website/pages/pl/developing/unit-testing-framework.mdx index ed7a2e07b03d..bec8b22bb196 100644 --- a/website/pages/pl/developing/unit-testing-framework.mdx +++ b/website/pages/pl/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts From `graph-cli 0.25.2`, the `graph test` command supports running `matchstick` in a docker container with the `-d` flag. The docker implementation uses [bind mount](https://docs.docker.com/storage/bind-mounts/) so it does not have to rebuild the docker image every time the `graph test -d` command is executed. Alternatively you can follow the instructions from the [matchstick](https://github.com/LimeChain/matchstick#docker-) repository to run docker manually. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ If you have previously ran `graph test` you may encounter the following error during docker build: ```sh From 93bd07ed0ecc221a4be575e75eaa4b084df7baa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:55 -0400 Subject: [PATCH 1605/2326] New translations unit-testing-framework.mdx (Portuguese) --- website/pages/pt/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/pt/developing/unit-testing-framework.mdx b/website/pages/pt/developing/unit-testing-framework.mdx index e2bbd7c88fb1..72138f23d4ff 100644 --- a/website/pages/pt/developing/unit-testing-framework.mdx +++ b/website/pages/pt/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts Desde o `graph-cli 0.25.2`, o comando `graph test` apoia a execução do `matchstick` em um container docker com a flag `-d`. A implementação do docker utiliza o [bind mount](https://docs.docker.com/storage/bind-mounts/) para que não precise reconstruir a imagem do docker toda vez que o comando `graph test -d` é executado. Alternativamente, siga as instruções do repositório do [matchstick](https://github.com/LimeChain/matchstick#docker-) para executar o docker manualmente. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ Caso já tenha executado o `graph test` anteriormente, pode encontrar o seguinte erro durante a construção do docker: ```sh From 8e4323fc55ea434540936cc42bdd37da42e59c64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:57 -0400 Subject: [PATCH 1606/2326] New translations unit-testing-framework.mdx (Russian) --- website/pages/ru/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ru/developing/unit-testing-framework.mdx b/website/pages/ru/developing/unit-testing-framework.mdx index c847aa9059fc..0808bc24cf1a 100644 --- a/website/pages/ru/developing/unit-testing-framework.mdx +++ b/website/pages/ru/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts Из `graph-cli 0.25.2` команда `graph test` поддерживает запуск `matchstick` в контейнере docker с флагом `-d`. Реализация docker использует [bind mount](https://docs.docker.com/storage/bind-mounts /), чтобы не приходилось перестраивать образ docker каждый раз, когда выполняется команда `graph test -d`. В качестве альтернативы Вы можете следовать инструкциям из репозитория [matchstick](https://github.com/LimeChain/matchstick#docker-) для запуска docker вручную. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ Если Вы ранее запускали `graph test`, Вы можете столкнуться со следующей ошибкой во время сборки docker: ```sh From 55d07da6752010759e2082f996d3b9a2b2cb8982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:58 -0400 Subject: [PATCH 1607/2326] New translations unit-testing-framework.mdx (Swedish) --- website/pages/sv/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/sv/developing/unit-testing-framework.mdx b/website/pages/sv/developing/unit-testing-framework.mdx index aa7c0f8307cb..1b9517154fd2 100644 --- a/website/pages/sv/developing/unit-testing-framework.mdx +++ b/website/pages/sv/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts Från `graph-cli 0.25.2` stöder kommandot `graph test` att köra `matchstick` i en Docker-behållare med flaggan `-d`. Docker-implementeringen använder [bind mount](https://docs.docker.com/storage/bind-mounts/) så att den inte behöver bygga om dockerbilden varje gång kommandot `graph test -d` körs. Alternativt kan du följa instruktionerna från [matchstick](https://github.com/LimeChain/matchstick#docker-) repository för att köra Docker manuellt. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ Om du tidigare har kört `graph test` kan du stöta på följande fel under docker build: ```sh From 4580f1204f41a0f739b466b90a1d1ffce919cc8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:24:59 -0400 Subject: [PATCH 1608/2326] New translations unit-testing-framework.mdx (Turkish) --- website/pages/tr/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/tr/developing/unit-testing-framework.mdx b/website/pages/tr/developing/unit-testing-framework.mdx index 906564207d59..a4c12f6230c1 100644 --- a/website/pages/tr/developing/unit-testing-framework.mdx +++ b/website/pages/tr/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts `graph-cli 0.25.2`'den itibaren `graph test` `-d` bayrağı ile `matchstick`'i bir docker konteynerinde çalıştırmayı desteklemektedir. Docker uygulaması, [bind mount](https://docs.docker.com/storage/bind-mounts/) kullandığından, `graph test -d` komutu her çalıştırıldığında docker görüntüsünü yeniden oluşturmak zorunda değildir. Alternatif olarak, [matchstick](https://github.com/LimeChain/matchstick#docker-) deposundan docker'ı manuel olarak çalıştırmak için talimatları izleyebilirsiniz. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ Daha önce `graph test` çalıştırdıysanız, docker build sırasında aşağıdaki hatayla karşılaşabilirsiniz: ```sh From 757d1aba15f89d08f79528e775e9ce491383e279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:00 -0400 Subject: [PATCH 1609/2326] New translations unit-testing-framework.mdx (Ukrainian) --- website/pages/uk/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/uk/developing/unit-testing-framework.mdx b/website/pages/uk/developing/unit-testing-framework.mdx index ed7a2e07b03d..bec8b22bb196 100644 --- a/website/pages/uk/developing/unit-testing-framework.mdx +++ b/website/pages/uk/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts From `graph-cli 0.25.2`, the `graph test` command supports running `matchstick` in a docker container with the `-d` flag. The docker implementation uses [bind mount](https://docs.docker.com/storage/bind-mounts/) so it does not have to rebuild the docker image every time the `graph test -d` command is executed. Alternatively you can follow the instructions from the [matchstick](https://github.com/LimeChain/matchstick#docker-) repository to run docker manually. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ If you have previously ran `graph test` you may encounter the following error during docker build: ```sh From 87aa11a7e69ca8bcf7d8f8484a10eabacb2fbf68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:01 -0400 Subject: [PATCH 1610/2326] New translations unit-testing-framework.mdx (Chinese Simplified) --- website/pages/zh/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/zh/developing/unit-testing-framework.mdx b/website/pages/zh/developing/unit-testing-framework.mdx index 873b20d9d47c..42d936ea1d32 100644 --- a/website/pages/zh/developing/unit-testing-framework.mdx +++ b/website/pages/zh/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts 从`graph cli 0.25.2`中,`graph test`命令支持在带有`-d`标志的docker容器中运行`matchstick` 。docker实现使用[bind mount](https://docs.docker.com/storage/bind-mounts/),因此它不必在每次执行`graph test-d`命令时重新构建docker映像。或者,您可以按照[matchstick](https://github.com/LimeChain/matchstick#docker-)存储库中的说明手动运行docker。 +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗如果您以前运行过`graph test`,则在docker构建过程中可能会遇到以下错误: ```sh From dc25a41e48a4728afb865f40e84ece5c68277137 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:02 -0400 Subject: [PATCH 1611/2326] New translations unit-testing-framework.mdx (Urdu (Pakistan)) --- website/pages/ur/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ur/developing/unit-testing-framework.mdx b/website/pages/ur/developing/unit-testing-framework.mdx index c7c799329cdc..c2f975c8a3ed 100644 --- a/website/pages/ur/developing/unit-testing-framework.mdx +++ b/website/pages/ur/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts `graph-cli 0.25.2` سے، `graph test` کمانڈ `-d` فلیگ کے ساتھ ڈوکر کنٹینر میں `matchstick` چلانے کی حمایت کرتی ہے۔ ڈوکر کا نفاذ [بائنڈ ماؤنٹ](https://docs.docker.com/storage/bind-mounts/) کا استعمال کرتا ہے لہذا جب بھی `graph test -d` کمانڈ پر عمل ہوتا ہے اسے ڈوکر امیج کو دوبارہ بنانے کی ضرورت نہیں ہے۔ متبادل طور پر آپ ڈوکر کو دستی طور پر چلانے کے لیے [matchstick](https://github.com/LimeChain/matchstick#docker-) ریپوزٹری کی ہدایات پر عمل کر سکتے ہیں. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ اگر آپ نے پہلے `graph test` چلایا ہے تو آپ کو ڈوکر کی تعمیر کے دوران درج ذیل خرابی کا سامنا کرنا پڑ سکتا ہے: ```sh From b4938e83681f0c774c19078bb3b1feab2e6d7c72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:04 -0400 Subject: [PATCH 1612/2326] New translations unit-testing-framework.mdx (Vietnamese) --- website/pages/vi/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/vi/developing/unit-testing-framework.mdx b/website/pages/vi/developing/unit-testing-framework.mdx index 6d52265fe57a..275daf89e56c 100644 --- a/website/pages/vi/developing/unit-testing-framework.mdx +++ b/website/pages/vi/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts From `graph-cli 0.25.2`, the `graph test` command supports running `matchstick` in a docker container with the `-d` flag. The docker implementation uses [bind mount](https://docs.docker.com/storage/bind-mounts/) so it does not have to rebuild the docker image every time the `graph test -d` command is executed. Alternatively you can follow the instructions from the [matchstick](https://github.com/LimeChain/matchstick#docker-) repository to run docker manually. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ If you have previously ran `graph test` you may encounter the following error during docker build: ```sh From e5ae9b067568d24df79d2f0d0a83517b4c8cbd64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:05 -0400 Subject: [PATCH 1613/2326] New translations unit-testing-framework.mdx (Marathi) --- website/pages/mr/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/mr/developing/unit-testing-framework.mdx b/website/pages/mr/developing/unit-testing-framework.mdx index df593a132299..b6c7ec570fdb 100644 --- a/website/pages/mr/developing/unit-testing-framework.mdx +++ b/website/pages/mr/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts `graph-cli 0.25.2` वरून, `ग्राफ चाचणी` कमांड `-d` सह डॉकर कंटेनरमध्ये `matchstick` चालवण्यास समर्थन देते > ध्वज. डॉकर अंमलबजावणी [बाइंड माउंट](https://docs.docker.com/storage/bind-mounts/) वापरते त्यामुळे प्रत्येक वेळी `ग्राफवर डॉकर प्रतिमा पुन्हा तयार करावी लागत नाही test -d` कमांड कार्यान्वित केली आहे. वैकल्पिकरित्या तुम्ही डॉकर मॅन्युअली चालवण्यासाठी [matchstick](https://github.com/LimeChain/matchstick#docker-) रेपॉजिटरीमधील सूचनांचे अनुसरण करू शकता. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ जर तुम्ही यापूर्वी `ग्राफ चाचणी` केली असेल तर तुम्हाला डॉकर बिल्ड दरम्यान खालील त्रुटी येऊ शकते: ```sh From af7cd772487b75e0d0196dfd7e4551dd82eaf0f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:06 -0400 Subject: [PATCH 1614/2326] New translations unit-testing-framework.mdx (Hindi) --- website/pages/hi/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/hi/developing/unit-testing-framework.mdx b/website/pages/hi/developing/unit-testing-framework.mdx index e79c72274318..19685528dc48 100644 --- a/website/pages/hi/developing/unit-testing-framework.mdx +++ b/website/pages/hi/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts `graph-cli 0.25.2` से, `graph test` कमांड `माचिस` को `-d झंडा। डॉकर कार्यान्वयन बाइंड माउंट का उपयोग करता है, इसलिए इसे हर बार ग्राफ में डॉकर छवि को फिर से बनाने की आवश्यकता नहीं होती है परीक्षण -d ` आदेश निष्पादित किया गया है। वैकल्पिक रूप से आप डॉकर को मैन्युअल रूप से चलाने के लिए [matchstick](https://github.com/LimeChain/matchstick#docker-) रिपॉजिटरी के निर्देशों का पालन कर सकते हैं। +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ यदि आपने पहले `graph test` चलाया है, तो आपको डॉकर बिल्ड के दौरान निम्न त्रुटि का सामना करना पड़ सकता है: ```sh From 45d859b154acaca17e8238516ef970c7e1e8bbfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:07 -0400 Subject: [PATCH 1615/2326] New translations unit-testing-framework.mdx (Yoruba) --- website/pages/yo/developing/unit-testing-framework.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/yo/developing/unit-testing-framework.mdx b/website/pages/yo/developing/unit-testing-framework.mdx index ed7a2e07b03d..bec8b22bb196 100644 --- a/website/pages/yo/developing/unit-testing-framework.mdx +++ b/website/pages/yo/developing/unit-testing-framework.mdx @@ -116,6 +116,8 @@ graph test path/to/file.test.ts From `graph-cli 0.25.2`, the `graph test` command supports running `matchstick` in a docker container with the `-d` flag. The docker implementation uses [bind mount](https://docs.docker.com/storage/bind-mounts/) so it does not have to rebuild the docker image every time the `graph test -d` command is executed. Alternatively you can follow the instructions from the [matchstick](https://github.com/LimeChain/matchstick#docker-) repository to run docker manually. +❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). + ❗ If you have previously ran `graph test` you may encounter the following error during docker build: ```sh From 9716620b4a679c00c692f6db87e3b6b5f02d69f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:08 -0400 Subject: [PATCH 1616/2326] New translations billing.mdx (Romanian) --- website/pages/ro/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/ro/billing.mdx b/website/pages/ro/billing.mdx index a4b8d3f03de2..f85a2937696b 100644 --- a/website/pages/ro/billing.mdx +++ b/website/pages/ro/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 10168feb785a48a182aab56cb7c3a6273dcb1dff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:09 -0400 Subject: [PATCH 1617/2326] New translations billing.mdx (French) --- website/pages/fr/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/fr/billing.mdx b/website/pages/fr/billing.mdx index 04791a4a1110..246be2228fba 100644 --- a/website/pages/fr/billing.mdx +++ b/website/pages/fr/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 4b5a958e93c3c2221451c3b15dece48f2c41483d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:10 -0400 Subject: [PATCH 1618/2326] New translations billing.mdx (Spanish) --- website/pages/es/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/es/billing.mdx b/website/pages/es/billing.mdx index 60cbef6f808b..cc71d9fb2c7e 100644 --- a/website/pages/es/billing.mdx +++ b/website/pages/es/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 49c8ac439ac54ab34f5b30bd1d251f02b3545e0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:11 -0400 Subject: [PATCH 1619/2326] New translations billing.mdx (Arabic) --- website/pages/ar/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/ar/billing.mdx b/website/pages/ar/billing.mdx index 526f37882278..a57cf381b15e 100644 --- a/website/pages/ar/billing.mdx +++ b/website/pages/ar/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [الانتقال](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From a4edcd1f123fdd6e2b58a410c379fdbc78b29716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:13 -0400 Subject: [PATCH 1620/2326] New translations billing.mdx (Czech) --- website/pages/cs/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/billing.mdx b/website/pages/cs/billing.mdx index 5fc9c0dc8a67..9d1cf6683a4e 100644 --- a/website/pages/cs/billing.mdx +++ b/website/pages/cs/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 8b2eeee9a45e7909c896c94d23d74916dc08c6c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:14 -0400 Subject: [PATCH 1621/2326] New translations billing.mdx (German) --- website/pages/de/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/de/billing.mdx b/website/pages/de/billing.mdx index a4b8d3f03de2..f85a2937696b 100644 --- a/website/pages/de/billing.mdx +++ b/website/pages/de/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 653e16f6a683dad5e8cf22ea64107308127ca0c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:15 -0400 Subject: [PATCH 1622/2326] New translations billing.mdx (Italian) --- website/pages/it/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/it/billing.mdx b/website/pages/it/billing.mdx index a4b8d3f03de2..f85a2937696b 100644 --- a/website/pages/it/billing.mdx +++ b/website/pages/it/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 694f67bc0af43d598523100a1ed02525e9ef0760 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:16 -0400 Subject: [PATCH 1623/2326] New translations billing.mdx (Japanese) --- website/pages/ja/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/ja/billing.mdx b/website/pages/ja/billing.mdx index d7564a6114ec..86d5b4f15b2e 100644 --- a/website/pages/ja/billing.mdx +++ b/website/pages/ja/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From deed1cd73b657bd06231f1267fe6659fd1b0a3ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:17 -0400 Subject: [PATCH 1624/2326] New translations billing.mdx (Korean) --- website/pages/ko/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/ko/billing.mdx b/website/pages/ko/billing.mdx index a4b8d3f03de2..f85a2937696b 100644 --- a/website/pages/ko/billing.mdx +++ b/website/pages/ko/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 7986bd4a69eea038c87f3fc22b41da23d366447d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:18 -0400 Subject: [PATCH 1625/2326] New translations billing.mdx (Dutch) --- website/pages/nl/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/nl/billing.mdx b/website/pages/nl/billing.mdx index a4b8d3f03de2..f85a2937696b 100644 --- a/website/pages/nl/billing.mdx +++ b/website/pages/nl/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From f1817c5bb72403bcf9550ee75867b80e2237f9a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:19 -0400 Subject: [PATCH 1626/2326] New translations billing.mdx (Polish) --- website/pages/pl/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/pl/billing.mdx b/website/pages/pl/billing.mdx index a4b8d3f03de2..f85a2937696b 100644 --- a/website/pages/pl/billing.mdx +++ b/website/pages/pl/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 46061830b3e3d29bd2dce2aad4f637ff610dc37b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:21 -0400 Subject: [PATCH 1627/2326] New translations billing.mdx (Portuguese) --- website/pages/pt/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/billing.mdx b/website/pages/pt/billing.mdx index ae49a7a3f1f9..782e0d22b344 100644 --- a/website/pages/pt/billing.mdx +++ b/website/pages/pt/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 23805dcdc846643b73581b75158c0716e736653b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:22 -0400 Subject: [PATCH 1628/2326] New translations billing.mdx (Russian) --- website/pages/ru/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/ru/billing.mdx b/website/pages/ru/billing.mdx index 5212e09a1df4..79637fe05d93 100644 --- a/website/pages/ru/billing.mdx +++ b/website/pages/ru/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From c69a910f4a7862652e77adb8b5c2b730acad4286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:23 -0400 Subject: [PATCH 1629/2326] New translations billing.mdx (Swedish) --- website/pages/sv/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/sv/billing.mdx b/website/pages/sv/billing.mdx index 76273d3fa0d4..0bc207902197 100644 --- a/website/pages/sv/billing.mdx +++ b/website/pages/sv/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bro](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From a0389c52b77fbb95bcb8582a7f1c1186b5b561e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:24 -0400 Subject: [PATCH 1630/2326] New translations billing.mdx (Turkish) --- website/pages/tr/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/tr/billing.mdx b/website/pages/tr/billing.mdx index 91529efba873..5a3411bf91de 100644 --- a/website/pages/tr/billing.mdx +++ b/website/pages/tr/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 90886be4a5e4411237cc9527de4375c49c1cea65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:25 -0400 Subject: [PATCH 1631/2326] New translations billing.mdx (Ukrainian) --- website/pages/uk/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/uk/billing.mdx b/website/pages/uk/billing.mdx index 8ff2efca7717..ce654ad2d842 100644 --- a/website/pages/uk/billing.mdx +++ b/website/pages/uk/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 0610f5f52c086333fba8ea307eba20fba00301d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:26 -0400 Subject: [PATCH 1632/2326] New translations billing.mdx (Chinese Simplified) --- website/pages/zh/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/zh/billing.mdx b/website/pages/zh/billing.mdx index 98ac1a5dfaf8..f287739dd7c4 100644 --- a/website/pages/zh/billing.mdx +++ b/website/pages/zh/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [转移到](https://transferto.xyz/swap) +- [Connext跨链桥](https://bridge.connext.network/) +- [Hop交换协议](https://app.hop.exchange/#/send?token=ETH) From 159a75d7ef16773f0277cd61b3b82647747fba20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:27 -0400 Subject: [PATCH 1633/2326] New translations billing.mdx (Urdu (Pakistan)) --- website/pages/ur/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/ur/billing.mdx b/website/pages/ur/billing.mdx index b57723868243..828eaffbe4f0 100644 --- a/website/pages/ur/billing.mdx +++ b/website/pages/ur/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [کی طرف بھیجنا](https://transferto.xyz/swap) +- [کونیکسٹ بریج](https://bridge.connext.network/) +- [ہاپ ایکسچینج](https://app.hop.exchange/#/send?token=ETH) From ca96cb231b1b5f72cb176c94d8aae91968f6867f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:28 -0400 Subject: [PATCH 1634/2326] New translations billing.mdx (Vietnamese) --- website/pages/vi/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/vi/billing.mdx b/website/pages/vi/billing.mdx index a4b8d3f03de2..f85a2937696b 100644 --- a/website/pages/vi/billing.mdx +++ b/website/pages/vi/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From a5a61d1be8935968297ef582afaa4c19bd70c026 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:29 -0400 Subject: [PATCH 1635/2326] New translations billing.mdx (Marathi) --- website/pages/mr/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/mr/billing.mdx b/website/pages/mr/billing.mdx index 274bfb3b6979..e04ec22f7576 100644 --- a/website/pages/mr/billing.mdx +++ b/website/pages/mr/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From a59c715215b6859efdcf9ce981aa1e26accfe282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:31 -0400 Subject: [PATCH 1636/2326] New translations billing.mdx (Hindi) --- website/pages/hi/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/hi/billing.mdx b/website/pages/hi/billing.mdx index 87f749be14ad..a7ccb2aafec8 100644 --- a/website/pages/hi/billing.mdx +++ b/website/pages/hi/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 86cf6ad2d61f398ae30b9be456b2687211ce0565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:32 -0400 Subject: [PATCH 1637/2326] New translations billing.mdx (Yoruba) --- website/pages/yo/billing.mdx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/website/pages/yo/billing.mdx b/website/pages/yo/billing.mdx index a4b8d3f03de2..f85a2937696b 100644 --- a/website/pages/yo/billing.mdx +++ b/website/pages/yo/billing.mdx @@ -191,6 +191,19 @@ We recommend you overestimate the number of queries you will need so that you do Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. -### Can I withdrawal GRT from my billing balance? +### Can I withdraw GRT from my billing balance? -Yes, you can always withdrawal GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). + +### What happens when my billing balance runs? Will I get a warning? + +You will receive several email notifications before your billing balance runs out. + +### Which chain does GRT need to be on? + +Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 1a01cbde92aa54e1825ae6659de92e33256f5103 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:33 -0400 Subject: [PATCH 1638/2326] New translations grafting.mdx (Romanian) --- website/pages/ro/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/ro/cookbook/grafting.mdx b/website/pages/ro/cookbook/grafting.mdx index 38bb7114851a..6b4f419390d5 100644 --- a/website/pages/ro/cookbook/grafting.mdx +++ b/website/pages/ro/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) +- [Subgraph example repo](https://github.com/Shiyasmohd/grafting-tutorial) > Note: The contract used in the subgraph was taken from the following [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - The `Lock` data source is the abi and contract address we will get when we compile and deploy the contract -- The network should correspond to a indexed network being queried. Since we're running on Goerli testnet, the network is `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - The `mapping` section defines the triggers of interest and the functions that should be run in response to those triggers. In this case, we are listening for the `Withdrawal` event and calling the `handleWithdrawal` function when it is emitted. ## Grafting Manifest Definition @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ The `base` and `block` values can be found by deploying two subgraphs: one for t ## Deploying the Base Subgraph -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -124,14 +124,14 @@ It returns something like this: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -166,26 +166,26 @@ It should return the following: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 639cea1514e7d653d0045ed869cb5c8c9144113f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:34 -0400 Subject: [PATCH 1639/2326] New translations grafting.mdx (French) --- website/pages/fr/cookbook/grafting.mdx | 44 +++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/website/pages/fr/cookbook/grafting.mdx b/website/pages/fr/cookbook/grafting.mdx index 3f21434c43be..7a7c618dc550 100644 --- a/website/pages/fr/cookbook/grafting.mdx +++ b/website/pages/fr/cookbook/grafting.mdx @@ -44,7 +44,7 @@ En respectant ces lignes directrices, vous minimisez les risques et vous vous as Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Exemple de subgraph repo](https://github.com/t-proctor/grafting-tutorial) +- [Exemple de subgraph repo](https://github.com/Shiyasmohd/grafting-tutorial) > Remarque : le contrat utilisé dans le subgraph a été tiré de ce [kit de démarrage pour hackathon](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - La source de données `Lock` est l'adresse abi et le contrat que nous obtiendrons lorsque nous compilerons et déploierons le contrat -- Le réseau doit correspondre à un réseau indexé interrogé. Puisque nous utilisons Goerli testnet, le réseau est `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - La section `mapping` définit les déclencheurs d'intérêt et les fonctions qui doivent être exécutées en réponse à ces déclencheurs. Dans ce cas, nous écoutons l'événement `Withdrawal` et appelons la fonction `handleWithdrawal` lorsqu'elle est émise. ## Définition de manifeste de greffage @@ -90,10 +90,10 @@ Le greffage nécessite l'ajout de deux nouveaux éléments au manifeste du subgr ```yaml --- features: - - grafting # nom de la fonctionnalité + - grafting # feature name graft: - base: Qm... # identifiant du subgraphe de base - block: 1502122 # numéro du bloc + base: Qm... # subgraph ID of base subgraph + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ Les valeurs de `base` et de `bloc` peuvent être trouvées en déployant deux su ## Déploiement du subgraph de base -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Suivez les instructions de la section `AUTH& DEPLOY` sur la page de votre subgraph dans le dossier `graft-example` du dépôt 3. Une fois terminé, vérifiez que le subgraph s'indexe correctement. Si vous exécutez la commande suivante dans The Graph Playground @@ -124,14 +124,14 @@ Cela renvoie quelque chose comme ceci : "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Une fois que vous avez vérifié que le subgraph s'indexe correctement, vous pou Le subgraph.yaml de remplacement du greffon aura une nouvelle adresse de contrat. Cela peut arriver lorsque vous mettez à jour votre dapp, redéployez un contrat, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Suivez les instructions de la section `AUTH& DEPLOY` sur la page de votre subgraph dans le dossier `graft-replacement` du répertoire 4. Une fois cette opération terminée, vérifiez que le subgraph est correctement indexé. Si vous exécutez la commande suivante dans The Graph Playground @@ -166,26 +166,26 @@ Le résultat devrait être le suivant : "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -Vous pouvez voir que le `subgraph de remplacement` est indexé à partir des données plus anciennes du `graphe-exemple` et des données plus récentes de la nouvelle adresse du contrat. Le contrat original a émis deux événements de `retrait`, [événement 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) et [événement 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). Le nouveau contrat a émis un `retrait` après l'[événement 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). Les deux transactions précédemment indexées (événement 1 et événement 2) et la nouvelle transaction (événement 3) ont été combinées ensemble dans le subgraph de `graft-replacemen`. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 0eed0a16fca426f3be280eb4d02318b12e0659db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:35 -0400 Subject: [PATCH 1640/2326] New translations grafting.mdx (Spanish) --- website/pages/es/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/es/cookbook/grafting.mdx b/website/pages/es/cookbook/grafting.mdx index 9e7f7f437387..30df42fca0a1 100644 --- a/website/pages/es/cookbook/grafting.mdx +++ b/website/pages/es/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Repo de ejemplo de subgrafo](https://github.com/t-proctor/grafting-tutorial) +- [Repo de ejemplo de subgrafo](https://github.com/Shiyasmohd/grafting-tutorial) > Nota: El contrato utilizado en el subgrafo fue tomado del siguiente [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - La fuente de datos de `Lock` es el ABI y la dirección del contrato que obtendremos cuando compilemos y realicemos el deploy del contrato -- La red debe corresponder a una red indexada que se esté consultando. Como estamos ejecutando en Goerli testnet, la red es `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - La sección de `mapeo` define los disparadores de interés y las funciones que deben ejecutarse en respuesta a esos disparadores. En este caso, estamos escuchando el evento `Withdrawal` y llamando a la función `handleWithdrawal` cuando se emite. ## Definición del manifiesto de grafting @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ Los valores de la `base` y del `bloque` se pueden encontrar deployando dos subgr ## Deploy del subgrafo base -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Sigue las instrucciones de la sección `AUTH & DEPLOY` en tu página de subgrafo en la carpeta `graft-example` del repo 3. Una vez que hayas terminado, verifica que el subgrafo se está indexando correctamente. Si ejecutas el siguiente comando en The Graph Playground @@ -124,14 +124,14 @@ Devuelve algo como esto: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Una vez que hayas verificado que el subgrafo se está indexando correctamente, p El subgraph.yaml de sustitución del graft tendrá una nueva dirección de contrato. Esto podría ocurrir cuando actualices tu dApp, vuelvas a deployar un contrato, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Sigue las instrucciones de la sección `AUTH & DEPLOY` en la página de tu subgrafo en la carpeta `graft-replacement` del repo 4. Una vez que hayas terminado, verifica que el subgrafo se está indexando correctamente. Si ejecutas el siguiente comando en The Graph Playground @@ -166,26 +166,26 @@ Debería devolver lo siguiente: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -Se puede ver que el subgrafo `graft-replacement` está indexando a partir de los datos más antiguos del `graph-example` y los datos más actuales de la dirección del contrato. El contrato original emitió dos eventos de `Withdrawal`, [Evento 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) y [Evento 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). El nuevo contrato emitió un evento de `Withdrawal` después, el [Evento 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). Las dos transacciones indexadas anteriormente (Evento 1 y 2) y la nueva transacción (Evento 3) se combinaron juntas en el subgrafo `graft-replacement`. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 50fe23388ee8fe1498e042685fd2028fef2d5ae3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:36 -0400 Subject: [PATCH 1641/2326] New translations grafting.mdx (Arabic) --- website/pages/ar/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/ar/cookbook/grafting.mdx b/website/pages/ar/cookbook/grafting.mdx index ebc3a467c056..548091ac5b7d 100644 --- a/website/pages/ar/cookbook/grafting.mdx +++ b/website/pages/ar/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) +- [Subgraph example repo](https://github.com/Shiyasmohd/grafting-tutorial) > Note: The contract used in the subgraph was taken from the following [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - The `Lock` data source is the abi and contract address we will get when we compile and deploy the contract -- The network should correspond to a indexed network being queried. Since we're running on Goerli testnet, the network is `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - The `mapping` section defines the triggers of interest and the functions that should be run in response to those triggers. In this case, we are listening for the `Withdrawal` event and calling the `handleWithdrawal` function when it is emitted. ## Grafting Manifest Definition @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ The `base` and `block` values can be found by deploying two subgraphs: one for t ## Deploying the Base Subgraph -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -124,14 +124,14 @@ It returns something like this: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -166,26 +166,26 @@ It should return the following: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 88cc715f5e707bfebe1190294acae2690da801d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:37 -0400 Subject: [PATCH 1642/2326] New translations grafting.mdx (Czech) --- website/pages/cs/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/cs/cookbook/grafting.mdx b/website/pages/cs/cookbook/grafting.mdx index 9d4f6ad6f622..b68cbe3707c2 100644 --- a/website/pages/cs/cookbook/grafting.mdx +++ b/website/pages/cs/cookbook/grafting.mdx @@ -44,7 +44,7 @@ Dodržováním těchto pokynů minimalizujete rizika a zajistíte hladší průb Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Příklad repo subgrafu](https://github.com/t-proctor/grafting-tutorial) +- [Příklad repo subgrafu](https://github.com/Shiyasmohd/grafting-tutorial) > Poznámka: Smlouva použitá v dílčím grafu byla převzata z následující [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - Zdroj dat `Lock` je adresa abi a smlouvy, kterou získáme při kompilaci a nasazení smlouvy -- Síť by měla odpovídat dotazované indexované síti. Protože běžíme na testovací síti Goerli, síť je `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - Sekce `mapování` definuje spouštěče, které vás zajímají, a funkce, které by měly být spuštěny v reakci na tyto spouštěče. V tomto případě nasloucháme na událost `Výstup` a po jejím vyslání voláme funkci `obsluhovatVýstup`. ## Definice manifestu roubování @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ Hodnoty `base` a `block` lze nalézt nasazením dvou podgrafů: jednoho pro zák ## Nasazení základního podgrafu -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Následujte pokyny v části `AUTH & DEPLOY` na stránce vašeho subgrafu v adresáři `graft-example` ve vašem repozitáři 3. Po dokončení ověřte, zda se podgraf správně indexuje. Pokud spustíte následující příkaz v The Graph Playground @@ -124,14 +124,14 @@ Vrátí něco takového: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Jakmile ověříte, že se podgraf správně indexuje, můžete jej rychle aktua Náhradní podgraf.yaml bude mít novou adresu smlouvy. K tomu může dojít při aktualizaci dapp, novém nasazení kontraktu atd. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Postupujte podle pokynů v části `AUTH & DEPLOY` na stránce podgrafu ve složce `graft-replacement` z repozitáře 4. Po dokončení ověřte, zda se podgraf správně indexuje. Pokud spustíte následující příkaz v The Graph Playground @@ -166,26 +166,26 @@ Měla by vrátit následující: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -Můžete vidět, že podgraf `graft-replacement` indexuje stará data z `graph-example` a nová data z nové adresy smlouvy. Původní smlouva vydala dvě události `Withdrawal`,[Událost 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) a [Událost 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). Nová smlouva vydala jednu událost `Withdrawal` poté,[Událost 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). Dvě předtím zaindexované transakce (Událost 1 a 2) a nová transakce (Událost 3) byly sloučeny dohromady v podgrafu `graft-replacement`. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 8e9cf49b0806d4f06d3b5aa1bd8d22cb8b31ca0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:38 -0400 Subject: [PATCH 1643/2326] New translations grafting.mdx (German) --- website/pages/de/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/de/cookbook/grafting.mdx b/website/pages/de/cookbook/grafting.mdx index 36750f0613d7..d6a88a506760 100644 --- a/website/pages/de/cookbook/grafting.mdx +++ b/website/pages/de/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) +- [Subgraph example repo](https://github.com/Shiyasmohd/grafting-tutorial) > Note: The contract used in the subgraph was taken from the following [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - The `Lock` data source is the abi and contract address we will get when we compile and deploy the contract -- The network should correspond to a indexed network being queried. Since we're running on Goerli testnet, the network is `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - The `mapping` section defines the triggers of interest and the functions that should be run in response to those triggers. In this case, we are listening for the `Withdrawal` event and calling the `handleWithdrawal` function when it is emitted. ## Grafting Manifest Definition @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ The `base` and `block` values can be found by deploying two subgraphs: one for t ## Deploying the Base Subgraph -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -124,14 +124,14 @@ It returns something like this: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -166,26 +166,26 @@ It should return the following: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 84f639da6bb8bafaa737ab7636f297f5c22bd8e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:39 -0400 Subject: [PATCH 1644/2326] New translations grafting.mdx (Italian) --- website/pages/it/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/it/cookbook/grafting.mdx b/website/pages/it/cookbook/grafting.mdx index 997b50ae44c3..5137472eca06 100644 --- a/website/pages/it/cookbook/grafting.mdx +++ b/website/pages/it/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) +- [Subgraph example repo](https://github.com/Shiyasmohd/grafting-tutorial) > Note: The contract used in the subgraph was taken from the following [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - The `Lock` data source is the abi and contract address we will get when we compile and deploy the contract -- The network should correspond to a indexed network being queried. Since we're running on Goerli testnet, the network is `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - The `mapping` section defines the triggers of interest and the functions that should be run in response to those triggers. In this case, we are listening for the `Withdrawal` event and calling the `handleWithdrawal` function when it is emitted. ## Grafting Manifest Definition @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ The `base` and `block` values can be found by deploying two subgraphs: one for t ## Deploying the Base Subgraph -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -124,14 +124,14 @@ It returns something like this: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -166,26 +166,26 @@ It should return the following: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 7a8d066a551fd84816291ac225cf49e986422ee3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:41 -0400 Subject: [PATCH 1645/2326] New translations grafting.mdx (Japanese) --- website/pages/ja/cookbook/grafting.mdx | 48 +++++++++++++------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/website/pages/ja/cookbook/grafting.mdx b/website/pages/ja/cookbook/grafting.mdx index e4368308badf..c0febe43753c 100644 --- a/website/pages/ja/cookbook/grafting.mdx +++ b/website/pages/ja/cookbook/grafting.mdx @@ -44,7 +44,7 @@ title: グラフティングでコントラクトを取り替え、履歴を残 Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [サブグラフ例文レポ](https://github.com/t-proctor/grafting-tutorial) +- [サブグラフ例文レポ](https://github.com/Shiyasmohd/grafting-tutorial) > 注:サブグラフで使用されているコントラクトは、以下の[Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit)から取得したものです。 @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - `Lock`データソースは、コンパイルとデプロイ時に取得するアビとコントラクトのアドレスです。 -- ネットワークは、クエリされるインデックス付きネットワークに対応する必要があります。Goerli testnet で実行しているので、ネットワークは `goerli` となります。 +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - `mapping`セクションでは、関心のあるトリガーと、それらのトリガーに応答して実行されるべき関数を定義しています。この場合、`Withdrawal`イベントをリスニングし、それが発信されたときに`handleWithdrawal`関数を呼び出すことにしています。 ## グラフティングマニフェストの定義 @@ -89,11 +89,11 @@ dataSources: ```yaml --- -特徴: - - グラフト # 機能名 -移植: - base: Qm... # ベース部分グラフの部分グラフID - block: 1502122 # ブロック番号 +features: + - grafting # feature name +graft: + base: Qm... # subgraph ID of base subgraph + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ dataSources: ## ベースサブグラフの起動 -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. レポの `graft-example` フォルダ内のサブグラフのページにある `AUTH & DEPLOY` セクションの指示にしたがってください。 3. 終了後、サブグラフが正しくインデックスされていることを確認します。The Graph Playgroundで以下のコマンドを実行すると、サブグラフが正常にインデックスされます。 @@ -124,14 +124,14 @@ dataSources: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ dataSources: グラフト置換されたsubgraph.yamlは、新しいコントラクトのアドレスを持つことになります。これは、ダンプを更新したり、コントラクトを再デプロイしたりしたときに起こりうることです。 -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. レポの `graft-replacement` フォルダ内のサブグラフのページにある `AUTH & DEPLOY` セクションの指示にしたがってください。 4. 終了後、サブグラフが正しくインデックスされていることを確認します。The Graph Playgroundで以下のコマンドを実行すると、サブグラフが正常にインデックスされます。 @@ -166,26 +166,26 @@ dataSources: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -`graft-replacement`サブグラフは、古い`graph-example`データと新しいコントラクトアドレスからの新しいデータからインデックスを作成していることがわかります。元のコントラクトは、[Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498)と[Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493)という2つの`Withdrawal`イベントを発行しています。新しいコントラクトは、[イベント3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3)の後に、1つの`Withdrawal`を発行しました。2つの以前インデックスされたトランザクション(イベント1、2)と新しいトランザクション(イベント3)は`graft-replacement`サブグラフで一緒に結合されます。 +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From cf376e382a24646aae15537e0436024579e06be8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:42 -0400 Subject: [PATCH 1646/2326] New translations grafting.mdx (Korean) --- website/pages/ko/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/ko/cookbook/grafting.mdx b/website/pages/ko/cookbook/grafting.mdx index 38bb7114851a..6b4f419390d5 100644 --- a/website/pages/ko/cookbook/grafting.mdx +++ b/website/pages/ko/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) +- [Subgraph example repo](https://github.com/Shiyasmohd/grafting-tutorial) > Note: The contract used in the subgraph was taken from the following [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - The `Lock` data source is the abi and contract address we will get when we compile and deploy the contract -- The network should correspond to a indexed network being queried. Since we're running on Goerli testnet, the network is `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - The `mapping` section defines the triggers of interest and the functions that should be run in response to those triggers. In this case, we are listening for the `Withdrawal` event and calling the `handleWithdrawal` function when it is emitted. ## Grafting Manifest Definition @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ The `base` and `block` values can be found by deploying two subgraphs: one for t ## Deploying the Base Subgraph -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -124,14 +124,14 @@ It returns something like this: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -166,26 +166,26 @@ It should return the following: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 9372dd17e12758366f1add3663c7b8e0587d7036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:43 -0400 Subject: [PATCH 1647/2326] New translations grafting.mdx (Dutch) --- website/pages/nl/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/nl/cookbook/grafting.mdx b/website/pages/nl/cookbook/grafting.mdx index 38bb7114851a..6b4f419390d5 100644 --- a/website/pages/nl/cookbook/grafting.mdx +++ b/website/pages/nl/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) +- [Subgraph example repo](https://github.com/Shiyasmohd/grafting-tutorial) > Note: The contract used in the subgraph was taken from the following [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - The `Lock` data source is the abi and contract address we will get when we compile and deploy the contract -- The network should correspond to a indexed network being queried. Since we're running on Goerli testnet, the network is `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - The `mapping` section defines the triggers of interest and the functions that should be run in response to those triggers. In this case, we are listening for the `Withdrawal` event and calling the `handleWithdrawal` function when it is emitted. ## Grafting Manifest Definition @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ The `base` and `block` values can be found by deploying two subgraphs: one for t ## Deploying the Base Subgraph -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -124,14 +124,14 @@ It returns something like this: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -166,26 +166,26 @@ It should return the following: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 3716588e8cb47d5bd335bc5b64698ee59befd0bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:44 -0400 Subject: [PATCH 1648/2326] New translations grafting.mdx (Polish) --- website/pages/pl/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/pl/cookbook/grafting.mdx b/website/pages/pl/cookbook/grafting.mdx index 38bb7114851a..6b4f419390d5 100644 --- a/website/pages/pl/cookbook/grafting.mdx +++ b/website/pages/pl/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) +- [Subgraph example repo](https://github.com/Shiyasmohd/grafting-tutorial) > Note: The contract used in the subgraph was taken from the following [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - The `Lock` data source is the abi and contract address we will get when we compile and deploy the contract -- The network should correspond to a indexed network being queried. Since we're running on Goerli testnet, the network is `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - The `mapping` section defines the triggers of interest and the functions that should be run in response to those triggers. In this case, we are listening for the `Withdrawal` event and calling the `handleWithdrawal` function when it is emitted. ## Grafting Manifest Definition @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ The `base` and `block` values can be found by deploying two subgraphs: one for t ## Deploying the Base Subgraph -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -124,14 +124,14 @@ It returns something like this: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -166,26 +166,26 @@ It should return the following: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 453a52abff1675d61073ff198a82adf25d8c4f76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:45 -0400 Subject: [PATCH 1649/2326] New translations grafting.mdx (Portuguese) --- website/pages/pt/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/pt/cookbook/grafting.mdx b/website/pages/pt/cookbook/grafting.mdx index 4e6c7ce38c91..e2b2772b71f9 100644 --- a/website/pages/pt/cookbook/grafting.mdx +++ b/website/pages/pt/cookbook/grafting.mdx @@ -44,7 +44,7 @@ Ao aderir a estas diretrizes, dá para minimizar riscos e garantir um processo d Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Exemplo de repo de subgraph](https://github.com/t-proctor/grafting-tutorial) +- [Exemplo de repo de subgraph](https://github.com/Shiyasmohd/grafting-tutorial) > Nota: O contrato usado no subgraph foi retirado do seguinte [Kit de Iniciante de Hackathon](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - A fonte de dados `Lock` é o abi e o endereço do contrato que receberemos ao compilar e lançar o contrato -- A rede deve corresponder a uma rede indexada a ser consultada. Como executamos na testnet Goerli, a rede é `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - A seção `mapping` define os gatilhos de interesse e as funções que devem ser executadas em resposta àqueles gatilhos. Neste caso, esperamos o evento `Withdrawal` e chamaremos a função `handleWithdrawal` quando o evento for emitido. ## Definição de Manifest de Enxertos @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ Os valores `base` e `block` podem ser encontrados ao lançar dois subgraphs: um ## Como Lançar o Subgraph Base -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Siga as direções na seção `AUTH & DEPLOY` na página do seu subgraph, na pasta `graft-example` do repo 3. Ao terminar, verifique que o subgraph está a indexar corretamente. Se executar o seguinte comando no The Graph Playground @@ -124,14 +124,14 @@ Ele deve retornar algo assim: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Após verificar que o subgraph está a indexar corretamente, será possível atu O subgraph.yaml do substituto terá um novo endereço de contrato. Isto pode acontecer quando atualizar o seu dapp, relançar um contrato, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Siga as direções na seção `AUTH & DEPLOY` na página do seu subgraph, na pasta `graft-replacement` do repo 4. Ao terminar, verifique que o subgraph está a indexar corretamente. Se executar o seguinte comando no The Graph Playground @@ -166,26 +166,26 @@ Ele deve retornar algo como: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -Pode-se ver que o subgraph `graft-replacement` indexa de dados mais antigos do `graph-example` e dados mais recentes do endereço do novo contrato. O contrato original emitiu dois eventos `Withdrawal`, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) e [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). O novo contrato, em seguida, emitiu um código `Withdrawal`, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). As duas transações indexadas anteriormente, (Event 1 e 2) e a nova transação (Event 3) foram combinadas no subgraph `graft-replacement`. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From cb3cddca113da8e5777ebac25abaf78db4dd5422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:46 -0400 Subject: [PATCH 1650/2326] New translations grafting.mdx (Russian) --- website/pages/ru/cookbook/grafting.mdx | 44 +++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/website/pages/ru/cookbook/grafting.mdx b/website/pages/ru/cookbook/grafting.mdx index e74d9a5a084a..ee58e2b51387 100644 --- a/website/pages/ru/cookbook/grafting.mdx +++ b/website/pages/ru/cookbook/grafting.mdx @@ -44,7 +44,7 @@ Grafting является мощной функцией, которая позв Создание субграфов — важная часть The Graph, более подробно описанная [здесь](/quick-start/). Чтобы иметь возможность создать и развернуть существующий субграф, используемый в этом руководстве, предоставляется следующий репозиторий: -- [Репозиторий субграфа в качестве примера](https://github.com/t-proctor/grafting-tutorial) +- [Репозиторий субграфа в качестве примера](https://github.com/Shiyasmohd/grafting-tutorial) > Примечание: контракт, использованный в субграфе, был взят из [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - Источник данных `Lock` — это abi и адрес контракта, которые мы получим при компиляции и развертывании контракта -- Сеть должна соответствовать запрашиваемой индексированной сети. Поскольку мы работаем в тестовой сети Goerli, это сеть `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - Раздел `mapping` определяет интересующие нас триггеры и функции, которые должны запускаться в ответ на эти триггеры. В этом случае мы уделяем внимание событию `Withdrawal` и вызываем функцию `handleWithdrawal` при его возникновении. ## Определение Манифеста Grafting @@ -90,10 +90,10 @@ Grafting требует добавления двух новых элемент ```yaml --- features: - - grafting # имя функции + - grafting # feature name graft: - base: Qm... # ID субграфа базового субграфа - block: 1502122 # номер блока + base: Qm... # subgraph ID of base subgraph + block: 5956000 # block number ``` - `features` — это список всех используемых [названий функций](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ graft: ## Развертывание базового субграфа -1. Перейдите в [Subgraph Studio](https://thegraph.com/studio/) и создайте в тестовой сети Goerli субграф под названием `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Следуйте инструкциям в `AUTH & DEPLOY` на странице субграфа в `graft-example` из репо 3. После завершения убедитесь, что субграф правильно индексируется. Если Вы запустите следующую команду в The Graph Playground @@ -124,14 +124,14 @@ graft: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ graft: Замененный subgraph.yaml будет иметь новый адрес контракта. Это может произойти, когда Вы обновите свое децентрализованное приложение, повторно развернете контракт и т. д. -1. Перейдите в [Subgraph Studio](https://thegraph.com/studio/) и создайте в тестовой сети Goerli субграф под названием `graft-replacement` -2. Создайте новый манифест. `subgraph.yaml` для `graph-replacement` содержит другой адрес контракта и новую информацию о том, как его следует переносить. Это `block` [последнего события](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498), созданного старым контрактом, и `base` старого субграфа. Идентификатор субграфа `base` — это `Deployment ID` Вашего исходного субграфа `graph-example`. Вы можете найти эту информцию в Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Следуйте инструкциям в `AUTH & DEPLOY` на странице субграфа в `graft-replacement` из репозитория 4. После завершения убедитесь, что субграф правильно индексируется. Если Вы запустите следующую команду в The Graph Playground @@ -166,26 +166,26 @@ graft: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -Вы можете видеть, что субграф `graft-replacement` индексируется из старых данных `graph-example` и более новых данных из нового адреса контракта. Исходный контракт генерировал два события `Withdrawal`: [Событие 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) и [Событие 2](https:/ /goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). Новый контракт выдал один `Withdrawal` после [События 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). Две ранее проиндексированные транзакции (События 1 и 2) и новая транзакция (Событие 3) были объединены в субграфе `graft-replacement`. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Поздравляем! Вы успешно перенесли один субграф в другой. From d198467d944d36315a70de9be28e403d55836fdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:47 -0400 Subject: [PATCH 1651/2326] New translations grafting.mdx (Swedish) --- website/pages/sv/cookbook/grafting.mdx | 60 +++++++++++++------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/website/pages/sv/cookbook/grafting.mdx b/website/pages/sv/cookbook/grafting.mdx index e3db2c187bd5..aa498bdcaaa6 100644 --- a/website/pages/sv/cookbook/grafting.mdx +++ b/website/pages/sv/cookbook/grafting.mdx @@ -44,7 +44,7 @@ Genom att följa dessa riktlinjer minimerar du riskerna och säkerställer en sm Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Subgraf exempel repo](https://github.com/t-proctor/grafting-tutorial) +- [Subgraf exempel repo](https://github.com/Shiyasmohd/grafting-tutorial) > Obs: Kontraktet som används i subgrafen togs från följande [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - `Lock`-datakällan är abi- och kontraktsadressen vi får när vi kompilerar och distribuerar kontraktet -- Nätverket bör motsvara ett indexerat nätverk som efterfrågas. Eftersom vi kör på Goerli testnet är nätverket `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - Avsnittet `mappning` definierar utlösare av intresse och de funktioner som ska köras som svar på dessa utlösare. I det här fallet lyssnar vi efter händelsen `Withdrawal` och anropar funktionen `handleWithdrawal` när den sänds. ## Ympnings manifest Definition @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ Värdena `base` och `block` kan hittas genom att distribuera två subgrafer: en ## Distribuera Bas Subgraf -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Följ anvisningarna i `AUTH & Sektionen DEPLOY` på din subgraf sida i mappen `graft-example` från repo 3. När du är klar kontrollerar du att subgrafen indexerar korrekt. Om du kör följande kommando i The Graph Playground @@ -121,20 +121,20 @@ Den returnerar ungefär så här: ``` { - "data": { - "uttag": [ - { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", - "amount": "0", - "när": "1664367528" - }, - { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", - "amount": "0", - "när": "1664367648" - } - ] - } + "data": { + "withdrawals": [ + { + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", + "amount": "0", + "when": "1716394824" + }, + { + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", + "amount": "0", + "when": "1716394848" + } + ] + } } ``` @@ -144,8 +144,8 @@ När du har verifierat att subgrafen indexerar korrekt kan du snabbt uppdatera s Transplantatersättningen subgraph.yaml kommer att ha en ny kontraktsadress. Detta kan hända när du uppdaterar din dapp, omdisponerar ett kontrakt, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Följ anvisningarna i `AUTH & DEPLOY`-avsnittet på din subgraf sida i mappen `graft-replacement` från repo 4. När du är klar kontrollerar du att subgrafen indexerar korrekt. Om du kör följande kommando i The Graph Lekplats @@ -166,26 +166,26 @@ Det bör returnera följande: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -Du kan se att subgrafen `graft-replacement` indexerar från äldre `graph-example` data och nyare data från den nya kontraktsadressen. Det ursprungliga kontraktet utsände två `Uttag`-händelser, [händelse 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) och [ händelse 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). Det nya kontraktet gav ett `Withdrawal` efter, [ händelse 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). De två tidigare indexerade transaktionerna (händelse 1 och 2) och den nya transaktionen (händelse 3) kombinerades tillsammans i subgrafen `graft-replacement`. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 7501536b4fded33508448be5b1037e938397e425 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:48 -0400 Subject: [PATCH 1652/2326] New translations grafting.mdx (Turkish) --- website/pages/tr/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/tr/cookbook/grafting.mdx b/website/pages/tr/cookbook/grafting.mdx index bc7881566d4f..b3e1f5a218c0 100644 --- a/website/pages/tr/cookbook/grafting.mdx +++ b/website/pages/tr/cookbook/grafting.mdx @@ -44,7 +44,7 @@ Bu yönergelere uyarak riskleri en aza indirebilir ve daha sorunsuz bir taşıma Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Subgraph örnek deposu](https://github.com/t-proctor/grafting-tutorial) +- [Subgraph örnek deposu](https://github.com/Shiyasmohd/grafting-tutorial) > Not: Subgraph'ta kullanılan sözleşme aşağıdaki [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit)'den alınmıştır. @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - `Lock` veri kaynağı, sözleşmeyi derleyip dağıttığımızda alacağımız abi ve sözleşme adresidir -- Ağ, sorgulanan indekslenmiş bir ağa karşılık gelmelidir. Göerli testnet üzerinde çalıştığımız için, ağ `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - `mapping` bölümü, ilgili tetikleyicileri ve bu tetikleyicilere yanıt olarak çalıştırılması gereken fonksiyonları tanımlar. Bu durumda, `Withdrawal` olayının etkinliklerini gözlemliyoruz ve yayıldığında `handleWithdrawal` fonksiyonunu çağırıyoruz. ## Graftlama Manifest Tanımı @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ graft: ## Temel Subgraph'ı Dağıtma -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Depoda bulunan `graft-example` klasöründeki subgraph sayfanızda bulunan `AUTH & DEPLOY` bölümündeki talimatları izleyin 3. Tamamlandığında, subgraph'ın doğru bir şekilde indekslendiğinden emin olun. Eğer aşağıdaki komutu Graph Test Alanında(Playground) çalıştırırsanız @@ -124,14 +124,14 @@ graft: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Subgraph'ın düzgün bir şekilde indekslendiğini doğruladıktan sonra, subgr Graft yerine geçen subgraph.yaml yeni bir sözleşme adresine sahip olacaktır. Bu, merkeziyetsiz uygulamanızı güncellediğinizde, bir sözleşmeyi yeniden dağıttığınızda vb. gerçekleşebilir. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Github deposunda bulunan `graft-replacement` klasöründeki subgraph sayfanızda bulunan `AUTH & DEPLOY` bölümündeki talimatları izleyin 4. Tamamlandığında, subgraph'ın doğru bir şekilde indekslendiğinden emin olun. Eğer aşağıdaki komutu Graph Test Alanında(Playground) çalıştırırsanız @@ -166,26 +166,26 @@ Aşağıdakileri döndürmelidir: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -`graft-replacement` subgraph'ının eski `graph-example` verilerinden ve yeni sözleşme adresinden gelen daha yeni verilerden indeksleme yaptığını görebilirsiniz. Orijinal sözleşme, [Olay 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) ve [Olay 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493) olmak üzere iki `Withdrawal` olayı yayınlamıştır. Yeni sözleşme, [Olay 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3)'ten sonra bir `Withdrawal` olayı yayınlamıştır. Önceden indekslenmiş iki işlem (Olay 1 ve 2) ve yeni işlem (Olay 3) `graft-replacement` subgraph'ında bir araya getirilmiştir. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 6517a87d2999e09626424c184782fcb9dd6f6f7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:49 -0400 Subject: [PATCH 1653/2326] New translations grafting.mdx (Ukrainian) --- website/pages/uk/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/uk/cookbook/grafting.mdx b/website/pages/uk/cookbook/grafting.mdx index 2ab2a44e0d76..46b93c05d891 100644 --- a/website/pages/uk/cookbook/grafting.mdx +++ b/website/pages/uk/cookbook/grafting.mdx @@ -44,7 +44,7 @@ Grafting - це потужна функція, яка дозволяє " нак Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Репозиторій з прикладом та відповідним підграфом](https://github.com/t-proctor/grafting-tutorial) +- [Репозиторій з прикладом та відповідним підграфом](https://github.com/Shiyasmohd/grafting-tutorial) > Примітка: Контракт, що використаний у підграфі, був взятий з [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - Джерелом даних `Lock` є адреса abi та адреса контракту, яку ми отримаємо під час компіляції та розгортання контракту -- Дана мережа повинна відповідати індексованій мережі, яку ми запитуємо. Оскільки ми працюємо в тестовій мережі Goerli, то ми використовуємо `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - Розділ `mapping` визначає тригери, що нас цікавлять, і функції, які мають бути запущені у відповідь на ці тригери. У цьому випадку ми очікуємо на `Withdrawal` і після цього викликаємо функцію `handleWithdrawal` коли вона з'являється. ## Визначення Grafting Manifest @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ graft: ## Розгортання базового підграфа -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Дотримуйтесь інструкцій у розділах `AUTH & DEPLOY` на сторінці вашого підграфа в папці `graft-example` з репозиторію 3. Закінчивши, перевірте, чи правильно індексується підграф. Ви можете зробити це запустивши наступну команду у вікні The Graph Playground @@ -124,14 +124,14 @@ graft: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ graft: При цьому процесі підрозділ subgraph.yaml матиме нову адресу контракту. Це може статися, коли ви оновлюєте децентралізований додаток, перерозподіляєте контракт тощо. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Дотримуйтесь інструкцій у розділах `AUTH & DEPLOY` на вашій сторінці підграфа в папці `graft-replacement` з репозиторію 4. Закінчивши, перевірте, чи правильно індексується підграф. Ви можете зробити це запустивши наступну команду у вікні The Graph Playground @@ -166,26 +166,26 @@ graft: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -Ви можете помітити, що `graft-replacement` та підграф індексується за допомогою старих даних `graph-example` і нових даних з нової адреси контракту. Оригінальний контракт містив дві `Withdrawal` події [1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). Новий контракт, в свою чергу, містив одну `Withdrawal` подію [ 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). Дві раніше проіндексовані транзакції (Подія 1 і 2) і нова транзакція (Подія 3) були об'єднані в один підграф `graft-replacement`. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 35dc2e73cc876f1298a6040427a3230f623f35c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:50 -0400 Subject: [PATCH 1654/2326] New translations grafting.mdx (Chinese Simplified) --- website/pages/zh/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/zh/cookbook/grafting.mdx b/website/pages/zh/cookbook/grafting.mdx index aed4d23b2386..c570b3abbd93 100644 --- a/website/pages/zh/cookbook/grafting.mdx +++ b/website/pages/zh/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [子图示例存储库](https://github.com/t-proctor/grafting-tutorial) +- [子图示例存储库](https://github.com/Shiyasmohd/grafting-tutorial) > 注意: 子图中使用的合约取自以下[Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit)。 @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - `Lock`数据源是我们在编译和部署合约时获得的abi和合约地址 -- 网络应该对应于一个被查询的索引网络。因为我们运行在Goerli testnet上,所以这个网络就是`Goerli`。 +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - `mapping`部分定义了感兴趣的触发器以及应该响应这些触发器而运行的函数。在这种情况下,我们正在监听`Withdrawl`事件,并在发出该事件时调用`处理Withdrawal`函数。 ## 嫁接清单定义 @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ graft: ## 部署基子图 -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. 按照存储库中`graft-example`文件夹中子图页面的 `AUTH& DEPLOY `部分中的说明操作 3. 完成后,验证子图是否正确索引。如果在Graph Playground中运行下列指令。 @@ -124,14 +124,14 @@ graft: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ graft: 嫁接替代Subgraph.yaml将获得一个新的合约地址。这可能发生在更新dapp、重新部署合约等时。 -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. 按照存储库中的`graft-replacement`文件夹中子图页面上的 `AUTH& DEPLOY `部分的说明操作。 4. 完成后,验证子图是否正确索引。如果在Graph Playground中运行下列指令。 @@ -166,26 +166,26 @@ graft: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -您可以看到,`graft-replacement`子图索引来自旧的`graph-example`数据和来自新合约地址的新数据。原始合约发出了两个`Withdrawal`事件,即[事件1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498)和[事件2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493)。新合约在[事件3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3)之后发生一次`Withdrawal`。先前索引的两个交易(事件1和2)和新的交易(事件3)在`graft-replacement`子图中组合在一起。 +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 3be9ee64fdf4990f1eceefb0b79aecbe935eb755 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:51 -0400 Subject: [PATCH 1655/2326] New translations grafting.mdx (Urdu (Pakistan)) --- website/pages/ur/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/ur/cookbook/grafting.mdx b/website/pages/ur/cookbook/grafting.mdx index 3c960945a419..53278d2240ec 100644 --- a/website/pages/ur/cookbook/grafting.mdx +++ b/website/pages/ur/cookbook/grafting.mdx @@ -44,7 +44,7 @@ title: ایک کنٹریکٹ کو تبدیل کریں اور اس کی تاری Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [سب گراف مثلی ریپو](https://github.com/t-proctor/grafting-tutorial) +- [سب گراف مثلی ریپو](https://github.com/Shiyasmohd/grafting-tutorial) > نوٹ: سب گراف میں استعمال ہونے والا کنٹریکٹ درج ذیل [ہیکاتھون سٹارٹر کٹ](https://github.com/schmidsi/hackathon-starterkit) سے لیا گیا تھا. @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - `Lock` ڈیٹا کا ذریعہ abi اور کنٹریکٹ ایڈریس ہے جب ہم کنٹریکٹ کو مرتب اور تعینات کریں گے -- نیٹ ورک کو انڈیکسڈ نیٹ ورک کے مطابق ہونا چاہئے جس سے کیوری کیا جا رہا ہے۔ چونکہ ہم گوئرلی ٹیسٹ نیٹ پر چل رہے ہیں، نیٹ ورک `goerli` ہے +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - `mapping` سیکشن دلچسپی کے محرکات اور ان افعال کی وضاحت کرتا ہے جنہیں ان محرکات کے جواب میں چلایا جانا چاہیے۔ اس صورت میں، ہم `Withdrawal` ایونٹ کو سن رہے ہیں اور جب یہ خارج ہوتا ہے تو `handleWithdrawal` فنکشن کو کال کر رہے ہیں. ## گرافٹنگ مینی فیسٹ کی تعریف @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ graft: ## بیس سب گراف تعینات کرنا -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. `AUTH & DEPLOY` سیکشن میں `graft-example` فولڈر میں اپنے سب گراف صفحہ پر دی گئی ہدایات پر عمل کریں ریپو سے 3. ایک دفعہ ختم ہو جاۓ، تصدیق کریں کے سب گراف صحیح سے انڈیکس ہو رہا ہے. اگر آپ درج کمانڈ گراف پلے گراونڈ میں چلائیں @@ -124,14 +124,14 @@ graft: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ graft: گرافٹ متبادل subgraph.yaml کے پاس ایک نیا کنٹریکٹ ایڈریس ہوگا۔ یہ اس وقت ہو سکتا ہے جب آپ اپنے ڈیپ کو اپ ڈیٹ کرتے ہیں، کسی کنٹریکٹ کو دوبارہ استعمال کرتے ہیں، وغیر. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. `AUTH & DEPLOY` سیکشن میں `graft-example` فولڈر میں اپنے سب گراف صفحہ پر دی گئی ہدایات پر عمل کریں ریپو سے 4. ایک دفعہ ختم ہو جاۓ، تصدیق کریں کے سب گراف صحیح سے انڈیکس ہو رہا ہے. اگر آپ درج کمانڈ گراف پلے گراونڈ میں چلائیں @@ -166,26 +166,26 @@ graft: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -آپ دیکھ سکتے ہیں کہ `graft-replacement` سب گراف پرانے `graph-example` ڈیٹا اور نئے کنٹریکٹ کے پتے سے نئے ڈیٹا سے ترتیب دے رہا ہے۔ اصل کنٹریکٹ سے دو `Withdrawl` ایونٹس کا اخراج ہوا، [ایونٹ 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) اور [ایونٹ 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). نیا کنٹریکٹ ایک `Withdrawl` کے بعد، [ایونٹ 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). پہلے سے ترتیب دی گئی دو ٹرانزیکشنز (ایونٹ 1 اور 2) اور نئی ٹرانزیکشن (ایونٹ 3) کو ایک ساتھ `graft-replacement` سب گراف میں ملایا گیا تھا. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 34e6d6b35a736dab713a054383e021cdc8891c2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:52 -0400 Subject: [PATCH 1656/2326] New translations grafting.mdx (Vietnamese) --- website/pages/vi/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/vi/cookbook/grafting.mdx b/website/pages/vi/cookbook/grafting.mdx index 66eb6ce4216b..3b4f46fe9bd1 100644 --- a/website/pages/vi/cookbook/grafting.mdx +++ b/website/pages/vi/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) +- [Subgraph example repo](https://github.com/Shiyasmohd/grafting-tutorial) > Note: The contract used in the subgraph was taken from the following [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - The `Lock` data source is the abi and contract address we will get when we compile and deploy the contract -- The network should correspond to a indexed network being queried. Since we're running on Goerli testnet, the network is `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - The `mapping` section defines the triggers of interest and the functions that should be run in response to those triggers. In this case, we are listening for the `Withdrawal` event and calling the `handleWithdrawal` function when it is emitted. ## Grafting Manifest Definition @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ The `base` and `block` values can be found by deploying two subgraphs: one for t ## Deploying the Base Subgraph -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -124,14 +124,14 @@ It returns something like this: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -166,26 +166,26 @@ It should return the following: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From d59a3173a3c13af600d450a8997dac44cb735810 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:53 -0400 Subject: [PATCH 1657/2326] New translations grafting.mdx (Marathi) --- website/pages/mr/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/mr/cookbook/grafting.mdx b/website/pages/mr/cookbook/grafting.mdx index 975e0044ce7f..9c46a16ab79d 100644 --- a/website/pages/mr/cookbook/grafting.mdx +++ b/website/pages/mr/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [सबग्राफ उदाहरण रेपो](https://github.com/t-proctor/grafting-tutorial) +- [सबग्राफ उदाहरण रेपो](https://github.com/Shiyasmohd/grafting-tutorial) > टीप: सबग्राफमध्ये वापरलेला करार खालील [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit) वरून घेतला होता. @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - The `Lock` data source is the abi and contract address we will get when we compile and deploy the contract -- नेटवर्क क्वेरी केल्या जात असलेल्या अनुक्रमित नेटवर्कशी संबंधित असले पाहिजे. आम्ही Goerli testnet वर चालत असल्याने, नेटवर्क `goerli` आहे +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - `मॅपिंग` विभाग स्वारस्यांचे ट्रिगर आणि त्या ट्रिगरला प्रतिसाद म्हणून चालवल्या जाणार्‍या कार्ये परिभाषित करतो. या प्रकरणात, आम्ही `Withdrawal` इव्हेंट ऐकत आहोत आणि जेव्हा ते उत्सर्जित होते तेव्हा `handleWithdrawal` फंक्शनला कॉल करत आहोत. ## Grafting मॅनिफेस्ट व्याख्या @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ graft: ## बेस सबग्राफ तैनात करणे -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. एकदा पूर्ण झाल्यावर, सबग्राफ योग्यरित्या अनुक्रमित होत असल्याचे सत्यापित करा. जर तुम्ही ग्राफ प्लेग्राउंडमध्ये खालील आदेश चालवलात @@ -124,14 +124,14 @@ graft: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ graft: कलम बदली subgraph.yaml मध्ये नवीन करार पत्ता असेल. जेव्हा तुम्ही तुमचा dapp अपडेट करता, करार पुन्हा लागू करता तेव्हा असे होऊ शकते. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. एकदा पूर्ण झाल्यावर, सबग्राफ योग्यरित्या अनुक्रमित होत असल्याचे सत्यापित करा. जर तुम्ही ग्राफ प्लेग्राउंडमध्ये खालील आदेश चालवलात @@ -166,26 +166,26 @@ It should return the following: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -तुम्ही पाहू शकता की `ग्राफ्ट-रिप्लेसमेंट` सबग्राफ जुन्या `graph-example` डेटावरून आणि नवीन करार पत्त्यावरील नवीन डेटावरून अनुक्रमित होत आहे. मूळ कराराने दोन उत्सर्जित केले` पैसे काढणेl` घटना,[इव्हेंट 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498)आणि[इव्हेंट 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493).नवीन कराराने एक उत्सर्जित केला`पैसे काढणे` नंतर,[घटना 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3),दोन पूर्वी अनुक्रमित व्यवहार (इव्हेंट 1 आणि 2) आणि नवीन व्यवहार (इव्हेंट 3) एकत्रितपणे`कलम बदलणे`सबग्राफ. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 714f13f8aaa055a7f071b00a777502e4ae14f69d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:54 -0400 Subject: [PATCH 1658/2326] New translations grafting.mdx (Hindi) --- website/pages/hi/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/hi/cookbook/grafting.mdx b/website/pages/hi/cookbook/grafting.mdx index 7d2bac46464e..88c95a19b144 100644 --- a/website/pages/hi/cookbook/grafting.mdx +++ b/website/pages/hi/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [सब-ग्राफ उदाहरण रेपो](https://github.com/t-proctor/grafting-tutorial) +- [सब-ग्राफ उदाहरण रेपो](https://github.com/Shiyasmohd/grafting-tutorial) > नोट: सब-ग्राफ में इस्तेमाल किया गया कॉन्ट्रैक्ट निम्न [हैकथॉन आरम्भक](https://github.com/schmidsi/hackathon-starterkit) से लिया गया है| @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - `Lock` डाटा सोर्स वह ऐ बी आई और कॉन्ट्रैक्ट एड्रेस है जो कि हमे तब मिलेगा जब हम अपना कॉन्ट्रैक्ट संकलित और तैनात करते हैं| -- नेटवर्क क्वेरी किये जाने वाले इंडेक्स्ड नेटवर्क के अनुरूप होना चाहिए। चूँकि हम गोएर्ली टेस्ट नेट का इस्तेमाल क्र रहे हैं, नेटवर्क `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - `mapping` सेक्शन उन ट्रिगर ऑफ़ इंटरेस्ट और उनके जवाब में चलने वाले फंक्शन्स को परिभासित करता है| इस स्थिति में, हम `Withdrawal` फंक्शन को सुनते हैं और `handleWithdrawal` फंक्शन को कॉल करते हैं| ## ग्राफ्टिंग मैनिफेस्ट की परिभाषा @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ graft: ## बेस सब-ग्राफ को तैनात करना -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. अपने सब-ग्राफ पेज पर `AUTH & DEPLOY` भाग में `graft-example` फोल्डर में दिए गए दिशा निर्देशों का पालन करें| 3. एक बार पूरा होने पर, सत्यापित करें की इंडेक्सिंग सही ढंग से हो गयी है| यदि आप निम्न कमांड ग्राफ प्लेग्राउंड में चलाते हैं @@ -124,14 +124,14 @@ graft: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ graft: ग्राफ्ट प्रतिस्तापित subgraph.yaml में एक नया कॉन्ट्रैक्ट एड्रेस होगा| यह तब हो सकता है जब आप अपना डैप अपडेट करें, कॉन्ट्रैक्ट को दोबारा तैनात करें, इत्यादि| -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. अपने सब-ग्राफ पेज पर `AUTH & DEPLOY` भाग में `graft-replacement` फोल्डर में दिए गए दिशा निर्देशों का पालन करें| 4. एक बार पूरा होने पर, सत्यापित करें की इंडेक्सिंग सही ढंग से हो गयी है| यदि आप निम्न कमांड ग्राफ प्लेग्राउंड में चलाते हैं @@ -166,26 +166,26 @@ graft: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -आप देख सकते हैं कि `graft-replacement`सब-ग्राफ पुराने `graph-example` डाटा और नए कॉन्ट्रैक्ट के नए डाटा से इंडेक्सिंग कर रहा है| मूल सामग्री से दो `Withdrawal` गतिविधियां प्राप्त हुई थी| [गतिविधि 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) और [गतिविधि 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493)| नए कॉन्ट्रैक्ट द्वारा एक `Withdrawal` गतिविधि [गतिविधि 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3) के बाद प्राप्त हुई| पहले के दो इंडेक्स किये हुए ट्रांसक्शन (गतिविधि 1 और 2) और नया ट्रांसक्शन(गतिबिधि 3) को साथ में `graft-replacement` सब-ग्राफ में मिला दिया गया| +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From 06945c1928f0326e5d7a72a256ede26263124aaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 07:25:55 -0400 Subject: [PATCH 1659/2326] New translations grafting.mdx (Yoruba) --- website/pages/yo/cookbook/grafting.mdx | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/website/pages/yo/cookbook/grafting.mdx b/website/pages/yo/cookbook/grafting.mdx index 38bb7114851a..6b4f419390d5 100644 --- a/website/pages/yo/cookbook/grafting.mdx +++ b/website/pages/yo/cookbook/grafting.mdx @@ -44,7 +44,7 @@ By adhering to these guidelines, you minimize risks and ensure a smoother migrat Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: -- [Subgraph example repo](https://github.com/t-proctor/grafting-tutorial) +- [Subgraph example repo](https://github.com/Shiyasmohd/grafting-tutorial) > Note: The contract used in the subgraph was taken from the following [Hackathon Starterkit](https://github.com/schmidsi/hackathon-starterkit). @@ -59,11 +59,11 @@ schema: dataSources: - kind: ethereum name: Lock - network: goerli + network: sepolia source: - address: '0x4Ed995e775D3629b0566D2279f058729Ae6EA493' + address: '0xb3aabe721794b85fe4e72134795c2f93b4eb7e63' abi: Lock - startBlock: 7674603 + startBlock: 5955690 mapping: kind: ethereum/events apiVersion: 0.0.6 @@ -80,7 +80,7 @@ dataSources: ``` - The `Lock` data source is the abi and contract address we will get when we compile and deploy the contract -- The network should correspond to a indexed network being queried. Since we're running on Goerli testnet, the network is `goerli` +- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` - The `mapping` section defines the triggers of interest and the functions that should be run in response to those triggers. In this case, we are listening for the `Withdrawal` event and calling the `handleWithdrawal` function when it is emitted. ## Grafting Manifest Definition @@ -93,7 +93,7 @@ features: - grafting # feature name graft: base: Qm... # subgraph ID of base subgraph - block: 1502122 # block number + block: 5956000 # block number ``` - `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). @@ -103,7 +103,7 @@ The `base` and `block` values can be found by deploying two subgraphs: one for t ## Deploying the Base Subgraph -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-example` +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` 2. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-example` folder from the repo 3. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -124,14 +124,14 @@ It returns something like this: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" } ] } @@ -144,8 +144,8 @@ Once you have verified the subgraph is indexing properly, you can quickly update The graft replacement subgraph.yaml will have a new contract address. This could happen when you update your dapp, redeploy a contract, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Goerli testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` +2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. 3. Follow the directions in the `AUTH & DEPLOY` section on your subgraph page in the `graft-replacement` folder from the repo 4. Once finished, verify the subgraph is indexing properly. If you run the following command in The Graph Playground @@ -166,26 +166,26 @@ It should return the following: "data": { "withdrawals": [ { - "id": "0x13098b538a61837e9f29b32fb40527bbbe63c9120c250242b02b69bb42c287e5-5", + "id": "0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d0a000000", "amount": "0", - "when": "1664367528" + "when": "1716394824" }, { - "id": "0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498-3", + "id": "0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc45203000000", "amount": "0", - "when": "1664367648" + "when": "1716394848" }, { - "id": "0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3-22", + "id": "0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af06000000", "amount": "0", - "when": "1664371512" + "when": "1716429732" } ] } } ``` -You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://goerli.etherscan.io/tx/0x800c92fcc0edbd26f74e19ad058c62008a47c7789f2064023b987028343dd498) and [Event 2](https://goerli.etherscan.io/address/0x4ed995e775d3629b0566d2279f058729ae6ea493). The new contract emitted one `Withdrawal` after, [Event 3](https://goerli.etherscan.io/tx/0xb4010e4c76f86762beb997a13cf020231778eaf7c64fa3b7794971a5e6b343d3). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. +You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. Congrats! You have successfully grafted a subgraph onto another subgraph. From aa3eb445cf68b412d5b37a19f5bab568ca45f3ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:41 -0400 Subject: [PATCH 1660/2326] New translations sunrise.mdx (Romanian) --- website/pages/ro/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/ro/sunrise.mdx b/website/pages/ro/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/ro/sunrise.mdx +++ b/website/pages/ro/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 1df409eaa2c06266e71b59c934899541cff0df27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:42 -0400 Subject: [PATCH 1661/2326] New translations sunrise.mdx (French) --- website/pages/fr/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/fr/sunrise.mdx b/website/pages/fr/sunrise.mdx index 7d1cb0356261..6254cfff4760 100644 --- a/website/pages/fr/sunrise.mdx +++ b/website/pages/fr/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### Que se passe-t-il si je ne mets pas à jour mon subgraph ? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From e6eeb7128cd9371cb59e0a0acf6636cf984cf724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:43 -0400 Subject: [PATCH 1662/2326] New translations sunrise.mdx (Spanish) --- website/pages/es/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/es/sunrise.mdx b/website/pages/es/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/es/sunrise.mdx +++ b/website/pages/es/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 785798fe100c1b38c0a3ad2a39956a16aa603d77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:44 -0400 Subject: [PATCH 1663/2326] New translations sunrise.mdx (Arabic) --- website/pages/ar/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/ar/sunrise.mdx b/website/pages/ar/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/ar/sunrise.mdx +++ b/website/pages/ar/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 1e931850df093f81299d47687a87ebac5e0aa39c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:45 -0400 Subject: [PATCH 1664/2326] New translations sunrise.mdx (Czech) --- website/pages/cs/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/cs/sunrise.mdx b/website/pages/cs/sunrise.mdx index b5c538960e5b..a5d92a4ced35 100644 --- a/website/pages/cs/sunrise.mdx +++ b/website/pages/cs/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### Co se stane, když svůj podgraf neaktualizuji? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From c1503983c58970e524d002a1712b06c9d35dc050 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:46 -0400 Subject: [PATCH 1665/2326] New translations sunrise.mdx (German) --- website/pages/de/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/de/sunrise.mdx b/website/pages/de/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/de/sunrise.mdx +++ b/website/pages/de/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From d88b76509fd3a653ac64a6101ee609d1efb99dd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:47 -0400 Subject: [PATCH 1666/2326] New translations sunrise.mdx (Italian) --- website/pages/it/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/it/sunrise.mdx b/website/pages/it/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/it/sunrise.mdx +++ b/website/pages/it/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From d1aa96d923a3e00109278f148bf1f6471e11e3a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:48 -0400 Subject: [PATCH 1667/2326] New translations sunrise.mdx (Japanese) --- website/pages/ja/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/ja/sunrise.mdx b/website/pages/ja/sunrise.mdx index 3df6dc01ac43..5818a3552db8 100644 --- a/website/pages/ja/sunrise.mdx +++ b/website/pages/ja/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 1cb0bd19fb74c487371042f46dbbdaa87acc7a74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:49 -0400 Subject: [PATCH 1668/2326] New translations sunrise.mdx (Korean) --- website/pages/ko/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/ko/sunrise.mdx b/website/pages/ko/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/ko/sunrise.mdx +++ b/website/pages/ko/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 57fd6803a77adf7d31074a9eded753823f631ca7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:50 -0400 Subject: [PATCH 1669/2326] New translations sunrise.mdx (Dutch) --- website/pages/nl/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/nl/sunrise.mdx b/website/pages/nl/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/nl/sunrise.mdx +++ b/website/pages/nl/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 4aa22d0513fa01386ac172f720ac0c6b59b2a210 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:51 -0400 Subject: [PATCH 1670/2326] New translations sunrise.mdx (Polish) --- website/pages/pl/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/pl/sunrise.mdx b/website/pages/pl/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/pl/sunrise.mdx +++ b/website/pages/pl/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 8da6d4b86447727ed8b02c73b129bcded622a9fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:52 -0400 Subject: [PATCH 1671/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index 6fe11a39d9f1..c147d571074c 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 5a7bd1f1199625a3158020c5e82c56e3a517e7d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:53 -0400 Subject: [PATCH 1672/2326] New translations sunrise.mdx (Russian) --- website/pages/ru/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/ru/sunrise.mdx b/website/pages/ru/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/ru/sunrise.mdx +++ b/website/pages/ru/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 23ca9171c18f821f3ef0c26ba670717bb3841d3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:54 -0400 Subject: [PATCH 1673/2326] New translations sunrise.mdx (Swedish) --- website/pages/sv/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/sv/sunrise.mdx b/website/pages/sv/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/sv/sunrise.mdx +++ b/website/pages/sv/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 21cd4d2d8884a618ebd0600bdad97b29a05a9b5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:55 -0400 Subject: [PATCH 1674/2326] New translations sunrise.mdx (Turkish) --- website/pages/tr/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/tr/sunrise.mdx b/website/pages/tr/sunrise.mdx index c85829294740..7d1b03945717 100644 --- a/website/pages/tr/sunrise.mdx +++ b/website/pages/tr/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 1a8d0cc0421fdd2ba1c857433af8e97a4661d056 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:56 -0400 Subject: [PATCH 1675/2326] New translations sunrise.mdx (Ukrainian) --- website/pages/uk/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/uk/sunrise.mdx b/website/pages/uk/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/uk/sunrise.mdx +++ b/website/pages/uk/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 963254e7fd79abdcb27cf7de4b113363dc648ff3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:57 -0400 Subject: [PATCH 1676/2326] New translations sunrise.mdx (Chinese Simplified) --- website/pages/zh/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/zh/sunrise.mdx b/website/pages/zh/sunrise.mdx index 9b976f4b42b8..404d057f5bb5 100644 --- a/website/pages/zh/sunrise.mdx +++ b/website/pages/zh/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 65b7375335fafd46c5a2ed253c237622632a45d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:58 -0400 Subject: [PATCH 1677/2326] New translations sunrise.mdx (Urdu (Pakistan)) --- website/pages/ur/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/ur/sunrise.mdx b/website/pages/ur/sunrise.mdx index 133defdd9517..e2b678090431 100644 --- a/website/pages/ur/sunrise.mdx +++ b/website/pages/ur/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 4ae3f888847afe46a25376bc67559390ed94434c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:35:59 -0400 Subject: [PATCH 1678/2326] New translations sunrise.mdx (Vietnamese) --- website/pages/vi/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/vi/sunrise.mdx b/website/pages/vi/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/vi/sunrise.mdx +++ b/website/pages/vi/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 0a7f421a94ec79c5aa552bd9f6c8acd15d17b242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:36:00 -0400 Subject: [PATCH 1679/2326] New translations sunrise.mdx (Marathi) --- website/pages/mr/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/mr/sunrise.mdx b/website/pages/mr/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/mr/sunrise.mdx +++ b/website/pages/mr/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 874a52bbfedba8a5b037b77a633095bdaa75ea78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:36:01 -0400 Subject: [PATCH 1680/2326] New translations sunrise.mdx (Hindi) --- website/pages/hi/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/hi/sunrise.mdx b/website/pages/hi/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/hi/sunrise.mdx +++ b/website/pages/hi/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From ef5969fc6644fa50ee0152cc11d954be465df3eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 4 Jun 2024 18:36:02 -0400 Subject: [PATCH 1681/2326] New translations sunrise.mdx (Yoruba) --- website/pages/yo/sunrise.mdx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/website/pages/yo/sunrise.mdx b/website/pages/yo/sunrise.mdx index 2d11a2be8d8a..8c52962bc11c 100644 --- a/website/pages/yo/sunrise.mdx +++ b/website/pages/yo/sunrise.mdx @@ -82,6 +82,18 @@ When the owner has upgraded their subgraph, you will be able to easily go from t Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +### My subgraph has been auto-upgraded, what does that mean? + +Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. + +Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. + +### My subgraph has been auto-upgraded, but I need to deploy a new version + +You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. + +If you require an urgent fix, please contact support. + ### What happens if I don't upgrade my subgraph? Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). From 4489a38054541711873c412698ceaf9dc09b0972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:21 -0400 Subject: [PATCH 1682/2326] New translations supported-networks.mdx (Romanian) --- .../ro/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/ro/developing/supported-networks.mdx b/website/pages/ro/developing/supported-networks.mdx index b9374b8a177f..e21187a5cf1f 100644 --- a/website/pages/ro/developing/supported-networks.mdx +++ b/website/pages/ro/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 524b7bb82324ed0de2520a57f3f69677c5183e3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:22 -0400 Subject: [PATCH 1683/2326] New translations supported-networks.mdx (French) --- .../fr/developing/supported-networks.mdx | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/website/pages/fr/developing/supported-networks.mdx b/website/pages/fr/developing/supported-networks.mdx index 4d94a19ea762..4545be8f746b 100644 --- a/website/pages/fr/developing/supported-networks.mdx +++ b/website/pages/fr/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- Pour une liste complète des fonctionnalités prises en charge par le réseau décentralisé, voir [cette page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +## Running Graph Node locally -Pour une liste complète des fonctionnalités prises en charge par le réseau décentralisé, voir [cette page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). +If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Nœud de The Graph - -Si votre réseau préféré n'est pas pris en charge par le réseau décentralisé du Graph, vous pouvez lancer votre propre [Nœud Graph](https://github.com/graphprotocol/graph-node) pour indexer tout réseau compatible avec l'EVM. Assurez-vous que la [version](https://github.com/graphprotocol/graph-node/releases) que vous utilisez prend en charge le réseau et que vous disposez de la configuration nécessaire. - -Graph Node peut également indexer d'autres protocoles, via une intégration Firehose. Des intégrations Firehose ont été créées pour les réseaux basés sur NEAR, Arweave et Cosmos. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 3ae9756bf23ac84312ccc00bd7d695f20fc0d2b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:23 -0400 Subject: [PATCH 1684/2326] New translations supported-networks.mdx (Spanish) --- .../es/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/es/developing/supported-networks.mdx b/website/pages/es/developing/supported-networks.mdx index c13f56f4b32f..65c08352eb8e 100644 --- a/website/pages/es/developing/supported-networks.mdx +++ b/website/pages/es/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph Node también puede indexar otros protocolos, a través de una integración Firehose. Se han creado integraciones de Firehose para redes basadas en NEAR, Arweave y Cosmos. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 874a39af6fd64a065286534df98b2fd08c22e6b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:24 -0400 Subject: [PATCH 1685/2326] New translations supported-networks.mdx (Arabic) --- .../ar/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/ar/developing/supported-networks.mdx b/website/pages/ar/developing/supported-networks.mdx index 5eb230bafd7f..aa01d6557bcb 100644 --- a/website/pages/ar/developing/supported-networks.mdx +++ b/website/pages/ar/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From f9676324ac24897c6735ad6a1d2b28ea02c402ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:25 -0400 Subject: [PATCH 1686/2326] New translations supported-networks.mdx (Czech) --- .../cs/developing/supported-networks.mdx | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/website/pages/cs/developing/supported-networks.mdx b/website/pages/cs/developing/supported-networks.mdx index e22e0b26d789..288ff6234e47 100644 --- a/website/pages/cs/developing/supported-networks.mdx +++ b/website/pages/cs/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Předběžná podpora sítě prostřednictvím [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Substreams dílčí toky +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -Hostovaná služba se spoléhá na stabilitu a spolehlivost základních technologií, konkrétně na poskytované koncové body JSON RPC. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- Úplný seznam funkcí podporovaných v decentralizované síti najdete na [této stránce](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Podgrafy indexující řetězec Gnosis lze nyní nasadit pomocí síťového identifikátoru `gnosis`. `xdai` je stále podporován pro stávající podgrafy hostovaných služeb. +## Running Graph Node locally -Úplný seznam funkcí podporovaných v decentralizované síti najdete na [této stránce](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). +If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Uzel grafu - -Pokud vaše preferovaná síť není v decentralizované síti Graf podporována, můžete spustit vlastní [Uzel grafu](https://github.com/graphprotocol/graph-node) a indexovat jakoukoli síť kompatibilní s EVM. Ujistěte se, že [verze](https://github.com/graphprotocol/graph-node/releases), kterou používáte, podporuje danou síť a že máte potřebnou konfiguraci. - -Graph Node dokáže indexovat i jiné protokoly prostřednictvím integrace Firehose. Byly vytvořeny integrace Firehose pro sítě založené na sítích NEAR, Arweave a Cosmos. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From d1bf5fcf3d094a5fecaf6e7ee682a03cbc10c780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:26 -0400 Subject: [PATCH 1687/2326] New translations supported-networks.mdx (German) --- .../de/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/de/developing/supported-networks.mdx b/website/pages/de/developing/supported-networks.mdx index 1cc36c9d63cb..574c87cc37d0 100644 --- a/website/pages/de/developing/supported-networks.mdx +++ b/website/pages/de/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 83f0252ea6e06c0e5728140a010f009deb84cc3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:27 -0400 Subject: [PATCH 1688/2326] New translations supported-networks.mdx (Italian) --- .../it/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/it/developing/supported-networks.mdx b/website/pages/it/developing/supported-networks.mdx index 1cc36c9d63cb..574c87cc37d0 100644 --- a/website/pages/it/developing/supported-networks.mdx +++ b/website/pages/it/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From d4c0261bd561b89b2bf491d00bf67b5e23644038 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:28 -0400 Subject: [PATCH 1689/2326] New translations supported-networks.mdx (Japanese) --- .../ja/developing/supported-networks.mdx | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/website/pages/ja/developing/supported-networks.mdx b/website/pages/ja/developing/supported-networks.mdx index 6c9f19b1c0eb..65c46b048fb4 100644 --- a/website/pages/ja/developing/supported-networks.mdx +++ b/website/pages/ja/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -ホスティングサービスは、基盤となる技術、提供されたJSON RPCエンドポイントの安定性と信頼性に依存しています。 +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- 分散型ネットワークでサポートされている機能の完全なリストについては、[このページ](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md)を参照してください。 -Gnosis Chainをインデックスするサブグラフは、`gnosis`ネットワーク識別子でデプロイできるようになりました。`xdai` は既存のホスティングサービスのサブグラフでまだサポートされています。 +## Running Graph Node locally -分散型ネットワークでサポートされている機能の完全なリストについては、[このページ](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md)を参照してください。 +If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## グラフノード - -もしもあなたの好きなネットワークがThe Graphの分散型ネットワークでサポートされていない場合は、[Graph Node](https://github.com/graphprotocol/graph-node)を自分で実行して、任意のEVM互換ネットワークをインデックスすることができます。使用している[バージョン](https://github.com/graphprotocol/graph-node/releases)がそのネットワークをサポートしていることを確認し、必要な設定がされていることを確認してください。 - -Graph Nodeは、Firehose統合により、他のプロトコルのインデックスを作成することもできます。Firehoseインテグレーションは、NEAR、Arweave、Cosmosベースのネットワーク用に作成されています。 +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 766c054ab952dd4b61fe865d8499c07d37519d85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:34 -0400 Subject: [PATCH 1690/2326] New translations indexing.mdx (German) --- website/pages/de/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/network/indexing.mdx b/website/pages/de/network/indexing.mdx index 41b4c2e23efb..8fb7c41b1d7f 100644 --- a/website/pages/de/network/indexing.mdx +++ b/website/pages/de/network/indexing.mdx @@ -295,7 +295,7 @@ kubectl config use-context $(kubectl config get-contexts --output='name' Deploy all resources with `kubectl apply -k $dir`. -### Graph Node +### Der Graph-Knoten [Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. From 31d7f2fa5853c0c6b5fedf62fef0171891479673 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:39 -0400 Subject: [PATCH 1691/2326] New translations operating-graph-node.mdx (Czech) --- website/pages/cs/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/operating-graph-node.mdx b/website/pages/cs/operating-graph-node.mdx index 7cb46aa29807..ddf7912cd02f 100644 --- a/website/pages/cs/operating-graph-node.mdx +++ b/website/pages/cs/operating-graph-node.mdx @@ -6,7 +6,7 @@ Graf Uzel je komponenta, která indexuje podgrafy a zpřístupňuje výsledná d Tato část poskytuje kontextový přehled o uzlu Graf a o některých pokročilejších možnostech, které jsou indexátorům k dispozici. Podrobnou dokumentaci a pokyny najdete v úložišti [Graf Uzel](https://github.com/graphprotocol/graph-node). -## Uzel grafu +## Uzel Graf [Graf Uzel](https://github.com/graphprotocol/graph-node) je referenční implementace pro indexování podgrafů v síti Graf, připojení ke klientům blockchainu, indexování podgrafů a zpřístupnění indexovaných dat k dotazování. From 9ba5a587e262b82b061127a7812aee8709381dee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:41 -0400 Subject: [PATCH 1692/2326] New translations operating-graph-node.mdx (German) --- website/pages/de/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/operating-graph-node.mdx b/website/pages/de/operating-graph-node.mdx index 2d9a064d4810..14f37752bc4f 100644 --- a/website/pages/de/operating-graph-node.mdx +++ b/website/pages/de/operating-graph-node.mdx @@ -6,7 +6,7 @@ Graph Node ist die Komponente, die Subgrafen indiziert und die resultierenden Da Dies bietet eine kontextbezogene Übersicht über Graph Node und einige der erweiterten Optionen, die Indexierern zur Verfügung stehen. Ausführliche Dokumentation und Anleitungen finden Sie im [Graph Node-Repository](https://github.com/graphprotocol/graph-node). -## Graph Node +## Der Graph-Knoten [Graph Node](https://github.com/graphprotocol/graph-node) ist die Referenzimplementierung für die Indizierung von Subgrafen auf The Graph Network, die Verbindung zu Blockchain-Clients, die Indizierung von Subgrafen und die Bereitstellung indizierter Daten für Abfragen. From a4075d326a21884b62075f9aad7266c8d34850cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:41 -0400 Subject: [PATCH 1693/2326] New translations supported-networks.mdx (Korean) --- .../ko/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/ko/developing/supported-networks.mdx b/website/pages/ko/developing/supported-networks.mdx index 1cc36c9d63cb..574c87cc37d0 100644 --- a/website/pages/ko/developing/supported-networks.mdx +++ b/website/pages/ko/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 99ad007409d2da2e99c5731d994422e406deb214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:42 -0400 Subject: [PATCH 1694/2326] New translations supported-networks.mdx (Dutch) --- .../nl/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/nl/developing/supported-networks.mdx b/website/pages/nl/developing/supported-networks.mdx index d2c99c96dd10..4fbfd6516048 100644 --- a/website/pages/nl/developing/supported-networks.mdx +++ b/website/pages/nl/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From bd1d51dcd73c45b2390d0a7ecde3df650421abd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:44 -0400 Subject: [PATCH 1695/2326] New translations supported-networks.mdx (Polish) --- .../pl/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/pl/developing/supported-networks.mdx b/website/pages/pl/developing/supported-networks.mdx index 5f3027fec92c..dd290913a652 100644 --- a/website/pages/pl/developing/supported-networks.mdx +++ b/website/pages/pl/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 5381b59f305dc0614085de55bf04cf5e1dc49d6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:45 -0400 Subject: [PATCH 1696/2326] New translations supported-networks.mdx (Portuguese) --- .../pt/developing/supported-networks.mdx | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/website/pages/pt/developing/supported-networks.mdx b/website/pages/pt/developing/supported-networks.mdx index 473546570437..2f79f2fc68c6 100644 --- a/website/pages/pt/developing/supported-networks.mdx +++ b/website/pages/pt/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -O serviço hospedado depende da estabilidade das tecnologias subjacentes, principalmente os endpoints fornecidos em JSON RPC. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- Para uma lista completa de recursos apoiados na rede descentralizada, veja [esta página](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs que indexam a Gnosis Chain podem agora ser lançadas com o identificador de rede `gnosis`. O `xdai` ainda é apoiado para subgraphs já existentes no serviço hospedado. +## Running Graph Node locally -Para uma lista completa de recursos apoiados na rede descentralizada, veja [esta página](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). +If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node - -Se a sua rede preferida não for apoiada na rede descentralizada do The Graph, execute o seu próprio [Graph Node](https://github.com/graphprotocol/graph-node) para indexar qualquer rede compatível com EVM. Verifique se a [versão](https://github.com/graphprotocol/graph-node/releases) em uso apoia a rede, e que tens a configuração necessária. - -O Graph Node também pode indexar outros protocolos, através de uma integração no Firehose. As integrações no Firehose foram criadas para redes baseadas em NEAR, Arweave e Cosmos. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 440ff0fcf9048eb2f301c45fb50ca887860bd417 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:46 -0400 Subject: [PATCH 1697/2326] New translations supported-networks.mdx (Russian) --- .../ru/developing/supported-networks.mdx | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/website/pages/ru/developing/supported-networks.mdx b/website/pages/ru/developing/supported-networks.mdx index 056c026989bc..deab131ca4a8 100644 --- a/website/pages/ru/developing/supported-networks.mdx +++ b/website/pages/ru/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- Полный список функций, поддерживаемых в децентрализованной сети, можно найти на [этой странице](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +## Running Graph Node locally -Полный список функций, поддерживаемых в децентрализованной сети, можно найти на [этой странице](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). +If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node - -Если предпочитаемая Вами сеть не поддерживается в децентрализованной сети The Graph, Вы можете запустить свой собственный [Graph Node](https://github.com/graphprotocol/graph-node) для индексирования любой сети, совместимой с EVM. Убедитесь, что используемая Вами [версия](https://github.com/graphprotocol/graph-node/releases) поддерживает сеть, и у Вас есть необходимая конфигурация. - -Graph Node также может индексировать другие протоколы посредством интеграции с Firehose. Интеграция Firehose была создана для сетей на базе NEAR, Arweave и Cosmos. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From ba0c89cebf9454caef2629c506a1e081e405962d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:47 -0400 Subject: [PATCH 1698/2326] New translations supported-networks.mdx (Swedish) --- .../sv/developing/supported-networks.mdx | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/website/pages/sv/developing/supported-networks.mdx b/website/pages/sv/developing/supported-networks.mdx index 6c770598489a..04dacd74b8b6 100644 --- a/website/pages/sv/developing/supported-networks.mdx +++ b/website/pages/sv/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- För en fullständig lista över vilka funktioner som stöds på det decentraliserade nätverket, se [den här sidan](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +## Running Graph Node locally -För en fullständig lista över vilka funktioner som stöds på det decentraliserade nätverket, se [den här sidan](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). +If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graf Node - -Om ditt föredragna nätverk inte stöds på The Graph's decentraliserade nätverk kan du köra din egen [Graf Node](https://github.com/graphprotocol/graph-node) för att indexera vilket EVM-kompatibelt nätverk som helst. Se till att [versionen](https://github.com/graphprotocol/graph-node/releases) du använder stöder nätverket och att du har den nödvändiga konfigurationen. - -Graf Node kan också indexera andra protokoll via en Firehose-integration. Firehose-integrationer har skapats för NEAR, Arweave och Cosmos-baserade nätverk. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 20243638162f45fb2b8d4279bed1ba393ee5a369 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:48 -0400 Subject: [PATCH 1699/2326] New translations supported-networks.mdx (Turkish) --- .../tr/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/tr/developing/supported-networks.mdx b/website/pages/tr/developing/supported-networks.mdx index 9d0f97265846..551a1517a2a3 100644 --- a/website/pages/tr/developing/supported-networks.mdx +++ b/website/pages/tr/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- Merkeziyetsiz ağda hangi özelliklerin desteklendiğinin tam listesi için [bu sayfaya](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md) göz atın. -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -Merkeziyetsiz ağda hangi özelliklerin desteklendiğinin tam listesi için [bu sayfaya](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md) göz atın. - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From e8ea8d8da1e41df373f01b404c595c3685754dc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:49 -0400 Subject: [PATCH 1700/2326] New translations supported-networks.mdx (Ukrainian) --- .../uk/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/uk/developing/supported-networks.mdx b/website/pages/uk/developing/supported-networks.mdx index 14caee1b6372..277dc37b1b05 100644 --- a/website/pages/uk/developing/supported-networks.mdx +++ b/website/pages/uk/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 428e4d4f3d7985a7d620cd70777d345921e5b1c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:50 -0400 Subject: [PATCH 1701/2326] New translations supported-networks.mdx (Chinese Simplified) --- .../zh/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/zh/developing/supported-networks.mdx b/website/pages/zh/developing/supported-networks.mdx index 8717ce938657..983c2eb5d96b 100644 --- a/website/pages/zh/developing/supported-networks.mdx +++ b/website/pages/zh/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- 有关去中心化网络支持哪些功能的完整列表,请参阅[本页](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md)。 -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -有关去中心化网络支持哪些功能的完整列表,请参阅[本页](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md)。 - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph 节点 +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph节点 还可以通过 Firehose 集成对其他协议进行索引。Firehose集成已创建的 NEAR,Arweave 和基于Cosmos的链。 +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 1a4d991c21bc8f425bb381e768fbd782d4514387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:51 -0400 Subject: [PATCH 1702/2326] New translations supported-networks.mdx (Urdu (Pakistan)) --- .../ur/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/ur/developing/supported-networks.mdx b/website/pages/ur/developing/supported-networks.mdx index 7f389e2c44a5..85c066a41247 100644 --- a/website/pages/ur/developing/supported-networks.mdx +++ b/website/pages/ur/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## گراف نوڈ +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -گراف نوڈ دوسرے پروٹوکول کو بھی انڈیکس کر سکتا ہے، فائرہوز انٹیگریشن کے ذریعے. NEAR، Arweave اور Cosmos پر مبنی نیٹ ورکس کے لیے فائرہوز انٹیگریشن بنائے گئے ہیں. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 14b8c11e00401ce8966690b61baa51629a9d78c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:52 -0400 Subject: [PATCH 1703/2326] New translations supported-networks.mdx (Vietnamese) --- .../vi/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/vi/developing/supported-networks.mdx b/website/pages/vi/developing/supported-networks.mdx index 371703744c1e..7af2c2d1cb26 100644 --- a/website/pages/vi/developing/supported-networks.mdx +++ b/website/pages/vi/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 52c4085d8a4ae536501fac7768d9cf186a8ce72d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:53 -0400 Subject: [PATCH 1704/2326] New translations supported-networks.mdx (Marathi) --- .../mr/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/mr/developing/supported-networks.mdx b/website/pages/mr/developing/supported-networks.mdx index 9136016ad7cd..574c87cc37d0 100644 --- a/website/pages/mr/developing/supported-networks.mdx +++ b/website/pages/mr/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## आलेख नोड +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -ग्राफ नोड फायरहोस एकत्रीकरणाद्वारे इतर प्रोटोकॉल देखील अनुक्रमित करू शकतो. NEAR, Arweave आणि Cosmos-आधारित नेटवर्कसाठी फायरहॉस इंटिग्रेशन तयार केले गेले आहेत. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 5ae07ed173a0f7e4c57d35fc244088ea28ea777d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:54 -0400 Subject: [PATCH 1705/2326] New translations supported-networks.mdx (Hindi) --- .../hi/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/hi/developing/supported-networks.mdx b/website/pages/hi/developing/supported-networks.mdx index 9f3784828fc5..574c87cc37d0 100644 --- a/website/pages/hi/developing/supported-networks.mdx +++ b/website/pages/hi/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## ग्राफ नोड +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -फ़ायरहोज़ एकीकरण के माध्यम से ग्राफ़ नोड अन्य प्रोटोकॉल को भी अनुक्रमित कर सकता है। फायरहोज एकीकरण NEAR, Arweave और Cosmos-आधारित नेटवर्क के लिए बनाया गया है। +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 8d49668c083d939d75d334615a73cda6fbc443dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:17:55 -0400 Subject: [PATCH 1706/2326] New translations supported-networks.mdx (Yoruba) --- .../yo/developing/supported-networks.mdx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/website/pages/yo/developing/supported-networks.mdx b/website/pages/yo/developing/supported-networks.mdx index 1cc36c9d63cb..574c87cc37d0 100644 --- a/website/pages/yo/developing/supported-networks.mdx +++ b/website/pages/yo/developing/supported-networks.mdx @@ -9,19 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Preliminary network support via the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/) -⁠ Supports Substreams +\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -The hosted service relies on the stability and reliability of the underlying technologies, namely the provided JSON RPC endpoints. +- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. +- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - -For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). - -Substreams-powered subgraphs indexing `mainnet` Ethereum are supported in Subgraph Studio and on the decentralized network. - -## Graph Node +## Running Graph Node locally If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. -Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. +Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. From 2f711ca796040568714c88fbf143464fc3a71192 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:08 -0400 Subject: [PATCH 1707/2326] New translations indexing.mdx (Hindi) --- website/pages/hi/network/indexing.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/hi/network/indexing.mdx b/website/pages/hi/network/indexing.mdx index dd51e52a0a08..a2b8ad6f026e 100644 --- a/website/pages/hi/network/indexing.mdx +++ b/website/pages/hi/network/indexing.mdx @@ -147,7 +147,7 @@ Once an allocation has been closed the rebates are available to be claimed by th > **महत्वपूर्ण**: बंदरगाहों को सार्वजनिक रूप से उजागर करने के बारे में सावधान रहें - **प्रशासन बंदरगाहों** को बंद रखा जाना चाहिए। इसमें ग्राफ़ नोड JSON-RPC और अनुक्रमणिका प्रबंधन समापन बिंदु शामिल हैं जिनका विवरण नीचे दिया गया है। -#### ग्राफ नोड +#### Graph Node | Port | Purpose | Routes | CLI Argument | Environment Variable | | ---- | -------------------------------------------------------- | ---------------------------------------------------- | ----------------- | -------------------- | @@ -295,7 +295,7 @@ kubectl config use-context $(kubectl config get-contexts --output='name' `kubectl apply -k $dir` के साथ सभी संसाधन परिनियोजित करें। -### ग्राफ नोड +### Graph Node [Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. From 4516619caa79703ce551a08e442514e121d29f27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:11 -0400 Subject: [PATCH 1708/2326] New translations supported-networks.json (Romanian) --- website/pages/ro/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/ro/developing/supported-networks.json b/website/pages/ro/developing/supported-networks.json index 332c17881edf..7b7376b2fbd7 100644 --- a/website/pages/ro/developing/supported-networks.json +++ b/website/pages/ro/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "Serviciu găzduit", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From 74c9a946d5172f3fe55003ee861385f47601ce0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:12 -0400 Subject: [PATCH 1709/2326] New translations supported-networks.json (French) --- website/pages/fr/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/fr/developing/supported-networks.json b/website/pages/fr/developing/supported-networks.json index a413376ed79a..3cef93eaa809 100644 --- a/website/pages/fr/developing/supported-networks.json +++ b/website/pages/fr/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "ID de la chaîne", "hostedService": "Service hébergé", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Réseau décentralisé" + "decentralizedNetwork": "Réseau décentralisé", + "integrationType": "Integration Type" } From 1d87bf29455823294909ee297c45bf8817e6343c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:13 -0400 Subject: [PATCH 1710/2326] New translations supported-networks.json (Spanish) --- website/pages/es/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/es/developing/supported-networks.json b/website/pages/es/developing/supported-networks.json index d356ec601403..2fc7f4852383 100644 --- a/website/pages/es/developing/supported-networks.json +++ b/website/pages/es/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "Servicio Alojado", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From adc15f93427020aacfc0de643a0d60326c24e686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:14 -0400 Subject: [PATCH 1711/2326] New translations supported-networks.json (Arabic) --- website/pages/ar/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/ar/developing/supported-networks.json b/website/pages/ar/developing/supported-networks.json index 1be2d4d312fd..3ef903c77b7c 100644 --- a/website/pages/ar/developing/supported-networks.json +++ b/website/pages/ar/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "الخدمة المستضافة (Hosted Service)", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From 2a02f7e0f02e791a21261739a7a918b285021d0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:15 -0400 Subject: [PATCH 1712/2326] New translations supported-networks.json (Czech) --- website/pages/cs/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/cs/developing/supported-networks.json b/website/pages/cs/developing/supported-networks.json index 1e5dc169e9c8..2cda540608cf 100644 --- a/website/pages/cs/developing/supported-networks.json +++ b/website/pages/cs/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "ID řetězce", "hostedService": "Hostovaná služba", "subgraphStudio": "Podgraf Studio", - "decentralizedNetwork": "Decentralizovaná síť" + "decentralizedNetwork": "Decentralizovaná síť", + "integrationType": "Integration Type" } From c7a4b410a74d4eccf3f8344dcd0de08b8e81d90d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:16 -0400 Subject: [PATCH 1713/2326] New translations supported-networks.json (German) --- website/pages/de/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/de/developing/supported-networks.json b/website/pages/de/developing/supported-networks.json index 5d06eb1bf08d..9ae5a4b5aae8 100644 --- a/website/pages/de/developing/supported-networks.json +++ b/website/pages/de/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "Hosted Service", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From ca001d24a80c30a9e5f194d839e340aa1575f863 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:17 -0400 Subject: [PATCH 1714/2326] New translations supported-networks.json (Italian) --- website/pages/it/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/it/developing/supported-networks.json b/website/pages/it/developing/supported-networks.json index c2be29dcb133..6fe6b7a50217 100644 --- a/website/pages/it/developing/supported-networks.json +++ b/website/pages/it/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "Hosted Service", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From 640e744b621caa1179cec7e0272881e4e9441b95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:28 -0400 Subject: [PATCH 1715/2326] New translations operating-graph-node.mdx (Hindi) --- website/pages/hi/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/hi/operating-graph-node.mdx b/website/pages/hi/operating-graph-node.mdx index 7481b9beccf3..0eec54bd3837 100644 --- a/website/pages/hi/operating-graph-node.mdx +++ b/website/pages/hi/operating-graph-node.mdx @@ -6,7 +6,7 @@ title: ग्राफ नोड का परिचालन यह ग्राफ़ नोड का एक प्रासंगिक अवलोकन प्रदान करता है, और इंडेक्सर्स के लिए उपलब्ध कुछ और उन्नत विकल्प प्रदान करता है। विस्तृत दस्तावेज़ और निर्देश [ग्राफ़ नोड रिपॉजिटरी](https://github.com/graphprotocol/graph-node) में देखे जा सकते हैं। -## ग्राफ नोड +## Graph Node [ग्राफ़ नोड](https://github.com/graphprotocol/graph-node) ग्राफ़ नेटवर्क पर सबग्राफ़ को इंडेक्स करने, ब्लॉकचेन क्लाइंट से कनेक्ट करने, सबग्राफ़ को इंडेक्स करने और इंडेक्स किए गए डेटा को उपलब्ध कराने के लिए संदर्भ कार्यान्वयन है पूछताछ करने के लिए। From 6920012ee2d8512d57c44455842f95bd61179b24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:30 -0400 Subject: [PATCH 1716/2326] New translations supported-networks.json (Japanese) --- website/pages/ja/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/ja/developing/supported-networks.json b/website/pages/ja/developing/supported-networks.json index 28ee17b0dfc4..97aca55c7ea5 100644 --- a/website/pages/ja/developing/supported-networks.json +++ b/website/pages/ja/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "チェーンID", "hostedService": "ホステッド サービス", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "分散型ネットワーク" + "decentralizedNetwork": "分散型ネットワーク", + "integrationType": "Integration Type" } From 364364a84fbfeb9e5cd177b490228ef1dc693a64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:31 -0400 Subject: [PATCH 1717/2326] New translations supported-networks.json (Korean) --- website/pages/ko/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/ko/developing/supported-networks.json b/website/pages/ko/developing/supported-networks.json index 5d06eb1bf08d..9ae5a4b5aae8 100644 --- a/website/pages/ko/developing/supported-networks.json +++ b/website/pages/ko/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "Hosted Service", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From 5a160101909c4a482c2304584be9a6d61c330919 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:32 -0400 Subject: [PATCH 1718/2326] New translations supported-networks.json (Dutch) --- website/pages/nl/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/nl/developing/supported-networks.json b/website/pages/nl/developing/supported-networks.json index cc90f1282ac8..659095d1b81d 100644 --- a/website/pages/nl/developing/supported-networks.json +++ b/website/pages/nl/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "Gehoste Dienst", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From b3a641d4b408613af0f34a47d1efbb4ce829e384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:33 -0400 Subject: [PATCH 1719/2326] New translations supported-networks.json (Polish) --- website/pages/pl/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/pl/developing/supported-networks.json b/website/pages/pl/developing/supported-networks.json index 5d06eb1bf08d..9ae5a4b5aae8 100644 --- a/website/pages/pl/developing/supported-networks.json +++ b/website/pages/pl/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "Hosted Service", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From 8f111bae5e615687b9598c1f5cfb6f58bc09d423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:34 -0400 Subject: [PATCH 1720/2326] New translations supported-networks.json (Portuguese) --- website/pages/pt/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/pt/developing/supported-networks.json b/website/pages/pt/developing/supported-networks.json index 2d197eb0804d..18c655de0d13 100644 --- a/website/pages/pt/developing/supported-networks.json +++ b/website/pages/pt/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "ID da Chain", "hostedService": "Serviço Hospedado", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Rede Descentralizada" + "decentralizedNetwork": "Rede Descentralizada", + "integrationType": "Integration Type" } From 1362151f896fecf62f0ed6305a670c4c5eb14e4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:35 -0400 Subject: [PATCH 1721/2326] New translations supported-networks.json (Russian) --- website/pages/ru/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/ru/developing/supported-networks.json b/website/pages/ru/developing/supported-networks.json index 67d087a307b2..c51feaf71922 100644 --- a/website/pages/ru/developing/supported-networks.json +++ b/website/pages/ru/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "ID чейна", "hostedService": "Hosted Service", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Децентрализованная сеть" + "decentralizedNetwork": "Децентрализованная сеть", + "integrationType": "Integration Type" } From 42b97eb215e60e6f27266788db51472dfaf34cb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:36 -0400 Subject: [PATCH 1722/2326] New translations supported-networks.json (Swedish) --- website/pages/sv/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/sv/developing/supported-networks.json b/website/pages/sv/developing/supported-networks.json index 6351d1378bf1..37c7894ca8a0 100644 --- a/website/pages/sv/developing/supported-networks.json +++ b/website/pages/sv/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Kedje-ID", "hostedService": "Värdtjänster", "subgraphStudio": "Subgraf Studion", - "decentralizedNetwork": "Decentraliserat Nätverk" + "decentralizedNetwork": "Decentraliserat Nätverk", + "integrationType": "Integration Type" } From cf957f68974114cbcea3e9bdd475b94452e498d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:37 -0400 Subject: [PATCH 1723/2326] New translations supported-networks.json (Turkish) --- website/pages/tr/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/tr/developing/supported-networks.json b/website/pages/tr/developing/supported-networks.json index ebc176ebf46a..6e5afdc4c92f 100644 --- a/website/pages/tr/developing/supported-networks.json +++ b/website/pages/tr/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Zincir Kimliği", "hostedService": "Barındırılan Hizmet", "subgraphStudio": "Subgraph Stüdyosu", - "decentralizedNetwork": "Merkeziyetsiz Ağ" + "decentralizedNetwork": "Merkeziyetsiz Ağ", + "integrationType": "Integration Type" } From 1bb213706834534d53fffdbcea481901a5715698 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:38 -0400 Subject: [PATCH 1724/2326] New translations supported-networks.json (Ukrainian) --- website/pages/uk/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/uk/developing/supported-networks.json b/website/pages/uk/developing/supported-networks.json index 3bfaf9aa0e8c..db061a68623a 100644 --- a/website/pages/uk/developing/supported-networks.json +++ b/website/pages/uk/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "Хостинговий сервіс", "subgraphStudio": "Субграф Студія", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From 5b05f4726a31404f16bf56cb43ac327e9b35c10d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:39 -0400 Subject: [PATCH 1725/2326] New translations supported-networks.json (Chinese Simplified) --- website/pages/zh/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/zh/developing/supported-networks.json b/website/pages/zh/developing/supported-networks.json index 8436f397e56e..1c262b09c338 100644 --- a/website/pages/zh/developing/supported-networks.json +++ b/website/pages/zh/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "链id", "hostedService": "托管服务", "subgraphStudio": "子图工作室", - "decentralizedNetwork": "去中心化网络" + "decentralizedNetwork": "去中心化网络", + "integrationType": "Integration Type" } From e206ba8b06446c14f78149f4f13e08472a274040 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:40 -0400 Subject: [PATCH 1726/2326] New translations supported-networks.json (Urdu (Pakistan)) --- website/pages/ur/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/ur/developing/supported-networks.json b/website/pages/ur/developing/supported-networks.json index 075bad433e57..49b9ac4de457 100644 --- a/website/pages/ur/developing/supported-networks.json +++ b/website/pages/ur/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "ہوسٹڈ سروس", "subgraphStudio": "سب گراف سٹوڈیو", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From 27a356fc77b42c9f58e780109703a7bf94e11de4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:41 -0400 Subject: [PATCH 1727/2326] New translations supported-networks.json (Vietnamese) --- website/pages/vi/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/vi/developing/supported-networks.json b/website/pages/vi/developing/supported-networks.json index a6fdbdac3891..1f754354dd99 100644 --- a/website/pages/vi/developing/supported-networks.json +++ b/website/pages/vi/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "Dịch vụ được lưu trữ", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From b881923b49f48ad31d24567666506d7a75c79b70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:42 -0400 Subject: [PATCH 1728/2326] New translations supported-networks.json (Marathi) --- website/pages/mr/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/mr/developing/supported-networks.json b/website/pages/mr/developing/supported-networks.json index 5d06eb1bf08d..9ae5a4b5aae8 100644 --- a/website/pages/mr/developing/supported-networks.json +++ b/website/pages/mr/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "Hosted Service", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From b87bdb603969ff5f707b26989ffa3a69e48bed68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:43 -0400 Subject: [PATCH 1729/2326] New translations supported-networks.json (Hindi) --- website/pages/hi/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/hi/developing/supported-networks.json b/website/pages/hi/developing/supported-networks.json index ae1a69bfc019..ac3bb6f048e9 100644 --- a/website/pages/hi/developing/supported-networks.json +++ b/website/pages/hi/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "Hosted Service", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From 72a194af1ee66836ff8860eaa8248081bca74106 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 7 Jun 2024 11:18:44 -0400 Subject: [PATCH 1730/2326] New translations supported-networks.json (Yoruba) --- website/pages/yo/developing/supported-networks.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/pages/yo/developing/supported-networks.json b/website/pages/yo/developing/supported-networks.json index 5d06eb1bf08d..9ae5a4b5aae8 100644 --- a/website/pages/yo/developing/supported-networks.json +++ b/website/pages/yo/developing/supported-networks.json @@ -4,5 +4,6 @@ "chainId": "Chain ID", "hostedService": "Hosted Service", "subgraphStudio": "Subgraph Studio", - "decentralizedNetwork": "Decentralized Network" + "decentralizedNetwork": "Decentralized Network", + "integrationType": "Integration Type" } From 8d8b5f6f9995755297d5f1d4abb78a98fc69b9f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sat, 8 Jun 2024 16:58:31 -0400 Subject: [PATCH 1731/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Portuguese) --- .../pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx index 1505d0164f58..d30600b9f26f 100644 --- a/website/pages/pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -2,7 +2,7 @@ title: ID de Subgraph contra ID de Lançamento --- -Um subgraph é identificado por um ID de Subgraph, e cada versão do subgraph é identificada por um ID de Lançamento. +A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. From 8d2820eabc72a1edbca18c511c58dc2eadc5fb0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sat, 8 Jun 2024 21:27:31 -0400 Subject: [PATCH 1732/2326] New translations operating-graph-node.mdx (Portuguese) --- website/pages/pt/operating-graph-node.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/operating-graph-node.mdx b/website/pages/pt/operating-graph-node.mdx index 74377d649e23..648bfd33a5d6 100644 --- a/website/pages/pt/operating-graph-node.mdx +++ b/website/pages/pt/operating-graph-node.mdx @@ -1,12 +1,12 @@ --- -title: Como Operar um Node do The Graph +title: Como Operar um Graph Node --- O Node do The Graph (Graph Node) é o componente que indexa subgraphs e disponibiliza os dados resultantes a queries (consultas de dados) através de uma API GraphQL. Assim, ele é central ao stack dos indexers, e é crucial fazer operações corretas com um node Graph para executar um indexer com êxito. Isto providencia um resumo contextual do Graph Node, e algumas das opções mais avançadas disponíveis para indexers. Mais instruções, e documentação, podem no [repositório do Graph Node](https://github.com/graphprotocol/graph-node). -## Graph Node (Node do The Graph) +## Graph Node O [Graph Node](https://github.com/graphprotocol/graph-node) é a implementação de referência para indexar Subgraphs na The Graph Network (rede do The Graph); fazer conexões com clientes de blockchain; indexar subgraphs; e disponibilizar dados indexados para queries. From 31709f68d34b041677d6fa2216229cd27c2a21c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 9 Jun 2024 19:27:51 -0400 Subject: [PATCH 1733/2326] New translations tokenomics.mdx (Portuguese) --- website/pages/pt/tokenomics.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/tokenomics.mdx b/website/pages/pt/tokenomics.mdx index 45a70f6cd6ab..6164af08c97d 100644 --- a/website/pages/pt/tokenomics.mdx +++ b/website/pages/pt/tokenomics.mdx @@ -5,7 +5,7 @@ description: A Graph Network é incentivada por uma tokenomia (economia de token - GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) -- Endereço do Token GRT no Arbitrum One:[0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +- Endereço do Token GRT no Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) O The Graph é um protocolo descentralizado que permite o acesso fácil a dados de blockchain. From 5adf45e5c01d62135f9b9c62400a925094fc4efb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:50:49 -0400 Subject: [PATCH 1734/2326] New translations sunrise.mdx (Romanian) --- website/pages/ro/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ro/sunrise.mdx b/website/pages/ro/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/ro/sunrise.mdx +++ b/website/pages/ro/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 7756645445e364894c542c2fd0f152d9b1bda5bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:50:50 -0400 Subject: [PATCH 1735/2326] New translations sunrise.mdx (French) --- website/pages/fr/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/fr/sunrise.mdx b/website/pages/fr/sunrise.mdx index 6254cfff4760..b7d8ddfe8857 100644 --- a/website/pages/fr/sunrise.mdx +++ b/website/pages/fr/sunrise.mdx @@ -13,14 +13,14 @@ Ce plan s'appuie sur de nombreux développements antérieurs de l'écosystème T ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Mise à jour des subgraphs dans le réseau The Graph ### Quand les subgraphs du service hébergé ne seront-ils plus disponibles ? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Mon subgraph de service hébergé sera-t-il pris en charge sur le réseau The Graph ? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### Que se passe-t-il si je ne mets pas à jour mon subgraph ? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 0788032ba20315b0234850c93a7acd1685b75a1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:50:51 -0400 Subject: [PATCH 1736/2326] New translations sunrise.mdx (Spanish) --- website/pages/es/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/es/sunrise.mdx b/website/pages/es/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/es/sunrise.mdx +++ b/website/pages/es/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From fafd10e919e132abde497a3b79ed8890c249f25d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:50:52 -0400 Subject: [PATCH 1737/2326] New translations sunrise.mdx (Arabic) --- website/pages/ar/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ar/sunrise.mdx b/website/pages/ar/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/ar/sunrise.mdx +++ b/website/pages/ar/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 151d37c82a4659740af6d6e5e692885e257b0e47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:50:53 -0400 Subject: [PATCH 1738/2326] New translations sunrise.mdx (Czech) --- website/pages/cs/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/cs/sunrise.mdx b/website/pages/cs/sunrise.mdx index a5d92a4ced35..da12311388c1 100644 --- a/website/pages/cs/sunrise.mdx +++ b/website/pages/cs/sunrise.mdx @@ -13,14 +13,14 @@ Tento plán vychází z mnoha předchozích změn v ekosystému Graf, včetně v ### Jaké jsou fáze východu Slunce? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Aktualizace podgrafů do sítě grafů ### Kdy přestanou být podgrafy hostovaných služeb k dispozici? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Bude můj podgraf hostované služby podporován v síti Graf? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### Co se stane, když svůj podgraf neaktualizuji? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 01b25e95c3e4a7be2f36dd0bedb94bbb6f5160a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:50:54 -0400 Subject: [PATCH 1739/2326] New translations sunrise.mdx (German) --- website/pages/de/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/de/sunrise.mdx b/website/pages/de/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/de/sunrise.mdx +++ b/website/pages/de/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 04368ae2f1b3aca6905e13e9e55076ca59e0a8bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:50:55 -0400 Subject: [PATCH 1740/2326] New translations sunrise.mdx (Italian) --- website/pages/it/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/it/sunrise.mdx b/website/pages/it/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/it/sunrise.mdx +++ b/website/pages/it/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 785c7e7e56d623248b61f84866a4dc2d3c699a45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:50:56 -0400 Subject: [PATCH 1741/2326] New translations sunrise.mdx (Japanese) --- website/pages/ja/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ja/sunrise.mdx b/website/pages/ja/sunrise.mdx index 5818a3552db8..cc4d311abdcd 100644 --- a/website/pages/ja/sunrise.mdx +++ b/website/pages/ja/sunrise.mdx @@ -13,14 +13,14 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## The Graph Networkへのサブグラフのアップグレード ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 60f3afad3a9e3cb1dbbd23fc29e2fb2a71c5a776 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:50:57 -0400 Subject: [PATCH 1742/2326] New translations sunrise.mdx (Korean) --- website/pages/ko/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ko/sunrise.mdx b/website/pages/ko/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/ko/sunrise.mdx +++ b/website/pages/ko/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From b6a70ae404e07969ed7de921b89bf4e5f7b7b9f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:50:58 -0400 Subject: [PATCH 1743/2326] New translations sunrise.mdx (Dutch) --- website/pages/nl/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/nl/sunrise.mdx b/website/pages/nl/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/nl/sunrise.mdx +++ b/website/pages/nl/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 963c3dfde177476887fbc83c7d7f0904e570d6b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:50:59 -0400 Subject: [PATCH 1744/2326] New translations sunrise.mdx (Polish) --- website/pages/pl/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/pl/sunrise.mdx b/website/pages/pl/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/pl/sunrise.mdx +++ b/website/pages/pl/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From cbc1d837aa8b93da9120b776d1db56a55b8962e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:51:00 -0400 Subject: [PATCH 1745/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index c147d571074c..1d4de44232e6 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -13,14 +13,14 @@ Este plano usa vários desenvolvimentos prévios do ecossistema do The Graph, in ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Atualização de subgraphs à Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From c803521df53d5e04bf9db7f0de15af457688e8d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:51:03 -0400 Subject: [PATCH 1746/2326] New translations sunrise.mdx (Russian) --- website/pages/ru/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ru/sunrise.mdx b/website/pages/ru/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/ru/sunrise.mdx +++ b/website/pages/ru/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 9009ba53cbc7e4770e607759285907950f56fcf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:51:04 -0400 Subject: [PATCH 1747/2326] New translations sunrise.mdx (Swedish) --- website/pages/sv/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/sv/sunrise.mdx b/website/pages/sv/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/sv/sunrise.mdx +++ b/website/pages/sv/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 4511a6889562d4e9cfa44780f8f26e705f7bc32e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:51:05 -0400 Subject: [PATCH 1748/2326] New translations sunrise.mdx (Turkish) --- website/pages/tr/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/tr/sunrise.mdx b/website/pages/tr/sunrise.mdx index 7d1b03945717..b7035ef08389 100644 --- a/website/pages/tr/sunrise.mdx +++ b/website/pages/tr/sunrise.mdx @@ -13,14 +13,14 @@ Bu plan, yeni yayınlanan subgraphlar üzerinde sorgular sunmak için bir yükse ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From f2e8b86e67cdd833102d30f85b0cd986e9c1cbf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:51:06 -0400 Subject: [PATCH 1749/2326] New translations sunrise.mdx (Ukrainian) --- website/pages/uk/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/uk/sunrise.mdx b/website/pages/uk/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/uk/sunrise.mdx +++ b/website/pages/uk/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From bc599e87e4dc5e5cf08cd598473992e89f70a4fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:51:08 -0400 Subject: [PATCH 1750/2326] New translations sunrise.mdx (Chinese Simplified) --- website/pages/zh/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/zh/sunrise.mdx b/website/pages/zh/sunrise.mdx index 404d057f5bb5..5d7c08de157d 100644 --- a/website/pages/zh/sunrise.mdx +++ b/website/pages/zh/sunrise.mdx @@ -13,14 +13,14 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 287aa247056ed8b762802d6a5373f6ae2108715b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:51:09 -0400 Subject: [PATCH 1751/2326] New translations sunrise.mdx (Urdu (Pakistan)) --- website/pages/ur/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/ur/sunrise.mdx b/website/pages/ur/sunrise.mdx index e2b678090431..e501c0e84211 100644 --- a/website/pages/ur/sunrise.mdx +++ b/website/pages/ur/sunrise.mdx @@ -13,14 +13,14 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## گراف نیٹ ورک میں سب گراف کو اپ گریڈ کرنا ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 82008d6887bcb4e014670be2f6aed2ae321d11f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:51:10 -0400 Subject: [PATCH 1752/2326] New translations sunrise.mdx (Vietnamese) --- website/pages/vi/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/vi/sunrise.mdx b/website/pages/vi/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/vi/sunrise.mdx +++ b/website/pages/vi/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From af092d65ebbad66305b5cda23681e03d24149223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:51:11 -0400 Subject: [PATCH 1753/2326] New translations sunrise.mdx (Marathi) --- website/pages/mr/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/mr/sunrise.mdx b/website/pages/mr/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/mr/sunrise.mdx +++ b/website/pages/mr/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 1a5ce79b463b075a78e4ec05298f609c424992d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:51:12 -0400 Subject: [PATCH 1754/2326] New translations sunrise.mdx (Hindi) --- website/pages/hi/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/hi/sunrise.mdx b/website/pages/hi/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/hi/sunrise.mdx +++ b/website/pages/hi/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 3f42ff04f0c0e4474a86009ec23aae932f1bfddb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 11 Jun 2024 17:51:13 -0400 Subject: [PATCH 1755/2326] New translations sunrise.mdx (Yoruba) --- website/pages/yo/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/yo/sunrise.mdx b/website/pages/yo/sunrise.mdx index 8c52962bc11c..9e81157ba1d1 100644 --- a/website/pages/yo/sunrise.mdx +++ b/website/pages/yo/sunrise.mdx @@ -13,14 +13,14 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### What are the phases of the Sunrise? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after June 12th 2024. +**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ +**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. ## Upgrading subgraphs to The Graph Network ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until June 12th, whether they have been upgraded or not. After June 12th, query endpoints will no longer be available and developers will no longer be able to deploy new subgraph versions. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. ### Will my hosted service subgraph be supported on The Graph Network? @@ -80,7 +80,7 @@ This new version will then sync in Subgraph Studio, a testing and sandbox enviro When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. ### My subgraph has been auto-upgraded, what does that mean? @@ -96,11 +96,11 @@ If you require an urgent fix, please contact support. ### What happens if I don't upgrade my subgraph? -Subgraphs will be queryable on the hosted service until June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). ### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? -It is not possible to delete subgraphs. Query endpoints will remain active until June 12th, regardless of whether they have been upgraded or not. +It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. ### Will Subgraph Studio be impacted by this upgrade? @@ -108,7 +108,7 @@ No, Subgraph Studio will not be impacted by Sunrise. ### What will happen to the hosted service? -After June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. ### Will subgraphs need to be re-indexed again? @@ -184,7 +184,7 @@ Other Indexers are incentivized to support subgraphs with ongoing query volume. No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before June 12th, 2024. +You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. From 60bc6a8827f8ff7a00d574618fbe30d90f5318e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:14:42 -0400 Subject: [PATCH 1756/2326] New translations creating-a-subgraph.mdx (Portuguese) --- website/pages/pt/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/developing/creating-a-subgraph.mdx b/website/pages/pt/developing/creating-a-subgraph.mdx index 52a2739a3342..eed8c6121e72 100644 --- a/website/pages/pt/developing/creating-a-subgraph.mdx +++ b/website/pages/pt/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ Nós apoiamos os seguintes escalares na nossa API do GraphQL: | `Bytes` | Arranjo de bytes, representado como string hexadecimal. Usado frequentemente por hashes e endereços no Ethereum. | | `String` | Escalar para valores `string`. Caracteres nulos são removidos automaticamente. | | `Boolean` | Escalar para valores `boolean`. | -| `Int` | A especificação do GraphQL define que o `Int` tem um tamanho de 32 bytes. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | Um número inteiro assinado em 8 bits, também conhecido como um número inteiro assinado em 64 bits, pode armazenar valores de -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. Prefira usar isto para representar o `i64` do ethereum. | | `BigInt` | Números inteiros grandes. Usados para os tipos `uint32`, `int64`, `uint64`, ..., `uint256` do Ethereum. Nota: Tudo abaixo de `uint32`, como `int32`, `uint24` ou `int8` é representado como `i32`. | | `BigDecimal` | `BigDecimal` Decimais de alta precisão representados como um significando e um exponente. O alcance de exponentes é de -6143 até +6144. Arredondado para 34 dígitos significantes. | From 1a68852b645af0b9c530bd4388d53f0cc3cd3b9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:14:44 -0400 Subject: [PATCH 1757/2326] New translations creating-a-subgraph.mdx (Romanian) --- website/pages/ro/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ro/developing/creating-a-subgraph.mdx b/website/pages/ro/developing/creating-a-subgraph.mdx index 1e6f2d94265c..f330ef1bd2ad 100644 --- a/website/pages/ro/developing/creating-a-subgraph.mdx +++ b/website/pages/ro/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ We support the following scalars in our GraphQL API: | `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | | `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | | `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | From 141f1d94b8eb81a28838344ccaa06e3d4a67f23f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:14:45 -0400 Subject: [PATCH 1758/2326] New translations creating-a-subgraph.mdx (French) --- website/pages/fr/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/fr/developing/creating-a-subgraph.mdx b/website/pages/fr/developing/creating-a-subgraph.mdx index e4dd73268292..c2dc664cb24e 100644 --- a/website/pages/fr/developing/creating-a-subgraph.mdx +++ b/website/pages/fr/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ Nous prenons en charge les scalaires suivants dans notre API GraphQL : | `Octets` | Tableau d'octets, représenté sous forme de chaîne hexadécimale. Couramment utilisé pour les hachages et adresses Ethereum. | | `String` | Scalaire pour les valeurs `chaîne`. Les caractères nuls ne sont pas pris en charge et sont automatiquement supprimés. | | `Boolean` | Scalar pour `boolean` values. | -| `Int` | La spécification GraphQL définit `Int` pour avoir une taille de 32 octets. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Grands entiers. Utilisé pour les types `uint32`, `int64`, `uint64`, ..., `uint256` d'Ethereum. Remarque : Tout ce qui se trouve en dessous de `uint32`, tel que `int32`, `uint24` ou `int8`, est représenté par `i32 Date: Thu, 13 Jun 2024 12:14:47 -0400 Subject: [PATCH 1759/2326] New translations creating-a-subgraph.mdx (Spanish) --- website/pages/es/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/es/developing/creating-a-subgraph.mdx b/website/pages/es/developing/creating-a-subgraph.mdx index 9d6ea53e71bf..5c861d9ed966 100644 --- a/website/pages/es/developing/creating-a-subgraph.mdx +++ b/website/pages/es/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ Admitimos los siguientes escalares en nuestra API GraphQL: | `Bytes` | Byte array, representado como un string hexadecimal. Comúnmente utilizado para los hashes y direcciones de Ethereum. | | `String` | Escalar para valores `string`. Los caracteres nulos no son compatibles y se eliminan automáticamente. | | `Boolean` | Escalar para valores `boolean`. | -| `Int` | La especificación GraphQL define `Int` con un tamaño de 32 bytes. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Números enteros grandes. Se utiliza para los tipos `uint32`, `int64`, `uint64`, ..., `uint256` de Ethereum. Nota: Todo por debajo de `uint32`, como `int32`, `uint24` o `int8` se representa como `i32`. | | `BigDecimal` | `BigDecimal` Decimales de alta precisión representados como un signo y un exponente. El rango de exponentes va de -6143 a +6144. Redondeado a 34 dígitos significativos. | From 5361c633729a653f466a46c8f1cbd9a136d3b7ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:14:48 -0400 Subject: [PATCH 1760/2326] New translations creating-a-subgraph.mdx (Arabic) --- website/pages/ar/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ar/developing/creating-a-subgraph.mdx b/website/pages/ar/developing/creating-a-subgraph.mdx index e5407e9c7a3d..3bb76029aed0 100644 --- a/website/pages/ar/developing/creating-a-subgraph.mdx +++ b/website/pages/ar/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ We support the following scalars in our GraphQL API: | `Bytes` | مصفوفة Byte ، ممثلة كسلسلة سداسية عشرية. يشيع استخدامها في Ethereum hashes وعناوينه. | | `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | | `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | From 0bc0ed4ea5c18e6851c33ae3ccfb50c240d72faf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:14:50 -0400 Subject: [PATCH 1761/2326] New translations creating-a-subgraph.mdx (Czech) --- website/pages/cs/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/developing/creating-a-subgraph.mdx b/website/pages/cs/developing/creating-a-subgraph.mdx index 31c0cb4cc668..d9aebe161994 100644 --- a/website/pages/cs/developing/creating-a-subgraph.mdx +++ b/website/pages/cs/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ V našem GraphQL API podporujeme následující skaláry: | `Bajtů` | Pole bajtů reprezentované jako hexadecimální řetězec. Běžně se používá pro hashe a adresy Ethereum. | | `Řetězec` | Skalár pro hodnoty `řetězce`. Nulové znaky nejsou podporovány a jsou automaticky odstraněny. | | `Boolean` | Skalár pro hodnoty `boolean`. | -| `Int` | Specifikace GraphQL definuje `Int` na velikost 32 bajtů. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | Celé číslo se znaménkem o velikosti 8 bajtů, známé také jako 64bitové celé číslo se znaménkem, může uchovávat hodnoty v rozsahu od -9 223 372 036 854 775 808 do 9 223 372 036 854 775 807. Přednostně se používá k reprezentaci `i64` z ethereum. | | `BigInt` | Velká celá čísla. Používá se pro typy `uint32`, `int64`, `uint64`, ..., `uint256` společnosti Ethereum. Poznámka: Vše pod `uint32`, jako například `int32`, `uint24` nebo `int8`, je reprezentováno jako `i32`. | | `BigDecimal` | `BigDecimal` Desetinná čísla s vysokou přesností reprezentovaná jako signifikand a exponent. Rozsah exponentu je od -6143 do +6144. Zaokrouhleno na 34 významných číslic. | From b957b8c00d8b617f26860ceb8344b5fabb36a9d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:14:51 -0400 Subject: [PATCH 1762/2326] New translations creating-a-subgraph.mdx (German) --- website/pages/de/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/developing/creating-a-subgraph.mdx b/website/pages/de/developing/creating-a-subgraph.mdx index b225ceeee466..600a47949503 100644 --- a/website/pages/de/developing/creating-a-subgraph.mdx +++ b/website/pages/de/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ We support the following scalars in our GraphQL API: | `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | | `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | | `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | From 4a3debe6665c36117754f9684e5e4e7e2384f1e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:14:53 -0400 Subject: [PATCH 1763/2326] New translations creating-a-subgraph.mdx (Italian) --- website/pages/it/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/it/developing/creating-a-subgraph.mdx b/website/pages/it/developing/creating-a-subgraph.mdx index 226918fff460..ef99a19599e9 100644 --- a/website/pages/it/developing/creating-a-subgraph.mdx +++ b/website/pages/it/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ Nella nostra API GraphQL supportiamo i seguenti scalari: | `Bytes` | Byte array, rappresentato come una stringa esadecimale. Comunemente utilizzato per gli hash e gli indirizzi di Ethereum. | | `String` | Scalare per valori `string`. I caratteri nulli non sono supportati e vengono rimossi automaticamente. | | `Boolean` | Scalare per valori `boolean`. | -| `Int` | Le specifiche di GraphQL definiscono che `Int` ha una dimensione di 32 byte. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | Un intero firmato a 8 byte, noto anche come intero firmato a 64 bit, può memorizzare valori nell'intervallo da -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. È preferibile utilizzare questo per rappresentare `i64` da ethereum. | | `BigInt` | Numeri interi grandi. Utilizzati per i tipi `uint32`, `int64`, `uint64`, ..., `uint256` di Ethereum. Nota: Tutto ciò che è inferiore a `uint32` come `int32`, `uint24` oppure `int8` è rappresentato come `i32`. | | `BigDecimal` | `BigDecimal` Decimali ad alta precisione rappresentati come un significante e un esponente. L'intervallo degli esponenti va da -6143 a +6144. Arrotondato a 34 cifre significative. | From 7120af1e3a5ca5c133eb0d2dfaff55611665d54d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:14:54 -0400 Subject: [PATCH 1764/2326] New translations creating-a-subgraph.mdx (Japanese) --- website/pages/ja/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ja/developing/creating-a-subgraph.mdx b/website/pages/ja/developing/creating-a-subgraph.mdx index e1557caec6e2..ce7509041c3c 100644 --- a/website/pages/ja/developing/creating-a-subgraph.mdx +++ b/website/pages/ja/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ GraphQL API では、以下の Scalar をサポートしています: | `Bytes` | Byte 配列で、16 進数の文字列で表されます。Ethereum のハッシュやアドレスによく使われます。 | | `String` | `string`値の Scalar であり、Null 文字はサポートされておらず、自動的に削除されます。 | | `Boolean` | `boolean`値を表す Scalar。 | -| `Int` | Int GraphQL の仕様では、`Int`のサイズは 32 バイトと定義されています。 | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | 大きな整数。Ethereum の`uint32`, `int64`, `uint64`, ..., `uint256` タイプに使用されます。注: `int32`, `uint24` `int8`など`uint32`以下のものは`i32`として表現されます。 | | `BigDecimal` | `BigDecimal`は、高精度の 10 進数を記号と指数で表します。指数の範囲は -6143 ~ +6144 です。有効数字 34 桁にまとめられます。 | From 8ef44651a1bb1b67eb587ee3cc237f8f2c0523f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:14:56 -0400 Subject: [PATCH 1765/2326] New translations creating-a-subgraph.mdx (Korean) --- website/pages/ko/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ko/developing/creating-a-subgraph.mdx b/website/pages/ko/developing/creating-a-subgraph.mdx index 1e6f2d94265c..f330ef1bd2ad 100644 --- a/website/pages/ko/developing/creating-a-subgraph.mdx +++ b/website/pages/ko/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ We support the following scalars in our GraphQL API: | `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | | `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | | `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | From f975557dc0bc6985006b681da1d8944406911265 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:14:57 -0400 Subject: [PATCH 1766/2326] New translations creating-a-subgraph.mdx (Dutch) --- website/pages/nl/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/nl/developing/creating-a-subgraph.mdx b/website/pages/nl/developing/creating-a-subgraph.mdx index 1e6f2d94265c..f330ef1bd2ad 100644 --- a/website/pages/nl/developing/creating-a-subgraph.mdx +++ b/website/pages/nl/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ We support the following scalars in our GraphQL API: | `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | | `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | | `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | From 0f27a8331fda36b3aef6982809dbfc4b0bc33bd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:14:59 -0400 Subject: [PATCH 1767/2326] New translations creating-a-subgraph.mdx (Polish) --- website/pages/pl/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pl/developing/creating-a-subgraph.mdx b/website/pages/pl/developing/creating-a-subgraph.mdx index 1e6f2d94265c..f330ef1bd2ad 100644 --- a/website/pages/pl/developing/creating-a-subgraph.mdx +++ b/website/pages/pl/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ We support the following scalars in our GraphQL API: | `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | | `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | | `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | From d1cc385d9eb6c520aaf600688e7c447abe1b9587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:15:00 -0400 Subject: [PATCH 1768/2326] New translations creating-a-subgraph.mdx (Russian) --- website/pages/ru/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ru/developing/creating-a-subgraph.mdx b/website/pages/ru/developing/creating-a-subgraph.mdx index 3ea21d965482..1cadc836cd4a 100644 --- a/website/pages/ru/developing/creating-a-subgraph.mdx +++ b/website/pages/ru/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ Null value resolved for non-null field 'name' | `Bytes` | Массив байтов, представленный в виде шестнадцатеричной строки. Обычно используется для хэшей и адресов Ethereum. | | `String` | Скаляр для значений `string`. Нулевые символы не поддерживаются и автоматически удаляются. | | `Boolean` | Скаляр для значений `boolean`. | -| `Int` | Спецификация GraphQL определяет `Int` как имеющий размер 32 байта. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | 8-байтовое целое число со знаком, также называемое 64-битным целым числом со знаком, может хранить значения в диапазоне от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Предпочтительно использовать это для представления `i64` из Ethereum. | | `BigInt` | Большие целые числа. Используются для типов Ethereum `uint32`, `int64`, `uint64`, ..., `uint256`. Примечание: Все, что находится ниже `uint32`, например, `int32`, `uint24` или `int8`, представлено как `i32`. | | `BigDecimal` | `BigDecimal` Десятичные дроби высокой точности, представленные в виде значащего числа и экспоненты. Диапазон значений экспоненты от -6143 до +6144. Округляется до 34 значащих цифр. | From 4227eb16d35234fc807d6da836a51fdaf2c47f03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:15:02 -0400 Subject: [PATCH 1769/2326] New translations creating-a-subgraph.mdx (Swedish) --- website/pages/sv/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/sv/developing/creating-a-subgraph.mdx b/website/pages/sv/developing/creating-a-subgraph.mdx index 21e6e0000645..eaa5f58f65e4 100644 --- a/website/pages/sv/developing/creating-a-subgraph.mdx +++ b/website/pages/sv/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ Vi stödjer följande skalartyper i vår GraphQL API: | `Bytes` | Bytematris, representerad som en hexadecimal sträng. Vanligt används för Ethereum-hashar och adresser. | | `String` | Skalär för `string`-värden. Nolltecken stöds inte och tas automatiskt bort. | | `Boolean` | Skalär för `boolean`-värden. | -| `Int` | Enligt GraphQL specifikationen har `Int` en storlek på 32 byte. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Stora heltal. Används för Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` typer. Observera: Allt under `uint32`, som `int32`, `uint24` eller `int8` representeras som `i32`. | | `BigDecimal` | `BigDecimal` Högprecisionsdecimaler representerade som en signifikant och en exponent. Exponentområdet är från −6143 till +6144. Avrundat till 34 signifikanta siffror. | From 4bd15247669ccf3b6437ee3c5f5bb144b7b4caed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:15:03 -0400 Subject: [PATCH 1770/2326] New translations creating-a-subgraph.mdx (Turkish) --- website/pages/tr/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/tr/developing/creating-a-subgraph.mdx b/website/pages/tr/developing/creating-a-subgraph.mdx index 4d1552ac3e73..4b3f045c177a 100644 --- a/website/pages/tr/developing/creating-a-subgraph.mdx +++ b/website/pages/tr/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ GraphQL API'mizde aşağıdaki skalerleri destekliyoruz: | `Baytlar` | Byte dizisi, onaltılık bir dizgi olarak temsil edilir. Ethereum hash değerleri ve adresleri için yaygın olarak kullanılır. | | `Dizgi(String)` | `string` değerleri için skaler. Null karakterleri desteklenmez ve otomatik olarak kaldırılır. | | `Boolean` | `boolean` değerleri için skaler. | -| `Int` | GraphQL özellikleri, `Int`'in 32 bayt boyutunda olduğunu tanımlar. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Büyük tamsayılar. Ethereum'un `uint32`, `int64`, `uint64`, ..., `uint256` türleri için kullanılır. Not: `int32`, `uint24` veya `int8` gibi `uint32`'nin altındaki her şey `i32`olarak temsil edilir. | | `BigDecimal` | `BigDecimal` Yüksek hassasiyetli ondalık sayılar, bir anlamlı ve bir üsle temsil edilir. Üs aralığı -6143 ila +6144 arasındadır. 34 anlamlı rakama yuvarlanır. | From 7b41772736ab94d9d8833e924b750a285dfe8ecb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:15:05 -0400 Subject: [PATCH 1771/2326] New translations creating-a-subgraph.mdx (Ukrainian) --- website/pages/uk/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/uk/developing/creating-a-subgraph.mdx b/website/pages/uk/developing/creating-a-subgraph.mdx index 28c0b06cf623..43de166f0741 100644 --- a/website/pages/uk/developing/creating-a-subgraph.mdx +++ b/website/pages/uk/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ We support the following scalars in our GraphQL API: | `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | | `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | | `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | From 6b45e0a05e9f4c92972adfc7c631b1ea34d00e4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:15:06 -0400 Subject: [PATCH 1772/2326] New translations creating-a-subgraph.mdx (Chinese Simplified) --- website/pages/zh/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/zh/developing/creating-a-subgraph.mdx b/website/pages/zh/developing/creating-a-subgraph.mdx index e1bcf3b8d1b9..e1877ea0828f 100644 --- a/website/pages/zh/developing/creating-a-subgraph.mdx +++ b/website/pages/zh/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ Null value resolved for non-null field 'name' | `字节` | 字节数组,表示为十六进制字符串。 通常用于以太坊hash和地址。 | | `字符串` | `string` 值的标量。 不支持空字符,并会自动进行删除。 | | `Boolean` | `boolean` 值的标量。 | -| `Int` | GraphQL 规范将 `Int` 定义为 32 字节的大小。 | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | 大整数。 用于以太坊的 `uint32`、`int64`、`uint64`、...、`uint256` 类型。 注意:`uint32`以下的所有类型,例如`int32`、`uint24`或`int8`都表示为`i32`。 | | `BigDecimal` | `BigDecimal` 表示为有效数字和指数的高精度小数。 指数范围是 -6143 到 +6144。 四舍五入到 34 位有效数字。 | From 975c1a01e08d925ae4e2a05ae13e558aafcd5af2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:15:08 -0400 Subject: [PATCH 1773/2326] New translations creating-a-subgraph.mdx (Urdu (Pakistan)) --- website/pages/ur/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ur/developing/creating-a-subgraph.mdx b/website/pages/ur/developing/creating-a-subgraph.mdx index fd20224ee6f1..21bd8e2359d9 100644 --- a/website/pages/ur/developing/creating-a-subgraph.mdx +++ b/website/pages/ur/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ type GravatarDeclined @entity { | `Bytes` | Byte array، ایک ہیکساڈیسیمل سٹرنگ کے طور پر پیش کیا جاتا ہے. عام طور پر Ethereum hashes اور ایڈریسیس کے لیے استعمال ہوتا ہے. | | `String` | `string` ویلیوز کے لیے اسکیلر. خالی حروف تعاون یافتہ نہیں ہیں اور خود بخود ہٹا دیے جاتے ہیں. | | `Boolean` | `Boolean` ویلیوز کے لیے اسکیلر. | -| `Int` | GraphQL spec `Int` کی وضاحت کرتا ہے جس کا سائز 32 bytes ہے. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | ایک 8-بائٹ دستخط شدہ عدد، جسے 64-بٹ دستخط شدہ عدد بھی کہا جاتا ہے، -9,223,372,036,854,775,808 سے لے کر 9,223,372,036,854,775,807 تک کی ویلیوز کو ذخیرہ کرسکتا ہے۔ ایتھیریم سے `i64` کی نمائندگی کرنے کے لیے اسے استعمال کرنے کو ترجیح دیں۔ | | `BigInt` | بڑے integers۔ Ethereum کی `uint32`، `int64`، `uint64`، ..., `uint256` اقسام کے لیے استعمال کیا جاتا ہے. نوٹ: `uint32` کے نیچے ہر چیز، جیسے `int32`، `uint24` یا `int8` کو `i32` کے طور پر دکھایا گیا ہے. | | `BigDecimal` | `BigDecimal` اعلی درستگی والے اعشاریہ ایک significand اور ایک exponent کے طور پر پیش کیا جاتے ہہیں. Exponent رینج −6143 سے +6144 تک ہے۔ 34 سگنیفیکینڈ ہندسوں پر rounded کیا گیا۔. | From ccae85f3763a1652c33d237e3bdf86ea52ecb31f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:15:09 -0400 Subject: [PATCH 1774/2326] New translations creating-a-subgraph.mdx (Vietnamese) --- website/pages/vi/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/vi/developing/creating-a-subgraph.mdx b/website/pages/vi/developing/creating-a-subgraph.mdx index bfc15b39a61c..657321531540 100644 --- a/website/pages/vi/developing/creating-a-subgraph.mdx +++ b/website/pages/vi/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ We support the following scalars in our GraphQL API: | `Bytes` | Mảng byte, được biểu diễn dưới dạng chuỗi thập lục phân. Thường được sử dụng cho các mã băm và địa chỉ Ethereum. | | `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | | `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | From f9a7b709388ee8e18831205e8b398284412db669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:15:11 -0400 Subject: [PATCH 1775/2326] New translations creating-a-subgraph.mdx (Marathi) --- website/pages/mr/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/mr/developing/creating-a-subgraph.mdx b/website/pages/mr/developing/creating-a-subgraph.mdx index 0f05e6d8d05b..4ce700a0dd96 100644 --- a/website/pages/mr/developing/creating-a-subgraph.mdx +++ b/website/pages/mr/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ We support the following scalars in our GraphQL API: | `बाइट्स` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | | `स्ट्रिंग` | Scalar for `string` values. Null characters are not supported and are automatically removed. | | `बुलियन` | `बूलियन` मूल्यांसाठी स्केलर. | -| `इंट` | GraphQL spec `Int` ला ३२ बाइट्सचा आकार ठरवतो. | +| `इंट` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | मोठे पूर्णांक. इथरियमच्या `uint32`, `int64`, `uint64`, ..., `uint256` प्रकारांसाठी वापरले जाते. टीप: `uint32` खाली सर्व काही, जसे की `int32`, `uint24` किंवा `int8` `i32` म्हणून प्रस्तुत केले जाते 0>. | | `बिग डेसिमल` | `BigDecimal` उच्च सुस्पष्टता दशांश एक महत्त्वपूर्ण आणि घातांक म्हणून प्रस्तुत केले जाते. घातांक श्रेणी −6143 ते +6144 पर्यंत आहे. 34 लक्षणीय अंकांपर्यंत पूर्णांक. | From f693da725c4e2fbcd54012dca118f74f67bfa4a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:15:12 -0400 Subject: [PATCH 1776/2326] New translations creating-a-subgraph.mdx (Hindi) --- website/pages/hi/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/hi/developing/creating-a-subgraph.mdx b/website/pages/hi/developing/creating-a-subgraph.mdx index 5e4f8080b5e7..d73db1209574 100644 --- a/website/pages/hi/developing/creating-a-subgraph.mdx +++ b/website/pages/hi/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ type GravatarDeclined @entity { | `Bytes` | बाइट सरणी, एक हेक्साडेसिमल स्ट्रिंग के रूप में दर्शाया गया है। आमतौर पर एथेरियम हैश और पतों के लिए उपयोग किया जाता है। | | `String` | `स्ट्रिंग` मानों के लिए स्केलर। अशक्त वर्ण समर्थित नहीं हैं और स्वचालित रूप से हटा दिए जाते हैं। | | `Boolean` | `boolean` मानों के लिए स्केलर। | -| `Int` | ग्राफक्लाइन स्पेक `Int` को 32 बाइट्स के आकार के रूप में परिभाषित करता है। | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | बड़े पूर्णांक। एथेरियम के `uint32`, `int64`, `uint64`, ..., `uint256` प्रकारों के लिए उपयोग किया जाता है। नोट: `uint32` के नीचे सब कुछ, जैसे `int32`, `uint24` या `int8` को `i32` के रूप में दर्शाया गया है। | | `BigDecimal` | `BigDecimal` उच्च परिशुद्धता दशमलव एक महत्व और एक प्रतिपादक के रूप में दर्शाया गया है। एक्सपोनेंट रेंज -6143 से +6144 तक है। 34 महत्वपूर्ण अंकों तक गोल। | From 635bdc92d5ae2d13d2f977e75820f0de717bb9a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 12:15:14 -0400 Subject: [PATCH 1777/2326] New translations creating-a-subgraph.mdx (Yoruba) --- website/pages/yo/developing/creating-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/yo/developing/creating-a-subgraph.mdx b/website/pages/yo/developing/creating-a-subgraph.mdx index 1e6f2d94265c..f330ef1bd2ad 100644 --- a/website/pages/yo/developing/creating-a-subgraph.mdx +++ b/website/pages/yo/developing/creating-a-subgraph.mdx @@ -277,7 +277,7 @@ We support the following scalars in our GraphQL API: | `Bytes` | Byte array, represented as a hexadecimal string. Commonly used for Ethereum hashes and addresses. | | `String` | Scalar for `string` values. Null characters are not supported and are automatically removed. | | `Boolean` | Scalar for `boolean` values. | -| `Int` | The GraphQL spec defines `Int` to have a size of 32 bytes. | +| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | | `Int8` | An 8-byte signed integer, also known as a 64-bit signed integer, can store values in the range from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. Prefer using this to represent `i64` from ethereum. | | `BigInt` | Large integers. Used for Ethereum's `uint32`, `int64`, `uint64`, ..., `uint256` types. Note: Everything below `uint32`, such as `int32`, `uint24` or `int8` is represented as `i32`. | | `BigDecimal` | `BigDecimal` High precision decimals represented as a significand and an exponent. The exponent range is from −6143 to +6144. Rounded to 34 significant digits. | From 7bceb36d625b6a164c832ded6b0400b0bf4945d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:14 -0400 Subject: [PATCH 1778/2326] New translations querying-the-graph.mdx (Portuguese) --- website/pages/pt/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/pt/querying/querying-the-graph.mdx b/website/pages/pt/querying/querying-the-graph.mdx index 979e477a38c6..9f50c8c18990 100644 --- a/website/pages/pt/querying/querying-the-graph.mdx +++ b/website/pages/pt/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Consultar o Painel do Subgraph](/img/query-subgraph-pane.png) From f0f32ad735a8a497c07dc7aa7b226254192367eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:16 -0400 Subject: [PATCH 1779/2326] New translations querying-the-graph.mdx (Romanian) --- website/pages/ro/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ro/querying/querying-the-graph.mdx b/website/pages/ro/querying/querying-the-graph.mdx index 69ec08adcd02..a573683573c5 100644 --- a/website/pages/ro/querying/querying-the-graph.mdx +++ b/website/pages/ro/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) From 62d80fbd0123e0a00eee3211174075624421f9a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:17 -0400 Subject: [PATCH 1780/2326] New translations querying-the-graph.mdx (French) --- website/pages/fr/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/fr/querying/querying-the-graph.mdx b/website/pages/fr/querying/querying-the-graph.mdx index c286fd3463c6..70023beddd1c 100644 --- a/website/pages/fr/querying/querying-the-graph.mdx +++ b/website/pages/fr/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Vous pouvez également utiliser le terrain de jeu GraphQL dans l'onglet « Terrain de jeu » pour interroger un subgraph dans The Graph Explorer](/img/query-subgraph-pane.png) From 495abab19b6183119d7b4a0c393d86a18d8f48ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:18 -0400 Subject: [PATCH 1781/2326] New translations querying-the-graph.mdx (Spanish) --- website/pages/es/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/es/querying/querying-the-graph.mdx b/website/pages/es/querying/querying-the-graph.mdx index b843ca02ec37..eb097ce2bdb6 100644 --- a/website/pages/es/querying/querying-the-graph.mdx +++ b/website/pages/es/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Panel de Consulta de Subgrafos](/img/query-subgraph-pane.png) From fe447c0573f6a99ecf818beb6b8777d8a6ab70cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:19 -0400 Subject: [PATCH 1782/2326] New translations querying-the-graph.mdx (Arabic) --- website/pages/ar/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ar/querying/querying-the-graph.mdx b/website/pages/ar/querying/querying-the-graph.mdx index 1c14eec5e494..aeef84cbe5a9 100644 --- a/website/pages/ar/querying/querying-the-graph.mdx +++ b/website/pages/ar/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![نافذة الاستعلام عن Subgraph](/img/query-subgraph-pane.png) From b06685f332b364dceb49d74bd403e91e68079c0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:20 -0400 Subject: [PATCH 1783/2326] New translations querying-the-graph.mdx (Czech) --- website/pages/cs/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/cs/querying/querying-the-graph.mdx b/website/pages/cs/querying/querying-the-graph.mdx index 945e4341f865..ac2e872c87d2 100644 --- a/website/pages/cs/querying/querying-the-graph.mdx +++ b/website/pages/cs/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Podokno podgrafů dotazů](/img/query-subgraph-pane.png) From 6cd7c827f1ff550fbee11c92c176f2727ee86191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:21 -0400 Subject: [PATCH 1784/2326] New translations querying-the-graph.mdx (German) --- website/pages/de/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/de/querying/querying-the-graph.mdx b/website/pages/de/querying/querying-the-graph.mdx index 69ec08adcd02..a573683573c5 100644 --- a/website/pages/de/querying/querying-the-graph.mdx +++ b/website/pages/de/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) From be4f81ff1bdeddaa4c930997fb5be087cf1e1b4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:22 -0400 Subject: [PATCH 1785/2326] New translations querying-the-graph.mdx (Italian) --- website/pages/it/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/it/querying/querying-the-graph.mdx b/website/pages/it/querying/querying-the-graph.mdx index 60ef0d020244..c98fe01cfe4a 100644 --- a/website/pages/it/querying/querying-the-graph.mdx +++ b/website/pages/it/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Riquadro del Subgraph della Query](/img/query-subgraph-pane.png) From fe49435919a01bfe765c0dce277af72ba7442a9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:23 -0400 Subject: [PATCH 1786/2326] New translations querying-the-graph.mdx (Japanese) --- website/pages/ja/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ja/querying/querying-the-graph.mdx b/website/pages/ja/querying/querying-the-graph.mdx index 26c9d6f28262..91cb67a2b7dd 100644 --- a/website/pages/ja/querying/querying-the-graph.mdx +++ b/website/pages/ja/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![クエリ サブグラフ ペイン](/img/query-subgraph-pane.png) From 36850b10433569a04c9c25e7c141431652bbc70b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:24 -0400 Subject: [PATCH 1787/2326] New translations querying-the-graph.mdx (Korean) --- website/pages/ko/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ko/querying/querying-the-graph.mdx b/website/pages/ko/querying/querying-the-graph.mdx index 69ec08adcd02..a573683573c5 100644 --- a/website/pages/ko/querying/querying-the-graph.mdx +++ b/website/pages/ko/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) From 5999af251bfe59062812d07d4f472576b27c3ad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:25 -0400 Subject: [PATCH 1788/2326] New translations querying-the-graph.mdx (Dutch) --- website/pages/nl/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/nl/querying/querying-the-graph.mdx b/website/pages/nl/querying/querying-the-graph.mdx index 69ec08adcd02..a573683573c5 100644 --- a/website/pages/nl/querying/querying-the-graph.mdx +++ b/website/pages/nl/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) From 51a85aec1c1be9448871ed5034b1ec1a676f99cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:27 -0400 Subject: [PATCH 1789/2326] New translations querying-the-graph.mdx (Polish) --- website/pages/pl/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/pl/querying/querying-the-graph.mdx b/website/pages/pl/querying/querying-the-graph.mdx index 69ec08adcd02..a573683573c5 100644 --- a/website/pages/pl/querying/querying-the-graph.mdx +++ b/website/pages/pl/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) From 9da0027b59bb100f7a1953f2ac0f89816ca4e882 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:28 -0400 Subject: [PATCH 1790/2326] New translations querying-the-graph.mdx (Russian) --- website/pages/ru/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ru/querying/querying-the-graph.mdx b/website/pages/ru/querying/querying-the-graph.mdx index d90ba1202c4e..54f6c329b3a5 100644 --- a/website/pages/ru/querying/querying-the-graph.mdx +++ b/website/pages/ru/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Панель запроса субграфа](/img/query-subgraph-pane.png) From 2816cf82584038bd961010cc100a31558293c564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:29 -0400 Subject: [PATCH 1791/2326] New translations querying-the-graph.mdx (Swedish) --- website/pages/sv/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/sv/querying/querying-the-graph.mdx b/website/pages/sv/querying/querying-the-graph.mdx index a5369977be0c..d0f9a79274bd 100644 --- a/website/pages/sv/querying/querying-the-graph.mdx +++ b/website/pages/sv/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Panel för att fråga subgraf](/img/query-subgraph-pane.png) From 89267a696d329c423608b3496cbdcebc4ae497f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:30 -0400 Subject: [PATCH 1792/2326] New translations querying-the-graph.mdx (Turkish) --- website/pages/tr/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/tr/querying/querying-the-graph.mdx b/website/pages/tr/querying/querying-the-graph.mdx index 69ec08adcd02..a573683573c5 100644 --- a/website/pages/tr/querying/querying-the-graph.mdx +++ b/website/pages/tr/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) From f71f7fa2724358fc9dad7a18b1cffec217150216 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:31 -0400 Subject: [PATCH 1793/2326] New translations querying-the-graph.mdx (Ukrainian) --- website/pages/uk/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/uk/querying/querying-the-graph.mdx b/website/pages/uk/querying/querying-the-graph.mdx index 69ec08adcd02..a573683573c5 100644 --- a/website/pages/uk/querying/querying-the-graph.mdx +++ b/website/pages/uk/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) From ef7dee134d2ce1f93a9d15a280401e4873c21861 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:32 -0400 Subject: [PATCH 1794/2326] New translations querying-the-graph.mdx (Chinese Simplified) --- website/pages/zh/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/zh/querying/querying-the-graph.mdx b/website/pages/zh/querying/querying-the-graph.mdx index 4cf1c7f4705d..84ad6f212b9d 100644 --- a/website/pages/zh/querying/querying-the-graph.mdx +++ b/website/pages/zh/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![查询子图镶嵌](/img/query-subgraph-pane.png) From 56982099295a564fb2444d08e2bcb29cf5c93259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:33 -0400 Subject: [PATCH 1795/2326] New translations querying-the-graph.mdx (Urdu (Pakistan)) --- website/pages/ur/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ur/querying/querying-the-graph.mdx b/website/pages/ur/querying/querying-the-graph.mdx index bbef8db52b81..ffa73e39614b 100644 --- a/website/pages/ur/querying/querying-the-graph.mdx +++ b/website/pages/ur/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![سب گراف پین سے کیوری کریں](/img/query-subgraph-pane.png) From 3ecf1e98f7158ecc51e6f8eff29811784286d85e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:34 -0400 Subject: [PATCH 1796/2326] New translations querying-the-graph.mdx (Vietnamese) --- website/pages/vi/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/vi/querying/querying-the-graph.mdx b/website/pages/vi/querying/querying-the-graph.mdx index 69ec08adcd02..a573683573c5 100644 --- a/website/pages/vi/querying/querying-the-graph.mdx +++ b/website/pages/vi/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) From 1e735ad9aacf227fb8019f20a5b8898a0f8decbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:35 -0400 Subject: [PATCH 1797/2326] New translations querying-the-graph.mdx (Marathi) --- website/pages/mr/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/mr/querying/querying-the-graph.mdx b/website/pages/mr/querying/querying-the-graph.mdx index 69ec08adcd02..a573683573c5 100644 --- a/website/pages/mr/querying/querying-the-graph.mdx +++ b/website/pages/mr/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) From ff02ab93729886ab0bc52d5d9df5b4a215a614c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:36 -0400 Subject: [PATCH 1798/2326] New translations querying-the-graph.mdx (Hindi) --- website/pages/hi/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/hi/querying/querying-the-graph.mdx b/website/pages/hi/querying/querying-the-graph.mdx index dba510fadd5a..531f99cf77e3 100644 --- a/website/pages/hi/querying/querying-the-graph.mdx +++ b/website/pages/hi/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![क्वेरी सबग्राफ फलक](/img/query-subgraph-pane.png) From 0a8ecf4379dc3682b06a6579ac0a8c83373712ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 13 Jun 2024 15:55:37 -0400 Subject: [PATCH 1799/2326] New translations querying-the-graph.mdx (Yoruba) --- website/pages/yo/querying/querying-the-graph.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/yo/querying/querying-the-graph.mdx b/website/pages/yo/querying/querying-the-graph.mdx index 69ec08adcd02..a573683573c5 100644 --- a/website/pages/yo/querying/querying-the-graph.mdx +++ b/website/pages/yo/querying/querying-the-graph.mdx @@ -6,6 +6,8 @@ When a subgraph is published to The Graph Network, you can visit its subgraph de > Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. + Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. ![Query Subgraph Pane](/img/query-subgraph-pane.png) From efd793cf9ca30ccd3e06b21b826aa29a086819c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:06 -0400 Subject: [PATCH 1800/2326] New translations sunrise.mdx (Romanian) --- website/pages/ro/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/ro/sunrise.mdx b/website/pages/ro/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/ro/sunrise.mdx +++ b/website/pages/ro/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 7885b0cb143aaaa1b6c68428a8221ffe8f03bd6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:07 -0400 Subject: [PATCH 1801/2326] New translations sunrise.mdx (French) --- website/pages/fr/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/fr/sunrise.mdx b/website/pages/fr/sunrise.mdx index b7d8ddfe8857..92fd7447ac3f 100644 --- a/website/pages/fr/sunrise.mdx +++ b/website/pages/fr/sunrise.mdx @@ -20,7 +20,13 @@ Ce plan s'appuie sur de nombreux développements antérieurs de l'écosystème T ### Quand les subgraphs du service hébergé ne seront-ils plus disponibles ? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Mon subgraph de service hébergé sera-t-il pris en charge sur le réseau The Graph ? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 316cadd27aa8ff41c1c6f89465048fa11326418a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:08 -0400 Subject: [PATCH 1802/2326] New translations sunrise.mdx (Spanish) --- website/pages/es/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/es/sunrise.mdx b/website/pages/es/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/es/sunrise.mdx +++ b/website/pages/es/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 4d206fcfbb4c40bb9d94e1c7c086818696a72245 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:09 -0400 Subject: [PATCH 1803/2326] New translations sunrise.mdx (Arabic) --- website/pages/ar/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/ar/sunrise.mdx b/website/pages/ar/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/ar/sunrise.mdx +++ b/website/pages/ar/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 526764a59d0fe045c2fea4990f76018f3b2e7572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:10 -0400 Subject: [PATCH 1804/2326] New translations sunrise.mdx (Czech) --- website/pages/cs/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/cs/sunrise.mdx b/website/pages/cs/sunrise.mdx index da12311388c1..157bab9d09e9 100644 --- a/website/pages/cs/sunrise.mdx +++ b/website/pages/cs/sunrise.mdx @@ -20,7 +20,13 @@ Tento plán vychází z mnoha předchozích změn v ekosystému Graf, včetně v ### Kdy přestanou být podgrafy hostovaných služeb k dispozici? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Bude můj podgraf hostované služby podporován v síti Graf? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 8fb0c3961440ccdc9e8e883a4253ff815323fc60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:11 -0400 Subject: [PATCH 1805/2326] New translations sunrise.mdx (German) --- website/pages/de/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/de/sunrise.mdx b/website/pages/de/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/de/sunrise.mdx +++ b/website/pages/de/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 34da6d6e95f879f4e23953d7e3ebacc66c5aad17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:12 -0400 Subject: [PATCH 1806/2326] New translations sunrise.mdx (Italian) --- website/pages/it/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/it/sunrise.mdx b/website/pages/it/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/it/sunrise.mdx +++ b/website/pages/it/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From d19d189e3752fd2ec71b2be202b470f856a8ab3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:14 -0400 Subject: [PATCH 1807/2326] New translations sunrise.mdx (Japanese) --- website/pages/ja/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/ja/sunrise.mdx b/website/pages/ja/sunrise.mdx index cc4d311abdcd..cbc91c2445a7 100644 --- a/website/pages/ja/sunrise.mdx +++ b/website/pages/ja/sunrise.mdx @@ -20,7 +20,13 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From ef440655e74d22fdd0c3a38028ad160d8bce23fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:15 -0400 Subject: [PATCH 1808/2326] New translations sunrise.mdx (Korean) --- website/pages/ko/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/ko/sunrise.mdx b/website/pages/ko/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/ko/sunrise.mdx +++ b/website/pages/ko/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From f4d772b3b09bcbd870fb7f7550c04563873f504a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:16 -0400 Subject: [PATCH 1809/2326] New translations sunrise.mdx (Dutch) --- website/pages/nl/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/nl/sunrise.mdx b/website/pages/nl/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/nl/sunrise.mdx +++ b/website/pages/nl/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 0733a345b5d0c5a0bd7c414bde6210804e7eab38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:17 -0400 Subject: [PATCH 1810/2326] New translations sunrise.mdx (Polish) --- website/pages/pl/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/pl/sunrise.mdx b/website/pages/pl/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/pl/sunrise.mdx +++ b/website/pages/pl/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 943f47c19b6ef47629f3200600c96e5bf8c5778f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:18 -0400 Subject: [PATCH 1811/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index 1d4de44232e6..de7df6b0521f 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -20,7 +20,13 @@ Este plano usa vários desenvolvimentos prévios do ecossistema do The Graph, in ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From f478a1aa861a456846bafc5656e9f699a8f32053 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:19 -0400 Subject: [PATCH 1812/2326] New translations sunrise.mdx (Russian) --- website/pages/ru/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/ru/sunrise.mdx b/website/pages/ru/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/ru/sunrise.mdx +++ b/website/pages/ru/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 3431f9374614e565ce55f8e3539aafc2d5927044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:20 -0400 Subject: [PATCH 1813/2326] New translations sunrise.mdx (Swedish) --- website/pages/sv/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/sv/sunrise.mdx b/website/pages/sv/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/sv/sunrise.mdx +++ b/website/pages/sv/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 49abaa114b6c84555534e8b92f59ec14e5347a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:21 -0400 Subject: [PATCH 1814/2326] New translations sunrise.mdx (Turkish) --- website/pages/tr/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/tr/sunrise.mdx b/website/pages/tr/sunrise.mdx index b7035ef08389..1e128fe103a0 100644 --- a/website/pages/tr/sunrise.mdx +++ b/website/pages/tr/sunrise.mdx @@ -20,7 +20,13 @@ Bu plan, yeni yayınlanan subgraphlar üzerinde sorgular sunmak için bir yükse ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From b2b9bfcd5bc919f48af1cabd05ee4cbdb2c528bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:22 -0400 Subject: [PATCH 1815/2326] New translations sunrise.mdx (Ukrainian) --- website/pages/uk/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/uk/sunrise.mdx b/website/pages/uk/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/uk/sunrise.mdx +++ b/website/pages/uk/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From c03eb4f23749e94f2e7fcee2e9d78debd9e37201 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:23 -0400 Subject: [PATCH 1816/2326] New translations sunrise.mdx (Chinese Simplified) --- website/pages/zh/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/zh/sunrise.mdx b/website/pages/zh/sunrise.mdx index 5d7c08de157d..e38d91f89489 100644 --- a/website/pages/zh/sunrise.mdx +++ b/website/pages/zh/sunrise.mdx @@ -20,7 +20,13 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From c3c0fe2f0752c362dfa86176b609de69bb90746c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:24 -0400 Subject: [PATCH 1817/2326] New translations sunrise.mdx (Urdu (Pakistan)) --- website/pages/ur/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/ur/sunrise.mdx b/website/pages/ur/sunrise.mdx index e501c0e84211..17e5e917240a 100644 --- a/website/pages/ur/sunrise.mdx +++ b/website/pages/ur/sunrise.mdx @@ -20,7 +20,13 @@ The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. T ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 7e8ec1e2db026a7e07f4e6e2367063dd6342ea80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:25 -0400 Subject: [PATCH 1818/2326] New translations sunrise.mdx (Vietnamese) --- website/pages/vi/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/vi/sunrise.mdx b/website/pages/vi/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/vi/sunrise.mdx +++ b/website/pages/vi/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From b9e6784b80b06d85c97236001731a06d41d5ebc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:26 -0400 Subject: [PATCH 1819/2326] New translations sunrise.mdx (Marathi) --- website/pages/mr/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/mr/sunrise.mdx b/website/pages/mr/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/mr/sunrise.mdx +++ b/website/pages/mr/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 79d3588f8ead2f0642c5c5ffc2ec98d99a8795d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:27 -0400 Subject: [PATCH 1820/2326] New translations sunrise.mdx (Hindi) --- website/pages/hi/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/hi/sunrise.mdx b/website/pages/hi/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/hi/sunrise.mdx +++ b/website/pages/hi/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From a98d7e101e38b1e191145c8aca562c071a567906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 08:54:28 -0400 Subject: [PATCH 1821/2326] New translations sunrise.mdx (Yoruba) --- website/pages/yo/sunrise.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/pages/yo/sunrise.mdx b/website/pages/yo/sunrise.mdx index 9e81157ba1d1..32bf6c6d26d4 100644 --- a/website/pages/yo/sunrise.mdx +++ b/website/pages/yo/sunrise.mdx @@ -20,7 +20,13 @@ This plan draws on many previous developments from The Graph ecosystem, includin ### When will hosted service subgraphs no longer be available? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions `on the hosted service`. +Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. + +### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? + +The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. + +Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! ### Will my hosted service subgraph be supported on The Graph Network? @@ -114,6 +120,10 @@ After 10 a.m. PT on June 12th, query endpoints will no longer be available, and No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +### I’m experiencing indexing issues. What should I do? + +Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com + ### Why is my subgraph being published to Arbitrum, is it indexing a different network? The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) From 78ad44d2e2e4a6aacbf6e5b48221ec378dd71d94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:09 -0400 Subject: [PATCH 1822/2326] New translations supported-network-requirements.mdx (Romanian) --- .../pages/ro/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/ro/supported-network-requirements.mdx diff --git a/website/pages/ro/supported-network-requirements.mdx b/website/pages/ro/supported-network-requirements.mdx new file mode 100644 index 000000000000..317e25bcc7c5 --- /dev/null +++ b/website/pages/ro/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 475eab0a1ab4081ff174e4cdf7340606edbeba67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:11 -0400 Subject: [PATCH 1823/2326] New translations supported-network-requirements.mdx (French) --- .../pages/fr/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/fr/supported-network-requirements.mdx diff --git a/website/pages/fr/supported-network-requirements.mdx b/website/pages/fr/supported-network-requirements.mdx new file mode 100644 index 000000000000..45705c76b7bf --- /dev/null +++ b/website/pages/fr/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Réseau | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 92e9dfdadb00e161e2e09fff4ec3c6d67003d87f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:13 -0400 Subject: [PATCH 1824/2326] New translations supported-network-requirements.mdx (Spanish) --- .../pages/es/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/es/supported-network-requirements.mdx diff --git a/website/pages/es/supported-network-requirements.mdx b/website/pages/es/supported-network-requirements.mdx new file mode 100644 index 000000000000..4011acb77cbb --- /dev/null +++ b/website/pages/es/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Red | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 0725ea3b114c0423ea0cc3d06347e23dbe3e0c36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:15 -0400 Subject: [PATCH 1825/2326] New translations supported-network-requirements.mdx (Arabic) --- .../pages/ar/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/ar/supported-network-requirements.mdx diff --git a/website/pages/ar/supported-network-requirements.mdx b/website/pages/ar/supported-network-requirements.mdx new file mode 100644 index 000000000000..8c4628ab1534 --- /dev/null +++ b/website/pages/ar/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| بوليجون | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 8073b82e77b3c7569a013dbb369cbb01531cdaed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:17 -0400 Subject: [PATCH 1826/2326] New translations supported-network-requirements.mdx (Czech) --- .../pages/cs/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/cs/supported-network-requirements.mdx diff --git a/website/pages/cs/supported-network-requirements.mdx b/website/pages/cs/supported-network-requirements.mdx new file mode 100644 index 000000000000..32436d06e433 --- /dev/null +++ b/website/pages/cs/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Síť | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 7cfebafb359ce8fc9444af7d7c2ba736528ce4d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:19 -0400 Subject: [PATCH 1827/2326] New translations supported-network-requirements.mdx (German) --- .../pages/de/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/de/supported-network-requirements.mdx diff --git a/website/pages/de/supported-network-requirements.mdx b/website/pages/de/supported-network-requirements.mdx new file mode 100644 index 000000000000..317e25bcc7c5 --- /dev/null +++ b/website/pages/de/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 211a943c8069d957b8e60d20fea1b7ceb3c444da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:21 -0400 Subject: [PATCH 1828/2326] New translations supported-network-requirements.mdx (Italian) --- .../pages/it/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/it/supported-network-requirements.mdx diff --git a/website/pages/it/supported-network-requirements.mdx b/website/pages/it/supported-network-requirements.mdx new file mode 100644 index 000000000000..934f7d4877a3 --- /dev/null +++ b/website/pages/it/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| La rete | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 02b5c432eb9d77d4794b0165e718e5546d35fe43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:23 -0400 Subject: [PATCH 1829/2326] New translations supported-network-requirements.mdx (Japanese) --- .../pages/ja/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/ja/supported-network-requirements.mdx diff --git a/website/pages/ja/supported-network-requirements.mdx b/website/pages/ja/supported-network-requirements.mdx new file mode 100644 index 000000000000..92c54edcf911 --- /dev/null +++ b/website/pages/ja/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| ネットワーク | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From eee5d37e0f21d32de7836aa609dffd1a94ca45bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:24 -0400 Subject: [PATCH 1830/2326] New translations supported-network-requirements.mdx (Korean) --- .../pages/ko/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/ko/supported-network-requirements.mdx diff --git a/website/pages/ko/supported-network-requirements.mdx b/website/pages/ko/supported-network-requirements.mdx new file mode 100644 index 000000000000..317e25bcc7c5 --- /dev/null +++ b/website/pages/ko/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 1cab6ea5bf9f9187cf725f6c9760f39e0d32d3c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:26 -0400 Subject: [PATCH 1831/2326] New translations supported-network-requirements.mdx (Dutch) --- .../pages/nl/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/nl/supported-network-requirements.mdx diff --git a/website/pages/nl/supported-network-requirements.mdx b/website/pages/nl/supported-network-requirements.mdx new file mode 100644 index 000000000000..e53bdc3b1742 --- /dev/null +++ b/website/pages/nl/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Netwerk | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 7725d82d3ae5a86fef6eea477a2bca897ff52f3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:28 -0400 Subject: [PATCH 1832/2326] New translations supported-network-requirements.mdx (Polish) --- .../pages/pl/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/pl/supported-network-requirements.mdx diff --git a/website/pages/pl/supported-network-requirements.mdx b/website/pages/pl/supported-network-requirements.mdx new file mode 100644 index 000000000000..317e25bcc7c5 --- /dev/null +++ b/website/pages/pl/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From a0807c8cb4c070556ed4abdf10156db8eb8c9257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:29 -0400 Subject: [PATCH 1833/2326] New translations supported-network-requirements.mdx (Portuguese) --- .../pages/pt/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/pt/supported-network-requirements.mdx diff --git a/website/pages/pt/supported-network-requirements.mdx b/website/pages/pt/supported-network-requirements.mdx new file mode 100644 index 000000000000..c2bc2ea85bdf --- /dev/null +++ b/website/pages/pt/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Rede | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From d1f29ddc61a88d69b240dd151c32db47a5a1f7cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:31 -0400 Subject: [PATCH 1834/2326] New translations supported-network-requirements.mdx (Russian) --- .../pages/ru/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/ru/supported-network-requirements.mdx diff --git a/website/pages/ru/supported-network-requirements.mdx b/website/pages/ru/supported-network-requirements.mdx new file mode 100644 index 000000000000..7ec22c90057c --- /dev/null +++ b/website/pages/ru/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Сеть | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From a438ff44fd288e5d1d17a521a90780b15843fccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:33 -0400 Subject: [PATCH 1835/2326] New translations supported-network-requirements.mdx (Swedish) --- .../pages/sv/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/sv/supported-network-requirements.mdx diff --git a/website/pages/sv/supported-network-requirements.mdx b/website/pages/sv/supported-network-requirements.mdx new file mode 100644 index 000000000000..1e1e6dc63d35 --- /dev/null +++ b/website/pages/sv/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Nätverk | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 6c475fed262dde3c4e2ae4f593aaa5585192a184 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:35 -0400 Subject: [PATCH 1836/2326] New translations supported-network-requirements.mdx (Turkish) --- .../pages/tr/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/tr/supported-network-requirements.mdx diff --git a/website/pages/tr/supported-network-requirements.mdx b/website/pages/tr/supported-network-requirements.mdx new file mode 100644 index 000000000000..01f9214e9188 --- /dev/null +++ b/website/pages/tr/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Ağ | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From a7801c8220d3dbd9d5b2fe13ab046b0a61857503 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:37 -0400 Subject: [PATCH 1837/2326] New translations supported-network-requirements.mdx (Ukrainian) --- .../pages/uk/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/uk/supported-network-requirements.mdx diff --git a/website/pages/uk/supported-network-requirements.mdx b/website/pages/uk/supported-network-requirements.mdx new file mode 100644 index 000000000000..317e25bcc7c5 --- /dev/null +++ b/website/pages/uk/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 896f59c086ff43bfc2178cd7f67c57813b099834 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:38 -0400 Subject: [PATCH 1838/2326] New translations supported-network-requirements.mdx (Chinese Simplified) --- .../pages/zh/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/zh/supported-network-requirements.mdx diff --git a/website/pages/zh/supported-network-requirements.mdx b/website/pages/zh/supported-network-requirements.mdx new file mode 100644 index 000000000000..80d204a59b9a --- /dev/null +++ b/website/pages/zh/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| 网络 | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| 以太坊 | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 0be1df329dba59f63f574b1a3abb94bb4f205e0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:40 -0400 Subject: [PATCH 1839/2326] New translations supported-network-requirements.mdx (Urdu (Pakistan)) --- .../pages/ur/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/ur/supported-network-requirements.mdx diff --git a/website/pages/ur/supported-network-requirements.mdx b/website/pages/ur/supported-network-requirements.mdx new file mode 100644 index 000000000000..355613229157 --- /dev/null +++ b/website/pages/ur/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| نیٹ ورک | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From ebc040ddbc8862d299fa5a1cdb381172cda6751a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:42 -0400 Subject: [PATCH 1840/2326] New translations supported-network-requirements.mdx (Vietnamese) --- .../pages/vi/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/vi/supported-network-requirements.mdx diff --git a/website/pages/vi/supported-network-requirements.mdx b/website/pages/vi/supported-network-requirements.mdx new file mode 100644 index 000000000000..517aeda8e2a4 --- /dev/null +++ b/website/pages/vi/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Mạng lưới | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 7c88dacb454287b4bebd14ad83ae28985bfd049f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:44 -0400 Subject: [PATCH 1841/2326] New translations supported-network-requirements.mdx (Marathi) --- .../pages/mr/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/mr/supported-network-requirements.mdx diff --git a/website/pages/mr/supported-network-requirements.mdx b/website/pages/mr/supported-network-requirements.mdx new file mode 100644 index 000000000000..9b6337432b02 --- /dev/null +++ b/website/pages/mr/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Network | Guides | System Requirements | Indexing Rewards | +| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| हिमस्खलन | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| इथरियम | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| फॅन्टम | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| आशावाद | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| बहुभुज | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 24a4a888c6cd9527d6069c20f99a3256c617b1d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:45 -0400 Subject: [PATCH 1842/2326] New translations supported-network-requirements.mdx (Hindi) --- .../pages/hi/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/hi/supported-network-requirements.mdx diff --git a/website/pages/hi/supported-network-requirements.mdx b/website/pages/hi/supported-network-requirements.mdx new file mode 100644 index 000000000000..446559aa447d --- /dev/null +++ b/website/pages/hi/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| नेटवर्क | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From be452a470d4825dd487cfc67adb9b2372c56fc59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 14 Jun 2024 10:06:47 -0400 Subject: [PATCH 1843/2326] New translations supported-network-requirements.mdx (Yoruba) --- .../pages/yo/supported-network-requirements.mdx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 website/pages/yo/supported-network-requirements.mdx diff --git a/website/pages/yo/supported-network-requirements.mdx b/website/pages/yo/supported-network-requirements.mdx new file mode 100644 index 000000000000..317e25bcc7c5 --- /dev/null +++ b/website/pages/yo/supported-network-requirements.mdx @@ -0,0 +1,17 @@ +--- +title: Supported Network Requirements +--- + +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | +| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | From 7e6638ab3e48f8d3981019ded60f7e699486585a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:06 -0400 Subject: [PATCH 1844/2326] New translations creating-a-subgraph.mdx (Portuguese) --- .../pt/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/pt/developing/creating-a-subgraph.mdx b/website/pages/pt/developing/creating-a-subgraph.mdx index eed8c6121e72..6db777075754 100644 --- a/website/pages/pt/developing/creating-a-subgraph.mdx +++ b/website/pages/pt/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Dentro da função do handler, o recibo pode ser acessado no campo `Event.receipt`. Quando a chave `receipt` é configurada em `false`, ou omitida no manifest, um valor `null` será retornado em vez disto. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Recursos experimentais A partir do `specVersion` `0.0.4`, os recursos de subgraph devem ser explicitamente declarados na seção `features` no maior nível do arquivo de manifest com o seu nome em `camelCase`, como listado abaixo: From 26562c85c7ab63f3588f3482ae3c9bfae6de19f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:09 -0400 Subject: [PATCH 1845/2326] New translations creating-a-subgraph.mdx (Romanian) --- .../ro/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/ro/developing/creating-a-subgraph.mdx b/website/pages/ro/developing/creating-a-subgraph.mdx index f330ef1bd2ad..ac4f24869c1d 100644 --- a/website/pages/ro/developing/creating-a-subgraph.mdx +++ b/website/pages/ro/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: From a136bfeca7814fddbd81c37fe61d1158c67bed98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:10 -0400 Subject: [PATCH 1846/2326] New translations creating-a-subgraph.mdx (French) --- .../fr/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/fr/developing/creating-a-subgraph.mdx b/website/pages/fr/developing/creating-a-subgraph.mdx index c2dc664cb24e..8ea7929137fa 100644 --- a/website/pages/fr/developing/creating-a-subgraph.mdx +++ b/website/pages/fr/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Dans la fonction de gestionnaire, le reçu est accessible dans le champ `Event.receipt`. Lorsque la clé `receipt` est définie sur `false` ou omise dans le manifeste, une valeur `null` sera renvoyée à la place. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Fonctionnalités expérimentales À partir de `specVersion` `0.0.4`, les fonctionnalités de subgraph doivent être explicitement déclarées dans la section `features` au niveau supérieur du fichier manifeste, en utilisant leur `camelCase`, comme indiqué dans le tableau ci-dessous : From ec93eb608e131eb320eb2485c6b130ad008bb6d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:12 -0400 Subject: [PATCH 1847/2326] New translations creating-a-subgraph.mdx (Spanish) --- .../es/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/es/developing/creating-a-subgraph.mdx b/website/pages/es/developing/creating-a-subgraph.mdx index 5c861d9ed966..0171d0c1501c 100644 --- a/website/pages/es/developing/creating-a-subgraph.mdx +++ b/website/pages/es/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Dentro de la función handler, se puede acceder al recibo en el campo `Event.receipt`. Cuando la clave `receipt` se establece en `false` o se omite en el manifiesto, se devolverá un valor `null` en su lugar. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Características experimentales A partir de `specVersion` `0.0.4`, los features de los subgrafos deben declararse explícitamente en la sección de `features` del nivel superior del archivo de manifiesto, utilizando su nombre en `camelCase`, como se indica en la tabla siguiente: From 5236c844c3a5234600547db1ffd60a8db59352f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:14 -0400 Subject: [PATCH 1848/2326] New translations creating-a-subgraph.mdx (Arabic) --- .../ar/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/ar/developing/creating-a-subgraph.mdx b/website/pages/ar/developing/creating-a-subgraph.mdx index 3bb76029aed0..cc9103baad27 100644 --- a/website/pages/ar/developing/creating-a-subgraph.mdx +++ b/website/pages/ar/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: From 4e82530b8f181f193d5a1ca6f5e89e7b8b32bb0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:16 -0400 Subject: [PATCH 1849/2326] New translations creating-a-subgraph.mdx (Czech) --- .../cs/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/cs/developing/creating-a-subgraph.mdx b/website/pages/cs/developing/creating-a-subgraph.mdx index d9aebe161994..10228b8ccb13 100644 --- a/website/pages/cs/developing/creating-a-subgraph.mdx +++ b/website/pages/cs/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Uvnitř obslužné funkce je příjem přístupný v poli `Event.receipt`. Pokud je klíč `receipt` nastaven na `false` nebo je v manifestu vynechán, bude místo něj vrácena hodnota `null`. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Experimentální funkce Počínaje `specVersion` `0.0.4` musí být funkce podgrafů explicitně deklarovány v sekci `features` na nejvyšší úrovni souboru manifestu s použitím jejich názvu `camelCase`, jak je uvedeno v následující tabulce: From 62e9c23e3e9a76e93403d730bd0713e83a5c5f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:17 -0400 Subject: [PATCH 1850/2326] New translations creating-a-subgraph.mdx (German) --- .../de/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/de/developing/creating-a-subgraph.mdx b/website/pages/de/developing/creating-a-subgraph.mdx index 600a47949503..2762a5b356cb 100644 --- a/website/pages/de/developing/creating-a-subgraph.mdx +++ b/website/pages/de/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: From 640ed67efb74e524d731e2aa98b794fe4f6b541f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:19 -0400 Subject: [PATCH 1851/2326] New translations creating-a-subgraph.mdx (Italian) --- .../it/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/it/developing/creating-a-subgraph.mdx b/website/pages/it/developing/creating-a-subgraph.mdx index ef99a19599e9..a436f6580761 100644 --- a/website/pages/it/developing/creating-a-subgraph.mdx +++ b/website/pages/it/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: All'interno della funzione handler, è possibile accedere alla ricevuta nel campo `Event.receipt`. Se la chiave `receipt` è impostata su `false` oppure omessa nel manifesto, verrà restituito un valore `null`. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Caratteristiche sperimentali A partire da `specVersion` `0.0.4`, le caratteristiche del subgraph devono essere dichiarate esplicitamente nella sezione `features` al livello superiore del file del manifesto, utilizzando il loro nome `camelCase`, come elencato nella tabella seguente: From 671dcba3ee36159dc7c650fac52cf54f76a3bea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:20 -0400 Subject: [PATCH 1852/2326] New translations creating-a-subgraph.mdx (Japanese) --- .../ja/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/ja/developing/creating-a-subgraph.mdx b/website/pages/ja/developing/creating-a-subgraph.mdx index ce7509041c3c..328f838943a5 100644 --- a/website/pages/ja/developing/creating-a-subgraph.mdx +++ b/website/pages/ja/developing/creating-a-subgraph.mdx @@ -1155,6 +1155,25 @@ eventHandlers: ハンドラ関数の内部では、レシートは `Event.receipt` フィールドでアクセスすることができます。`receipt` キーが `false` に設定されているか、マニフェストで省略されている場合、代わりに `null` 値が返されることになります。 +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## 実験的機能 `specVersion` `0.0.4`以降、サブグラフ機能はマニフェストファイルのトップレベルにある`features`セクションで、以下の表のように`camelCase` の名前を使って明示的に宣言する必要があります: From 851d0e99cf293c0201b6e7a536e63bff275ad56b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:21 -0400 Subject: [PATCH 1853/2326] New translations creating-a-subgraph.mdx (Korean) --- .../ko/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/ko/developing/creating-a-subgraph.mdx b/website/pages/ko/developing/creating-a-subgraph.mdx index f330ef1bd2ad..ac4f24869c1d 100644 --- a/website/pages/ko/developing/creating-a-subgraph.mdx +++ b/website/pages/ko/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: From ed0083a6ff4976db8c25da39bd1fd504cbd67a6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:23 -0400 Subject: [PATCH 1854/2326] New translations creating-a-subgraph.mdx (Dutch) --- .../nl/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/nl/developing/creating-a-subgraph.mdx b/website/pages/nl/developing/creating-a-subgraph.mdx index f330ef1bd2ad..ac4f24869c1d 100644 --- a/website/pages/nl/developing/creating-a-subgraph.mdx +++ b/website/pages/nl/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: From 1fe20bf38e9ffdffeb428ea4fd801cf7be475c1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:24 -0400 Subject: [PATCH 1855/2326] New translations creating-a-subgraph.mdx (Polish) --- .../pl/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/pl/developing/creating-a-subgraph.mdx b/website/pages/pl/developing/creating-a-subgraph.mdx index f330ef1bd2ad..ac4f24869c1d 100644 --- a/website/pages/pl/developing/creating-a-subgraph.mdx +++ b/website/pages/pl/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: From 160ee2fa0ebdd57ec8dce97edf8b63c3b15887b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:26 -0400 Subject: [PATCH 1856/2326] New translations creating-a-subgraph.mdx (Russian) --- .../ru/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/ru/developing/creating-a-subgraph.mdx b/website/pages/ru/developing/creating-a-subgraph.mdx index 1cadc836cd4a..98be9eebae3a 100644 --- a/website/pages/ru/developing/creating-a-subgraph.mdx +++ b/website/pages/ru/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Внутри функции обработчика доступ к подтверждению можно получить в поле `Event.receipt`. Если для ключа `receipt` установлено значение`false` или оно опущено в манифесте, вместо него будет возвращено значение `null`. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Экспериментальные функции Начиная с `specVersion` `0.0.4`, функции субграфа должны быть явно объявлены в разделе `features` на верхнем уровне файла манифеста, используя их имя `camelCase`, как указано в таблице ниже: From d8daa00c293b02d124da972480e2778c82d6319b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:27 -0400 Subject: [PATCH 1857/2326] New translations creating-a-subgraph.mdx (Swedish) --- .../sv/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/sv/developing/creating-a-subgraph.mdx b/website/pages/sv/developing/creating-a-subgraph.mdx index eaa5f58f65e4..759ece1fc793 100644 --- a/website/pages/sv/developing/creating-a-subgraph.mdx +++ b/website/pages/sv/developing/creating-a-subgraph.mdx @@ -1159,6 +1159,25 @@ eventHandlers: Inuti hanterarfunktionen kan kvittot nås i fältet `Event.receipt`. När nyckeln `receipt` är inställd som `false` eller utelämnad i manifestet, kommer istället ett `null`-värde att returneras. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Experimentella funktioner Från och med `specVersion` `0.0.4` måste delgrafsfunktioner deklareras explicit i avsnittet `features` högst upp i manifestfilen, med deras `camelCase`-namn, som listas i tabellen nedan: From 2a0b527ad3d2cd369bb5c1dd7244ea5dc53146fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:29 -0400 Subject: [PATCH 1858/2326] New translations creating-a-subgraph.mdx (Turkish) --- .../tr/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/tr/developing/creating-a-subgraph.mdx b/website/pages/tr/developing/creating-a-subgraph.mdx index 4b3f045c177a..b5e8f2497e0b 100644 --- a/website/pages/tr/developing/creating-a-subgraph.mdx +++ b/website/pages/tr/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: İşleyici işlevi içinde, makbuz `Event.receipt` alanında erişilebilir. Manifestte makbuz(`receipt`) anahtarı `false` olarak ayarlandığında veya atlandığında, `null` bir değer döndürülür. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Deneysel özellikler `specVersion` `0.0.4`'ten itibaren subgraph özellikleri, manifest dosyasının en üst düzeyindeki özellikler(`features`) bölümünde, aşağıdaki tabloda listelendiği gibi `camelCase` adlarıyla açıkça belirtilmelidir: From 63938f2fafaed62c5493be5e04a00adb6a8cbb8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:31 -0400 Subject: [PATCH 1859/2326] New translations creating-a-subgraph.mdx (Ukrainian) --- .../uk/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/uk/developing/creating-a-subgraph.mdx b/website/pages/uk/developing/creating-a-subgraph.mdx index 43de166f0741..f8f1cc9c8648 100644 --- a/website/pages/uk/developing/creating-a-subgraph.mdx +++ b/website/pages/uk/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: From 82b51923f96dd4a7d12176c28d9be6d956e5fdc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:32 -0400 Subject: [PATCH 1860/2326] New translations creating-a-subgraph.mdx (Chinese Simplified) --- .../zh/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/zh/developing/creating-a-subgraph.mdx b/website/pages/zh/developing/creating-a-subgraph.mdx index e1877ea0828f..ae626647b0b1 100644 --- a/website/pages/zh/developing/creating-a-subgraph.mdx +++ b/website/pages/zh/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: 在处理程序函数内部,可以在 `Event.Receipt`字段中访问收据。当`接收`密钥设置为 `false` 或在清单中省略时,将返回`空`值。 +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## 实验性特征 从 `specVersion` `0.0.4` 开始,子图特征必须使用它们的 `camelCase` 名称,在清单文件顶层的 `features` 部分中显式声明,如下表所列: From ed31a0cfcb422f68cdcdc3796b2ca7d4fe830e35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:34 -0400 Subject: [PATCH 1861/2326] New translations creating-a-subgraph.mdx (Urdu (Pakistan)) --- .../ur/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/ur/developing/creating-a-subgraph.mdx b/website/pages/ur/developing/creating-a-subgraph.mdx index 21bd8e2359d9..3364987f92a9 100644 --- a/website/pages/ur/developing/creating-a-subgraph.mdx +++ b/website/pages/ur/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: ہینڈلر فنکشن کے اندر، `Event.receipt` فیلڈ میں رسید تک رسائی حاصل کی جا سکتی ہے. جب `receipt` کلید کو `false` پر سیٹ کیا جاتا ہے یا مینی فیسٹ میں چھوڑ دیا جاتا ہے، تو اس کی بجائے ایک `null` قدر لوٹائی جائے گی. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## تجرباتی خصوصیات `specVersion` `0.0.4` سے شروع کرتے ہوئے، سب گراف کی خصوصیات کا واضح طور پر مینی فیسٹ فائل کے اوپری سطح پر `features` سیکشن میں ان کا استعمال کرتے ہوئے واضح طور پر اعلان کیا جانا چاہیے۔ `camelCase` نام، جیسا کہ نیچے دیے گئے ٹیبل میں درج ہے: From 21cff3eb2f4998b4a15896228d4b705af7a24350 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:35 -0400 Subject: [PATCH 1862/2326] New translations creating-a-subgraph.mdx (Vietnamese) --- .../vi/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/vi/developing/creating-a-subgraph.mdx b/website/pages/vi/developing/creating-a-subgraph.mdx index 657321531540..f86c3c60a33b 100644 --- a/website/pages/vi/developing/creating-a-subgraph.mdx +++ b/website/pages/vi/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: From e19afad4f4dab163066155a5df014a71a56dfda0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:37 -0400 Subject: [PATCH 1863/2326] New translations creating-a-subgraph.mdx (Marathi) --- .../mr/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/mr/developing/creating-a-subgraph.mdx b/website/pages/mr/developing/creating-a-subgraph.mdx index 4ce700a0dd96..6b50b819ea9e 100644 --- a/website/pages/mr/developing/creating-a-subgraph.mdx +++ b/website/pages/mr/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: हँडलर फंक्शनच्या आत, पावती `Event.receipt` फील्डमध्ये ऍक्सेस केली जाऊ शकते. जेव्हा `पावती` की `false` वर सेट केली जाते किंवा मॅनिफेस्टमध्ये वगळली जाते, तेव्हा त्याऐवजी `null` मूल्य परत केले जाईल. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## प्रायोगिक वैशिष्ट्ये `specVersion` `0.0.4` पासून सुरू करून, सबग्राफ वैशिष्ट्ये मॅनिफेस्ट फाइलच्या शीर्ष स्तरावरील `वैशिष्ट्ये` विभागात स्पष्टपणे घोषित करणे आवश्यक आहे, त्यांचा वापर करून `camelCase` नाव, खालील तक्त्यामध्ये सूचीबद्ध केल्याप्रमाणे: From 4a070c26426c2ed2f3c17643546083347f4d3efa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:51 -0400 Subject: [PATCH 1864/2326] New translations creating-a-subgraph.mdx (Hindi) --- .../hi/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/hi/developing/creating-a-subgraph.mdx b/website/pages/hi/developing/creating-a-subgraph.mdx index d73db1209574..4e782fe7a277 100644 --- a/website/pages/hi/developing/creating-a-subgraph.mdx +++ b/website/pages/hi/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: हैंडलर फ़ंक्शन के अंदर, रसीद को `Event.receipt` फ़ील्ड में एक्सेस किया जा सकता है। जब `receipt` कुंजी को `गलत` पर सेट किया जाता है या मेनिफ़ेस्ट में छोड़ दिया जाता है, तो इसके बजाय एक `शून्य` मान लौटाया जाएगा। +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## प्रायोगिक विशेषताएं `specVersion` `0.0.4` से शुरू होकर, सबग्राफ सुविधाओं को `सुविधाओं` अनुभाग में मेनिफेस्ट फ़ाइल के शीर्ष स्तर पर उनके का उपयोग करके स्पष्ट रूप से घोषित किया जाना चाहिए `camelCase` नाम, जैसा कि नीचे दी गई तालिका में सूचीबद्ध है: From 7f1d5910c79020fc8bb2a3d173a3e1c660799de2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 17 Jun 2024 09:20:52 -0400 Subject: [PATCH 1865/2326] New translations creating-a-subgraph.mdx (Yoruba) --- .../yo/developing/creating-a-subgraph.mdx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/website/pages/yo/developing/creating-a-subgraph.mdx b/website/pages/yo/developing/creating-a-subgraph.mdx index f330ef1bd2ad..ac4f24869c1d 100644 --- a/website/pages/yo/developing/creating-a-subgraph.mdx +++ b/website/pages/yo/developing/creating-a-subgraph.mdx @@ -1154,6 +1154,25 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. +## Declared eth_call + +Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. + +> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. + +### Example Configuration in Subgraph Manifest + +```yaml +event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) +handler: handleTransferWithPool +calls: + ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) +``` + +In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. + +When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. + ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: From 74871077822d31f73b0ca2cdb7cd4175f23be547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 19 Jun 2024 19:47:55 -0400 Subject: [PATCH 1866/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index de7df6b0521f..7155fcc2057c 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -1,5 +1,5 @@ --- -title: Sunrise + Upgrading to The Graph Network FAQ +title: Perguntas Frequentes sobre o Nascer do Sol + Atualizações da Graph Network --- > Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). From 9b3ea99f1cd3033b3a144ff8218b26782e67eaef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 19 Jun 2024 19:47:56 -0400 Subject: [PATCH 1867/2326] New translations arbitrum-faq.mdx (Portuguese) --- website/pages/pt/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/arbitrum/arbitrum-faq.mdx b/website/pages/pt/arbitrum/arbitrum-faq.mdx index 6e1cc166b8ff..4a9dff3fd092 100644 --- a/website/pages/pt/arbitrum/arbitrum-faq.mdx +++ b/website/pages/pt/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ A comunidade do The Graph prosseguiu com o Arbitrum no ano passado, após o resu Os utilizadores criam um bridge (ponte) entre o seu GRT e ETH  com um dos seguintes métodos: -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [Bridge no Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) @@ -45,7 +45,7 @@ Por favor, ajude a [testar a rede](https://testnet.thegraph.com/explorer) na L2 ## Há algum risco associado ao escalamento da rede à L2? -All smart contracts have been thoroughly [audited](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). +Todos os contratos inteligentes já foram devidamente [auditados](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/audits/OpenZeppelin/2022-07-graph-arbitrum-bridge-audit.pdf). Tudo foi testado exaustivamente, e já está pronto um plano de contingência para garantir uma transição segura e suave. Mais detalhes [aqui](https://forum.thegraph.com/t/gip-0037-the-graph-arbitrum-deployment-with-linear-rewards-minted-in-l2/3551#risks-and-security-considerations-20). @@ -75,4 +75,4 @@ O bridge foi [auditado rigorosamente](https://code4rena.com/contests/2022-10-the A adição de GRT ao seu saldo de cobrança no Arbitrum pode ser feito em apenas um clique no [Subgraph Studio](https://thegraph.com/studio/). Você poderá fazer o bridge do seu GRT ao Arbitrum com facilidade, e preencher as suas chaves de API em uma única transação. -Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. +Visite a página de [Cobranças](/) para mais detalhes sobre como depositar, retirar, ou adquirir GRT. From 9b7faf8a27754dc81951d16954889896987b7405 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 19 Jun 2024 19:47:57 -0400 Subject: [PATCH 1868/2326] New translations l2-transfer-tools-guide.mdx (Portuguese) --- website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx index ef65853b50e1..f799681d02ba 100644 --- a/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ Após abrir a Ferramenta de Transferências, você poderá colocar o endereço d Ao executar este passo, **garanta que executará o 3º passo em menos de 7 dias, ou o subgraph e o seu GRT de sinalização serão perdidos.** Isto se deve à maneira de como as mensagens L1-L2 funcionam no Arbitrum: mensagens enviadas através da bridge são "bilhetes de tentativas extras" que devem ser executadas dentro de 7 dias, e a execução inicial pode exigir outra tentativa se houver um surto no preço de gas no Arbitrum. -![Start the transfer to L2](/img/startTransferL2.png) +![Comece a transferência à L2](/img/startTransferL2.png) ## 2º Passo: A espera do caminho do subgraph até a L2 From 5c4267c155b2f2659ce0df41f5b3cce4dcc4fa22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 19 Jun 2024 21:02:22 -0400 Subject: [PATCH 1869/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index 7155fcc2057c..261dbc07a906 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -2,11 +2,11 @@ title: Perguntas Frequentes sobre o Nascer do Sol + Atualizações da Graph Network --- -> Note: This document is continually updated to ensure the most accurate and helpful information is provided. New questions and answers are added on a regular basis. If you can’t find the information you’re looking for, or if you require immediate assistance, [reach out on Discord](https://discord.gg/graphprotocol). If you are looking for billing information, then please refer to [billing](/billing/). +> Nota: Este documento é atualizado constantemente para garantir o repasse das informações mais úteis e precisas. Se não encontrar a informação que procura, ou se precisar de ajuda imediata, [fale no Discord](https://discord.gg/graphprotocol). Se precisar de informações sobre cobranças, consulte a página sobre [cobranças](/billing/). -## What is the Sunrise of Decentralized Data? +## O Que É o Nascer do Sol dos Dados Descentralizados? -The Sunrise of Decentralized Data is an initiative spearheaded by Edge & Node. The goal is to enable subgraph developers to seamlessly upgrade to The Graph’s decentralized network. +O Nascer do Sol dos Dados Descentralizados é uma iniciativa liderada pela Edge & Node. A meta é garantir que os programadores de subgraphs façam uma atualização suave para a rede descentralizada do The Graph. Este plano usa vários desenvolvimentos prévios do ecossistema do The Graph, inclusive um Indexador de atualização para servir queries em subgraphs recém-publicados, e a habilidade de integrar novas redes de blockchain ao The Graph. From 91de4805b0cb1c81095982eadd74c5f1ffb66ffe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:09 -0400 Subject: [PATCH 1870/2326] New translations indexing.mdx (Romanian) --- website/pages/ro/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ro/network/indexing.mdx b/website/pages/ro/network/indexing.mdx index 8ecbccdeb03e..0a7e568d58f0 100644 --- a/website/pages/ro/network/indexing.mdx +++ b/website/pages/ro/network/indexing.mdx @@ -735,7 +735,7 @@ Example query costing using the above model: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Applying the cost model From aaa3a05de3a1eb69a569b0c5c6e590eb89de02f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:11 -0400 Subject: [PATCH 1871/2326] New translations indexing.mdx (French) --- website/pages/fr/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/fr/network/indexing.mdx b/website/pages/fr/network/indexing.mdx index 284bf431bbca..e1e745588789 100644 --- a/website/pages/fr/network/indexing.mdx +++ b/website/pages/fr/network/indexing.mdx @@ -736,7 +736,7 @@ Exemple de calcul des coûts de requête utilisant le modèle ci-dessus : | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Application du modèle de coût From 14535906b2adeff446faeba577bed85328a50ea6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:12 -0400 Subject: [PATCH 1872/2326] New translations indexing.mdx (Spanish) --- website/pages/es/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/es/network/indexing.mdx b/website/pages/es/network/indexing.mdx index 5477fef27cfc..9b35b89a50d7 100644 --- a/website/pages/es/network/indexing.mdx +++ b/website/pages/es/network/indexing.mdx @@ -735,7 +735,7 @@ Ejemplo de modelo de costo usando el modelo anterior: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0,5 GRT | | { tokens { symbol } } | 0,1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0,6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0,6 GRT | #### Aplicación del modelo de costos From c90ef0e7da68500cd0ac5716bd4b13005df9ca7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:14 -0400 Subject: [PATCH 1873/2326] New translations indexing.mdx (Arabic) --- website/pages/ar/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ar/network/indexing.mdx b/website/pages/ar/network/indexing.mdx index 55eea176d16c..61e19e0867d6 100644 --- a/website/pages/ar/network/indexing.mdx +++ b/website/pages/ar/network/indexing.mdx @@ -735,7 +735,7 @@ default => 0.1 * $SYSTEM_LOAD; | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### تطبيق نموذج التكلفة From 63a2e347ec186e6457ada445446bc038bb6cf3b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:15 -0400 Subject: [PATCH 1874/2326] New translations indexing.mdx (Czech) --- website/pages/cs/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/network/indexing.mdx b/website/pages/cs/network/indexing.mdx index 901a31a12e97..84c3328001d1 100644 --- a/website/pages/cs/network/indexing.mdx +++ b/website/pages/cs/network/indexing.mdx @@ -735,7 +735,7 @@ Příklad výpočtu nákladů na dotaz pomocí výše uvedeného modelu: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Použití nákladového modelu From 01ec4986df36d748a620747127e902f11358a347 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:16 -0400 Subject: [PATCH 1875/2326] New translations indexing.mdx (German) --- website/pages/de/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/network/indexing.mdx b/website/pages/de/network/indexing.mdx index 8fb7c41b1d7f..8ce3e658af95 100644 --- a/website/pages/de/network/indexing.mdx +++ b/website/pages/de/network/indexing.mdx @@ -735,7 +735,7 @@ Example query costing using the above model: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Anwendung des Kostenmodells From e7dcf9e9c086a3540dd9a1c3b0c2cc0e9237d0c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:18 -0400 Subject: [PATCH 1876/2326] New translations indexing.mdx (Italian) --- website/pages/it/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/it/network/indexing.mdx b/website/pages/it/network/indexing.mdx index b808ec13d489..99d886ab59ab 100644 --- a/website/pages/it/network/indexing.mdx +++ b/website/pages/it/network/indexing.mdx @@ -735,7 +735,7 @@ Esempio di query di costo utilizzando il modello di cui sopra: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Applicazione del modello di costo From 44ec4db5152fba7b7d44a35392f7da352aede49e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:19 -0400 Subject: [PATCH 1877/2326] New translations indexing.mdx (Japanese) --- website/pages/ja/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ja/network/indexing.mdx b/website/pages/ja/network/indexing.mdx index abd8622ecd6f..a7253f08703f 100644 --- a/website/pages/ja/network/indexing.mdx +++ b/website/pages/ja/network/indexing.mdx @@ -734,7 +734,7 @@ default => 0.1 * $SYSTEM_LOAD; | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { トークン { シンボル } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### コストモデルの適用 From 63e84fb9d2c5889b2e5cd32afe0134458748f66c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:20 -0400 Subject: [PATCH 1878/2326] New translations indexing.mdx (Korean) --- website/pages/ko/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ko/network/indexing.mdx b/website/pages/ko/network/indexing.mdx index 8ecbccdeb03e..0a7e568d58f0 100644 --- a/website/pages/ko/network/indexing.mdx +++ b/website/pages/ko/network/indexing.mdx @@ -735,7 +735,7 @@ Example query costing using the above model: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Applying the cost model From 3ace9ab2d4defd149d96f8508618926d63bd210a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:22 -0400 Subject: [PATCH 1879/2326] New translations indexing.mdx (Dutch) --- website/pages/nl/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/nl/network/indexing.mdx b/website/pages/nl/network/indexing.mdx index 0133e5360f2a..8c75dc977f79 100644 --- a/website/pages/nl/network/indexing.mdx +++ b/website/pages/nl/network/indexing.mdx @@ -735,7 +735,7 @@ Example query costing using the above model: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Applying the cost model From 9754eb25d1541636da502cbbd9155fb5c670bdf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:23 -0400 Subject: [PATCH 1880/2326] New translations indexing.mdx (Polish) --- website/pages/pl/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pl/network/indexing.mdx b/website/pages/pl/network/indexing.mdx index 8ecbccdeb03e..0a7e568d58f0 100644 --- a/website/pages/pl/network/indexing.mdx +++ b/website/pages/pl/network/indexing.mdx @@ -735,7 +735,7 @@ Example query costing using the above model: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Applying the cost model From 664188c5500a1c622ed7106d9c2dc410de01cee1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:24 -0400 Subject: [PATCH 1881/2326] New translations indexing.mdx (Portuguese) --- website/pages/pt/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/network/indexing.mdx b/website/pages/pt/network/indexing.mdx index de88bddf3dc8..09446fab26fb 100644 --- a/website/pages/pt/network/indexing.mdx +++ b/website/pages/pt/network/indexing.mdx @@ -736,7 +736,7 @@ Exemplo de custo de query usando o modelo acima: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Aplicação do modelo de custo From d809cb4779545ddb4c2d826db3d5d2d700d046a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:26 -0400 Subject: [PATCH 1882/2326] New translations indexing.mdx (Russian) --- website/pages/ru/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ru/network/indexing.mdx b/website/pages/ru/network/indexing.mdx index 47e19b4fafb2..952ccd6a37c3 100644 --- a/website/pages/ru/network/indexing.mdx +++ b/website/pages/ru/network/indexing.mdx @@ -735,7 +735,7 @@ default => 0.1 * $SYSTEM_LOAD; | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Применение модели затрат From fad4ae347220c799dae18bd08186de5c05f10277 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:27 -0400 Subject: [PATCH 1883/2326] New translations indexing.mdx (Swedish) --- website/pages/sv/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/sv/network/indexing.mdx b/website/pages/sv/network/indexing.mdx index 5382dc5b1d8f..9911c5f5dc2d 100644 --- a/website/pages/sv/network/indexing.mdx +++ b/website/pages/sv/network/indexing.mdx @@ -735,7 +735,7 @@ Exempel på kostnadskalkyl enligt ovanstående modell: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Tillämpning av kostnadsmodellen From 226e5e914d40be97dba8c05cd95da7ce5827e7db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:28 -0400 Subject: [PATCH 1884/2326] New translations indexing.mdx (Turkish) --- website/pages/tr/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/tr/network/indexing.mdx b/website/pages/tr/network/indexing.mdx index 44613e0ef7ba..fffb36feacd1 100644 --- a/website/pages/tr/network/indexing.mdx +++ b/website/pages/tr/network/indexing.mdx @@ -735,7 +735,7 @@ Yukarıdaki modeli kullanarak örnek sorgu maliyetlendirmesi: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Maliyet modelinin uygulanması From 16543974273a2bf6d8fe1c168f467f60907cdb1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:30 -0400 Subject: [PATCH 1885/2326] New translations indexing.mdx (Ukrainian) --- website/pages/uk/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/uk/network/indexing.mdx b/website/pages/uk/network/indexing.mdx index 9c14f4909424..24b9442e04e5 100644 --- a/website/pages/uk/network/indexing.mdx +++ b/website/pages/uk/network/indexing.mdx @@ -735,7 +735,7 @@ default => 0.1 * $SYSTEM_LOAD; | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Застосування вартісної моделі From ced42820ec86276b715599591045ed146ac684e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:31 -0400 Subject: [PATCH 1886/2326] New translations indexing.mdx (Chinese Simplified) --- website/pages/zh/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/zh/network/indexing.mdx b/website/pages/zh/network/indexing.mdx index 758f0c895f75..71e70aa3731b 100644 --- a/website/pages/zh/network/indexing.mdx +++ b/website/pages/zh/network/indexing.mdx @@ -734,7 +734,7 @@ default => 0.1 * $SYSTEM_LOAD; | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### 应用成本模式 From b1c36c26c41596e2b167469b919dbfe247300437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:32 -0400 Subject: [PATCH 1887/2326] New translations indexing.mdx (Urdu (Pakistan)) --- website/pages/ur/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ur/network/indexing.mdx b/website/pages/ur/network/indexing.mdx index e17ef5c8ef39..cd0d4e6a7c97 100644 --- a/website/pages/ur/network/indexing.mdx +++ b/website/pages/ur/network/indexing.mdx @@ -735,7 +735,7 @@ default => 0.1 * $SYSTEM_LOAD; | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Cost ماڈل لاگو کرنا From 15f2fe0c22bbb685b9081a31408beba47900b300 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:34 -0400 Subject: [PATCH 1888/2326] New translations indexing.mdx (Vietnamese) --- website/pages/vi/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/vi/network/indexing.mdx b/website/pages/vi/network/indexing.mdx index 7893bb05d03c..4b16088f61dd 100644 --- a/website/pages/vi/network/indexing.mdx +++ b/website/pages/vi/network/indexing.mdx @@ -735,7 +735,7 @@ Example query costing using the above model: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Áp dụng mô hình chi phí From 04c8eaf810425bd2c18e5f33ce3041b0da90a8e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:35 -0400 Subject: [PATCH 1889/2326] New translations indexing.mdx (Marathi) --- website/pages/mr/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/mr/network/indexing.mdx b/website/pages/mr/network/indexing.mdx index 46d959c4478f..9e05eb496cf5 100644 --- a/website/pages/mr/network/indexing.mdx +++ b/website/pages/mr/network/indexing.mdx @@ -735,7 +735,7 @@ Example query costing using the above model: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Applying the cost model From ef358417c406c1113d85783d0340d9d191e64deb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:36 -0400 Subject: [PATCH 1890/2326] New translations indexing.mdx (Hindi) --- website/pages/hi/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/hi/network/indexing.mdx b/website/pages/hi/network/indexing.mdx index a2b8ad6f026e..8960a7f2a7b2 100644 --- a/website/pages/hi/network/indexing.mdx +++ b/website/pages/hi/network/indexing.mdx @@ -735,7 +735,7 @@ default => 0.1 * $SYSTEM_LOAD; | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### लागत मॉडल लागू करना From b8767b0de45010ad2411085565b14c6ea41a6c30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 21 Jun 2024 09:47:38 -0400 Subject: [PATCH 1891/2326] New translations indexing.mdx (Yoruba) --- website/pages/yo/network/indexing.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/yo/network/indexing.mdx b/website/pages/yo/network/indexing.mdx index 8ecbccdeb03e..0a7e568d58f0 100644 --- a/website/pages/yo/network/indexing.mdx +++ b/website/pages/yo/network/indexing.mdx @@ -735,7 +735,7 @@ Example query costing using the above model: | ---------------------------------------------------------------------------- | ------- | | { pairs(skip: 5000) { id } } | 0.5 GRT | | { tokens { symbol } } | 0.1 GRT | -| { pairs(skip: 5000) { id { tokens } symbol } } | 0.6 GRT | +| { pairs(skip: 5000) { id } tokens { symbol } } | 0.6 GRT | #### Applying the cost model From 835640a28d83859c2950d283fae84fda152189e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 23 Jun 2024 21:52:02 -0400 Subject: [PATCH 1892/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index 261dbc07a906..fafb57a04266 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -4,7 +4,7 @@ title: Perguntas Frequentes sobre o Nascer do Sol + Atualizações da Graph Netw > Nota: Este documento é atualizado constantemente para garantir o repasse das informações mais úteis e precisas. Se não encontrar a informação que procura, ou se precisar de ajuda imediata, [fale no Discord](https://discord.gg/graphprotocol). Se precisar de informações sobre cobranças, consulte a página sobre [cobranças](/billing/). -## O Que É o Nascer do Sol dos Dados Descentralizados? +## What is the Sunrise of Decentralized Data? O Nascer do Sol dos Dados Descentralizados é uma iniciativa liderada pela Edge & Node. A meta é garantir que os programadores de subgraphs façam uma atualização suave para a rede descentralizada do The Graph. From 612ee2e92ab08445b169f2ea6cb5b5a37896e8bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 23 Jun 2024 21:52:04 -0400 Subject: [PATCH 1893/2326] New translations arbitrum-faq.mdx (Portuguese) --- website/pages/pt/arbitrum/arbitrum-faq.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/arbitrum/arbitrum-faq.mdx b/website/pages/pt/arbitrum/arbitrum-faq.mdx index 4a9dff3fd092..1dd2810e93c3 100644 --- a/website/pages/pt/arbitrum/arbitrum-faq.mdx +++ b/website/pages/pt/arbitrum/arbitrum-faq.mdx @@ -22,7 +22,7 @@ A comunidade do The Graph prosseguiu com o Arbitrum no ano passado, após o resu Os utilizadores criam um bridge (ponte) entre o seu GRT e ETH  com um dos seguintes métodos: -- [Bridge no Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 3202e0f2cc9c73a80c7fb8100279ca42dc06f9f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 23 Jun 2024 21:52:06 -0400 Subject: [PATCH 1894/2326] New translations l2-transfer-tools-guide.mdx (Portuguese) --- website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx index f799681d02ba..ef65853b50e1 100644 --- a/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ Após abrir a Ferramenta de Transferências, você poderá colocar o endereço d Ao executar este passo, **garanta que executará o 3º passo em menos de 7 dias, ou o subgraph e o seu GRT de sinalização serão perdidos.** Isto se deve à maneira de como as mensagens L1-L2 funcionam no Arbitrum: mensagens enviadas através da bridge são "bilhetes de tentativas extras" que devem ser executadas dentro de 7 dias, e a execução inicial pode exigir outra tentativa se houver um surto no preço de gas no Arbitrum. -![Comece a transferência à L2](/img/startTransferL2.png) +![Start the transfer to L2](/img/startTransferL2.png) ## 2º Passo: A espera do caminho do subgraph até a L2 From 9242b7b4d7291ba8ba7a349f8400b5ce31012c27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:03 -0400 Subject: [PATCH 1895/2326] New translations publishing-a-subgraph.mdx (Marathi) --- website/pages/mr/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/mr/publishing/publishing-a-subgraph.mdx b/website/pages/mr/publishing/publishing-a-subgraph.mdx index d9f8047e5ecc..2226bf75a7ea 100644 --- a/website/pages/mr/publishing/publishing-a-subgraph.mdx +++ b/website/pages/mr/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![एक्सप्लोरर सबग्राफ](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![क्युरेशन पूल](/img/curate-own-subgraph-tx.png) From 7204dcd2592033e6c44ffc6ffb7d45a1e5359a49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:04 -0400 Subject: [PATCH 1896/2326] New translations publishing-a-subgraph.mdx (Hindi) --- website/pages/hi/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/hi/publishing/publishing-a-subgraph.mdx b/website/pages/hi/publishing/publishing-a-subgraph.mdx index b6fb00065777..faf941e678fe 100644 --- a/website/pages/hi/publishing/publishing-a-subgraph.mdx +++ b/website/pages/hi/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![एक्सप्लोरर सबग्राफ](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![क्यूरेशन पूल](/img/curate-own-subgraph-tx.png) From e70611f65148849ccd6d1de7d8b88aa2e9523d46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:05 -0400 Subject: [PATCH 1897/2326] New translations publishing-a-subgraph.mdx (Portuguese) --- website/pages/pt/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/publishing/publishing-a-subgraph.mdx b/website/pages/pt/publishing/publishing-a-subgraph.mdx index f2cb8f326d4b..b6f976192685 100644 --- a/website/pages/pt/publishing/publishing-a-subgraph.mdx +++ b/website/pages/pt/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Subgraphs no Explorer](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Pool de Curadoria](/img/curate-own-subgraph-tx.png) From 7ec4764373c36b1227a5423fc981461736c52fb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:06 -0400 Subject: [PATCH 1898/2326] New translations publishing-a-subgraph.mdx (Romanian) --- website/pages/ro/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ro/publishing/publishing-a-subgraph.mdx b/website/pages/ro/publishing/publishing-a-subgraph.mdx index 482be222a7b5..cc94f1e679c2 100644 --- a/website/pages/ro/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ro/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Explorer subgraphs](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 5683fc6af4cecb27d96587412bffaea9dcf3e6e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:07 -0400 Subject: [PATCH 1899/2326] New translations publishing-a-subgraph.mdx (French) --- website/pages/fr/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/fr/publishing/publishing-a-subgraph.mdx b/website/pages/fr/publishing/publishing-a-subgraph.mdx index fa4f4c268152..f2112bcf441f 100644 --- a/website/pages/fr/publishing/publishing-a-subgraph.mdx +++ b/website/pages/fr/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Les subgraphs d'exploration](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Pool de curation](/img/curate-own-subgraph-tx.png) From 8661e71dbe4e8661396b89c0cd2bae8bfbb7088a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:08 -0400 Subject: [PATCH 1900/2326] New translations publishing-a-subgraph.mdx (Spanish) --- website/pages/es/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/es/publishing/publishing-a-subgraph.mdx b/website/pages/es/publishing/publishing-a-subgraph.mdx index 9cedf8eb0237..be2d35443c6a 100644 --- a/website/pages/es/publishing/publishing-a-subgraph.mdx +++ b/website/pages/es/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Subgrafos del Explorador](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 2f2ba0218bbcac7772cae516691d765b15ca2f19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:09 -0400 Subject: [PATCH 1901/2326] New translations publishing-a-subgraph.mdx (Arabic) --- website/pages/ar/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ar/publishing/publishing-a-subgraph.mdx b/website/pages/ar/publishing/publishing-a-subgraph.mdx index 981a8ad09ed9..191831637f6a 100644 --- a/website/pages/ar/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ar/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![مستكشف الفرعيةرسم بياني](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 6edb8c9c8aa4cb197b3da2656c0cccf5b5f17d85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:11 -0400 Subject: [PATCH 1902/2326] New translations publishing-a-subgraph.mdx (Czech) --- website/pages/cs/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/publishing/publishing-a-subgraph.mdx b/website/pages/cs/publishing/publishing-a-subgraph.mdx index fea7300096c4..a6b3a9d91861 100644 --- a/website/pages/cs/publishing/publishing-a-subgraph.mdx +++ b/website/pages/cs/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Podgrafy průzkumníka](/img/explorer-subgraphs.png) -Podgraf Studio umožňuje přidat signál do podgrafu přidáním GRT do fondu kurátorů podgrafu v téže transakci, ve které je publikován. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Kurátorský bazén](/img/curate-own-subgraph-tx.png) From 9c7c81168bbae0b8f980d40c9b5bf4f90f7c6b8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:12 -0400 Subject: [PATCH 1903/2326] New translations publishing-a-subgraph.mdx (German) --- website/pages/de/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/publishing/publishing-a-subgraph.mdx b/website/pages/de/publishing/publishing-a-subgraph.mdx index 482be222a7b5..cc94f1e679c2 100644 --- a/website/pages/de/publishing/publishing-a-subgraph.mdx +++ b/website/pages/de/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Explorer subgraphs](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 46b64d3c8eed7d71302c42f7da6652acbd0d757d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:13 -0400 Subject: [PATCH 1904/2326] New translations publishing-a-subgraph.mdx (Italian) --- website/pages/it/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/it/publishing/publishing-a-subgraph.mdx b/website/pages/it/publishing/publishing-a-subgraph.mdx index 600ae76742b6..eca0d442a298 100644 --- a/website/pages/it/publishing/publishing-a-subgraph.mdx +++ b/website/pages/it/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Subgraph Explorer](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Pool di curation](/img/curate-own-subgraph-tx.png) From 830ce92301da3a7082a96e13df4491b66d6b8238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:14 -0400 Subject: [PATCH 1905/2326] New translations publishing-a-subgraph.mdx (Japanese) --- website/pages/ja/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ja/publishing/publishing-a-subgraph.mdx b/website/pages/ja/publishing/publishing-a-subgraph.mdx index c9aaea2335dd..cb04c94a73c5 100644 --- a/website/pages/ja/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ja/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![エクスプローラー サブグラフ](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![キュレーションプール](/img/curate-own-subgraph-tx.png) From b7e40bd631ab156ce2c4b502d1371d37695a8a1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:15 -0400 Subject: [PATCH 1906/2326] New translations publishing-a-subgraph.mdx (Korean) --- website/pages/ko/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ko/publishing/publishing-a-subgraph.mdx b/website/pages/ko/publishing/publishing-a-subgraph.mdx index 482be222a7b5..cc94f1e679c2 100644 --- a/website/pages/ko/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ko/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Explorer subgraphs](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 0b2901e1139369d24b9c357dfde09885fe63f5d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:17 -0400 Subject: [PATCH 1907/2326] New translations publishing-a-subgraph.mdx (Dutch) --- website/pages/nl/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/nl/publishing/publishing-a-subgraph.mdx b/website/pages/nl/publishing/publishing-a-subgraph.mdx index ab2e2dc64f69..489fd5774c4d 100644 --- a/website/pages/nl/publishing/publishing-a-subgraph.mdx +++ b/website/pages/nl/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Verken Subgraphs](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 1fc3873022e5f107ceaf27b52d936738a7b52b5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:18 -0400 Subject: [PATCH 1908/2326] New translations publishing-a-subgraph.mdx (Polish) --- website/pages/pl/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pl/publishing/publishing-a-subgraph.mdx b/website/pages/pl/publishing/publishing-a-subgraph.mdx index 482be222a7b5..cc94f1e679c2 100644 --- a/website/pages/pl/publishing/publishing-a-subgraph.mdx +++ b/website/pages/pl/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Explorer subgraphs](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From d8056ff15840389f55ebafbf3bb61a9d15d498f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:19 -0400 Subject: [PATCH 1909/2326] New translations publishing-a-subgraph.mdx (Russian) --- website/pages/ru/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ru/publishing/publishing-a-subgraph.mdx b/website/pages/ru/publishing/publishing-a-subgraph.mdx index 4e22e130678e..00d4e6212d11 100644 --- a/website/pages/ru/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ru/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Explorer по подграфам](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Кураторский пул](/img/curate-own-subgraph-tx.png) From 4009f63282ce9db5a7017ca72d2750e234f6f681 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:20 -0400 Subject: [PATCH 1910/2326] New translations publishing-a-subgraph.mdx (Swedish) --- website/pages/sv/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/sv/publishing/publishing-a-subgraph.mdx b/website/pages/sv/publishing/publishing-a-subgraph.mdx index c803476b117c..4e700aa6c59d 100644 --- a/website/pages/sv/publishing/publishing-a-subgraph.mdx +++ b/website/pages/sv/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Utforska subgrafer](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Kurationspool](/img/curate-own-subgraph-tx.png) From c7eb013308161f246b924a8439a9dfb51867f1e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:21 -0400 Subject: [PATCH 1911/2326] New translations publishing-a-subgraph.mdx (Turkish) --- website/pages/tr/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/tr/publishing/publishing-a-subgraph.mdx b/website/pages/tr/publishing/publishing-a-subgraph.mdx index 7740e0f467fb..758d20b9ca95 100644 --- a/website/pages/tr/publishing/publishing-a-subgraph.mdx +++ b/website/pages/tr/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Explorer subgraphs](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 6eebe94cf9039ba8edbf45ea1f12bd8c6880cb52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:22 -0400 Subject: [PATCH 1912/2326] New translations publishing-a-subgraph.mdx (Ukrainian) --- website/pages/uk/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/uk/publishing/publishing-a-subgraph.mdx b/website/pages/uk/publishing/publishing-a-subgraph.mdx index a220543fc909..f6e0f9f5091c 100644 --- a/website/pages/uk/publishing/publishing-a-subgraph.mdx +++ b/website/pages/uk/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Дослідження підграфів](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 7154d5e906a289253b0aa1ea04fddd5e19abc523 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:23 -0400 Subject: [PATCH 1913/2326] New translations publishing-a-subgraph.mdx (Chinese Simplified) --- website/pages/zh/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/zh/publishing/publishing-a-subgraph.mdx b/website/pages/zh/publishing/publishing-a-subgraph.mdx index 6bc857f194c6..2c38338ff089 100644 --- a/website/pages/zh/publishing/publishing-a-subgraph.mdx +++ b/website/pages/zh/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![浏览器子图](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![策展池](/img/curate-own-subgraph-tx.png) From bb8d99481af2c5329026ccd10ffa240d2d733749 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:24 -0400 Subject: [PATCH 1914/2326] New translations publishing-a-subgraph.mdx (Urdu (Pakistan)) --- website/pages/ur/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ur/publishing/publishing-a-subgraph.mdx b/website/pages/ur/publishing/publishing-a-subgraph.mdx index c15f49107e4a..4a378e07d1f0 100644 --- a/website/pages/ur/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ur/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![سب گراف ایکسپلورر](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![کیوریشن پول](/img/curate-own-subgraph-tx.png) From 7d6bf8a02d1259a99bf83c0465aff948008f5893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:25 -0400 Subject: [PATCH 1915/2326] New translations publishing-a-subgraph.mdx (Vietnamese) --- website/pages/vi/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/vi/publishing/publishing-a-subgraph.mdx b/website/pages/vi/publishing/publishing-a-subgraph.mdx index 351d5ed02fee..a5e9ec03f633 100644 --- a/website/pages/vi/publishing/publishing-a-subgraph.mdx +++ b/website/pages/vi/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Trình khám phá subgraph](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From 7eb6f524ac9e1e0b16cc5dcda0eba78da0f73f2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 12:07:27 -0400 Subject: [PATCH 1916/2326] New translations publishing-a-subgraph.mdx (Yoruba) --- website/pages/yo/publishing/publishing-a-subgraph.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/yo/publishing/publishing-a-subgraph.mdx b/website/pages/yo/publishing/publishing-a-subgraph.mdx index 482be222a7b5..cc94f1e679c2 100644 --- a/website/pages/yo/publishing/publishing-a-subgraph.mdx +++ b/website/pages/yo/publishing/publishing-a-subgraph.mdx @@ -38,7 +38,7 @@ Indexers can find subgraphs to index based on curation signals they see in Graph ![Explorer subgraphs](/img/explorer-subgraphs.png) -Subgraph Studio enables you to to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. ![Curation Pool](/img/curate-own-subgraph-tx.png) From d6989a2301d410161f64e86ba6eff4290ba3443f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:35:51 -0400 Subject: [PATCH 1917/2326] New translations billing.mdx (Marathi) --- website/pages/mr/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/mr/billing.mdx b/website/pages/mr/billing.mdx index e04ec22f7576..a60af4685cc2 100644 --- a/website/pages/mr/billing.mdx +++ b/website/pages/mr/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From f15f2002dae055be1fdb691297a663bbc12712de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:35:53 -0400 Subject: [PATCH 1918/2326] New translations billing.mdx (Hindi) --- website/pages/hi/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/hi/billing.mdx b/website/pages/hi/billing.mdx index a7ccb2aafec8..bb5a1e7a401d 100644 --- a/website/pages/hi/billing.mdx +++ b/website/pages/hi/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 417f91ed324203351c5b3bdb4a8aa73713f8f0cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:35:54 -0400 Subject: [PATCH 1919/2326] New translations arbitrum-faq.mdx (Marathi) --- website/pages/mr/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/mr/arbitrum/arbitrum-faq.mdx b/website/pages/mr/arbitrum/arbitrum-faq.mdx index 1650614858da..5d6f63f83e23 100644 --- a/website/pages/mr/arbitrum/arbitrum-faq.mdx +++ b/website/pages/mr/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ The Graph community decided to move forward with Arbitrum last year after the ou ## What do I need to do to use The Graph on L2? -Users bridge their GRT and ETH  using one of the following methods: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. To take advantage of using The Graph on L2, use this dropdown switcher to toggle between chains. From b32bc148787ee746e8e882a52d0978d813a92406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:35:55 -0400 Subject: [PATCH 1920/2326] New translations arbitrum-faq.mdx (Portuguese) --- website/pages/pt/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/pt/arbitrum/arbitrum-faq.mdx b/website/pages/pt/arbitrum/arbitrum-faq.mdx index 1dd2810e93c3..54a39ee2062a 100644 --- a/website/pages/pt/arbitrum/arbitrum-faq.mdx +++ b/website/pages/pt/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ A comunidade do The Graph prosseguiu com o Arbitrum no ano passado, após o resu ## O que preciso fazer para usar o The Graph na L2? -Os utilizadores criam um bridge (ponte) entre o seu GRT e ETH  com um dos seguintes métodos: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. Para aproveitar o The Graph na L2, use este switcher de dropdown para alternar entre chains. From f14a30b4f8589bf4e2e04ba9fa8339ef16cf3ebb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:35:56 -0400 Subject: [PATCH 1921/2326] New translations billing.mdx (Portuguese) --- website/pages/pt/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/pt/billing.mdx b/website/pages/pt/billing.mdx index 782e0d22b344..f60d0d758967 100644 --- a/website/pages/pt/billing.mdx +++ b/website/pages/pt/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 25565b9ddeb74a43ebc0c883f4b6c7a8d6162afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:35:57 -0400 Subject: [PATCH 1922/2326] New translations billing.mdx (Romanian) --- website/pages/ro/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/ro/billing.mdx b/website/pages/ro/billing.mdx index f85a2937696b..8b5065d04e9f 100644 --- a/website/pages/ro/billing.mdx +++ b/website/pages/ro/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 425bc778012894f2d548df55787706587e87dc2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:35:58 -0400 Subject: [PATCH 1923/2326] New translations arbitrum-faq.mdx (Romanian) --- website/pages/ro/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/ro/arbitrum/arbitrum-faq.mdx b/website/pages/ro/arbitrum/arbitrum-faq.mdx index 5eb306642ff1..65e69cbfbe37 100644 --- a/website/pages/ro/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ro/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ The Graph community decided to move forward with Arbitrum last year after the ou ## What do I need to do to use The Graph on L2? -Users bridge their GRT and ETH  using one of the following methods: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. To take advantage of using The Graph on L2, use this dropdown switcher to toggle between chains. From d6b9fbb913f50f4303d8f2b913946ddb21ae44cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:36:00 -0400 Subject: [PATCH 1924/2326] New translations billing.mdx (French) --- website/pages/fr/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/fr/billing.mdx b/website/pages/fr/billing.mdx index 246be2228fba..825bab481e29 100644 --- a/website/pages/fr/billing.mdx +++ b/website/pages/fr/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From db6c08ff2ba18fffbf7cd23feefc6dfcd0a1bf7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:36:00 -0400 Subject: [PATCH 1925/2326] New translations arbitrum-faq.mdx (French) --- website/pages/fr/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/fr/arbitrum/arbitrum-faq.mdx b/website/pages/fr/arbitrum/arbitrum-faq.mdx index 631378f5f390..f785924f3287 100644 --- a/website/pages/fr/arbitrum/arbitrum-faq.mdx +++ b/website/pages/fr/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ La communauté Graph a décidé d'avancer avec Arbitrum l'année dernière aprè ## Que dois-je faire pour utiliser The Graph en L2 ? -Les utilisateurs bridgent leurs GRT et ETH en utilisant l'une des méthodes suivantes : +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [HopExchange ](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [HopExchange ](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. Pour tirer parti de l'utilisation de The Graph sur L2, utilisez ce sélecteur déroulant pour passer d'une chaîne à l'autre. From c5d52bccdfc80ad04d85ee3a2eed264ac770fc9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:36:02 -0400 Subject: [PATCH 1926/2326] New translations billing.mdx (Spanish) --- website/pages/es/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/es/billing.mdx b/website/pages/es/billing.mdx index cc71d9fb2c7e..7e336a88d427 100644 --- a/website/pages/es/billing.mdx +++ b/website/pages/es/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 1ecb1555c351cb89f80c926ccd94ce87b88a9ed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:36:03 -0400 Subject: [PATCH 1927/2326] New translations arbitrum-faq.mdx (Spanish) --- website/pages/es/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/es/arbitrum/arbitrum-faq.mdx b/website/pages/es/arbitrum/arbitrum-faq.mdx index a970a7f2847b..3449b5333f41 100644 --- a/website/pages/es/arbitrum/arbitrum-faq.mdx +++ b/website/pages/es/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ The Graph community decided to move forward with Arbitrum last year after the ou ## ¿Qué debo hacer para usar The Graph en L2? -Los usuarios realizan el bridge de su GRT y ETH mediante uno de los siguientes métodos: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. Para aprovechar el uso de The Graph en L2, usa este conmutador desplegable para alternar entre cadenas. From 7be2d6a06e997ff2f963dc70335cf396cc80244b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:36:04 -0400 Subject: [PATCH 1928/2326] New translations billing.mdx (Arabic) --- website/pages/ar/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/ar/billing.mdx b/website/pages/ar/billing.mdx index a57cf381b15e..c1594bcf34cd 100644 --- a/website/pages/ar/billing.mdx +++ b/website/pages/ar/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [الانتقال](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [الانتقال](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 628d7bcc5eb1145708d35439a1977d54f88b2595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 13:36:05 -0400 Subject: [PATCH 1929/2326] New translations arbitrum-faq.mdx (Arabic) --- website/pages/ar/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/ar/arbitrum/arbitrum-faq.mdx b/website/pages/ar/arbitrum/arbitrum-faq.mdx index b846386dff70..1eff26eb62e7 100644 --- a/website/pages/ar/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ar/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ The Graph community decided to move forward with Arbitrum last year after the ou ## ما الذي يجب علي فعله لاستخدام The Graph في L2؟ -يقوم المستخدمون بربط GRT و ETH باستخدام إحدى الطرق التالية: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. للاستفادة من استخدام The Graph على L2 ، استخدم قائمة المنسدلة للتبديل بين الشبكات. From c7483c3d3612149bd3b10cd663aac9bda4cb8a07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:21 -0400 Subject: [PATCH 1930/2326] New translations billing.mdx (Czech) --- website/pages/cs/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/cs/billing.mdx b/website/pages/cs/billing.mdx index 9d1cf6683a4e..37f46c1040b4 100644 --- a/website/pages/cs/billing.mdx +++ b/website/pages/cs/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From e48f58437a4f67c29cc9ca8b712cf63e532fafee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:22 -0400 Subject: [PATCH 1931/2326] New translations arbitrum-faq.mdx (Czech) --- website/pages/cs/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/cs/arbitrum/arbitrum-faq.mdx b/website/pages/cs/arbitrum/arbitrum-faq.mdx index 463a95e603ca..8528ea3b14a3 100644 --- a/website/pages/cs/arbitrum/arbitrum-faq.mdx +++ b/website/pages/cs/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ Komunita Graf se v loňském roce rozhodla pokračovat v Arbitrum po výsledku d ## Co musím udělat, abych mohl používat The Graph na serveru L2? -Uživatelé mostují své GRT a ETH pomocí jednoho z následujících postupů: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. Pro využití výhod používání a Graf na L2 použijte rozevírací přepínač k přepínání mezi řetězci. From 120445c4387b7247eb355aaac3e72fb213ccf7c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:28 -0400 Subject: [PATCH 1932/2326] New translations billing.mdx (German) --- website/pages/de/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/de/billing.mdx b/website/pages/de/billing.mdx index f85a2937696b..8b5065d04e9f 100644 --- a/website/pages/de/billing.mdx +++ b/website/pages/de/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From e3aeb50beacb042c6dbfa12fdbd8acd2c35319e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:29 -0400 Subject: [PATCH 1933/2326] New translations arbitrum-faq.mdx (German) --- website/pages/de/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/de/arbitrum/arbitrum-faq.mdx b/website/pages/de/arbitrum/arbitrum-faq.mdx index bd712016d8f0..ae5ba58c80e5 100644 --- a/website/pages/de/arbitrum/arbitrum-faq.mdx +++ b/website/pages/de/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ DieThe Graph-Community beschloss letztes Jahr nach dem Ergebnis der [GIP-0031](h ## Was muss ich tun, um The Graph auf L2 zu nutzen? -Die Benutzer überbrücken ihre GRT und ETH mit einer der folgenden Methoden: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. Um die Vorteile von The Graph auf L2 zu nutzen, verwenden Sie diesen Dropdown-Schalter, um zwischen den Ketten umzuschalten. From c77577cd790711e4c6ee720136d48c69dabd973f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:30 -0400 Subject: [PATCH 1934/2326] New translations billing.mdx (Italian) --- website/pages/it/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/it/billing.mdx b/website/pages/it/billing.mdx index f85a2937696b..8b5065d04e9f 100644 --- a/website/pages/it/billing.mdx +++ b/website/pages/it/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From ab0e9a5f06381fdb9a16958cfec5a1a4354e3f1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:32 -0400 Subject: [PATCH 1935/2326] New translations arbitrum-faq.mdx (Italian) --- website/pages/it/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/it/arbitrum/arbitrum-faq.mdx b/website/pages/it/arbitrum/arbitrum-faq.mdx index 68c005eb86ef..bbbd3aed501e 100644 --- a/website/pages/it/arbitrum/arbitrum-faq.mdx +++ b/website/pages/it/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ La comunità di The Graph ha deciso di procedere con Arbitrum l'anno scorso dopo ## Cosa devo fare per utilizzare The Graph su L2? -Gli utenti possono fare un bridge dei loro GRT ed ETH utilizzando uno dei seguenti metodi: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. Per sfruttare l'utilizzo di The Graph su L2, utilizza il selettore a discesa per passare tra le chain. From 180d97c18ba337dc068517a5e6ac93f210b062fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:33 -0400 Subject: [PATCH 1936/2326] New translations billing.mdx (Japanese) --- website/pages/ja/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/ja/billing.mdx b/website/pages/ja/billing.mdx index 86d5b4f15b2e..17d5a5e5c285 100644 --- a/website/pages/ja/billing.mdx +++ b/website/pages/ja/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 712eaab17b8a9f05cdc61fb4c72e5c3e8b0b2c7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:34 -0400 Subject: [PATCH 1937/2326] New translations arbitrum-faq.mdx (Japanese) --- website/pages/ja/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/ja/arbitrum/arbitrum-faq.mdx b/website/pages/ja/arbitrum/arbitrum-faq.mdx index 66661a0b9f2f..e9399d727e99 100644 --- a/website/pages/ja/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ja/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ Graph コミュニティは、[GIP-0031](https://forum.thegraph.com/t/gip-0031-a ## The Graph on L2を利用するために必要なことは何ですか? -ユーザーは、次のいずれかの方法を使用して、GRT と ETH をブリッジします。 +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. L2でのThe Graphの活用には、このドロップダウンスイッチャーを使用して、チェーンを切り替えてください。 From b6eebcac3ccaeb639ea97a58644dbcbf8eff2212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:35 -0400 Subject: [PATCH 1938/2326] New translations billing.mdx (Korean) --- website/pages/ko/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/ko/billing.mdx b/website/pages/ko/billing.mdx index f85a2937696b..8b5065d04e9f 100644 --- a/website/pages/ko/billing.mdx +++ b/website/pages/ko/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From e3a29c7cc4d08afb3328508261312daa139e14eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:36 -0400 Subject: [PATCH 1939/2326] New translations arbitrum-faq.mdx (Korean) --- website/pages/ko/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/ko/arbitrum/arbitrum-faq.mdx b/website/pages/ko/arbitrum/arbitrum-faq.mdx index 5eb306642ff1..65e69cbfbe37 100644 --- a/website/pages/ko/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ko/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ The Graph community decided to move forward with Arbitrum last year after the ou ## What do I need to do to use The Graph on L2? -Users bridge their GRT and ETH  using one of the following methods: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. To take advantage of using The Graph on L2, use this dropdown switcher to toggle between chains. From aefd8a0857038c7c844e63c98b228e5377e89d3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:37 -0400 Subject: [PATCH 1940/2326] New translations billing.mdx (Dutch) --- website/pages/nl/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/nl/billing.mdx b/website/pages/nl/billing.mdx index f85a2937696b..8b5065d04e9f 100644 --- a/website/pages/nl/billing.mdx +++ b/website/pages/nl/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From b4db526eb4e02e3c97775b4f16090f2a8aa37896 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:39 -0400 Subject: [PATCH 1941/2326] New translations arbitrum-faq.mdx (Dutch) --- website/pages/nl/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/nl/arbitrum/arbitrum-faq.mdx b/website/pages/nl/arbitrum/arbitrum-faq.mdx index 3c2dd125a245..e28988c7d7d2 100644 --- a/website/pages/nl/arbitrum/arbitrum-faq.mdx +++ b/website/pages/nl/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ The Graph gemeenschap heeft vorig jaar besloten om door te gaan met Arbitrum na ## Wat moet ik doen om The Graph te gebruiken op L2? -Gebruikers bruggen hun GRT en ETH  door middel van een van de volgende methodes: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. Om gebruik te maken van The Graph op L2, gebruik deze keuzeschakelaar om te wisselen tussen chains. From f17b5a616d06792d73cf5f7129380f87a05c7238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:40 -0400 Subject: [PATCH 1942/2326] New translations billing.mdx (Polish) --- website/pages/pl/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/pl/billing.mdx b/website/pages/pl/billing.mdx index f85a2937696b..8b5065d04e9f 100644 --- a/website/pages/pl/billing.mdx +++ b/website/pages/pl/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From a9ad01cc6fc98b9738283ff845c5504b058cfdfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:41 -0400 Subject: [PATCH 1943/2326] New translations arbitrum-faq.mdx (Polish) --- website/pages/pl/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/pl/arbitrum/arbitrum-faq.mdx b/website/pages/pl/arbitrum/arbitrum-faq.mdx index 448b2685ede0..382c26a1cd84 100644 --- a/website/pages/pl/arbitrum/arbitrum-faq.mdx +++ b/website/pages/pl/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ W zeszłym roku społeczność The Graph postanowiła pójść o krok do przodu ## Co należy zrobić by móc używać protokołu The Graph w L2? -Użytkownicy muszą najpierw przenieść swoje tokeny GRT i ETH między sieciami L1 i L2 (ang. bridge tokens), używając do tego jednej z trzech poniższych metod: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [Przeniesienie do](https://transferto.xyz/swap) -- [Most projektu Connext](https://bridge.connext.network/) -- [Giełda Hop](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [Przeniesienie do](https://transferto.xyz/swap) + - [Most projektu Connext](https://bridge.connext.network/) + - [Giełda Hop](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. By w pełni wykorzystać wszystkie zalety używania protokołu The Graph na L2 warto używać rozwijanej listy aby przełączać się między łańcuchami. From fa425028ce1f039870433b9ea122f321821e7cdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:43 -0400 Subject: [PATCH 1944/2326] New translations billing.mdx (Russian) --- website/pages/ru/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/ru/billing.mdx b/website/pages/ru/billing.mdx index 79637fe05d93..d652126af4aa 100644 --- a/website/pages/ru/billing.mdx +++ b/website/pages/ru/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 24c8d4b9c2d03c0f7ef577e1d2433c7bbde16067 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:44 -0400 Subject: [PATCH 1945/2326] New translations arbitrum-faq.mdx (Russian) --- website/pages/ru/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/ru/arbitrum/arbitrum-faq.mdx b/website/pages/ru/arbitrum/arbitrum-faq.mdx index 6cff56631336..facd92f7ae19 100644 --- a/website/pages/ru/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ru/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ title: Часто задаваемые вопросы об Arbitrum ## Что мне нужно сделать, чтобы использовать The Graph на L2? -Пользователи соединяют с помощью моста свои GRT и ETH  одним из следующих способов: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. Чтобы воспользоваться преимуществами использования The Graph на L2, используйте этот выпадающий список для переключения между сетями. From 1fc8233b3c6e7941918af0e85beb954ef1b1ec5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:45 -0400 Subject: [PATCH 1946/2326] New translations billing.mdx (Swedish) --- website/pages/sv/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/sv/billing.mdx b/website/pages/sv/billing.mdx index 0bc207902197..4d901456ee24 100644 --- a/website/pages/sv/billing.mdx +++ b/website/pages/sv/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bro](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bro](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 7c7d0e1422c6c0caccd0d6146ad6b69fce1613ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:46 -0400 Subject: [PATCH 1947/2326] New translations arbitrum-faq.mdx (Swedish) --- website/pages/sv/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/sv/arbitrum/arbitrum-faq.mdx b/website/pages/sv/arbitrum/arbitrum-faq.mdx index 48f21bdc817c..158eddbd19c0 100644 --- a/website/pages/sv/arbitrum/arbitrum-faq.mdx +++ b/website/pages/sv/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ Graph gemenskapen beslutade att gå vidare med Arbitrum förra året efter resul ## Vad behöver jag göra för att använda The Graph på L2? -Användare överbryggar sina GRT och ETH  med någon av följande metoder: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. För att dra fördel av att använda The Graph på L2, använd den här rullgardinsmenyn för att växla mellan kedjor. From 471fbf88dd7f0e228012d5fec37ef929951629e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:48 -0400 Subject: [PATCH 1948/2326] New translations billing.mdx (Turkish) --- website/pages/tr/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/tr/billing.mdx b/website/pages/tr/billing.mdx index 5a3411bf91de..8e03dfa20070 100644 --- a/website/pages/tr/billing.mdx +++ b/website/pages/tr/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From aa1ede6d2c87631a287c1b743f2c9dc4992f1a3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:49 -0400 Subject: [PATCH 1949/2326] New translations arbitrum-faq.mdx (Turkish) --- website/pages/tr/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/tr/arbitrum/arbitrum-faq.mdx b/website/pages/tr/arbitrum/arbitrum-faq.mdx index f1694b01d01f..761aa85a4c3b 100644 --- a/website/pages/tr/arbitrum/arbitrum-faq.mdx +++ b/website/pages/tr/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ Graph topluluğu, geçen yıl [GIP-0031](https://forum.thegraph.com/t/gip-0031-a ## Graph'ı Katman2'de kullanmak için ne yapmam gerekiyor? -Users bridge their GRT and ETH  using one of the following methods: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. Graph'ı Katman2'de kullanmanın avantajlarından yararlanmak için, zincirler arasında geçiş yapma noktasında bu açılır anahtarı kullanın. From 4f1b73889b28a99828b72a235899855ef12a0a2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:50 -0400 Subject: [PATCH 1950/2326] New translations billing.mdx (Ukrainian) --- website/pages/uk/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/uk/billing.mdx b/website/pages/uk/billing.mdx index ce654ad2d842..203d551a67cc 100644 --- a/website/pages/uk/billing.mdx +++ b/website/pages/uk/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 5acab7d323394186d081473dbbacedbef11ab0f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:51 -0400 Subject: [PATCH 1951/2326] New translations arbitrum-faq.mdx (Ukrainian) --- website/pages/uk/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/uk/arbitrum/arbitrum-faq.mdx b/website/pages/uk/arbitrum/arbitrum-faq.mdx index e941f3139671..4d8bff0613ac 100644 --- a/website/pages/uk/arbitrum/arbitrum-faq.mdx +++ b/website/pages/uk/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ The Graph community decided to move forward with Arbitrum last year after the ou ## Що мені потрібно зробити, щоб використовувати The Graph на L2? -Користувачі можуть переводити свої GRT і ETH токени, за допомогою наступних мостів: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. Щоб скористатися перевагами The Graph на L2, використовуйте перемикач, який допомагає перемкнутись між різними мережами, ви бачите його на зображенні. From 4c2eba01b20cdd1a168bad665c0110e6ec3dd3ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:52 -0400 Subject: [PATCH 1952/2326] New translations billing.mdx (Chinese Simplified) --- website/pages/zh/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/zh/billing.mdx b/website/pages/zh/billing.mdx index f287739dd7c4..ba096c7e98dc 100644 --- a/website/pages/zh/billing.mdx +++ b/website/pages/zh/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [转移到](https://transferto.xyz/swap) +- [Connext跨链桥](https://bridge.connext.network/) +- [Hop交换协议](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [转移到](https://transferto.xyz/swap) -- [Connext跨链桥](https://bridge.connext.network/) -- [Hop交换协议](https://app.hop.exchange/#/send?token=ETH) From 5267efda3888b1d2a0ccf5d244140e295081346b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:53 -0400 Subject: [PATCH 1953/2326] New translations arbitrum-faq.mdx (Chinese Simplified) --- website/pages/zh/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/zh/arbitrum/arbitrum-faq.mdx b/website/pages/zh/arbitrum/arbitrum-faq.mdx index 094c61592b67..0f78432c9bc1 100644 --- a/website/pages/zh/arbitrum/arbitrum-faq.mdx +++ b/website/pages/zh/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ title: Arbitrum网络常见问题解答 ## 我需要做什么才能在L2上使用Graph? -用户使用以下方法之一桥接GRT和ETH: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. 要使用L2上的Graph,请使用此下拉开关在链之间切换。 From f24baa33683742dbce31b186dc40fd6c08e83d44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:54 -0400 Subject: [PATCH 1954/2326] New translations billing.mdx (Urdu (Pakistan)) --- website/pages/ur/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/ur/billing.mdx b/website/pages/ur/billing.mdx index 828eaffbe4f0..9d2e0de971de 100644 --- a/website/pages/ur/billing.mdx +++ b/website/pages/ur/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [کی طرف بھیجنا](https://transferto.xyz/swap) +- [کونیکسٹ بریج](https://bridge.connext.network/) +- [ہاپ ایکسچینج](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [کی طرف بھیجنا](https://transferto.xyz/swap) -- [کونیکسٹ بریج](https://bridge.connext.network/) -- [ہاپ ایکسچینج](https://app.hop.exchange/#/send?token=ETH) From 9c28ee3e67806464890cb0b13528ba2335c2c549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:55 -0400 Subject: [PATCH 1955/2326] New translations arbitrum-faq.mdx (Urdu (Pakistan)) --- website/pages/ur/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/ur/arbitrum/arbitrum-faq.mdx b/website/pages/ur/arbitrum/arbitrum-faq.mdx index 3f49eba1460c..4fd83a8706b7 100644 --- a/website/pages/ur/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ur/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ L2 پر گراف کو سکیل کرنے سے، نیٹ ورک کے شرکاء ت ## گراف کو L2 پر استعمال کرنے کے لیے مجھے کیا کرنے کی ضرورت ہے؟ -صارفین مندرجہ ذیل طریقوں میں سے ایک کا استعمال کرتے ہوئے اپنے GRT اور ETH کو ملاتے ہیں: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. L2 پر گراف استعمال کرنے کا فائدہ اٹھانے کے لیے، چینز کے درمیان ٹوگل کرنے کے لیے اس ڈراپ ڈاؤن سوئچر کا استعمال کریں. From ae7c941e6e5039bcdab2f64bc9190fa0592509a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:56 -0400 Subject: [PATCH 1956/2326] New translations billing.mdx (Vietnamese) --- website/pages/vi/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/vi/billing.mdx b/website/pages/vi/billing.mdx index f85a2937696b..8b5065d04e9f 100644 --- a/website/pages/vi/billing.mdx +++ b/website/pages/vi/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 6591529461070f775a92f8569d12849f5b50004e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:57 -0400 Subject: [PATCH 1957/2326] New translations arbitrum-faq.mdx (Vietnamese) --- website/pages/vi/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/vi/arbitrum/arbitrum-faq.mdx b/website/pages/vi/arbitrum/arbitrum-faq.mdx index 5eb306642ff1..65e69cbfbe37 100644 --- a/website/pages/vi/arbitrum/arbitrum-faq.mdx +++ b/website/pages/vi/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ The Graph community decided to move forward with Arbitrum last year after the ou ## What do I need to do to use The Graph on L2? -Users bridge their GRT and ETH  using one of the following methods: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. To take advantage of using The Graph on L2, use this dropdown switcher to toggle between chains. From c97c68f7b336275662ed3107c3df04f1fe472e40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:58 -0400 Subject: [PATCH 1958/2326] New translations arbitrum-faq.mdx (Hindi) --- website/pages/hi/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/hi/arbitrum/arbitrum-faq.mdx b/website/pages/hi/arbitrum/arbitrum-faq.mdx index e778f0f94f6b..193ee0684164 100644 --- a/website/pages/hi/arbitrum/arbitrum-faq.mdx +++ b/website/pages/hi/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ The Graph community decided to move forward with Arbitrum last year after the ou ## L2 पर ग्राफ़ का उपयोग करने के लिए मुझे क्या करना होगा? -उपयोगकर्ता निम्न विधियों में से किसी एक का उपयोग करके अपने GRT और ETH को पाटते हैं: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [TransferTo](https://transferto.xyz/swap) + - [Connext Bridge](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. L2 पर द ग्राफ़ का उपयोग करने का लाभ उठाने के लिए, इस ड्रॉपडाउन स्विचर का उपयोग जंजीरों के बीच टॉगल करने के लिए करें। From 06f0527a3db01f1ca1c7afcbca5ff520a0678c1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:22:59 -0400 Subject: [PATCH 1959/2326] New translations billing.mdx (Yoruba) --- website/pages/yo/billing.mdx | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/website/pages/yo/billing.mdx b/website/pages/yo/billing.mdx index f85a2937696b..8b5065d04e9f 100644 --- a/website/pages/yo/billing.mdx +++ b/website/pages/yo/billing.mdx @@ -31,9 +31,24 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT from either Arbitrum or Ethereum, but users will need ETH on Arbitrum to pay for gas. While The Graph protocol started on Ethereum Mainnet, most activity, including all of the billing contracts, are on Arbitrum One. Although setting up billing with GRT on Arbitrum will process more quickly, users do not need to bridge GRT to Arbitrum before setting up billing for The Graph Network. +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -> This section is written assuming you already have GRT in your wallet, and you're on Ethereum mainnet. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + +- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- [TransferTo](https://transferto.xyz/swap) +- [Connext Bridge](https://bridge.connext.network/) +- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + +- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. + +- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. + +> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). + +Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet @@ -198,12 +213,3 @@ Yes, you can always withdraw GRT that has not already been used for queries from ### What happens when my billing balance runs? Will I get a warning? You will receive several email notifications before your billing balance runs out. - -### Which chain does GRT need to be on? - -Subgraph Studio's GRT billing is deployed on Arbitrum. You can bridge GRT and ETH from mainnet Ethereum using any of the following options: - -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) From 5db99cba268f7caa923e9ba0f04333e46f63dced Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 24 Jun 2024 15:23:00 -0400 Subject: [PATCH 1960/2326] New translations arbitrum-faq.mdx (Yoruba) --- website/pages/yo/arbitrum/arbitrum-faq.mdx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/website/pages/yo/arbitrum/arbitrum-faq.mdx b/website/pages/yo/arbitrum/arbitrum-faq.mdx index e6edba94003b..3599e4c74844 100644 --- a/website/pages/yo/arbitrum/arbitrum-faq.mdx +++ b/website/pages/yo/arbitrum/arbitrum-faq.mdx @@ -20,12 +20,19 @@ Agbegbe The Graph pinnu lati lọ siwaju pẹlu Arbitrum ni ọdun to kọja l ## Kini mo nilo lati se lati lo The Graph lori L2? -Àwọn olumulo ṣé afárá GRT wọn àti ETH ní lilo ọkàn nínú àwọn ọnà wọ̀nyí: +The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. -- [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) -- [Gbe lọ si](https://transferto.xyz/swap) -- [Afara Connext](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: + +- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) + - [Gbe lọ si](https://transferto.xyz/swap) + - [Afara Connext](https://bridge.connext.network/) + - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) +- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. + +Once you have GRT on Arbitrum, you can add it to your billing balance. Lati lo anfani ti lilo Bola lori L2, lo switcher dropdown yii lati yi laarin awọn ẹwọn. From 1ec403cf5808a977beaaaf7b620a7bae82a16089 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 26 Jun 2024 05:35:46 -0400 Subject: [PATCH 1961/2326] New translations billing.mdx (Portuguese) --- website/pages/pt/billing.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/pt/billing.mdx b/website/pages/pt/billing.mdx index f60d0d758967..9b05facbd1cb 100644 --- a/website/pages/pt/billing.mdx +++ b/website/pages/pt/billing.mdx @@ -2,22 +2,22 @@ title: Cobranças --- -## Subgraph Billing Plans +## Planos de Cobrança para Subgraphs -There are two plans to use when querying subgraphs on The Graph Network. +Há dois planos disponíveis para queries de subgraphs na Graph Network. -- **Free Plan**: The Free Plan includes 100,000 free monthly queries with full access to the Subgraph Studio testing environment. This plan is designed for hobbyists, hackathoners, and those with side projects to try out The Graph before scaling their dapp. +- **Plano Grátis**: O Plano Grátis inclui 100 mil queries mensais gratuitas com acesso total ao ambiente de teste do Subgraph Studio. Este plano é desenhado para amadores, hackathoners e quem tem projetos paralelos para experimentar o The Graph antes de escalar o seu dApp. -- **Growth Plan**: The Growth Plan includes everything in the Free Plan with all queries after 100,000 monthly queries requiring payments with GRT or credit card. The Growth Plan is flexible enough to cover teams that have established dapps across a variety of use cases. +- **Plano de Crescimento**: O Plano de Crescimento inclui tudo no Plano Grátis; ademais, todas as queries após as 100 mil queries mensais exigirão pagamentos em GRT ou cartão de crédito. O Plano de Crescimento é flexível o suficiente para cobrir equipas com dApps estabelecidos em uma variedade de casos de uso. -## Query Payments with credit card +## Pagamentos de Queries com cartão de crédito -- To set up billing with credit/debit cards, users will access Subgraph Studio (https://thegraph.com/studio/) - 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +- Para configurar opções de pagamento no cartão, os utilizadores deverão acessar o Subgraph Studio (https://thegraph.com/studio/) + 1. Entre na [página de Cobranças do Subgraph Studio](https://thegraph.com/studio/billing/). 2. Clique no botão "Connect Wallet" (Conectar Carteira) no canto superior direito da página. Isto levará à página de seleção de carteira; lá, selecione a sua carteira e clique em "Connect". - 3. Choose “Upgrade plan” if you are upgrading from the Free Plan or choose “Manage Plan” if you have already added GRT to your billing balance in the past. Next, you can estimate the number of queries to get a pricing estimate, but this is not a required step. + 3. Escolha "atualizar plano" se está a atualizar do Plano Grátis, ou escolha "Gerir plano" se já adicionou GRT ao seu saldo de cobrança no passado. Depois, é possível estimar o número de queries para conseguir uma estimativa de preço, mas isto não é obrigatório. 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. - Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. @@ -52,7 +52,7 @@ Once you bridge GRT, you can add it to your billing balance. ### Adding GRT using a wallet -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +1. Entre na [página de Cobranças do Subgraph Studio](https://thegraph.com/studio/billing/). 2. Clique no botão "Connect Wallet" (Conectar Carteira) no canto superior direito da página. Isto levará à página de seleção de carteira; lá, selecione a sua carteira e clique em "Connect". 3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". 4. Use the slider to estimate the number of queries you expect to make on a monthly basis. @@ -69,7 +69,7 @@ Once you bridge GRT, you can add it to your billing balance. ### Withdrawing GRT using a wallet -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). +1. Entre na [página de Cobranças do Subgraph Studio](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". 3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. 4. Enter the amount of GRT you would like to withdraw. From feaf20cbdac2dab2b507f93ab4be38acdc52c944 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 26 Jun 2024 07:35:17 -0400 Subject: [PATCH 1962/2326] New translations billing.mdx (Portuguese) --- website/pages/pt/billing.mdx | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/pt/billing.mdx b/website/pages/pt/billing.mdx index 9b05facbd1cb..63af29da828c 100644 --- a/website/pages/pt/billing.mdx +++ b/website/pages/pt/billing.mdx @@ -18,39 +18,39 @@ Há dois planos disponíveis para queries de subgraphs na Graph Network. 1. Entre na [página de Cobranças do Subgraph Studio](https://thegraph.com/studio/billing/). 2. Clique no botão "Connect Wallet" (Conectar Carteira) no canto superior direito da página. Isto levará à página de seleção de carteira; lá, selecione a sua carteira e clique em "Connect". 3. Escolha "atualizar plano" se está a atualizar do Plano Grátis, ou escolha "Gerir plano" se já adicionou GRT ao seu saldo de cobrança no passado. Depois, é possível estimar o número de queries para conseguir uma estimativa de preço, mas isto não é obrigatório. - 4. To choose a credit card payment, choose “Credit card” as the payment method and fill out your credit card information. Those who have used Stripe before can use the Link feature to autofill their details. -- Invoices will be processed at the end of each month and require an active credit card on file for all queries beyond the free plan quota. + 4. Para escolher um pagamento em cartão de crédito, escolha "Cartão de crédito" como o método de pagamento e preencha os campos. Quem já usou o Stripe antes poderá preencher os seus detalhes automaticamente com o recurso Link. +- Os recibos serão processados ao fim de cada mês e exigem um cartão de crédito ativo para todas as queries além da cota do plano grátis. -## Query Payments with GRT +## Pagamentos de Queries com GRT -Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph Network. With GRT, invoices will be processed at the end of each month and require a sufficient balance of GRT to make queries beyond the Free Plan quota of 100,000 monthly queries. You'll be required to pay fees generated from your API keys. Using the billing contract, you'll be able to: +Utilizadores de subgraph podem utilizar o The Graph Token (ou GRT) para pagar por queries na Graph Network. Com o GRT, recibos serão processados ao fim de cada mês e exigirão um saldo suficiente em GRT para realizar queries além da cota de 100 mil queries grátis do Plano Grátis. Você precisará pagar taxas geradas das suas chaves API. Com o contrato de cobrança, será possível: - Depositar e sacar GRT do seu saldo. - Acompanhar os seus balanços com base em quanto GRT depositou ao seu saldo, quanto retirou, e nos seus recibos. - Pagar recibos automaticamente com base nas taxas de query geradas, desde que tenha GRT suficiente no seu saldo. -### GRT on Arbitrum or Ethereum +### GRT no Arbitrum ou Ethereum -The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. +O sistema de cobranças do The Graph aceita GRT no Arbitrum, e os utilizadores precisarão de ETH no Arbitrum para pagar pelo seu gas. Enquanto o protocolo do The Graph começou na Mainnet do Ethereum, todas as atividades, inclusive os contratos de cobranças, agora ficam no Arbitrum One. -To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: +Para pagar por queries, é necessário ter GRT no Arbitrum. Veja algumas maneiras diferentes de adquirir o token: -- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: +- Caso já tenha GRT no Ethereum, é possível enviá-lo ao Arbitrum via bridge. Isto é possível via a opção de bridging de GRT providenciada no Subgraph Studio ou uma das seguintes bridges: - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) -- If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. +- Caso tenha outros ativos no Arbitrum, é possível trocá-los por GRT através de um protocolo de troca como o Uniswap. -- Alternatively, you acquire GRT directly on Arbitrum through a decentralized exchange. +- Também é possível adquirir GRT diretamente no Arbitrum via uma exchange descentralizada. -> This section is written assuming you already have GRT in your wallet, and you're on Arbitrum. If you don't have GRT, you can learn how to get GRT [here](#getting-grt). +> Esta seção presume que já tens GRT na sua carteira, e que está na rede Arbitrum. Caso não tenha GRT, aprenda como adquirir o token [aqui](#getting-grt). -Once you bridge GRT, you can add it to your billing balance. +Quando fizeres bridge do GRT, será possível adicioná-lo ao seu saldo de cobranças. -### Adding GRT using a wallet +### Depósitos de GRT com uma carteira 1. Entre na [página de Cobranças do Subgraph Studio](https://thegraph.com/studio/billing/). 2. Clique no botão "Connect Wallet" (Conectar Carteira) no canto superior direito da página. Isto levará à página de seleção de carteira; lá, selecione a sua carteira e clique em "Connect". From 8ed134cc7fb9667faf280b33acfb4c38522d6b8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 26 Jun 2024 19:39:36 -0400 Subject: [PATCH 1963/2326] New translations billing.mdx (Portuguese) --- website/pages/pt/billing.mdx | 58 ++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/website/pages/pt/billing.mdx b/website/pages/pt/billing.mdx index 63af29da828c..b4917f696481 100644 --- a/website/pages/pt/billing.mdx +++ b/website/pages/pt/billing.mdx @@ -54,20 +54,20 @@ Quando fizeres bridge do GRT, será possível adicioná-lo ao seu saldo de cobra 1. Entre na [página de Cobranças do Subgraph Studio](https://thegraph.com/studio/billing/). 2. Clique no botão "Connect Wallet" (Conectar Carteira) no canto superior direito da página. Isto levará à página de seleção de carteira; lá, selecione a sua carteira e clique em "Connect". -3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". -4. Use the slider to estimate the number of queries you expect to make on a monthly basis. - - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. -5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. -6. Select the number of months you would like to prepay. - - Paying in advance does not commit you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. -7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. -8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. - - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. -9. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. +3. Selecione o botão "Manage" (Gerir) perto do canto superior direito. Utilizadores noviços verão uma opção para "Upgrade to Growth Plan" (Atualizar para o Plano de Crescimento), enquanto os frequentes devem clicar em "Deposit from wallet" (Depositar de carteira). +4. Use o slider para estimar o número de queries que espera fazer mensalmente. + - Para sugestões sobre o número de queries que deve usar, veja a nossa página de **Perguntas Frequentes**. +5. Escolha "Criptomoedas". Atualmente, o GRT é a única criptomoeda aceita na Graph Network. +6. Selecione o número de meses que deseja pagar antecipadamente. + - Pagamentos antecipados não te comprometem a usos futuros. Você só será cobrado pelo que usa, e pode sacar o seu saldo a qualquer hora. +7. Escolha a rede da qual o seu GRT será depositado. Vale tanto GRT do Arbitrum quanto do Ethereum. +8. Clique "Allow GRT Access" (Permitir Acesso ao GRT) e depois especifique a quantidade de GRT que pode ser retirada da sua carteira. + - Se pagar múltiplos meses antecipadamente, permita o acesso à quantia que corresponde àquela quantidade. Esta interação não custará gas. +9. Por último, clique em "Add GRT to Billing Balance" (Adicionar GRT ao Saldo de Cobranças). Esta transação precisará de GRT no Arbitrum para cobrir os custos de gas. -- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. +- Note que o GRT depositado do Arbitrum será processado dentro de alguns momentos, enquanto o GRT depositado do Ethereum levará cerca de 15 a 20 min para processar. Quando a transação for confirmada, verás o GRT adicionado ao seu saldo. -### Withdrawing GRT using a wallet +### Saques de GRT com carteira 1. Entre na [página de Cobranças do Subgraph Studio](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". @@ -80,17 +80,17 @@ Quando fizeres bridge do GRT, será possível adicioná-lo ao seu saldo de cobra 1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). 2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. -3. Select the "Manage" button near the top right corner. First time users will see an option to "Upgrade to Growth plan" while returning users will click "Deposit from wallet". -4. Use the slider to estimate the number of queries you expect to make on a monthly basis. - - For suggestions on the number of queries you may use, see our **Frequently Asked Questions** page. -5. Choose "Cryptocurrency". GRT is currently the only cryptocurrency accepted on The Graph Network. -6. Select the number of months you would like to prepay. +3. Selecione o botão "Manage" (Gerir) perto do canto superior direito. Utilizadores noviços verão uma opção para "Upgrade to Growth Plan" (Atualizar para o Plano de Crescimento), enquanto os frequentes devem clicar em "Deposit from wallet" (Depositar de carteira). +4. Use o slider para estimar o número de queries que espera fazer mensalmente. + - Para sugestões sobre o número de queries que deve usar, veja a nossa página de **Perguntas Frequentes**. +5. Escolha "Criptomoedas". Atualmente, o GRT é a única criptomoeda aceita na Graph Network. +6. Selecione o número de meses que deseja pagar antecipadamente. - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. 7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. - - If you are prepaying for multiple months, you must allow access to the amount that corresponds with that amount. This interaction will not cost any gas. -8. Lastly, click on "Add GRT to Billing Balance". This transaction will require ETH on Arbitrum to cover the gas costs. + - Se pagar múltiplos meses antecipadamente, permita o acesso à quantia que corresponde àquela quantidade. Esta interação não custará gas. +8. Por último, clique em "Add GRT to Billing Balance" (Adicionar GRT ao Saldo de Cobranças). Esta transação precisará de GRT no Arbitrum para cobrir os custos de gas. -- Note that GRT deposited from Arbitrum will process within a few moments while GRT deposited from Ethereum will take approximately 15-20 minutes to process. Once the transaction is confirmed, you'll see the GRT added to your account balance. +- Note que o GRT depositado do Arbitrum será processado dentro de alguns momentos, enquanto o GRT depositado do Ethereum levará cerca de 15 a 20 min para processar. Quando a transação for confirmada, verás o GRT adicionado ao seu saldo. ## Getting GRT @@ -196,20 +196,20 @@ Este é um guia passo a passo sobre como comprar ETH na Binance. Saiba mais sobre como adquirir ETH na Binance [aqui](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). -## Billing FAQs +## Perguntas Frequentes Sobre Cobranças -### How many queries will I need? +### De quantas queries precisarei? -You don't need to know how many queries you'll need in advance. You will only be charged for what you use and you can withdrawal GRT from your account at any time. +Não é necessário saber com antecedência quantos queries serão necessários. Você só será cobrado pelo que usar, e poderá sacar GRT da sua conta a qualquer hora. -We recommend you overestimate the number of queries you will need so that you don’t have to top up your balance frequently. A good estimate for small to medium sized applications is to start with 1M-2M queries per month and monitor usage closely in the first weeks. For larger apps, a good estimate is to use the number of daily visits your site gets multiplied by the number of queries your most active page makes upon opening. +Recomendamos estimar mais queries do que necessário para que não precise encher o seu saldo com frequência. Uma boa estimativa para aplicativos pequenos ou médios é começar com 1 a 2 milhões de queries por mês e monitorar atenciosamente o uso nas primeiras semanas. Para aplicativos maiores, uma boa estimativa consiste em utilizar o número de visitas diárias ao seu site multiplicado ao número de queries que a sua página mais ativa faz ao abrir. -Of course, both new and existing users can reach out to Edge & Node's BD team for a consult to learn more about anticipated usage. +Claro que todos os utilizadores, novatos ou experientes, podem contactar a equipa de BD da Edge & Node para aprender mais sobre uso antecipado. -### Can I withdraw GRT from my billing balance? +### Posso sacar GRT do meu saldo de cobrança? -Yes, you can always withdraw GRT that has not already been used for queries from your billing balance. The billing contract is only designed to bridge GRT from Ethereum mainnet to the Arbitrum network. If you'd like to transfer your GRT from Arbitrum back to Ethereum mainnet, you'll need to use the [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). +Sim, sempre é possível sacar GRT que não já foi usado para queries do seu saldo de cobrança. O contrato inteligente só é projetado para bridgear GRT da mainnet Ethereum até a rede Arbitrum. Se quiser transferir o seu GRT do Arbitrum de volta à mainnet Ethereum, precisará usar a [Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161). -### What happens when my billing balance runs? Will I get a warning? +### O que acontece quando o meu saldo de cobrança se esgota? Receberei um aviso? -You will receive several email notifications before your billing balance runs out. +Serão enviadas várias notificações de email antes do seu saldo de cobrança ser esvaziado. From ca7247f4b185640d900224d3ebe1ebf2ca9ad3c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:39 -0400 Subject: [PATCH 1964/2326] New translations supported-network-requirements.mdx (Romanian) --- .../ro/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/ro/supported-network-requirements.mdx b/website/pages/ro/supported-network-requirements.mdx index 317e25bcc7c5..9662552e4e6a 100644 --- a/website/pages/ro/supported-network-requirements.mdx +++ b/website/pages/ro/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Network | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From c54d908c608c42711058697af8250537bed82eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:41 -0400 Subject: [PATCH 1965/2326] New translations supported-network-requirements.mdx (French) --- .../fr/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/fr/supported-network-requirements.mdx b/website/pages/fr/supported-network-requirements.mdx index 45705c76b7bf..c3dfc253558c 100644 --- a/website/pages/fr/supported-network-requirements.mdx +++ b/website/pages/fr/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Réseau | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Réseau | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From 1709855f5f54cfc7b186dad35b434323ef86f548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:42 -0400 Subject: [PATCH 1966/2326] New translations supported-network-requirements.mdx (Spanish) --- .../es/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/es/supported-network-requirements.mdx b/website/pages/es/supported-network-requirements.mdx index 4011acb77cbb..347fcc74555d 100644 --- a/website/pages/es/supported-network-requirements.mdx +++ b/website/pages/es/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Red | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Red | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From ba0032a5ce35f6c395383aefa2499104ca589447 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:44 -0400 Subject: [PATCH 1967/2326] New translations supported-network-requirements.mdx (Arabic) --- .../ar/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/ar/supported-network-requirements.mdx b/website/pages/ar/supported-network-requirements.mdx index 8c4628ab1534..1f61d9d971ca 100644 --- a/website/pages/ar/supported-network-requirements.mdx +++ b/website/pages/ar/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Network | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| بوليجون | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| بوليجون | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From 7aaa4badc7ed2aca8d0b67688d45fd29db954254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:45 -0400 Subject: [PATCH 1968/2326] New translations supported-network-requirements.mdx (Czech) --- .../cs/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/cs/supported-network-requirements.mdx b/website/pages/cs/supported-network-requirements.mdx index 32436d06e433..47555bff589f 100644 --- a/website/pages/cs/supported-network-requirements.mdx +++ b/website/pages/cs/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Síť | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Síť | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From f22cbef65149540720f226513c329cdb99518d43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:46 -0400 Subject: [PATCH 1969/2326] New translations supported-network-requirements.mdx (German) --- .../de/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/de/supported-network-requirements.mdx b/website/pages/de/supported-network-requirements.mdx index 317e25bcc7c5..9662552e4e6a 100644 --- a/website/pages/de/supported-network-requirements.mdx +++ b/website/pages/de/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Network | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From 5c23771181487bf0276f1d719a72e93af2a6ad71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:47 -0400 Subject: [PATCH 1970/2326] New translations supported-network-requirements.mdx (Italian) --- .../it/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/it/supported-network-requirements.mdx b/website/pages/it/supported-network-requirements.mdx index 934f7d4877a3..f2861cb89a4c 100644 --- a/website/pages/it/supported-network-requirements.mdx +++ b/website/pages/it/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| La rete | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| La rete | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From b63415b58debbd3abf56e6e7bf5844ae1b4f8ba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:48 -0400 Subject: [PATCH 1971/2326] New translations supported-network-requirements.mdx (Japanese) --- .../ja/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/ja/supported-network-requirements.mdx b/website/pages/ja/supported-network-requirements.mdx index 92c54edcf911..1aae63b06cc2 100644 --- a/website/pages/ja/supported-network-requirements.mdx +++ b/website/pages/ja/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| ネットワーク | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| ネットワーク | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From e0ce89bf5765e91144f79087b55e57e0acc8e183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:48 -0400 Subject: [PATCH 1972/2326] New translations supported-network-requirements.mdx (Korean) --- .../ko/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/ko/supported-network-requirements.mdx b/website/pages/ko/supported-network-requirements.mdx index 317e25bcc7c5..9662552e4e6a 100644 --- a/website/pages/ko/supported-network-requirements.mdx +++ b/website/pages/ko/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Network | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From 431d473c062fcfa67ce3aecb354c573780bc7ab7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:49 -0400 Subject: [PATCH 1973/2326] New translations supported-network-requirements.mdx (Dutch) --- .../nl/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/nl/supported-network-requirements.mdx b/website/pages/nl/supported-network-requirements.mdx index e53bdc3b1742..aea52116a3a5 100644 --- a/website/pages/nl/supported-network-requirements.mdx +++ b/website/pages/nl/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Netwerk | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Netwerk | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From bb22d1c5f592726d6bedb02ed9d742250220b404 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:50 -0400 Subject: [PATCH 1974/2326] New translations supported-network-requirements.mdx (Polish) --- .../pl/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/pl/supported-network-requirements.mdx b/website/pages/pl/supported-network-requirements.mdx index 317e25bcc7c5..9662552e4e6a 100644 --- a/website/pages/pl/supported-network-requirements.mdx +++ b/website/pages/pl/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Network | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From 52f4f5f5dc76715b578c15267fe32853394decab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:51 -0400 Subject: [PATCH 1975/2326] New translations supported-network-requirements.mdx (Portuguese) --- .../pt/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/pt/supported-network-requirements.mdx b/website/pages/pt/supported-network-requirements.mdx index c2bc2ea85bdf..ed1c04399a17 100644 --- a/website/pages/pt/supported-network-requirements.mdx +++ b/website/pages/pt/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Rede | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Rede | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From df9a23cca1afb13c28594036e42609c1c3319100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:52 -0400 Subject: [PATCH 1976/2326] New translations supported-network-requirements.mdx (Russian) --- .../ru/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/ru/supported-network-requirements.mdx b/website/pages/ru/supported-network-requirements.mdx index 7ec22c90057c..940151226f74 100644 --- a/website/pages/ru/supported-network-requirements.mdx +++ b/website/pages/ru/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Сеть | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Сеть | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From f360506da52339f5388eb34259a1d346c2d74409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:53 -0400 Subject: [PATCH 1977/2326] New translations supported-network-requirements.mdx (Swedish) --- .../sv/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/sv/supported-network-requirements.mdx b/website/pages/sv/supported-network-requirements.mdx index 1e1e6dc63d35..0eb3e96fa7a8 100644 --- a/website/pages/sv/supported-network-requirements.mdx +++ b/website/pages/sv/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Nätverk | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Nätverk | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From 9b161e24b2f7cc950b5766ee1effc6236c04dd5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:54 -0400 Subject: [PATCH 1978/2326] New translations supported-network-requirements.mdx (Turkish) --- .../tr/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/tr/supported-network-requirements.mdx b/website/pages/tr/supported-network-requirements.mdx index 01f9214e9188..416333a6e291 100644 --- a/website/pages/tr/supported-network-requirements.mdx +++ b/website/pages/tr/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Ağ | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Ağ | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From f516a2c651fdf306f76f8da82ea40638fdd93830 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:55 -0400 Subject: [PATCH 1979/2326] New translations supported-network-requirements.mdx (Ukrainian) --- .../uk/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/uk/supported-network-requirements.mdx b/website/pages/uk/supported-network-requirements.mdx index 317e25bcc7c5..9662552e4e6a 100644 --- a/website/pages/uk/supported-network-requirements.mdx +++ b/website/pages/uk/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Network | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From 93553f536b4fa08c5f7dbca11f73e7956d1983e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:56 -0400 Subject: [PATCH 1980/2326] New translations supported-network-requirements.mdx (Chinese Simplified) --- .../zh/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/zh/supported-network-requirements.mdx b/website/pages/zh/supported-network-requirements.mdx index 80d204a59b9a..c4b2d20c12cb 100644 --- a/website/pages/zh/supported-network-requirements.mdx +++ b/website/pages/zh/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| 网络 | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| 以太坊 | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| 网络 | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| 以太坊 | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From 014e1f57edb635eb905d4361b721dde648db1bd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:57 -0400 Subject: [PATCH 1981/2326] New translations supported-network-requirements.mdx (Urdu (Pakistan)) --- .../ur/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/ur/supported-network-requirements.mdx b/website/pages/ur/supported-network-requirements.mdx index 355613229157..445fe81bc504 100644 --- a/website/pages/ur/supported-network-requirements.mdx +++ b/website/pages/ur/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| نیٹ ورک | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| نیٹ ورک | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From e46e7bf0ac1e662652d1a23ade7be9ea5debc5b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:58 -0400 Subject: [PATCH 1982/2326] New translations supported-network-requirements.mdx (Vietnamese) --- .../vi/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/vi/supported-network-requirements.mdx b/website/pages/vi/supported-network-requirements.mdx index 517aeda8e2a4..ee47dc38cc29 100644 --- a/website/pages/vi/supported-network-requirements.mdx +++ b/website/pages/vi/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Mạng lưới | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Mạng lưới | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From 5bec18fe13c3d722c52f833126cf0eef40b6734c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:05:59 -0400 Subject: [PATCH 1983/2326] New translations supported-network-requirements.mdx (Marathi) --- .../mr/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/mr/supported-network-requirements.mdx b/website/pages/mr/supported-network-requirements.mdx index 9b6337432b02..0dcc4da67474 100644 --- a/website/pages/mr/supported-network-requirements.mdx +++ b/website/pages/mr/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Network | Guides | System Requirements | Indexing Rewards | -| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| हिमस्खलन | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| इथरियम | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| फॅन्टम | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| आशावाद | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| बहुभुज | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Network | Guides | System Requirements | Indexing Rewards | +| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| हिमस्खलन | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| इथरियम | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| फॅन्टम | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| आशावाद | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| बहुभुज | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From 0c4ca0c8e2bd19f2792cceacbc4939a1b115401c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:06:01 -0400 Subject: [PATCH 1984/2326] New translations supported-network-requirements.mdx (Hindi) --- .../hi/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/hi/supported-network-requirements.mdx b/website/pages/hi/supported-network-requirements.mdx index 446559aa447d..f4a97f433c93 100644 --- a/website/pages/hi/supported-network-requirements.mdx +++ b/website/pages/hi/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| नेटवर्क | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| नेटवर्क | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From 70275da5fee43c066d5b3faf59d501b62144781d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 17:06:02 -0400 Subject: [PATCH 1985/2326] New translations supported-network-requirements.mdx (Yoruba) --- .../yo/supported-network-requirements.mdx | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/pages/yo/supported-network-requirements.mdx b/website/pages/yo/supported-network-requirements.mdx index 317e25bcc7c5..9662552e4e6a 100644 --- a/website/pages/yo/supported-network-requirements.mdx +++ b/website/pages/yo/supported-network-requirements.mdx @@ -2,16 +2,17 @@ title: Supported Network Requirements --- -| Network | Guides | System Requirements | Indexing Rewards | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/base/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | | -| Optimism | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | | +| Network | Guides | System Requirements | Indexing Rewards | +| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | +| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | +| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | +| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | +| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | +| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | +| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | From 4ac82d50bdcc2a3c174ff044a6e5903b497d4a5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 19:10:46 -0400 Subject: [PATCH 1986/2326] New translations billing.mdx (Portuguese) --- website/pages/pt/billing.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/pages/pt/billing.mdx b/website/pages/pt/billing.mdx index b4917f696481..ecd4c8c97c4c 100644 --- a/website/pages/pt/billing.mdx +++ b/website/pages/pt/billing.mdx @@ -70,23 +70,23 @@ Quando fizeres bridge do GRT, será possível adicioná-lo ao seu saldo de cobra ### Saques de GRT com carteira 1. Entre na [página de Cobranças do Subgraph Studio](https://thegraph.com/studio/billing/). -2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". -3. Click the "Manage"" button at the top right corner of the page. Select "Withdraw GRT". A side panel will appear. -4. Enter the amount of GRT you would like to withdraw. -5. Click 'Withdraw GRT' to withdraw the GRT from your account balance. Sign the associated transaction in your wallet. This will cost gas. The GRT will be sent to your Arbitrum wallet. -6. Once the transaction is confirmed, you'll see the GRT withdrawn from your account balance in your Arbitrum wallet. +2. Clique no botão "Connect Wallet" (Conectar Carteira) no canto superior direito da página, selecione a sua carteira e clique em "Connect". +3. Clique no botão "Manage" (Gerir) no canto superior direito da página. Selecione "Withdraw GRT" (Sacar GRT). Um painel lateral aparecerá. +4. Insira a quantia de GRT que quer sacar. +5. Clique em 'Withdraw GRT' (Sacar GRT) para sacar o GRT do seu saldo. Assine a transação associada na sua carteira — isto custa gas. O GRT será enviado à sua carteira Arbitrum. +6. Quando a transação for confirmada, verá o GRT sacado do seu saldo na sua carteira Arbitrum. ### Depósitos de GRT com uma carteira multisig -1. Go to the [Subgraph Studio Billing page](https://thegraph.com/studio/billing/). -2. Click on the "Connect Wallet" button on the top right corner of the page. Select your wallet and click on "Connect". If you're using [Gnosis-Safe](https://gnosis-safe.io/), you'll be able to connect your multisig as well as your signing wallet. Then, sign the associated message. This will not cost any gas. +1. Entre na [página de Cobranças do Subgraph Studio](https://thegraph.com/studio/billing/). +2. Clique no botão "Connect Wallet" no canto superior direito da página, selecione a sua carteira e clique em "Connect". Se usar o [Gnosis-Safe](https://gnosis-safe.io/), poderá conectar a sua multisig além da sua carteira de assinatura. Depois, assine a mensagem associada — isto não custa gas. 3. Selecione o botão "Manage" (Gerir) perto do canto superior direito. Utilizadores noviços verão uma opção para "Upgrade to Growth Plan" (Atualizar para o Plano de Crescimento), enquanto os frequentes devem clicar em "Deposit from wallet" (Depositar de carteira). 4. Use o slider para estimar o número de queries que espera fazer mensalmente. - Para sugestões sobre o número de queries que deve usar, veja a nossa página de **Perguntas Frequentes**. 5. Escolha "Criptomoedas". Atualmente, o GRT é a única criptomoeda aceita na Graph Network. 6. Selecione o número de meses que deseja pagar antecipadamente. - - Paying in advance does not committing you to future usage. You will only be charged for what you use and you can withdraw your balance at any time. -7. Pick the network from which you are depositing your GRT. GRT on Arbitrum or Ethereum are both acceptable. 8. Click "Allow GRT Access" and then specify the amount of GRT that can be taken from you wallet. + - Pagamentos antecipados não te comprometem a um uso futuro. Você só será cobrado pelo que usa, e pode sacar o seu saldo a qualquer hora. +7. Escolha a rede da qual o seu GRT será depositado. GRT do Arbitrum e do Ethereum são aceitáveis. Clique "Allow GRT Access" (Permitir Acesso ao GRT) e depois especifique a quantidade de GRT que pode ser retirada da sua carteira. - Se pagar múltiplos meses antecipadamente, permita o acesso à quantia que corresponde àquela quantidade. Esta interação não custará gas. 8. Por último, clique em "Add GRT to Billing Balance" (Adicionar GRT ao Saldo de Cobranças). Esta transação precisará de GRT no Arbitrum para cobrir os custos de gas. From 277c35ac562ed65b8a8f73dde3f40a7b3089a844 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 21:25:45 -0400 Subject: [PATCH 1987/2326] New translations billing.mdx (Portuguese) --- website/pages/pt/billing.mdx | 54 ++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/pt/billing.mdx b/website/pages/pt/billing.mdx index ecd4c8c97c4c..802aee49164c 100644 --- a/website/pages/pt/billing.mdx +++ b/website/pages/pt/billing.mdx @@ -92,41 +92,41 @@ Quando fizeres bridge do GRT, será possível adicioná-lo ao seu saldo de cobra - Note que o GRT depositado do Arbitrum será processado dentro de alguns momentos, enquanto o GRT depositado do Ethereum levará cerca de 15 a 20 min para processar. Quando a transação for confirmada, verás o GRT adicionado ao seu saldo. -## Getting GRT +## Como Adquirir GRT -This section will show you how to get GRT to pay for query fees. +Esta seção explicará como adquirir GRT para pagar taxas de query. ### Coinbase -This will be a step by step guide for purchasing GRT on Coinbase. +Este é um guia passo a passo sobre como comprar GRT na Coinbase. -1. Go to [Coinbase](https://www.coinbase.com/) and create an account. -2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. -3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy/Sell" button on the top right of the page. -4. Select the currency you want to purchase. Select GRT. -5. Select the payment method. Select your preferred payment method. -6. Select the amount of GRT you want to purchase. -7. Review your purchase. Review your purchase and click "Buy GRT". -8. Confirm your purchase. Confirm your purchase and you will have successfully purchased GRT. -9. You can transfer the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). - - To transfer the GRT to your wallet, click on the "Accounts" button on the top right of the page. - - Click on the "Send" button next to the GRT account. - - Enter the amount of GRT you want to send and the wallet address you want to send it to. - - Click "Continue" and confirm your transaction. -Please note that for larger purchase amounts, Coinbase may require you to wait 7-10 days before transferring the full amount to a wallet. +1. Crie uma conta na [Coinbase](https://www.coinbase.com/). +2. Quando tiver criado uma conta, precisará verificar a sua identidade através do processo KYC (sigla em inglês para "Conheça o Seu Cliente"). Este é um processo comum em todas as exchanges de cripto, centralizadas ou custodiais. +3. Após verificar a sua identidade, poderá comprar GRT no botão "Comprar/Vender", no canto superior direito da página. +4. Selecione a moeda que deseja comprar — no caso, GRT. +5. Selecione o seu método de pagamento preferido. +6. Selecione a quantia de GRT que deseja comprar. +7. Verifique a sua compra, e após verificar, clique em "Comprar GRT". +8. Confirme a sua compra, e o GRT será comprado com sucesso. +9. É possível transferir o GRT da sua conta à sua carteira preferida, como o [MetaMask](https://metamask.io/). + - Para transferir o GRT à sua carteira, clique no botão "Contas" no canto superior direito da página. + - Clique em "Enviar", próximo à conta de GRT. + - Insira a quantia de GRT que deseja enviar, e o endereço da carteira que a receberá. + - Clique em "Continuar" e confirme a sua transação. Nota: para compras maiores, a Coinbase pode demorar de 7 a 10 dias antes de transferir a quantia completa a uma carteira. -You can learn more about getting GRT on Coinbase [here](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). +Aprenda mais sobre adquirir GRT na Coinbase [aqui](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). ### Binance -This will be a step by step guide for purchasing GRT on Binance. +Este é um guia passo a passo para comprar GRT na Binance. -1. Go to [Binance](https://www.binance.com/en) and create an account. -2. Once you have created an account, you will need to verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. -3. Once you have verified your identity, you can purchase GRT. You can do this by clicking on the "Buy Now" button on the homepage banner. -4. You will be taken to a page where you can select the currency you want to purchase. Select GRT. -5. Select your preferred payment method. You'll be able to pay with different fiat currencies such as Euros, US Dollars, and more. -6. Select the amount of GRT you want to purchase. -7. Review your purchase and click "Buy GRT". +1. Crie uma conta na [Binance](https://www.binance.com/en). +2. Quando tiver criado uma conta, precisará verificar a sua identidade através do processo KYC (sigla em inglês para "Conheça o Seu Cliente"). Este é um processo comum em todas as exchanges de cripto, centralizadas ou custodiais. +3. Após verificar a sua identidade, poderá comprar GRT no botão "Comprar Agora", no canto superior direito da página. +4. O botão levará-lhe a uma página onde pode selecionar a moeda que deseja comprar. Selecione GRT. +5. Selecione o seu método de pagamento preferido. Poderá pagar com moedas fiduciárias diferentes, como Euro, Dólar americano, e mais. +6. Selecione a quantia de GRT que deseja comprar. +7. Verifique a sua compra e clique em "Comprar GRT". 8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. 9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. @@ -158,7 +158,7 @@ This section will show you how to get Ether (ETH) to pay for transaction fees or This will be a step by step guide for purchasing ETH on Coinbase. -1. Go to [Coinbase](https://www.coinbase.com/) and create an account. +1. Crie uma conta na [Coinbase](https://www.coinbase.com/). 2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. 4. Select the currency you want to purchase. Select ETH. @@ -179,7 +179,7 @@ Saiba mais sobre como adquirir ETH na Coinbase [aqui](https://help.coinbase.com/ Este é um guia passo a passo sobre como comprar ETH na Binance. -1. Go to [Binance](https://www.binance.com/en) and create an account. +1. Crie uma conta na [Binance](https://www.binance.com/en). 2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. 3. Após verificar a sua identidade, poderá comprar ETH no botão "Comprar/Vender", no banner da página principal. 4. Select the currency you want to purchase. Select ETH. From 8bcf0f40993288acf8a3f72bcafb6b6457ba8786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 22:50:16 -0400 Subject: [PATCH 1988/2326] New translations billing.mdx (Portuguese) --- website/pages/pt/billing.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/pages/pt/billing.mdx b/website/pages/pt/billing.mdx index 802aee49164c..a47c16723f7c 100644 --- a/website/pages/pt/billing.mdx +++ b/website/pages/pt/billing.mdx @@ -127,18 +127,18 @@ Este é um guia passo a passo para comprar GRT na Binance. 5. Selecione o seu método de pagamento preferido. Poderá pagar com moedas fiduciárias diferentes, como Euro, Dólar americano, e mais. 6. Selecione a quantia de GRT que deseja comprar. 7. Verifique a sua compra e clique em "Comprar GRT". -8. Confirm your purchase and you will be able to see your GRT in your Binance Spot Wallet. -9. You can withdraw the GRT from your account to your wallet such as [MetaMask](https://metamask.io/). - - [To withdraw](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) the GRT to your wallet, add your wallet's address to the withdrawel whitelist. - - Click on the "wallet" button, click withdraw, and select GRT. - - Enter the amount of GRT you want to send and the whitelisted wallet address you want to send it to. - - Click "Continue" and confirm your transaction. +8. Confirme a sua compra, e logo o seu GRT aparecerá na sua Carteira Spot da Binance. +9. É possível transferir o GRT da sua conta à sua carteira preferida, como o [MetaMask](https://metamask.io/). + - [Para sacar](https://www.binance.com/en/blog/ecosystem/how-to-transfer-crypto-from-binance-to-trust-wallet-8305050796630181570) o GRT à sua carteira, adicione o endereço da sua carteira à whitelist de saques. + - Clique no botão "wallet", clique em "sacar", e selecione GRT. + - Insira a quantia de GRT que deseja enviar, e o endereço da carteira na whitelist à qual quer enviar. + - Clique em "Continuar" e confirme a sua transação. -You can learn more about getting GRT on Binance [here](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). +Aprenda mais sobre adquirir GRT na Binance [aqui](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). ### Uniswap -This is how you can purchase GRT on Uniswap. +Este é um guia passo a passo sobre como comprar GRT no Uniswap. 1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. 2. Select the token you want to swap from. Select ETH. @@ -192,7 +192,7 @@ Este é um guia passo a passo sobre como comprar ETH na Binance. - Clique no botão "wallet", clique em "sacar" (withdraw), e selecione ETH. - Insira a quantia de ETH que deseja enviar, e o endereço da carteira na whitelist à qual quer enviar. - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. - - Click "Continue" and confirm your transaction. + - Clique em "Continuar" e confirme a sua transação. Saiba mais sobre como adquirir ETH na Binance [aqui](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). From c859e05ddd65918f0d0d816727fab7a4e9dbc945 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:24 -0400 Subject: [PATCH 1989/2326] New translations api.mdx (Romanian) --- website/pages/ro/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ro/developing/graph-ts/api.mdx b/website/pages/ro/developing/graph-ts/api.mdx index bb8117478269..a139746c6e5d 100644 --- a/website/pages/ro/developing/graph-ts/api.mdx +++ b/website/pages/ro/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ For more information: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 687c50024603006c453fa8ba36780844414a740b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:25 -0400 Subject: [PATCH 1990/2326] New translations api.mdx (French) --- website/pages/fr/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/fr/developing/graph-ts/api.mdx b/website/pages/fr/developing/graph-ts/api.mdx index 2631c25c08b6..24f35e9465dd 100644 --- a/website/pages/fr/developing/graph-ts/api.mdx +++ b/website/pages/fr/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ Pour plus d'informations: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From b39f0e16c265f098ec2892f7dd02a71e93adf5bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:26 -0400 Subject: [PATCH 1991/2326] New translations api.mdx (Spanish) --- website/pages/es/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/es/developing/graph-ts/api.mdx b/website/pages/es/developing/graph-ts/api.mdx index 7369cf45d27d..09c7e6c75bb4 100644 --- a/website/pages/es/developing/graph-ts/api.mdx +++ b/website/pages/es/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ Para mas informacion: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From a2e8f544ed14b056a44281bcfcf4aa514f82ba9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:27 -0400 Subject: [PATCH 1992/2326] New translations api.mdx (Arabic) --- website/pages/ar/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ar/developing/graph-ts/api.mdx b/website/pages/ar/developing/graph-ts/api.mdx index 9eacab07981c..b1ad7296262c 100644 --- a/website/pages/ar/developing/graph-ts/api.mdx +++ b/website/pages/ar/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ For more information: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 3c7db7465785118e64524b479b365f941345e831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:28 -0400 Subject: [PATCH 1993/2326] New translations api.mdx (Czech) --- website/pages/cs/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/developing/graph-ts/api.mdx b/website/pages/cs/developing/graph-ts/api.mdx index 704856cc0648..8b776a0db2ba 100644 --- a/website/pages/cs/developing/graph-ts/api.mdx +++ b/website/pages/cs/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ Více informací: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- Více [složitý příklad](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From e820edf3b7a6a177d4805c14bbd5aeea9486f0cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:30 -0400 Subject: [PATCH 1994/2326] New translations api.mdx (German) --- website/pages/de/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/developing/graph-ts/api.mdx b/website/pages/de/developing/graph-ts/api.mdx index 98449251335b..ce7949930215 100644 --- a/website/pages/de/developing/graph-ts/api.mdx +++ b/website/pages/de/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ For more information: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 730f61baba79bbf4c459be9d4290b2178c8b84e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:31 -0400 Subject: [PATCH 1995/2326] New translations api.mdx (Italian) --- website/pages/it/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/it/developing/graph-ts/api.mdx b/website/pages/it/developing/graph-ts/api.mdx index 5b1747a93eab..3e1d0b5eab0a 100644 --- a/website/pages/it/developing/graph-ts/api.mdx +++ b/website/pages/it/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ Per maggiori informazioni: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Codifica/decodifica [libreria Rust/CLI](https://github.com/rust-ethereum/ethabi) -- Altro [esempio complesso](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From b1663e60833d587e47c6e1cc62b6cb90814a2487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:32 -0400 Subject: [PATCH 1996/2326] New translations api.mdx (Japanese) --- website/pages/ja/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ja/developing/graph-ts/api.mdx b/website/pages/ja/developing/graph-ts/api.mdx index e088e1ba6dfd..beaf964ec9f8 100644 --- a/website/pages/ja/developing/graph-ts/api.mdx +++ b/website/pages/ja/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ let decoded = ethereum.decode('(address,uint256)', encoded) - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 8ed86abbd74051cbcb4fcce2d6d0e85d1c2f8bf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:33 -0400 Subject: [PATCH 1997/2326] New translations api.mdx (Korean) --- website/pages/ko/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ko/developing/graph-ts/api.mdx b/website/pages/ko/developing/graph-ts/api.mdx index bb8117478269..a139746c6e5d 100644 --- a/website/pages/ko/developing/graph-ts/api.mdx +++ b/website/pages/ko/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ For more information: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 873523dfb2b2f5d5af7f930c86e7b5b3f250a8c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:35 -0400 Subject: [PATCH 1998/2326] New translations api.mdx (Dutch) --- website/pages/nl/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/nl/developing/graph-ts/api.mdx b/website/pages/nl/developing/graph-ts/api.mdx index bb8117478269..a139746c6e5d 100644 --- a/website/pages/nl/developing/graph-ts/api.mdx +++ b/website/pages/nl/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ For more information: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 8d2826edb1f5eea2cecf8faacc724a307844fbab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:37 -0400 Subject: [PATCH 1999/2326] New translations api.mdx (Polish) --- website/pages/pl/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pl/developing/graph-ts/api.mdx b/website/pages/pl/developing/graph-ts/api.mdx index bb8117478269..a139746c6e5d 100644 --- a/website/pages/pl/developing/graph-ts/api.mdx +++ b/website/pages/pl/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ For more information: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 77d45bfc0c21284d6609f2dcea7a4119ad849021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:38 -0400 Subject: [PATCH 2000/2326] New translations api.mdx (Portuguese) --- website/pages/pt/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/developing/graph-ts/api.mdx b/website/pages/pt/developing/graph-ts/api.mdx index 8f13dfebc69b..bb465a550ac7 100644 --- a/website/pages/pt/developing/graph-ts/api.mdx +++ b/website/pages/pt/developing/graph-ts/api.mdx @@ -541,7 +541,7 @@ Para mais informações: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Codificação e decodificação da [biblioteca/CLI do Rust](https://github.com/rust-ethereum/ethabi) -- Um [exemplo mais complexo](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 3069754aa1a0b32a38b19030469fad2e875ce7bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:39 -0400 Subject: [PATCH 2001/2326] New translations api.mdx (Russian) --- website/pages/ru/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ru/developing/graph-ts/api.mdx b/website/pages/ru/developing/graph-ts/api.mdx index b2269bc5c155..55bce14c1286 100644 --- a/website/pages/ru/developing/graph-ts/api.mdx +++ b/website/pages/ru/developing/graph-ts/api.mdx @@ -542,7 +542,7 @@ let decoded = ethereum.decode('(address,uint256)', encoded) - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 5aa8c56b756a6d429b6ea002971587d24d6da51d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:40 -0400 Subject: [PATCH 2002/2326] New translations api.mdx (Swedish) --- website/pages/sv/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/sv/developing/graph-ts/api.mdx b/website/pages/sv/developing/graph-ts/api.mdx index 736b3857ade6..aa04c42ab310 100644 --- a/website/pages/sv/developing/graph-ts/api.mdx +++ b/website/pages/sv/developing/graph-ts/api.mdx @@ -543,7 +543,7 @@ För ytterligare information: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 1593529233181e898731ae1d46570810ea2777f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:41 -0400 Subject: [PATCH 2003/2326] New translations api.mdx (Turkish) --- website/pages/tr/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/tr/developing/graph-ts/api.mdx b/website/pages/tr/developing/graph-ts/api.mdx index cae66476dbf3..ba56ea2c6603 100644 --- a/website/pages/tr/developing/graph-ts/api.mdx +++ b/website/pages/tr/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ Daha fazla bilgi için: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From f10da8b694d78daf6af05108cd23a0b8f8778f5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:42 -0400 Subject: [PATCH 2004/2326] New translations api.mdx (Ukrainian) --- website/pages/uk/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/uk/developing/graph-ts/api.mdx b/website/pages/uk/developing/graph-ts/api.mdx index bb8117478269..a139746c6e5d 100644 --- a/website/pages/uk/developing/graph-ts/api.mdx +++ b/website/pages/uk/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ For more information: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 217cbe805c48aff839f515c7257a191ad7524e2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:43 -0400 Subject: [PATCH 2005/2326] New translations api.mdx (Chinese Simplified) --- website/pages/zh/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/zh/developing/graph-ts/api.mdx b/website/pages/zh/developing/graph-ts/api.mdx index 366d823e518f..7301ce6f5085 100644 --- a/website/pages/zh/developing/graph-ts/api.mdx +++ b/website/pages/zh/developing/graph-ts/api.mdx @@ -539,7 +539,7 @@ let decoded = ethereum.decode('(address,uint256)', encoded) - [ABI 规范](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - 您可以使用[Rust Ethereum ABI 库/CLI](https://github.com/rust-ethereum/ethabi)来进行编码和解码。 -- 更复杂的示例可以在[这里](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72)找到。 +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From c7d031f2c00e0ed49146c7541a569fc3cf8f4277 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:45 -0400 Subject: [PATCH 2006/2326] New translations api.mdx (Urdu (Pakistan)) --- website/pages/ur/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ur/developing/graph-ts/api.mdx b/website/pages/ur/developing/graph-ts/api.mdx index 06f34c63a77d..a26d5df6fbd3 100644 --- a/website/pages/ur/developing/graph-ts/api.mdx +++ b/website/pages/ur/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ let decoded = ethereum.decode('(address,uint256)', encoded) - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From c552e223bf399d1c5c6038ec0d12baf617da34e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:46 -0400 Subject: [PATCH 2007/2326] New translations api.mdx (Vietnamese) --- website/pages/vi/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/vi/developing/graph-ts/api.mdx b/website/pages/vi/developing/graph-ts/api.mdx index 2d52d515d484..6bdc5959b352 100644 --- a/website/pages/vi/developing/graph-ts/api.mdx +++ b/website/pages/vi/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ For more information: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 285e53ad9aaebc67ca353fa7d1a55a16e41a05a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:47 -0400 Subject: [PATCH 2008/2326] New translations api.mdx (Marathi) --- website/pages/mr/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/mr/developing/graph-ts/api.mdx b/website/pages/mr/developing/graph-ts/api.mdx index 4e3ee22292c3..c2ba8debbc88 100644 --- a/website/pages/mr/developing/graph-ts/api.mdx +++ b/website/pages/mr/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ let decoded = ethereum.decode('(address,uint256)', encoded) - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From b79ba1960f67e640ae5539dd077dbb797fea47db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:48 -0400 Subject: [PATCH 2009/2326] New translations api.mdx (Hindi) --- website/pages/hi/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/hi/developing/graph-ts/api.mdx b/website/pages/hi/developing/graph-ts/api.mdx index a0b26fc204a5..d4bba991fb76 100644 --- a/website/pages/hi/developing/graph-ts/api.mdx +++ b/website/pages/hi/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ let decoded = ethereum.decode('(address,uint256)', encoded) - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From 12995e3c15cea07b21e4938ae6fd07e504eda2ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 27 Jun 2024 23:47:49 -0400 Subject: [PATCH 2010/2326] New translations api.mdx (Yoruba) --- website/pages/yo/developing/graph-ts/api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/yo/developing/graph-ts/api.mdx b/website/pages/yo/developing/graph-ts/api.mdx index bb8117478269..a139746c6e5d 100644 --- a/website/pages/yo/developing/graph-ts/api.mdx +++ b/website/pages/yo/developing/graph-ts/api.mdx @@ -540,7 +540,7 @@ For more information: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Encoding/decoding [Rust library/CLI](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/6a7806cc465949ebb9e5b8269eeb763857797efc/tests/integration-tests/host-exports/src/mapping.ts#L72). +- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). #### Balance of an Address From a46dd4ed5442e39100c52e7aae4d5aa33364030d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:17 -0400 Subject: [PATCH 2011/2326] New translations operating-graph-node.mdx (Romanian) --- website/pages/ro/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ro/operating-graph-node.mdx b/website/pages/ro/operating-graph-node.mdx index 933eaf860511..fb3d538f952a 100644 --- a/website/pages/ro/operating-graph-node.mdx +++ b/website/pages/ro/operating-graph-node.mdx @@ -45,7 +45,7 @@ To enable monitoring and reporting, Graph Node can optionally log metrics to a P - **Additional Requirements for Ubuntu users** - To run a Graph Node on Ubuntu a few additional packages may be needed. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Setup From fbfed7241990c3cea3c7ccbd6c2de3542e1ebb12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:18 -0400 Subject: [PATCH 2012/2326] New translations operating-graph-node.mdx (French) --- website/pages/fr/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/fr/operating-graph-node.mdx b/website/pages/fr/operating-graph-node.mdx index d960da0a2335..329f1ac72adf 100644 --- a/website/pages/fr/operating-graph-node.mdx +++ b/website/pages/fr/operating-graph-node.mdx @@ -45,7 +45,7 @@ Pour activer la surveillance et la création de rapports, Graph Node peut évent - **Exigences supplémentaires pour les utilisateurs d'Ubuntu** - Pour exécuter un Graph Node sur Ubuntu, quelques packages supplémentaires peuvent être nécessaires. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Installation From f5bf4b2edd8f44dfd3f8987220d311938acc650d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:19 -0400 Subject: [PATCH 2013/2326] New translations operating-graph-node.mdx (Spanish) --- website/pages/es/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/es/operating-graph-node.mdx b/website/pages/es/operating-graph-node.mdx index c2547b96399a..99e966da590a 100644 --- a/website/pages/es/operating-graph-node.mdx +++ b/website/pages/es/operating-graph-node.mdx @@ -45,7 +45,7 @@ Para permitir la supervisión y la generación de informes, Graph Node puede reg - **Requisitos adicionales para usuarios de Ubuntu**: Para ejecutar un nodo Graph en Ubuntu, es posible que se necesiten algunos paquetes adicionales. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Configuración From 4ba8898b48c9d37aba7184810e2b4165685b61fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:21 -0400 Subject: [PATCH 2014/2326] New translations operating-graph-node.mdx (Arabic) --- website/pages/ar/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ar/operating-graph-node.mdx b/website/pages/ar/operating-graph-node.mdx index 34b38d53283e..ac2816215c96 100644 --- a/website/pages/ar/operating-graph-node.mdx +++ b/website/pages/ar/operating-graph-node.mdx @@ -45,7 +45,7 @@ To enable monitoring and reporting, Graph Node can optionally log metrics to a P - **متطلبات إضافية لمستخدمي Ubuntu **- لتشغيل عقدة الرسم البياني على Ubuntu ، قد تكون هناك حاجة إلى بعض الحزم الإضافية. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Setup From db309fd72ef7710a50c7e26ca4bb7d689d20ce55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:22 -0400 Subject: [PATCH 2015/2326] New translations operating-graph-node.mdx (Czech) --- website/pages/cs/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/operating-graph-node.mdx b/website/pages/cs/operating-graph-node.mdx index ddf7912cd02f..9a720348c8c5 100644 --- a/website/pages/cs/operating-graph-node.mdx +++ b/website/pages/cs/operating-graph-node.mdx @@ -45,7 +45,7 @@ Aby bylo možné monitorovat a podávat zprávy, může uzel Graf volitelně zaz - **Další požadavky pro uživatele Ubuntu** - Pro spuštění Uzel Graf v Ubuntu může být potřeba několik dalších balíčků. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Nastavení From ba6f39e0f9ba3eeb33f944d94f87d5a8ffd3f2a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:23 -0400 Subject: [PATCH 2016/2326] New translations operating-graph-node.mdx (German) --- website/pages/de/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/operating-graph-node.mdx b/website/pages/de/operating-graph-node.mdx index 14f37752bc4f..2ad7b969f3f1 100644 --- a/website/pages/de/operating-graph-node.mdx +++ b/website/pages/de/operating-graph-node.mdx @@ -45,7 +45,7 @@ Um Überwachung und Berichterstellung zu ermöglichen, kann Graph Node optional - **Zusätzliche Anforderungen für Ubuntu-Benutzer** - Um einen Graph-Knoten auf Ubuntu auszuführen, sind möglicherweise einige zusätzliche Pakete erforderlich. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Konfiguration From 2dcd51b6c24a621b33d80e8dc9c27c0870065b4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:24 -0400 Subject: [PATCH 2017/2326] New translations operating-graph-node.mdx (Italian) --- website/pages/it/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/it/operating-graph-node.mdx b/website/pages/it/operating-graph-node.mdx index d841619814dd..276c3022ec6c 100644 --- a/website/pages/it/operating-graph-node.mdx +++ b/website/pages/it/operating-graph-node.mdx @@ -45,7 +45,7 @@ Per consentire il monitoraggio e la creazione di report, Graph Node può opziona - **Requisiti aggiuntivi per gli utenti di Ubuntu** - Per eseguire un Graph Node su Ubuntu potrebbero essere necessari alcuni pacchetti aggiuntivi. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Setup From 733c41df0da4981694f2ddcc54cdaad47acbaad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:25 -0400 Subject: [PATCH 2018/2326] New translations operating-graph-node.mdx (Japanese) --- website/pages/ja/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ja/operating-graph-node.mdx b/website/pages/ja/operating-graph-node.mdx index 8253df5a06eb..71da764773e6 100644 --- a/website/pages/ja/operating-graph-node.mdx +++ b/website/pages/ja/operating-graph-node.mdx @@ -45,7 +45,7 @@ IPFS ノード(バージョン 未満) - サブグラフのデプロイメ - **Ubuntu ユーザーのための追加要件** - グラフノードを Ubuntu 上で動作させるためには、いくつかの追加パッケージが必要になります。 ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Setup From d7451b847454d3aa403d419d08ae6777cfd24497 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:27 -0400 Subject: [PATCH 2019/2326] New translations operating-graph-node.mdx (Korean) --- website/pages/ko/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ko/operating-graph-node.mdx b/website/pages/ko/operating-graph-node.mdx index 933eaf860511..fb3d538f952a 100644 --- a/website/pages/ko/operating-graph-node.mdx +++ b/website/pages/ko/operating-graph-node.mdx @@ -45,7 +45,7 @@ To enable monitoring and reporting, Graph Node can optionally log metrics to a P - **Additional Requirements for Ubuntu users** - To run a Graph Node on Ubuntu a few additional packages may be needed. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Setup From 31e3cd00df9939429bb608149f76e7d516395f3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:28 -0400 Subject: [PATCH 2020/2326] New translations operating-graph-node.mdx (Dutch) --- website/pages/nl/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/nl/operating-graph-node.mdx b/website/pages/nl/operating-graph-node.mdx index e16fc9f0a224..7524b17721c9 100644 --- a/website/pages/nl/operating-graph-node.mdx +++ b/website/pages/nl/operating-graph-node.mdx @@ -45,7 +45,7 @@ To enable monitoring and reporting, Graph Node can optionally log metrics to a P - **Aanvullende vereisten voor Ubuntu gebruikers** - Om een Graph Node op Ubuntu te laten werken, zijn mogelijke enkele aanvullende updates nodig. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Setup From 7053ed06f6997d1d0ed24f5201f16bab47e78480 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:29 -0400 Subject: [PATCH 2021/2326] New translations operating-graph-node.mdx (Polish) --- website/pages/pl/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pl/operating-graph-node.mdx b/website/pages/pl/operating-graph-node.mdx index 933eaf860511..fb3d538f952a 100644 --- a/website/pages/pl/operating-graph-node.mdx +++ b/website/pages/pl/operating-graph-node.mdx @@ -45,7 +45,7 @@ To enable monitoring and reporting, Graph Node can optionally log metrics to a P - **Additional Requirements for Ubuntu users** - To run a Graph Node on Ubuntu a few additional packages may be needed. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Setup From fa1ca939f037991fd5f5412e991fed8ec48b5b73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:30 -0400 Subject: [PATCH 2022/2326] New translations operating-graph-node.mdx (Portuguese) --- website/pages/pt/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/operating-graph-node.mdx b/website/pages/pt/operating-graph-node.mdx index 648bfd33a5d6..b0d9e7fbf8bc 100644 --- a/website/pages/pt/operating-graph-node.mdx +++ b/website/pages/pt/operating-graph-node.mdx @@ -45,7 +45,7 @@ O Graph Node pode, opcionalmente, logar métricas a um servidor de métricas Pro - **Requisitos Adicionais para utilizadores de Ubuntu** — A execução de um Graph Node no Ubuntu pode exigir pacotes adicionais. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Setup From cb0bee940fc9242b6aea49d26929f7a83087b82e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:31 -0400 Subject: [PATCH 2023/2326] New translations operating-graph-node.mdx (Russian) --- website/pages/ru/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ru/operating-graph-node.mdx b/website/pages/ru/operating-graph-node.mdx index 675e6f271a78..d4ac6c51a05d 100644 --- a/website/pages/ru/operating-graph-node.mdx +++ b/website/pages/ru/operating-graph-node.mdx @@ -45,7 +45,7 @@ Graph Node (и весь стек индексаторов) можно запус - **Дополнительные требования для пользователей Ubuntu**. Для запуска Graph Node в Ubuntu может потребоваться несколько дополнительных пакетов. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Настройка From 227153a536173e0e7ec545a2db2f5ad47bc490a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:32 -0400 Subject: [PATCH 2024/2326] New translations operating-graph-node.mdx (Swedish) --- website/pages/sv/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/sv/operating-graph-node.mdx b/website/pages/sv/operating-graph-node.mdx index 36ea93bb6711..83c59421c17b 100644 --- a/website/pages/sv/operating-graph-node.mdx +++ b/website/pages/sv/operating-graph-node.mdx @@ -45,7 +45,7 @@ För att möjliggöra övervakning och rapportering kan Graf Node valfritt logga - **Ytterligare krav för Ubuntu-användare** - För att köra en Graf Node på Ubuntu kan några ytterligare paket behövas. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Inställning From 8c15182d7641d65001d9e9fced0da79238a91e64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:34 -0400 Subject: [PATCH 2025/2326] New translations operating-graph-node.mdx (Turkish) --- website/pages/tr/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/tr/operating-graph-node.mdx b/website/pages/tr/operating-graph-node.mdx index 3872c8b16282..7112df5b91c5 100644 --- a/website/pages/tr/operating-graph-node.mdx +++ b/website/pages/tr/operating-graph-node.mdx @@ -45,7 +45,7 @@ Subgraph dağıtım üst verilerini IPFS ağında depolanır. Graph düğümü, - **Ubuntu kullanıcıları için Ek Gereksinimler** - Ubuntu üzerinde bir Graph Düğümü çalıştırmak için birkaç ek paket gerekebilir. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Kurulum From 3375e3f033f224b5112eaa4f09e4a601fcb3f45d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:35 -0400 Subject: [PATCH 2026/2326] New translations operating-graph-node.mdx (Ukrainian) --- website/pages/uk/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/uk/operating-graph-node.mdx b/website/pages/uk/operating-graph-node.mdx index 723f0af72d6b..cd8118b275b7 100644 --- a/website/pages/uk/operating-graph-node.mdx +++ b/website/pages/uk/operating-graph-node.mdx @@ -45,7 +45,7 @@ To enable monitoring and reporting, Graph Node can optionally log metrics to a P - **Додаткові вимоги для користувачів Ubuntu** - Для запуску Graph Node на Ubuntu може знадобитися декілька додаткових програм. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Налаштування From 0fdcf2426119c829bea50a649f60c8607038a247 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:36 -0400 Subject: [PATCH 2027/2326] New translations operating-graph-node.mdx (Chinese Simplified) --- website/pages/zh/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/zh/operating-graph-node.mdx b/website/pages/zh/operating-graph-node.mdx index 9cc7036dfec3..ecda26fa9061 100644 --- a/website/pages/zh/operating-graph-node.mdx +++ b/website/pages/zh/operating-graph-node.mdx @@ -45,7 +45,7 @@ Graph节点的主存储区,这是存储子图数据、子图元数据以及子 - **Ubuntu 用户的附加要求** - 要在 Ubuntu 上运行 Graph 节点,可能需要一些附加的软件包。 ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### 设置 From fa74f3fddfe8bcdee270277af5d66ca2610715e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:37 -0400 Subject: [PATCH 2028/2326] New translations operating-graph-node.mdx (Urdu (Pakistan)) --- website/pages/ur/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ur/operating-graph-node.mdx b/website/pages/ur/operating-graph-node.mdx index 9134b3d9cd92..1591a45dd2d0 100644 --- a/website/pages/ur/operating-graph-node.mdx +++ b/website/pages/ur/operating-graph-node.mdx @@ -45,7 +45,7 @@ title: گراف نوڈ کو آپریٹ کرنا - **اوبنٹو کے صارفین کے لیے اضافی تقاضے** - اوبنٹو پر گراف نوڈ چلانے کے لیے چند اضافی پیکجوں کی ضرورت ہو سکتی ہے. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### سیٹ اپ From 4a92b86e2fea5f79c7445b599511dcc72fbfd407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:38 -0400 Subject: [PATCH 2029/2326] New translations operating-graph-node.mdx (Vietnamese) --- website/pages/vi/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/vi/operating-graph-node.mdx b/website/pages/vi/operating-graph-node.mdx index 730983a97ba2..9185043e72a4 100644 --- a/website/pages/vi/operating-graph-node.mdx +++ b/website/pages/vi/operating-graph-node.mdx @@ -45,7 +45,7 @@ To enable monitoring and reporting, Graph Node can optionally log metrics to a P - **Yêu cầu bổ sung cho người dùng Ubuntu** - Để chạy Graph Node trên Ubuntu, có thể cần một số gói bổ sung. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Cài đặt From ac052aa5971b0c7e8a94fe8be06656c97367df60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:39 -0400 Subject: [PATCH 2030/2326] New translations operating-graph-node.mdx (Marathi) --- website/pages/mr/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/mr/operating-graph-node.mdx b/website/pages/mr/operating-graph-node.mdx index 424a33ba4281..84d5fb6d4d9b 100644 --- a/website/pages/mr/operating-graph-node.mdx +++ b/website/pages/mr/operating-graph-node.mdx @@ -45,7 +45,7 @@ To enable monitoring and reporting, Graph Node can optionally log metrics to a P - **Additional Requirements for Ubuntu users** - To run a Graph Node on Ubuntu a few additional packages may be needed. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Setup From 90b12f6f5e9cdde04e036b4cd7c7992fec00e54a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:41 -0400 Subject: [PATCH 2031/2326] New translations operating-graph-node.mdx (Hindi) --- website/pages/hi/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/hi/operating-graph-node.mdx b/website/pages/hi/operating-graph-node.mdx index 0eec54bd3837..706cfcb7f112 100644 --- a/website/pages/hi/operating-graph-node.mdx +++ b/website/pages/hi/operating-graph-node.mdx @@ -45,7 +45,7 @@ title: ग्राफ नोड का परिचालन - **उबंटू उपयोगकर्ताओं के लिए अतिरिक्त आवश्यकताएं** - उबंटू पर ग्राफ नोड चलाने के लिए कुछ अतिरिक्त पैकेजों की आवश्यकता हो सकती है। ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Setup From b6047ed6a3ed8912d9611b3a12aa6e96d97df9ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 12:14:42 -0400 Subject: [PATCH 2032/2326] New translations operating-graph-node.mdx (Yoruba) --- website/pages/yo/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/yo/operating-graph-node.mdx b/website/pages/yo/operating-graph-node.mdx index 933eaf860511..fb3d538f952a 100644 --- a/website/pages/yo/operating-graph-node.mdx +++ b/website/pages/yo/operating-graph-node.mdx @@ -45,7 +45,7 @@ To enable monitoring and reporting, Graph Node can optionally log metrics to a P - **Additional Requirements for Ubuntu users** - To run a Graph Node on Ubuntu a few additional packages may be needed. ```sh -sudo apt-get install -y clang libpg-dev libssl-dev pkg-config +sudo apt-get install -y clang libpq-dev libssl-dev pkg-config ``` #### Setup From 6bb297f7d384f9c9c14ebc91b61e87087b8b6c39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 14:59:56 -0400 Subject: [PATCH 2033/2326] New translations supported-networks.mdx (Romanian) --- website/pages/ro/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ro/developing/supported-networks.mdx b/website/pages/ro/developing/supported-networks.mdx index e21187a5cf1f..1e0352c60615 100644 --- a/website/pages/ro/developing/supported-networks.mdx +++ b/website/pages/ro/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 99f6ee82444d8662ea37d19529123feb8795f670 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 14:59:57 -0400 Subject: [PATCH 2034/2326] New translations supported-networks.mdx (French) --- website/pages/fr/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/fr/developing/supported-networks.mdx b/website/pages/fr/developing/supported-networks.mdx index 4545be8f746b..b45431b63a2f 100644 --- a/website/pages/fr/developing/supported-networks.mdx +++ b/website/pages/fr/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - Pour une liste complète des fonctionnalités prises en charge par le réseau décentralisé, voir [cette page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From c5bc0181c90a96adbfaeb76feb0657b7165205df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 14:59:58 -0400 Subject: [PATCH 2035/2326] New translations supported-networks.mdx (Spanish) --- website/pages/es/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/es/developing/supported-networks.mdx b/website/pages/es/developing/supported-networks.mdx index 65c08352eb8e..dc663b17b3f1 100644 --- a/website/pages/es/developing/supported-networks.mdx +++ b/website/pages/es/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From b3aeec18d188d31f45ed423fdacd27c732910757 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 14:59:59 -0400 Subject: [PATCH 2036/2326] New translations supported-networks.mdx (Arabic) --- website/pages/ar/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ar/developing/supported-networks.mdx b/website/pages/ar/developing/supported-networks.mdx index aa01d6557bcb..96e737b0d743 100644 --- a/website/pages/ar/developing/supported-networks.mdx +++ b/website/pages/ar/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From ad2c615ed56943cc4c8790679121990a3160d258 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:00 -0400 Subject: [PATCH 2037/2326] New translations supported-networks.mdx (Czech) --- website/pages/cs/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/developing/supported-networks.mdx b/website/pages/cs/developing/supported-networks.mdx index 288ff6234e47..b9addda0b59e 100644 --- a/website/pages/cs/developing/supported-networks.mdx +++ b/website/pages/cs/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - Úplný seznam funkcí podporovaných v decentralizované síti najdete na [této stránce](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 667a5084a213e5687f1fd13367a74b57af7715ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:01 -0400 Subject: [PATCH 2038/2326] New translations supported-networks.mdx (German) --- website/pages/de/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/de/developing/supported-networks.mdx b/website/pages/de/developing/supported-networks.mdx index 574c87cc37d0..7c2d8d858261 100644 --- a/website/pages/de/developing/supported-networks.mdx +++ b/website/pages/de/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From b962d6de8e0f583cc22168b8aa922060b696c2d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:02 -0400 Subject: [PATCH 2039/2326] New translations supported-networks.mdx (Italian) --- website/pages/it/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/it/developing/supported-networks.mdx b/website/pages/it/developing/supported-networks.mdx index 574c87cc37d0..7c2d8d858261 100644 --- a/website/pages/it/developing/supported-networks.mdx +++ b/website/pages/it/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 0be7417fb150010f393738ece9a23fff057d0aa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:04 -0400 Subject: [PATCH 2040/2326] New translations supported-networks.mdx (Japanese) --- website/pages/ja/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ja/developing/supported-networks.mdx b/website/pages/ja/developing/supported-networks.mdx index 65c46b048fb4..d0d2749a2fb5 100644 --- a/website/pages/ja/developing/supported-networks.mdx +++ b/website/pages/ja/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - 分散型ネットワークでサポートされている機能の完全なリストについては、[このページ](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md)を参照してください。 From 1039adde12f7f2860360d0ac089039150cfaddf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:05 -0400 Subject: [PATCH 2041/2326] New translations supported-networks.mdx (Korean) --- website/pages/ko/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ko/developing/supported-networks.mdx b/website/pages/ko/developing/supported-networks.mdx index 574c87cc37d0..7c2d8d858261 100644 --- a/website/pages/ko/developing/supported-networks.mdx +++ b/website/pages/ko/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 72116059c48fd83f52991f4dbac9e5fc97e8dd65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:06 -0400 Subject: [PATCH 2042/2326] New translations supported-networks.mdx (Dutch) --- website/pages/nl/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/nl/developing/supported-networks.mdx b/website/pages/nl/developing/supported-networks.mdx index 4fbfd6516048..bed07fc2da1c 100644 --- a/website/pages/nl/developing/supported-networks.mdx +++ b/website/pages/nl/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 050dd93090adcc6bd97743b40f118437e1b8b966 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:07 -0400 Subject: [PATCH 2043/2326] New translations supported-networks.mdx (Polish) --- website/pages/pl/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pl/developing/supported-networks.mdx b/website/pages/pl/developing/supported-networks.mdx index dd290913a652..6a85c1a2997b 100644 --- a/website/pages/pl/developing/supported-networks.mdx +++ b/website/pages/pl/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From b40e73e444a5d3f87af981640482b80e3c49471e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:08 -0400 Subject: [PATCH 2044/2326] New translations supported-networks.mdx (Portuguese) --- website/pages/pt/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/developing/supported-networks.mdx b/website/pages/pt/developing/supported-networks.mdx index 2f79f2fc68c6..c2fc24592ee3 100644 --- a/website/pages/pt/developing/supported-networks.mdx +++ b/website/pages/pt/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - Para uma lista completa de recursos apoiados na rede descentralizada, veja [esta página](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 9703a6165c10536ef24e008577bc2ef30034b05c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:10 -0400 Subject: [PATCH 2045/2326] New translations supported-networks.mdx (Russian) --- website/pages/ru/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ru/developing/supported-networks.mdx b/website/pages/ru/developing/supported-networks.mdx index deab131ca4a8..beda4b4094c2 100644 --- a/website/pages/ru/developing/supported-networks.mdx +++ b/website/pages/ru/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - Полный список функций, поддерживаемых в децентрализованной сети, можно найти на [этой странице](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 2dd829279b88c01e04eed9f1bbd0a2a4aa68db22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:11 -0400 Subject: [PATCH 2046/2326] New translations supported-networks.mdx (Swedish) --- website/pages/sv/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/sv/developing/supported-networks.mdx b/website/pages/sv/developing/supported-networks.mdx index 04dacd74b8b6..47341ff9f563 100644 --- a/website/pages/sv/developing/supported-networks.mdx +++ b/website/pages/sv/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - För en fullständig lista över vilka funktioner som stöds på det decentraliserade nätverket, se [den här sidan](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 59516d979d68a83e3d70d051b36b5f7f9185e023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:12 -0400 Subject: [PATCH 2047/2326] New translations supported-networks.mdx (Turkish) --- website/pages/tr/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/tr/developing/supported-networks.mdx b/website/pages/tr/developing/supported-networks.mdx index 551a1517a2a3..b2e82c63136e 100644 --- a/website/pages/tr/developing/supported-networks.mdx +++ b/website/pages/tr/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - Merkeziyetsiz ağda hangi özelliklerin desteklendiğinin tam listesi için [bu sayfaya](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md) göz atın. From 3b05ec947ad9e30ef9bb2e12ec2a511a8ac9d78b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:13 -0400 Subject: [PATCH 2048/2326] New translations supported-networks.mdx (Ukrainian) --- website/pages/uk/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/uk/developing/supported-networks.mdx b/website/pages/uk/developing/supported-networks.mdx index 277dc37b1b05..b1654dee17b2 100644 --- a/website/pages/uk/developing/supported-networks.mdx +++ b/website/pages/uk/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 7215b1645b14a7767a4518ddaef83bdd0e6e414d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:14 -0400 Subject: [PATCH 2049/2326] New translations supported-networks.mdx (Chinese Simplified) --- website/pages/zh/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/zh/developing/supported-networks.mdx b/website/pages/zh/developing/supported-networks.mdx index 983c2eb5d96b..1d19cb36097b 100644 --- a/website/pages/zh/developing/supported-networks.mdx +++ b/website/pages/zh/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - 有关去中心化网络支持哪些功能的完整列表,请参阅[本页](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md)。 From ae71e624af929c44b7faec710f2ae5d7889e6313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:16 -0400 Subject: [PATCH 2050/2326] New translations supported-networks.mdx (Urdu (Pakistan)) --- website/pages/ur/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/ur/developing/supported-networks.mdx b/website/pages/ur/developing/supported-networks.mdx index 85c066a41247..cb315e14f536 100644 --- a/website/pages/ur/developing/supported-networks.mdx +++ b/website/pages/ur/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 5119063f57cf1a421abc4d527a50f8d315991bb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:17 -0400 Subject: [PATCH 2051/2326] New translations supported-networks.mdx (Vietnamese) --- website/pages/vi/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/vi/developing/supported-networks.mdx b/website/pages/vi/developing/supported-networks.mdx index 7af2c2d1cb26..2782a2c04b10 100644 --- a/website/pages/vi/developing/supported-networks.mdx +++ b/website/pages/vi/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 55b1e213a305681b04de36fa9dc653503e79fb12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:18 -0400 Subject: [PATCH 2052/2326] New translations supported-networks.mdx (Marathi) --- website/pages/mr/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/mr/developing/supported-networks.mdx b/website/pages/mr/developing/supported-networks.mdx index 574c87cc37d0..7c2d8d858261 100644 --- a/website/pages/mr/developing/supported-networks.mdx +++ b/website/pages/mr/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 6daa9381bb988fe5f4ee46784b54590224aecaeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:19 -0400 Subject: [PATCH 2053/2326] New translations supported-networks.mdx (Hindi) --- website/pages/hi/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/hi/developing/supported-networks.mdx b/website/pages/hi/developing/supported-networks.mdx index 574c87cc37d0..7c2d8d858261 100644 --- a/website/pages/hi/developing/supported-networks.mdx +++ b/website/pages/hi/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 5ab44f9a7c2d1705ebafaf0f4ed7c8a8112b52d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 15:00:20 -0400 Subject: [PATCH 2054/2326] New translations supported-networks.mdx (Yoruba) --- website/pages/yo/developing/supported-networks.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/yo/developing/supported-networks.mdx b/website/pages/yo/developing/supported-networks.mdx index 574c87cc37d0..7c2d8d858261 100644 --- a/website/pages/yo/developing/supported-networks.mdx +++ b/website/pages/yo/developing/supported-networks.mdx @@ -12,7 +12,7 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) \* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). \*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). -- The hosted service and Subgraph Studio rely on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. +- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. - Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. - If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. - For a full list of which features are supported on the decentralized network, see [this page](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). From 3255972e0a1956466a8432480b5215a63aca2f42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 20:44:53 -0400 Subject: [PATCH 2055/2326] New translations billing.mdx (Portuguese) --- website/pages/pt/billing.mdx | 62 ++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/website/pages/pt/billing.mdx b/website/pages/pt/billing.mdx index a47c16723f7c..e2a537a22c3e 100644 --- a/website/pages/pt/billing.mdx +++ b/website/pages/pt/billing.mdx @@ -140,37 +140,37 @@ Aprenda mais sobre adquirir GRT na Binance [aqui](https://www.binance.com/en/sup Este é um guia passo a passo sobre como comprar GRT no Uniswap. -1. Go to [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) and connect your wallet. -2. Select the token you want to swap from. Select ETH. -3. Select the token you want to swap to. Select GRT. - - Make sure you're swapping for the correct token. The GRT smart contract address on Arbitrum One is: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) -4. Enter the amount of ETH you want to swap. -5. Click "Swap". -6. Confirm the transaction in your wallet and you wait for the transaction to process. +1. Entre no [Uniswap](https://app.uniswap.org/swap?chain=arbitrum) e conecte a sua carteira. +2. Selecione o token que quer trocar — no caso, ETH. +3. Selecione o token pelo que quer trocar — no caso, GRT. + - Certifique-se que trocará pelo token correto. O endereço de contrato inteligente do GRT no Arbitrum One é: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) +4. Insira a quantia de ETH que deseja trocar. +5. Clique em "Swap". +6. Confirme a transação na sua carteira e espere que a transação seja processada. -You can learn more about getting GRT on Uniswap [here](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). +Aprenda mais sobre como adquirir GRT no Uniswap [aqui](https://support.uniswap.org/hc/en-us/articles/8370549680909-How-to-Swap-Tokens-). -## Getting Ether +## Como adquirir Ether -This section will show you how to get Ether (ETH) to pay for transaction fees or gas costs. ETH is necessary to execute operations on the Ethereum network such as transferring tokens or interacting with contracts. +Esta seção explicará como adquirir Ether (ETH) para pagar por taxas de transação ou gas. É necessário ter ETH para executar operações na rede Ethereum, como a transferência de tokens ou interação com contratos. ### Coinbase -This will be a step by step guide for purchasing ETH on Coinbase. +Este é um guia passo a passo sobre como comprar ETH na Coinbase. 1. Crie uma conta na [Coinbase](https://www.coinbase.com/). -2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. -3. Once you have verified your identity, purchase ETH by clicking on the "Buy/Sell" button on the top right of the page. -4. Select the currency you want to purchase. Select ETH. -5. Select your preferred payment method. -6. Enter the amount of ETH you want to purchase. -7. Review your purchase and click "Buy ETH". -8. Confirm your purchase and you will have successfully purchased ETH. -9. You can transfer the ETH from your Coinbase account to your wallet such as [MetaMask](https://metamask.io/). - - To transfer the ETH to your wallet, click on the "Accounts" button on the top right of the page. - - Click on the "Send" button next to the ETH account. - - Enter the amount of ETH you want to send and the wallet address you want to send it to. - - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. +2. Quando tiver criado uma conta, verifique a sua identidade através do processo KYC (sigla em inglês para "Conheça o Seu Cliente"). Este processo é comum em todas as corretoras de cripto, centralizadas ou custodiais. +3. Após verificar a sua identidade, compre ETH no botão "Comprar/Vender", no canto superior direito da página. +4. Selecione a moeda que deseja comprar — no caso, ETH. +5. Selecione o seu método de pagamento preferido. +6. Insira a quantia de ETH que deseja comprar. +7. Reveja a sua compra e clique em "Comprar ETH". +8. Confirme a sua compra, e o ETH será adquirido com sucesso. +9. Pode transferir o ETH da sua conta à sua carteira de cripto preferida, como o [MetaMask](https://metamask.io/). + - Para transferir o ETH à sua carteira, clique no botão "Contas" no canto superior direito da página. + - Clique em "Enviar", próximo à conta de ETH. + - Insira a quantia de ETH que deseja enviar, e o endereço da carteira que a receberá. + - Certifique-se que enviará ao endereço da sua carteira de Ethereum no Arbitrum One. - Clique em "Continuar" e confirme a sua transação. Saiba mais sobre como adquirir ETH na Coinbase [aqui](https://help.coinbase.com/en/coinbase/trading-and-funding/buying-selling-or-converting-crypto/how-do-i-buy-digital-currency). @@ -180,18 +180,18 @@ Saiba mais sobre como adquirir ETH na Coinbase [aqui](https://help.coinbase.com/ Este é um guia passo a passo sobre como comprar ETH na Binance. 1. Crie uma conta na [Binance](https://www.binance.com/en). -2. Once you have created an account, verify your identity through a process known as KYC (or Know Your Customer). This is a standard procedure for all centralized or custodial crypto exchanges. +2. Quando tiver criado uma conta, verifique a sua identidade através do processo KYC (sigla em inglês para "Conheça o Seu Cliente"). Este processo é comum em todas as corretoras de cripto, centralizadas ou custodiais. 3. Após verificar a sua identidade, poderá comprar ETH no botão "Comprar/Vender", no banner da página principal. -4. Select the currency you want to purchase. Select ETH. -5. Select your preferred payment method. -6. Enter the amount of ETH you want to purchase. -7. Review your purchase and click "Buy ETH". +4. Selecione a moeda que deseja comprar — no caso, ETH. +5. Selecione o seu método de pagamento preferido. +6. Insira a quantia de ETH que deseja comprar. +7. Reveja a sua compra e clique em "Comprar ETH". 8. Confirme a sua compra, e o seu ETH aparecerá na sua Carteira Spot da Binance. -9. You can withdraw the ETH from your account to your wallet such as [MetaMask](https://metamask.io/). - - To withdraw the ETH to your wallet, add your wallet's address to the withdrawal whitelist. +9. Pode transferir o ETH da sua conta à sua carteira preferida, como o [MetaMask](https://metamask.io/). + - Para sacar o ETH à sua carteira, adicione o endereço da sua carteira à whitelist de saques. - Clique no botão "wallet", clique em "sacar" (withdraw), e selecione ETH. - Insira a quantia de ETH que deseja enviar, e o endereço da carteira na whitelist à qual quer enviar. - - Ensure that you are sending to your Ethereum wallet address on Arbitrum One. + - Certifique-se que enviará ao endereço da sua carteira de Ethereum no Arbitrum One. - Clique em "Continuar" e confirme a sua transação. Saiba mais sobre como adquirir ETH na Binance [aqui](https://www.binance.com/en/support/faq/how-to-buy-cryptocurrency-on-binance-homepage-400c38f5e0cd4b46a1d0805c296b5582). From 8a4bd2c4746859bb96bd863d03cf3ea429dcdd31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 20:44:57 -0400 Subject: [PATCH 2056/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index fafb57a04266..780171681abe 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -4,13 +4,13 @@ title: Perguntas Frequentes sobre o Nascer do Sol + Atualizações da Graph Netw > Nota: Este documento é atualizado constantemente para garantir o repasse das informações mais úteis e precisas. Se não encontrar a informação que procura, ou se precisar de ajuda imediata, [fale no Discord](https://discord.gg/graphprotocol). Se precisar de informações sobre cobranças, consulte a página sobre [cobranças](/billing/). -## What is the Sunrise of Decentralized Data? +## O Que É o Nascer do Sol dos Dados Descentralizados? O Nascer do Sol dos Dados Descentralizados é uma iniciativa liderada pela Edge & Node. A meta é garantir que os programadores de subgraphs façam uma atualização suave para a rede descentralizada do The Graph. Este plano usa vários desenvolvimentos prévios do ecossistema do The Graph, inclusive um Indexador de atualização para servir queries em subgraphs recém-publicados, e a habilidade de integrar novas redes de blockchain ao The Graph. -### What are the phases of the Sunrise? +### Quais as fases do Nascer do Sol? **Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ **Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ @@ -174,7 +174,7 @@ Subgraph developers will be able to query their subgraphs on The Graph Network a ### Como isto beneficiará os consumidores de dados? -The upgrade Indexer enables chains on the network that were previously only supported on the hosted service. Therefore, it widens the scope and availability of data that can be queried on the network. +O Indexador de atualização ativa, na rede, chains que antes só tinham apoio no serviço hospedado. Assim, ele aumenta o alcance e a disponibilidade de dados que podem ser consultados na rede. ### Como o Indexador de atualização precificará queries? @@ -188,19 +188,19 @@ Além disto, o Indexador de atualização parará de apoiar um subgraph se ele n Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. -## About The Graph Network +## Sobre a Graph Network ### Eu tenho que executar a minha própria infraestrutura? -No, all infrastructure is operated by independent Indexers on The Graph Network, including the upgrade Indexer ([read more below](#what-is-the-upgrade-indexer)). +Não. Toda a infraestrutura é operada por Indexadores independentes na Graph Network, o que inclui o Indexador de atualizações ([leia mais abaixo](#what-is-the-upgrade-indexer)). -You can use [Subgraph Studio](https://thegraph.com/studio/) to create, test, and publish your subgraph. All hosted service users must upgrade their subgraph to The Graph Network before 10 a.m. PT on June 12th, 2024. +É possível usar o [Subgraph Studio](https://thegraph.com/studio/) para criar, testar e editar o seu subgraph. Todos os utilizadores do serviço hospedado devem migrar o seu subgraph à Graph Network antes das 10 da manhã, horário Pacífico, em 12 de junho de 2024. -The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. +O [Indexador de Atualização do Nascer do Sol](/sunrise/#what-is-the-upgrade-indexer) garante a indexação de todos os subgraphs. No entanto, sinalizar GRT em um subgraph em particular atrairá mais Indexadores a ele. Este incentivo de Indexadores adicionais via curadoria visa melhorar a qualidade do serviço de queries ao reduzir a latência e melhorar a disponibilidade da rede. -When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on that specific version. +Ao sinalizar, os Curadores podem decidir entre sinalizar numa versão específica do subgraph ou sinalizar com a automigração. Caso sinalizem com a automigração, as ações de um curador sempre serão atualizadas à versão mais recente publicada pelo programador. Se decidirem sinalizar numa versão específica, as ações sempre permanecerão naquela versão específica. -To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. +Para ajudar equipas que transitam subgraphs do serviço hospedado à Graph Network, abrimos o suporte para curadoria. Se precisar de ajuda com curadoria para melhorar a qualidade do serviço, contacte a equipa da Edge & Node em support@thegraph.zendesk.com e especifique os subgraphs com os quais precisa de ajuda. Quando o seu subgraph alcançar um sinal de curadoria adequado e outros Indexadores começarem a apoiá-lo, o Indexador de atualização se estabilizará gradualmente, de modo a permitir que outros Indexadores coletem recompensas de indexação e taxas de query. @@ -208,17 +208,17 @@ Quando o seu subgraph alcançar um sinal de curadoria adequado e outros Indexado A execução de infraestrutura para o seu próprio projeto [requer muito mais recursos](/network/benefits/) em comparação ao uso da Graph Network. -Additionally, The Graph Network is significantly more robust, reliable, and cost-efficient than anything provided by a single organization or team. Hundreds of independent Indexers around the world power The Graph Network, ensuring safety, security, and redundancy. +Além disto, a Graph Network é muito mais robusta, confiável, com um custo-benefício muito melhor comparado a qualquer coisa fornecida por uma única organização ou equipa. Centenas de Indexadores independentes ao redor do mundo operam a Graph Network para garantir segurança e redundância. Dito isto, se ainda tiver interesse em executar um [Graph Node](https://github.com/graphprotocol/graph-node), considere entrar na Graph Network [como Indexador](https://thegraph.com/blog/how-to-become-indexer/) para ganhar recompensas de indexação e taxas de query ao servir dados no seu subgraph e em outros. ### Devo usar um provedor de indexação centralizado? -If you are building in web3, the moment you use a centralized indexing provider, you are giving them control of your dapp and data. The Graph’s decentralized network offers [superior quality of service](https://thegraph.com/blog/qos-the-graph-network/), reliability with unbeatable uptime thanks to node redundancy, significantly [lower costs](/network/benefits/), and keeps you from being hostage at the data layer. +Se construir na web3, a partir do momento que usa um provedor de indexação centralizado, você dá-os controle do seu dApp e dos seus dados. A rede descentralizada do The Graph oferece [uma qualidade melhor de serviço](https://thegraph.com/blog/qos-the-graph-network/), confiança com atividade imbatível graças à redundância de nodes, além de [custos muito menores](/network/benefits/); e você não será feito de refém na camada de dados. -With The Graph Network, your subgraph is public and anyone can query it openly, which increases the usage and network effects of your dapp. +Com a Graph Network, o seu subgraph é público e qualquer pessoa pode enviar queries a ele abertamente, o que aumenta o uso e os efeitos na rede do seu dApp. -Additionally, Subgraph Studio provides 100,000 free monthly queries on the Free Plan, before payment is needed for additional usage. +Além disto, o Subgraph Studio fornece 100 mil queries mensais gratuitas no Plano Grátis antes da necessidade de pagar para mais uso. Aqui está um resumo detalhado dos benefícios do The Graph em comparação à hospedagem centralizada: @@ -226,8 +226,8 @@ Aqui está um resumo detalhado dos benefícios do The Graph em comparação à h - **Qualidade de Serviço**: Além do tempo de atividade impressionante, a Graph Network tem uma velocidade de query mediana (latência) de cerca de 106ms, e índices maiores de sucesso de query em comparação a alternativas hospedadas. Leia mais [neste blog](https://thegraph.com/blog/qos-the-graph-network/). -- **Censorship Resistance**: Centralized systems are targets for censorship, either through regulatory pressures or network attacks. In contrast, the dispersed architecture of decentralized systems makes them much harder to censor, which ensures continuous data availability. +- **Resistência a Censura**: Sistemas centralizados são alvos fáceis para censura, seja por pressão regulatória ou ataques à rede. As arquiteturas dispersadas de sistemas descentralizados os faz muito mais difíceis de censurar, o que garante a disponibilidade contínua dos dados. -- **Transparency and Trust**: Decentralized systems operate openly, enabling anyone to independently verify the data. This transparency builds trust among network participants because they can verify the system's integrity without relying on a central authority. +- **Transparência e Confiança**: Sistemas descentralizados operam de forma aberta, o que permite que qualquer pessoa verifique os dados de forma independente. Esta transparência constrói confiança entre participantes da rede, já que podem verificar a integridade do sistema sem depender de uma autoridade central. Assim como você escolheu a sua rede de blockchain pela natureza descentralizada, segurança e transparência, optar pela Graph Network é uma extensão destes mesmos princípios. Ao alinhar a sua infraestrutura de dados com estes valores, você garante um ambiente de programação coeso, resiliente e cheio de confiança. From b307d4e00063a425164435e21b133a3c378a8395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 28 Jun 2024 21:42:16 -0400 Subject: [PATCH 2057/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index 780171681abe..0ddea550073f 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -12,13 +12,13 @@ Este plano usa vários desenvolvimentos prévios do ecossistema do The Graph, in ### Quais as fases do Nascer do Sol? -**Sunray**: Enable support for hosted service chains, introduce a seamless upgrade flow, offer a free plan on The Graph Network, and provide simple payment options.\ -**Sunbeam**: The upgrade window that subgraph developers will have to upgrade their hosted service subgraphs to The Graph Network. This window will end at 10 a.m. PT on June 12th 2024.\ -**Sunrise**: Hosted service endpoints will no longer be available after 10 a.m. PT on June 12th, 2024. +**Raio de Sol**: Ativa apoio a chains no serviço hospedado, introduz um fluxo de atualizações suaves, oferece um plano grátis na Graph Network e fornece opções simples de pagamento.\ +**Luz do Sol**: O período que programadores de subgraphs têm para atualizar os seus subgraphs do serviço hospedado à Graph Network. Esta janela será fechada às 10 da manhã, horário Pacífico, em 12 de junho de 2024.\ +**Nascer do Sol**: Endpoints do serviço hospedado não estarão mais disponíveis após as 10 da manhã, horário Pacífico, 12 de junho de 2024. -## Atualização de subgraphs à Graph Network +## Como migrar subgraphs à Graph Network -### When will hosted service subgraphs no longer be available? +### Quando os subgraphs do serviço hospedado serão desativados? Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. @@ -166,11 +166,11 @@ O Indexador de atualização oferece uma forte oportunidade para Delegantes. À Não, o Indexador de atualização só alocará a quantidade mínima por subgraph e não coletará recompensas de indexação. -It operates on an “as needed” basis and serves as a fallback until sufficient service quality is achieved by at least 3 other Indexers in the network for respective chains and subgraphs. +Ele opera numa base de "necessidade" e serve como uma reserva até que uma cota de qualidade de serviço seja alcançada por, no mínimo, 3 outros Indexadores na rede para chains e subgraphs respetivos. ### Como isto afetará os programadores de subgraph? -Subgraph developers will be able to query their subgraphs on The Graph Network almost immediately after upgrading from the hosted service or publishing from Subgraph Studio, as no lead time will be required for indexing. +Estes poderão enviar queries para os seus subgraphs na Graph Network logo após migrar do serviço hospedado ou publicá-los do Subgraph Studio, já que não será necessário tempo de espera para a indexação. ### Como isto beneficiará os consumidores de dados? @@ -186,7 +186,7 @@ O Indexador de atualização servirá um subgraph até ele for servido suficient Além disto, o Indexador de atualização parará de apoiar um subgraph se ele não tiver sido consultado nos últimos 30 dias. -Other Indexers are incentivized to support subgraphs with ongoing query volume. The query volume to the upgrade Indexer should trend towards zero, as it will have a small allocation size, and other Indexers will be chosen for queries ahead of it. +Outros Indexadores são incentivados a apoiar subgraphs com o volume de query atual. O volume de query ao Indexador de atualização tende a aproximar zero, já que ele terá um tamanho de alocação pequeno e outros Indexadores serão escolhidos por queries antes do Indexador de atualização. ## Sobre a Graph Network From 9d4250928effba2679ab7cfd3d940053836edda3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sat, 29 Jun 2024 08:54:15 -0400 Subject: [PATCH 2058/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 66 ++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index 0ddea550073f..720513d6567f 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -20,61 +20,61 @@ Este plano usa vários desenvolvimentos prévios do ecossistema do The Graph, in ### Quando os subgraphs do serviço hospedado serão desativados? -Hosted service query endpoints will remain active until 10 a.m. PT on June 12th. After June 12th at 10 a.m. PT, query endpoints will no longer be available, and developers will no longer be able to deploy new subgraph versions on the hosted service. +Os endpoints de query do serviço hospedado permanecerão ativos até as 10 da manhã, horário Pacífico, em 12 de junho de 2024. Após este horário, os endpoints de query serão desativados e programadores não poderão mais lançar versões novas de subgraphs no serviço hospedado. -### I didn’t upgrade my subgraph by June 12th at 10 a.m. PT. What should I do if I still want to use it? +### Eu não atualizei o meu subgraph antes de 12 de junho. O que devo fazer se ainda quiser utilizá-lo? -The hosted service homepage is still accessible and can be used to search for legacy hosted service subgraphs. If your hosted service subgraph has already been auto-upgraded, you may claim its network equivalent as the original owner. If your subgraph was not [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), you can still upgrade and publish it. +A página inicial do serviço hospedado ainda está disponível e pode ser usada para buscar subgraphs antigos do serviço hospedado. Se o seu subgraph do serviço hospedado já foi atualizado automaticamente, é possível resgatar o seu equivalente da rede como o dono original. Se o seu subgraph não foi [atualizado automaticamente](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam), ainda é possível atualizar e editá-lo. -Upgrading takes less than five minutes on average. Once your subgraph is up, simply set up an API key in Subgraph Studio, update your API query endpoint, and begin querying! +Atualizações levam, em média, menos de cinco minutos. Quando o seu subgraph estiver ao vivo, basta configurar uma chave API no Subgraph Studio, atualizar o seu endpoint de query na API e começar as queries! -### Will my hosted service subgraph be supported on The Graph Network? +### O meu subgraph do serviço hospedado será apoiado na Graph Network? -Yes, the upgrade Indexer will automatically support all hosted service subgraphs published to The Graph Network for a seamless upgrade experience. +Sim, o Indexador de atualização terá suporte automático a todos os subgraphs do serviço hospedado editados à Graph Network para garantir uma experiência de atualização suave. -### How do I upgrade my hosted service subgraph? +### Como atualizo o meu subgraph do serviço hospedado? -> Note: Upgrading a subgraph to The Graph Network cannot be undone. +> Nota: A atualização de um subgraph à Graph Network não pode ser desfeita. -To upgrade a hosted service subgraph, you can visit the subgraph dashboard on the [hosted service](https://thegraph.com/hosted-service). +Para atualizar um subgraph do serviço hospedado, é possível visitar o painel do subgraph no [serviço hospedado](https://thegraph.com/hosted-service). -1. Select the subgraph(s) you want to upgrade. -2. Select the receiving wallet (the wallet that will become the owner of the subgraph). -3. Click the "Upgrade" button. +1. Selecione o(s) subgraph(s) que queres atualizar. +2. Selecione a carteira destinatária (a carteira que tornará-se a dona do subgraph). +3. Clique no botão "Upgrade". -Once your subgraph is published, the [upgrade Indexer](#what-is-the-upgrade-indexer) will begin serving queries on it. Once you have generated an API key, you can begin making queries immediately. [Learn more](/cookbook/upgrading-a-subgraph/#what-next). +Com o subgraph editado, o [Indexador de atualização](#what-is-the-upgrade-indexer) começará a servir queries nele. Após gerar uma chave API, será possível começar a fazer queries imediatamente. [Aprenda mais](/cookbook/upgrading-a-subgraph/#what-next). -### How can I get support with the upgrade process? +### Como posso conseguir suporte no processo de atualização? -The Graph community is here to support developers as they move to The Graph Network. Join The Graph's [Discord server](https://discord.gg/vtvv7FP) and request help in the #upgrade-decentralized-network channel. +A comunidade do The Graph está aqui para apoiar programadores enquanto eles migram à Graph Network. Entre no [Discord do The Graph](https://discord.gg/vtvv7FP) e peça ajuda no canal #upgrade-decentralized-network. -### How can I ensure high quality of service and redundancy for subgraphs on The Graph Network? +### Como posso garantir redundância e uma qualidade alta de serviço para subgraphs na Graph Network? -All subgraphs will be supported by the upgrade Indexer. For a higher quality of service and more robust redundancy, you can add a curation signal to subgraphs eligible for indexing rewards. It is recommended that you curate your subgraph with at least 3000 GRT (per subgraph) to attract about 3 Indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +Todos os subgraphs serão apoiados pelo Indexador de atualização. Para aumentar a qualidade do serviço e a robustez da redundância, é possível adicionar um sinal de curadoria a subgraphs com direito a recompensas de indexação. Recomendamos curar o seu subgraph com, no mínimo, 3.000 GRT (por subgraph) para atrair cerca de 3 Indexadores. [Aprenda mais sobre adicionar sinais ao seu subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -Please note that this indexing incentive does not deplete over time; it has no depletion rate and is instantly withdrawable at any time. If you want to add 3000 GRT in signal, you will need to signal 3030 GRT (as 1% would be burned). Note that a 0.5% fee is also deducted from the subgraph’s signal every time a new version is published. +Por favor, note que este incentivo de indexação não se esvazia ao longo do tempo; ele não tem ritmo de esgotamento e pode ser sacado imediatamente a qualquer hora. Se quiser adicionar 3000 GRT em sinal, será necessário sinalizar 3.030 GRT (já que 1% seria queimado). Note que uma taxa de 0,5% também é deduzida do sinal do subgraph sempre que uma versão nova é editada. -Subgraphs which are not eligible for indexing rewards may struggle to attract further Indexers. For example, indexing rewards may not be available for subgraphs on certain chains (check support [here](/developing/supported-networks)). +Subgraphs sem direito a recompensas de indexação podem sofrer ao tentar atrair mais Indexadores. Por exemplo, recompensas de indexação podem não ser disponibilizadas para subgraphs em chains específicas (confira o apoio [aqui](/developing/supported-networks)). -Members from these blockchain communities are encouraged to integrate their chain through the [Chain Integration Process](/chain-integration-overview/). +Membros destas comunidades de blockchain são bem-vindos para integrar as suas chains via o [Processo de Integração de Chain](/chain-integration-overview/). -### How do I publish new versions to the network? +### Como edito novas versões na rede? -You can deploy new versions of your subgraph directly to Subgraph Studio, which provides a testing environment, before publishing to the network for production usage. Subgraph Studio has a different deployment command and requires a `version-label` for each new deployment. +É possível lançar novas versões do seu subgraph diretamente ao Subgraph Studio, que providencia um ambiente de testes, antes de editar à rede para uso em produção. O Subgraph Studio tem um comando de lançamento diferente e requer um `version-label` para cada novo lançamento. -1. Upgrade to the latest version of [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) -2. Update your deploy command +1. Atualize à versão mais recente da [graph-cli](https://www.npmjs.com/package/@graphprotocol/graph-cli) +2. Atualize o seu comando de lançamento ```sh -# Authorize with Subgraph Studio, available on your subgraph page -## Alternativel pass this into the deploy command as --access-token (see below) +# Autorize com o Subgraph Studio, disponível na página do seu subgraph +## Alternatival passe isto para o comando de lançamento como --access-token (veja abaixo) graph auth --studio -# Deploy to Subgraph Studio -## Unlike the hosted service, the name is just the subgraph name (no github id) -## If using `--node` directly, you can pass in https://api.studio.thegraph.com/deploy/ +# Lance ao Subgraph Studio +## Ao contrário do serviço hospedado, o nome consiste apenas do nome do subgraph (sem id do github) +## Se usar o `--node` diretamente, é possível passá-lo no https://api.studio.thegraph.com/deploy/ graph deploy --studio --version --access-token ``` @@ -148,13 +148,13 @@ Encontre uma lista compreensiva de chains apoiadas [aqui](/developing/supported- ### Porque a Edge & Node executa o Indexador de atualização? -Edge & Node has historically maintained the hosted service and, as a result, has already synced data for hosted service subgraphs. +A Edge & Node historicamente operou o serviço hospedado, e como resultado, já sincronizou os dados de subgraphs do serviço hospedado. -All Indexers are encouraged to become upgrade Indexers as well. However, note that operating an upgrade Indexer is primarily a public service to support new subgraphs and additional chains that lack indexing rewards before they are approved by The Graph Council. +Todos e quaisquer Indexadores são bem-vindos a tornar-se também Indexadores de atualização. Porém, a operação de um Indexador de atualização tende a ser fornecida como um serviço público para apoiar subgraphs novos e chains adicionais que não tem recompensas de indexação antes de serem aprovados pelo Graph Council. -### What does the upgrade indexer mean for existing Indexers? +### O que o Indexador de atualização significa para Indexadores existentes? -Chains that were previously only supported on the hosted service will now be available to developers on The Graph Network without indexing rewards at first, but it will unlock query fees for any Indexer that is interested. This should lead to an increase in the number of subgraphs being published on The Graph Network, providing more opportunities for Indexers to index and serve these subgraphs in return for query fees, even before indexing rewards are enabled for a chain. +Chains que antigamente tinham apoio apenas no serviço hospedado agora estarão disponíveis para programadores na Graph Network sem recompensas de indexação inicialmente, mas isto ativará taxas de query para qualquer Indexador interessado. Espera-se que isto cause um aumento no número de subgraphs editados na rede, o que proverá mais oportunidades para os Indexadores indexarem e servirem estes subgraphs em troca de taxas de query, antes mesmo da ativação de recompensas de indexação para uma chain. O Indexador de atualização também fornece à comunidade de Indexadores informações sobre demanda em potencial para subgraphs e novas chains na Graph Network. From b4f4377cec89be4608717128bc0a4758a51f5b58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sat, 29 Jun 2024 08:54:17 -0400 Subject: [PATCH 2059/2326] New translations upgrading-a-subgraph.mdx (Portuguese) --- website/pages/pt/cookbook/upgrading-a-subgraph.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/cookbook/upgrading-a-subgraph.mdx b/website/pages/pt/cookbook/upgrading-a-subgraph.mdx index 1b261e0faf75..188e580499b0 100644 --- a/website/pages/pt/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/pt/cookbook/upgrading-a-subgraph.mdx @@ -20,9 +20,9 @@ If you are logged in to the hosted service, you can access a simple flow to upgr > This process typically takes less than five minutes. -1. Select the subgraph(s) you want to upgrade. +1. Selecione o(s) subgraph(s) que queres atualizar. 2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). -3. Click the "Upgrade" button. +3. Clique no botão "Upgrade". That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. From cdb8d998e0ae49e7c0cc105caaabdc3b8c0a20de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sat, 29 Jun 2024 15:01:50 -0400 Subject: [PATCH 2060/2326] New translations sunrise.mdx (Portuguese) --- website/pages/pt/sunrise.mdx | 66 ++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/website/pages/pt/sunrise.mdx b/website/pages/pt/sunrise.mdx index 720513d6567f..44cb3a669f14 100644 --- a/website/pages/pt/sunrise.mdx +++ b/website/pages/pt/sunrise.mdx @@ -78,71 +78,71 @@ graph auth --studio graph deploy --studio --version --access-token ``` -This new version will then sync in Subgraph Studio, a testing and sandbox environment. When you are ready to move a new version to production, you can [publish the subgraph version](/publishing/publishing-a-subgraph). +Esta nova versão será então sincronizada no Subgraph Studio, um ambiente de testes. Quando estiver pronto para mover uma versão mais nova à produção, será possível [editar a versão do subgraph](/publishing/publishing-a-subgraph). -> Publishing requires Arbitrum ETH - upgrading your subgraph also airdrops a small amount to facilitate your first protocol interactions 🧑‍🚀 +> Editar exige ETH no Arbitrum - atualizar o seu subgraph também envia uma quantia pequena para facilitar as suas primeiras interações no protocolo 🧑‍🚀 -### I use a subgraph developed by someone else, how can I make sure that my service isn't interrupted? +### Tenho um subgraph programado por outra pessoa. Como garantir que o meu serviço não será interrompido? -When the owner has upgraded their subgraph, you will be able to easily go from the subgraph's hosted service page to the corresponding subgraph on The Graph Network, and update your application to use the new subgraph's query URL. [Learn more](/querying/querying-the-graph). +Quando o dono atualizar o seu subgraph, será possível ir facilmente da página do subgraph no serviço hospedado ao subgraph correspondente na Graph Network, e atualizar o seu aplicativo a usar no URL de query do subgraph novo. [Saiba mais](/querying/querying-the-graph). -Around the start of June, Edge & Node will automatically upgrade actively queried subgraphs. This will give any third-party data consumers an opportunity to move subgraph endpoints to The Graph Network before 10 a.m. on June 12th. The subgraph owners will still be able to claim these subgraphs on the network using the hosted service upgrade flow. +No começo de junho, a Edge & Node atualizará automaticamente subgraphs com queries ativas. Isto dará a quaisquer consumidores de dados de terceiros uma oportunidade para migrar endpoints de subgraph à Graph Network antes das 10 da manhã, horário Pacífico, em 12 de junho. Os donos dos subgraphs ainda poderão resgatar estes subgraphs na rede com o fluxo de atualização do serviço hospedado. -### My subgraph has been auto-upgraded, what does that mean? +### O meu subgraph foi atualizado automaticamente, o que isto significa? -Subgraphs on the hosted service are open APIs, and many subgraphs are relied upon by third-party developers to build their applications. To give those developers sufficient time to move to The Graph Network, Edge & Node will be "auto-upgrading" highly used subgraphs. A link to the "auto-upgraded" subgraph will be visible on the original subgraph's page on the hosted service. +Subgraphs no serviço hospedado são APIs abertas, e muitos subgraphs são dependentes de programadores de terceiros para construir os seus aplicativos. Para dar a estes programadores tempo suficiente para migrar à Graph Network, a Edge & Node atualizará automaticamente subgraphs com uso pesado. Um link ao subgraph atualizado automaticamente será visível na página do subgraph original no serviço hospedado. -Owners of "auto-upgraded" subgraphs can easily claim their upgraded subgraphs using the same [upgrade flow](/cookbook/upgrading-a-subgraph) - such subgraphs can be identified by their "auto-upgraded" tag. Ownership of the subgraph on The Graph Network will be transferred to the owner's wallet. +Donos de subgraphs atualizados automaticamente podem resgatar os seus subgraphs atualizados com o mesmo [fluxo de atualização](/cookbook/upgrading-a-subgraph) - tais subgraphs podem ser identificados pela sua marcação de "auto-upgraded" (atualizado automaticamente). A titularidade do subgraph na Graph Network será transferida à carteira do dono. -### My subgraph has been auto-upgraded, but I need to deploy a new version +### O meu subgraph foi atualizado automaticamente, mas preciso lançar uma versão nova -You can use the [upgrade flow](/cookbook/upgrading-a-subgraph) to claim the auto-upgraded subgraph, and then you can deploy a new version in Subgraph Studio, using the same infrastructure that powers the hosted service. +É possível utilizar o [fluxo de atualização](/cookbook/upgrading-a-subgraph) para reivindicar o subgraph atualizao automaticamente, e depois será possível lançar uma versão nova no Subgraph Studio, com a mesma infraestrutura que move o serviço hospedado. -If you require an urgent fix, please contact support. +Se precisar de uma solução urgente, favor contactar o suporte. -### What happens if I don't upgrade my subgraph? +### O que acontece se eu não atualizar o meu subgraph? -Subgraphs will be queryable on the hosted service until 10 a.m. PT on June 12th. After this date, the hosted service homepage will still be accessible, however, query endpoints will no longer be available. Owners of hosted service subgraphs will still be able to upgrade their subgraphs to The Graph Network after June 12th, though earlier upgrades are entitled to [earn rewards](https://thegraph.com/sunrise-upgrade-program/). Developers will also be able to claim [auto-upgraded subgraphs](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). +Os Subgraphs receberão queries no serviço hospedado até as 10 da manhã, horário Pacífico, em 12 de junho. Após esta data, a página inicial do serviço hospedado continuará acessível, mas endpoints de queries serão desativados. Os donos de subgraphs no serviço hospedado ainda poderão atualizar os seus subgraphs à Graph Network após 12 de junho, mas atualizações anteriores serão elegíveis a [ganhar recompensas](https://thegraph.com/sunrise-upgrade-program/). Programadores também poderão reivindicar [subgraphs atualizados automaticamente](https://thegraph.com/blog/unveiling-updated-sunrise-decentralized-data/#phase-2-sunbeam). -### What should I do with my subgraphs on the hosted service? Will they stop working and should I delete them? +### O que devo fazer com os meus subgraphs no serviço hospedado? Eles pararão de funcionar? Devo apagá-los? -It is not possible to delete subgraphs. Query endpoints will remain active until 10 a.m. PT on June 12th, regardless of whether they have been upgraded or not. +Não é possível apagar subgraphs. Os endpoints de queries permanecerão ativos até as 10 da manhã, horário Pacífico, em 12 de junho, independente de terem sido atualizados ou não. -### Will Subgraph Studio be impacted by this upgrade? +### O Subgraph Studio será atingido por esta atualização? -No, Subgraph Studio will not be impacted by Sunrise. +Não, o Subgraph Studio não será impactado pelo Nascer do Sol. -### What will happen to the hosted service? +### O que acontecerá com o serviço hospedado? -After 10 a.m. PT on June 12th, query endpoints will no longer be available, and owners won't be able to deploy or query the hosted service. However, the hosted service UI will still show subgraph pages, and subgraph owners will be able to upgrade their subgraphs if they haven't already. The hosted service UI will be retired at a later date. +Após as 10 da manhã, horário Pacífico, 12 de junho, endpoints de queries serão desativados e titulares não poderão lançar no serviço hospedado ou consultá-lo. Porém, a interface do serviço hospedado continuará a mostrar páginas de subgraphs, e donos de subgraphs poderão atualizar os seus subgraphs caso já não tenham o feito. A interface do serviço hospedado será aposentada em uma data futura. -### Will subgraphs need to be re-indexed again? +### Subgraphs precisarão ser reindexados? -No, rest assured that your subgraph will not need to be re-indexed when it is upgraded to The Graph Network. Subgraphs will be immediately available for querying, powered by the upgrade Indexer, which uses the same infrastructure as the hosted service. If your subgraph is indexing a network that is eligible for indexing rewards, you can add signal to attract indexers. [Learn more about adding signal to your subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). +Não, tenha tranquilidade em saber que o seu subgraph não precisará ser reindexado ao ser atualizado à Graph Network. Os subgraphs serão disponibilizados imediatamente para queries, movidos pelo Indexador de atualização, que usa a mesma infraestrutura que o serviço hospedado. Se o se subgraph indexar uma rede elegível a recompensas de indexação, será possível adicionar sinais a ele para atrair Indexadores. [Saiba mais sobre adicionar sinais ao seu subgraph](/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph). -### I’m experiencing indexing issues. What should I do? +### Estou com problemas ao indexar. O que devo fazer? -Rest assured that network Indexers are prepared to provide support during this upgrade. If you experience issues with any of your subgraph queries, please reach out to support@thegraph.zendesk.com +Tenha tranquilidade em saber que Indexadores de rede estão preparados para prover apoio durante esta atualização. Se tiver problemas com qualquer das suas queries no seu subgraph, entre em contacto em support@thegraph.zendesk.com -### Why is my subgraph being published to Arbitrum, is it indexing a different network? +### Por que o meu subgraph é publicado ao Arbitrum, ele está a indexar uma rede diferente? -The Graph Network was originally deployed on mainnet Ethereum but moved to Arbitrum One to reduce gas costs for all users. As such any new subgraphs are published to The Graph Network on Arbitrum so that they can be supported by Indexers. Arbitrum is the network that subgraphs are published to, but subgraphs can index any of the [supported networks](https://thegraph.com/docs/en/developing/supported-networks/) +A Graph Network foi lançada originalmente à mainnet do Ethereum, mas migrou ao Arbitrum One apra reduzir custos de gas para todos os utilizadores. Assim, todos os subgraphs novos são publicados à Graph Network para que possam ser apoiados por Indexadores. O Arbitrum é a rede em qual os subgraphs são publicados, mas subgraphs podem indexar quaisquer das [redes apoiadas](https://thegraph.com/docs/en/developing/supported-networks/) -### How can I get started querying subgraphs on The Graph Network? +### Como posso começar a consultar subgraphs na Graph Network? -You can explore available subgraphs on [Graph Explorer](https://thegraph.com/explorer). [Learn more about querying subgraphs on The Graph](/querying/querying-the-graph). +É possível explorar subgraphs disponíveis no [Graph Explorer](https://thegraph.com/explorer). [Aprenda mais sobre consultar subgraphs no The Graph](/querying/querying-the-graph). -## About the Upgrade Indexer +## Sobre o Indexador de Atualização -### What is the upgrade Indexer? +### O que é o Indexador de atualização? -The upgrade Indexer is designed to improve the experience of upgrading subgraphs from the hosted service to The Graph Network and to support new versions of existing subgraphs that have not yet been indexed. +O Indexador de atualização é construído para melhorar a experiência de atualizar subgraphs do serviço hospedado à Graph Network e apoiar novas versões de subgraphs existentes que ainda não foram indexados. -The upgrade Indexer aims to bootstrap chains that don't have indexing rewards yet on The Graph Network and to serve as a fallback for new subgraph versions. The goal is to ensure that an Indexer is available to serve queries as quickly as possible after a subgraph is published. +O Indexador de atualização mira inicializar chains que ainda não tenham recompensas de indexação na Graph Network, além de uma reserva para novas versões de subgraph. A meta é garantir que um Indexador esteja disponível para servir queries o mais rápido possível após a publicação de um subgraph. -### What chains does the upgrade Indexer support? +### Quais chains são apoiadas pelo Indexador de atualização? -The upgrade Indexer supports chains that were previously only available on the hosted service. +O Indexador de atualização apoia chains que eram antes disponíveis apenas no serviço hospedado. Encontre uma lista compreensiva de chains apoiadas [aqui](/developing/supported-networks/). From 34c12a76f8bee5a8c4c3a30f58c51c225b1a16c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sat, 29 Jun 2024 15:01:51 -0400 Subject: [PATCH 2061/2326] New translations delegating.mdx (Portuguese) --- website/pages/pt/network/delegating.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/network/delegating.mdx b/website/pages/pt/network/delegating.mdx index bdc331c8eef6..72171c309986 100644 --- a/website/pages/pt/network/delegating.mdx +++ b/website/pages/pt/network/delegating.mdx @@ -2,7 +2,7 @@ title: Delegação --- -Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves. +Os Delegantes são participantes da rede que delegam (por ex., "stake") GRT a um ou mais Indexadores. Estes contribuem à segurança da rede sem executar um Graph Node por conta própria. Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. From c7167a1c22cf12c58102bb434baf2dbc5d12a1e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sat, 29 Jun 2024 16:10:13 -0400 Subject: [PATCH 2062/2326] New translations delegating.mdx (Portuguese) --- website/pages/pt/network/delegating.mdx | 44 ++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/website/pages/pt/network/delegating.mdx b/website/pages/pt/network/delegating.mdx index 72171c309986..a7300177f3d6 100644 --- a/website/pages/pt/network/delegating.mdx +++ b/website/pages/pt/network/delegating.mdx @@ -4,13 +4,13 @@ title: Delegação Os Delegantes são participantes da rede que delegam (por ex., "stake") GRT a um ou mais Indexadores. Estes contribuem à segurança da rede sem executar um Graph Node por conta própria. -Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process. +Os Delegantes ganham uma porção das taxas de query e recompensas do Indexador ao delegar a ele. A quantidade de queries que um Indexador pode processar depende do próprio stake, do stake delegado e do preço que o Indexador cobra por cada consulta, portanto, quanto mais stake for alocado a um Indexador, mais queries ele pode processar. ## Guia do Delegante -This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet. +Este guia explicará como ser um Delegante eficaz na Graph Network. Os Delegantes dividem a renda do protocolo com todos os Indexadores, com base no seu stake delegado. Um Delegante deve raciocinar bem para escolher Indexadores, baseado em vários fatores. Perceba que este guia não abordará passos como a configuração apropriada do MetaMask, já que essa informação está amplamente disponível na internet. -There are three sections in this guide: +Há três secções neste guia: - Os riscos de delegar tokens na Graph Network - Como calcular retornos esperados como um Delegante @@ -24,15 +24,15 @@ Veja abaixo os riscos principais de ser um Delegante no protocolo. Os Delegantes não podem ser punidos por mau comportamento, mas há uma taxa sobre Delegantes, para desencorajar más decisões que possam ferir a integridade da rede. -It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT. +É importante entender que, sempre que delega, o Delegante será cobrado 0.5%. Ou seja, se delegar 1000 GRT, automaticamente queimará 5 GRT. -In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation. +Por questões de segurança, um Delegante deve calcular o seu retorno potencial ao delegar a um Indexador. Por exemplo, um Delegante pode calcular quantos dias demorará até conseguir quitar a taxa de 0.5% na sua delegação. ### O período de separação da delegação -Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days. +Se um Delegado quiser cancelar a sua delegação, seus tokens estarão sujeitos a um período de 28 dias sem transferência, e também não poderá ganhar quaisquer recompensas por este período. -Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT. +Considere escolher um Indexador com muito cuidado. Se escolher um Indexador que não é de confiança, ou não fez um bom trabalho, talvez queira cancelar a sua delegação, o que implica em sacrificar muitas oportunidades de recompensa, o que pode ser tão lamentável quanto queimar GRT.
    ![Delegation unbonding](/img/Delegation-Unbonding.png) _Perceba a taxa de 0.5% na interface da Delegação, além do período de separação de 28 dias._ @@ -40,24 +40,24 @@ Another thing to consider is how to choose an Indexer wisely. If you choose an I ### Como escolher um Indexador de confiança, com um pagamento justo para Delegantes -This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters. +Este é um aspecto importante. Primeiro, vamos discutir três valores muito importantes: os Parâmetros de Delegação. -Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards. +Porção da Recompensa de Indexação - Esta é a porção das recompensas que o Indexador guardará para si. Isto significa que, se esta for configurada para 100%, o Delegante receberá 0 recompensas de indexação. Se ver 80% na interface, isto significa que, como Delegado, receberá 20%. Importante saber que no começo da rede, as Recompensas de Indexação contarão como a maioria das recompensas.
    ![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *O Indexador acima está a dar 90% das recompensas aos Delegantes, o do meio dá 20%, e o de baixo dá cerca de 83%.*
    -- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant. +- Porção da Taxa de Recompensa - Isto funciona exatamente como a Porção da Recompensa de Indexação. Porém, isto aplica-se explicitamente a retornos nas taxas de consulta coletadas pelo Indexador. Perceba que, no começo da rede, os retornos de taxas de query serão muito menores que a recompensa de indexação. Vale prestar atenção na rede para determinar quando as taxas de consulta na rede começarão a ser mais significantes. -As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network. +Como pode-se ver, há muito a considerar ao escolher o Indexador certo. É por isto que vale a pena explorar o [Discord do The Graph](https://discord.gg/graphprotocol) para determinar quais Indexadores tem as melhores reputações sociais e técnicas, a fim de recompensar Delegantes com consistência. Muitos dos Indexadores são ativos no Discord e estarão prontos para responder as suas perguntas. Muitos deles indexam há meses na testnet e fazem o seu melhor para ajudar os Delegantes a ganhar bons retornos, pois isto melhora a saúde e o êxito da rede. ### Como calcular o retorno esperado dos Delegados -A Delegator must consider a lot of factors when determining the return. These include: +Um Delegante tem muito a considerar ao determinar o retorno. Os fatores incluem: - Um Delegante técnico também pode examinar a habilidade do Indexador de usar os tokens Delegados a ele disponíveis. Se um Indexador não aloca todos os tokens disponíveis, eles não estão a ganhar o lucro máximo que poderia ser para si mesmo ou para os seus Delegados. -- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days. +- Agora mesmo, na rede, um Indexador pode escolher fechar uma alocação e resgatar as recompensas entre 1 e 28 dias. Então, é possível que um Indexador tenha muitas recompensas a resgatar, assim, diminuindo as suas recompensas totais. Isto deve ser considerado nos primeiros dias. ### Como considerar as porções das taxas de query e de indexação @@ -71,32 +71,32 @@ Um Delegante também deve considerar a proporção do Pool de Delegação que te ![Fórmula de ações](/img/Share-Forumla.png) -Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%. +Esta fórmula mostra que é possível que um Indexador que oferece apenas 20% para os Delegantes, dê uma recompensa melhor que um que dá 90%. -Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return. +Um Delegante pode então fazer as contas para determinar que o Indexador que oferece 20% aos Delegantes oferece um retorno melhor. ### Como considerar a capacidade de delegação Atualmente, a Proporção de Delegação é configurada em 16. Portanto, caso um Indexador tenha feito stake em 1.000.000 GRT, sua Capacidade de Delegação é 16.000.000 de tokens delegados que eles podem usar no protocolo. Quaisquer tokens delegados acima desta quantidade diluirão todas as recompensas do Delegante. -Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be. +Imagine que um Indexador tem 100.000.000 GRT delegados a ele, e a sua capacidade é de apenas 16.000.000 GRT. Efetivamente, 84.000.000 tokens GRT não estão em uso para ganhar tokens. E todos os Delegantes, e o Indexador, ganham muito menos recompensas do que deveriam ganhar. -Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making. +Assim, um Delegante deve sempre considerar a Capacidade de Delegação de um Indexador, e levá-la em conta ao tomar decisões. ## Erros e Perguntas Frequentes sobre Delegação ### Erro de "Transação Pendente" no MetaMask -**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?** +**Quando eu tento delegar a minha transação no MetaMask, ela aparece como "Pendente" ou "Na Fila" por mais tempo que o esperado. O que devo fazer?** -At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts. +Às vezes, tentativas de delegar a Indexadores via MetaMask podem falhar e causar que tentativas de transação fiquem "Pendentes" ou "Em Fila" por períodos prolongados. -For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful. +Por exemplo, um utilizador pode tentar delegar com uma taxa de gás insuficiente em relação aos preços atuais, fazendo com que a tentativa de transação fique como "Pendente" na sua carteira do MetaMask por mais de 15 minutos. Quando isto ocorre, um utilizador pode tentar mais transações, mas estas só serão processadas até a transação inicial for minerada, já que as transações para um endereço devem ser processadas em ordem. Em tais casos, estas transações podem ser canceladas no MetaMask, mas as tentativas de transação acumularão taxas de gas sem nenhuma garantia que as tentativas seguintes terão êxito. -A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate. +Uma solução mais simples para este bug é a reinicialização do navegador (por ex., usar "abort:restart" na barra de endereço), o que cancelará todas as tentativas anteriores sem subtrair gas da carteira. Vários utilizadores que encontraram este problema relataram êxito nas transações após reiniciar o seu navegador e tentar delegar. ## Guia de vídeo para a interface da rede -This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI. +Este guia em vídeo apresenta uma revisão completa desde documento e explica como considerar tudo nele durante as interações com a interface de utilizador. From 1bb2e0b66016704e1880d87bdac4be32b43fcd36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 07:50:24 -0400 Subject: [PATCH 2063/2326] New translations about.mdx (Portuguese) --- website/pages/pt/about.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/pt/about.mdx b/website/pages/pt/about.mdx index 9656a56a1af7..b76fd3f3da93 100644 --- a/website/pages/pt/about.mdx +++ b/website/pages/pt/about.mdx @@ -10,17 +10,17 @@ O The Graph é um protocolo descentralizado para indexação e queries de dados Projetos com contratos inteligentes complexos, como o [Uniswap](https://uniswap.org/) e iniciativas de NFTs como o [Bored Ape Yacht Club](https://boredapeyachtclub.com/), armazenam dados na blockchain Ethereum, o que torna muito difícil ler qualquer coisa que não seja dados básicos diretamente da blockchain. -In the case of Bored Ape Yacht Club, we can perform basic read operations on [the contract](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code) like getting the owner of a certain Ape, getting the content URI of an Ape based on their ID, or the total supply. This can be done because these read operations are programmed directly into the smart contract. However, more advanced real-world queries and operations like aggregation, search, relationships, and non-trivial filtering are _not_ possible. For example, if we wanted to query for Apes that are owned by a certain address and filter by one of its characteristics, we would not be able to get that information by interacting directly with the contract itself. +No caso do Bored Ape Yacht Club, podemos realizar operações básicas de leitura no [contrato](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code), como buscar o dono de um certo Ape, buscar a URI de conteúdo de um Ape com base na sua ID, ou na reserva total. Isto é possível porque estas operações de leitura são programadas diretamente no contrato inteligente, mas consultas e operações no mundo real mais avançadas, como agregação, busca, relacionamentos, e filtragem não-trivial _não_ são possíveis. Por exemplo, se quiséssemos consultar por Apes que são de um certo endereço, e filtrar por uma das suas características, nós não poderíamos pegar essa informação ao interagir diretamente com o próprio contrato. -To get this data, you would have to process every single [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) event ever emitted, read the metadata from IPFS using the Token ID and IPFS hash, and then aggregate it. It would take **hours or even days** for a decentralized application (dapp) running in a browser to get an answer to these simple questions. +Para conseguir estes dados, seria necessário processar todo evento de [`transfer`](https://etherscan.io/address/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d#code#L1746) emitido na história, ler os metadados do IPFS usando a ID e o hash IPFS do token, e depois agregá-los. Levariam **horas, ou até mesmo dias,** para que um aplicativo descentralizado (dApp) executado em um navegador conseguisse uma resposta a estas questões simples. Também valeria construir o seu próprio servidor, processar as transações lá, salvá-las em um banco de dados, e construir um endpoint de API sobre tudo isso tudo para poder fazer o query dos dados. Porém, esta opção [consome muitos recursos](/network/benefits/), precisa de manutenção, apresenta um único ponto de falha, e quebra propriedades de segurança importantes obrigatórias para a descentralização. **Indexar dados de blockchain é muito, muito difícil.** -Blockchain properties like finality, chain reorganizations, or uncled blocks complicate this process further. They make it time consuming and conceptually hard to retrieve correct query results from blockchain data. +Propriedades de blockchain, como finalidade, reorganizações de chain, ou blocos uncle, complicam ainda mais este processo, e não apenas o tornam longo e cansativo, mas conceitualmente dificultam a retirada de resultados corretos de queries dos dados da blockchain. -The Graph provides a solution with a decentralized protocol that indexes and enables the efficient and high-performance querying of blockchain data. These APIs (indexed "subgraphs") can then be queried with a standard GraphQL API. Today, there is a hosted service as well as a decentralized protocol with the same capabilities. Both are backed by the open source implementation of [Graph Node](https://github.com/graphprotocol/graph-node). +O The Graph fornece uma solução com um protocolo descentralizado que indexa e permite queries eficientes e de alto desempenho de dados de blockchain. Estas APIs ("subgraphs" indexados) podem então ser consultados num query com uma API GraphQL padrão. Hoje, há um serviço hospedado, e também um protocolo descentralizado com as mesmas capabilidades. Ambos são apoiados pela implementação de código aberto do [Graph Node](https://github.com/graphprotocol/graph-node). ## Como o The Graph Funciona @@ -42,6 +42,6 @@ O fluxo segue estes passos: ## Próximos Passos -The following sections provide more detail on how to define subgraphs, how to deploy them, and how to query data from the indexes that Graph Node builds. +As seguintes secções explicam em mais detalhes como definir subgraphs, como lançá-los, e como buscar dados dos indexes que o Graph Node constrói. -Before you start writing your own subgraph, you might want to have a look at [Graph Explorer](https://thegraph.com/explorer) and explore some of the subgraphs that have already been deployed. The page for each subgraph contains a playground that lets you query that subgraph's data with GraphQL. +Antes de começar a escrever o seu próprio subgraph, confira o [Graph Explorer](https://thegraph.com/explorer) e explore alguns dos subgraphs que já foram lançados. A página para cada subgraph contém um playground que permite-lhe consultar os dados desse subgraph com queries no GraphQL. From e8ea8bcc689a4cabaed6ab8f690bfe6251410982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 07:50:26 -0400 Subject: [PATCH 2064/2326] New translations tokenomics.mdx (Portuguese) --- website/pages/pt/tokenomics.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/tokenomics.mdx b/website/pages/pt/tokenomics.mdx index 6164af08c97d..f75afc1bd1cc 100644 --- a/website/pages/pt/tokenomics.mdx +++ b/website/pages/pt/tokenomics.mdx @@ -3,7 +3,7 @@ title: Tokenomia da Graph Network description: A Graph Network é incentivada por uma tokenomia (economia de token) poderosa. Aqui está como funciona o GRT, o token nativo de utilidades de trabalho no The Graph. --- -- GRT Token Address on Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) +- Endereço do Token GRT na Mainnet: [0xc944e90c64b2c07662a292be6244bdf05cda44a7](https://etherscan.io/token/0xc944e90c64b2c07662a292be6244bdf05cda44a7) - Endereço do Token GRT no Arbitrum One: [0x9623063377AD1B27544C965cCd7342f7EA7e88C7](https://arbiscan.io/token/0x9623063377ad1b27544c965ccd7342f7ea7e88c7) @@ -47,7 +47,7 @@ Quem ler isto pode tornar-se um Delegante agora mesmo na [página de participant Os Curadores identificam subgraphs de alta qualidade e os "curam" (por ex., sinalizam GRT neles) para ganhar ações de curadoria, que garantem uma porção de todas as taxas de query futuras geradas pelo subgraph. Enquanto qualquer participante independente da rede pode ser um Curador, os programadores de subgraphs tendem a ser os primeiros Curadores dos seus próprios subgraphs, pois querem garantir que o seu subgraph seja indexado. -As of April 11th, 2024, subgraph developers are encouraged to curate their subgraph with at least 3,000 GRT. However, this number may be impacted by network activity and community participation. +Desde 11 de abril de 2024, os programadores de subgraphs podem curar o seu subgraph com, no mínimo, 3.000 GRT. Porém, este número pode ser impactado pela atividade na rede e participação na comunidade. Os Curadores pagam uma taxa de curadoria de 1% ao curar um subgraph novo. Esta taxa de curadoria é queimada, de modo a reduzir a reserva de GRT. @@ -63,7 +63,7 @@ Quando os programadores tiverem construído e testado o seu subgraph, eles podem ### Como fazer queries um Subgraph existente -Once a subgraph is [published](/publishing/publishing-a-subgraph/) to The Graph's decentralized network, anyone can create an API key, add GRT to their billing balance, and query the subgraph. +Quando um subgraph é [editado](/publishing/publishing-a-subgraph/) na rede descentralizada do The Graph, qualquer um pode criar uma chave API, depositar GRT no seu saldo de cobrança, e consultar o subgraph em um query. Os Subgraphs recebem [queries pelo GraphQL](/querying/querying-the-graph/), e as taxas de query são pagas em GRT no [Subgraph Studio](https://thegraph.com/studio/). As taxas de query são distribuídas a participantes da rede com base nas suas contribuições ao protocolo. From 482556935d306eb7d836a0b4df562a2ad58043d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 07:50:28 -0400 Subject: [PATCH 2065/2326] New translations avoid-eth-calls.mdx (Portuguese) --- website/pages/pt/cookbook/avoid-eth-calls.mdx | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/website/pages/pt/cookbook/avoid-eth-calls.mdx b/website/pages/pt/cookbook/avoid-eth-calls.mdx index 446b0e8ecd17..c3e4c27ec660 100644 --- a/website/pages/pt/cookbook/avoid-eth-calls.mdx +++ b/website/pages/pt/cookbook/avoid-eth-calls.mdx @@ -1,24 +1,24 @@ --- -title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +title: Melhores Práticas de Subgraph Parte 4 - Como Melhorar a Velocidade da Indexação ao Evitar eth_calls --- ## TLDR -`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. +`eth_calls` são chamadas feitas de um subgraph a um node no Ethereum. Estas chamadas levam um bom tempo para retornar dados, o que retarda a indexação. Se possível, construa contratos inteligentes para emitir todos os dados necessários, para que não seja necessário usar `eth_calls`. -## Why Avoiding `eth_calls` Is a Best Practice +## Por que Evitar `eth_calls` É uma Boa Prática -Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. +Subgraphs são otimizados para indexar dados de eventos emitidos de contratos inteligentes. Um subgraph também pode indexar os dados que vêm de uma `eth_call`, mas isto pode atrasar muito a indexação de um subgraph, já que `eth_calls` exigem a realização de chamadas externas para contratos inteligentes. A capacidade de respostas destas chamadas depende não apenas do subgraph, mas também da conectividade e das respostas do node do Ethereum a ser consultado. Ao minimizar ou eliminar `eth_calls` nos nossos subgraphs, podemos melhorar muito a nossa velocidade de indexação. -### What Does an eth_call Look Like? +### Como É Um `eth_call`? -`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: +`eth_calls` tendem a ser necessárias quando os dados requeridos por um subgraph não estão disponíveis via eventos emitidos. Por exemplo, vamos supor que um subgraph precisa identificar se tokens ERC20 são parte de um pool específico, mas o contrato só emite um evento `Transfer` básico e não emite um evento que contém os dados que precisamos: ```yaml event Transfer(address indexed from, address indexed to, uint256 value); ``` -Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: +Suponhamos que a filiação de pool dos tokens seja determinada por um variável de estado chamado `getPoolInfo`. Neste caso, precisaríamos usar uma `eth_call` para consultar estes dados: ```typescript import { Address } from '@graphprotocol/graph-ts' @@ -28,10 +28,10 @@ import { TokenTransaction } from '../generated/schema' export function handleTransfer(event: Transfer): void { let transaction = new TokenTransaction(event.transaction.hash.toHex()) - // Bind the ERC20 contract instance to the given address: + // Atrele a instância de contrato ERC20 ao endereço dado: let instance = ERC20.bind(event.address) - // Retrieve pool information via eth_call + // Retire a informação do pool via eth_call let poolInfo = instance.getPoolInfo(event.params.to) transaction.pool = poolInfo.toHexString() @@ -43,17 +43,17 @@ export function handleTransfer(event: Transfer): void { } ``` -This is functional, however is not ideal as it slows down our subgraph’s indexing. +Isto é funcional, mas não ideal, já que ele atrasa a indexação do nosso subgraph. -## How to Eliminate `eth_calls` +## Como Eliminar `eth_calls` -Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: +Idealmente, o contrato inteligente deve ser atualizado para emitir todos os dados necessários dentro de eventos. Por exemplo, modificar o contrato inteligente para incluir informações de pools no evento pode eliminar a necessidade de `eth_calls`: ``` event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); ``` -With this update, the subgraph can directly index the required data without external calls: +Com esta atualização, o subgraph pode indexar directamente os dados exigidos sem chamadas externas: ```typescript import { Address } from '@graphprotocol/graph-ts' @@ -72,17 +72,17 @@ export function handleTransferWithPool(event: TransferWithPool): void { } ``` -This is much more performant as it has eliminated the need for `eth_calls`. +Assim, o desempenho melhora muito por eliminar a necessidade de `eth_calls`. -## How to Optimize `eth_calls` +## Como Otimizar `eth_calls` -If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. +Se não for possível modificar o contrato inteligente e se `eth_calls` forem necessários, leia “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” para aprender várias estratégias sobre como otimizar `eth_calls`. -## Reducing the Runtime Overhead of `eth_calls` +## Como Reduzir o Overhead de Runtime de `eth_calls` -For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. +Para `eth_calls` que não podem ser eliminadas, o overhead de runtime que elas introduzem pode ser minimizado ao declará-las no manifest. Quando o`graph-node` processa um bloco, ele realiza todas as `eth_calls` em paralelo antes da execução dos handlers. Chamadas não declaradas são executadas em sequência quando os handlers são executados. A melhoria do runtime vem da execução das chamadas em paralelo, e não em sequência - isto ajuda a reduzir o tempo total gasto em chamadas, mas não o elimina por completo. -Currently, `eth_calls` can only be declared for event handlers. In the manifest, write +Atualmente, `eth_calls` só podem ser declaradas para handlers de evento. No manifest, escreva ```yaml event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) @@ -91,12 +91,12 @@ calls: ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) ``` -The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. +A porção destacada em amarelo é a declaração de chamada. A parte antes dos dois pontos é apenas um rótulo de texto usado só para mensagens de erro. A parte após os dois pontos tem a forma `Contract[address].function(params)`. Valores permissíveis para address e params são `event.address` e `event.params.`. -The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. +O próprio handler acessa o resultado desta `eth_call` exatamente como na secção anterior ao atrelar ao contrato e fazer a chamada. o graph-node coloca em cache os resultados de `eth_calls` na memória e a chamada do handler terirará o resultado disto no cache de memória em vez de fazer uma chamada de RPC real. -Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. +Nota: `eth_calls` declaradas só podem ser feitas em subgraphs com specVersion maior que 1.2.0. -## Conclusion +## Conclusão -We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. +Podemos melhorar muito o desempenho da indexação ao minimizar ou eliminar `eth_calls` nos nossos subgraphs. From f1205ddd19af1cfaacaacf916d398a6d4b1ea714 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 07:50:28 -0400 Subject: [PATCH 2066/2326] New translations derivedfrom.mdx (Portuguese) --- website/pages/pt/cookbook/derivedfrom.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/cookbook/derivedfrom.mdx b/website/pages/pt/cookbook/derivedfrom.mdx index 69dd48047744..57f64df34189 100644 --- a/website/pages/pt/cookbook/derivedfrom.mdx +++ b/website/pages/pt/cookbook/derivedfrom.mdx @@ -67,7 +67,7 @@ This will not only make our subgraph more efficient, but it will also unlock thr 3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. -## Conclusion +## Conclusão Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. From c73c90a6e79e42ce9360628a26557c48f34e1509 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 07:50:29 -0400 Subject: [PATCH 2067/2326] New translations immutable-entities-bytes-as-ids.mdx (Portuguese) --- website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx index f38c33385604..4a7da2850804 100644 --- a/website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx +++ b/website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx @@ -169,7 +169,7 @@ Query Response: } ``` -## Conclusion +## Conclusão Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. From b4be621f4b944a8de0f2f5555a2b95c894b911f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 07:50:30 -0400 Subject: [PATCH 2068/2326] New translations pruning.mdx (Portuguese) --- website/pages/pt/cookbook/pruning.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/cookbook/pruning.mdx b/website/pages/pt/cookbook/pruning.mdx index f22a2899f1de..2fbc1e401448 100644 --- a/website/pages/pt/cookbook/pruning.mdx +++ b/website/pages/pt/cookbook/pruning.mdx @@ -36,6 +36,6 @@ dataSources: - It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). -## Conclusion +## Conclusão Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From 50f49d8f079863ec58401b3bea42296451388845 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 07:50:31 -0400 Subject: [PATCH 2069/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Portuguese) --- .../how-to-secure-api-keys-using-nextjs-server-components.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/pt/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx index 2ce0b117e11f..f96f8a4b98ed 100644 --- a/website/pages/pt/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx +++ b/website/pages/pt/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -118,6 +118,6 @@ Start our Next.js application using `npm run dev`. Verify that the server compon ![Server-side rendering](/img/api-key-server-side-rendering.png) -### Conclusion +### Conclusão By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From 79ff85c3a0893fdb88554d930e1d9e30b5d6b69e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 10:03:32 -0400 Subject: [PATCH 2070/2326] New translations supported-network-requirements.mdx (Portuguese) --- .../pt/supported-network-requirements.mdx | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/website/pages/pt/supported-network-requirements.mdx b/website/pages/pt/supported-network-requirements.mdx index ed1c04399a17..7d48307520b0 100644 --- a/website/pages/pt/supported-network-requirements.mdx +++ b/website/pages/pt/supported-network-requirements.mdx @@ -1,18 +1,18 @@ --- -title: Supported Network Requirements +title: Requisitos de Redes Apoiadas --- -| Rede | Guides | System Requirements | Indexing Rewards | -| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------: | -| Arbitrum | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Avalanche | [Docker Guide](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 5 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Base | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | 8+ core CPU
    Debian 12/Ubuntu 22.04
    16 GB RAM
    >= 4.5TB (NVME preffered)
    _last updated 14th May 2024_ | ✅ | -| Binance | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | 8 core / 16 threads CPU
    Ubuntu 22.04
    >=32 GB RAM
    >= 14 TiB NVMe SSD
    _last updated 22nd June 2024_ | ✅ | -| Celo | [Docker Guide](https://docs.infradao.com/archive-nodes-101/celo/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 2 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Ethereum | [Docker Guide](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Higher clock speed over core count
    Ubuntu 22.04
    16GB+ RAM
    >=3TB (NVMe recommended)
    _last updated August 2023_ | ✅ | -| Fantom | [Docker Guide](https://docs.infradao.com/archive-nodes-101/fantom/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 13 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Gnosis | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | 6 core / 12 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 3 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Linea | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | 4+ core CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 2nd April 2024_ | ✅ | -| Optimism | [Erigon Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [GETH Baremetal Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [GETH Docker Guide](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | 4 core / 8 threads CPU
    Ubuntu 22.04
    16GB+ RAM
    >= 8 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Polygon | [Docker Guide](https://docs.infradao.com/archive-nodes-101/polygon/docker) | 16 core CPU
    Ubuntu 22.04
    32GB+ RAM
    >= 10 TiB NVMe SSD
    _last updated August 2023_ | ✅ | -| Scroll | [Baremetal Guide](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Docker Guide](https://docs.infradao.com/archive-nodes-101/scroll/docker) | 4 core / 8 threads CPU
    Debian 12
    16GB+ RAM
    >= 1 TiB NVMe SSD
    _last updated 3rd April 2024_ | ✅ | +| Rede | Guias | Requisitos de sistema | Recompensas de Indexação | +| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------: | +| Arbitrum | [Guia Baremetal](https://docs.infradao.com/archive-nodes-101/arbitrum/baremetal)
    [Guia Docker](https://docs.infradao.com/archive-nodes-101/arbitrum/docker) | CPU de 4+ núcleos
    Ubuntu 22.04
    16GB+ RAM
    >= SSD NVMe com mais de 8 TiB
    _última atualização em agosto de 2023_ | ✅ | +| Avalanche | [Guia Docker](https://docs.infradao.com/archive-nodes-101/avalanche/docker) | CPU de 4 núcleos e 8 threads
    Ubuntu 22.04
    16GB+ RAM
    SSD NVMe com mais de 5 TiB
    _última atualização em agosto de 2023_ | ✅ | +| Base | [Guia Erigon Baremetal](https://docs.infradao.com/archive-nodes-101/base/erigon/baremetal)

    [Guia GETH Baremetal](https://docs.infradao.com/archive-nodes-101/base/geth/baremetal)
    [Guia GETH Docker](https://docs.infradao.com/archive-nodes-101/base/geth/docker) | CPU de 8+ núcleos
    Debian 12/Ubuntu 22.04
    16 GB RAM
    mais 4.5TB (NVMe preferido)
    _última atualização em 14 de maio de 2024_ | ✅ | +| Binance | [Guia Erigon Baremetal](https://docs.infradao.com/archive-nodes-101/binance/erigon/baremetal) | CPU de 8 núcleos e 16 threads
    Ubuntu 22.04
    16GB+ RAM
    NVMe SSD com mais de 14 TiB
    _última atualização em 22 de junho de 2024_ | ✅ | +| Celo | [Guia Docker](https://docs.infradao.com/archive-nodes-101/celo/docker) | CPU de 4 núcleos e 8 threads
    Ubuntu 22.04
    16GB+ RAM
    >= SSD NVMe com mais de 2 TiB
    _última atualização em agosto de 2023_ | ✅ | +| Ethereum | [Guia Docker](https://docs.infradao.com/archive-nodes-101/ethereum/erigon/docker) | Frequência de clock maior que número de núcleos
    Ubuntu 22.04
    16GB+ RAM
    Mais de 3TB (NVMe recomendado)
    _última atualização em agosto de 2023_ | ✅ | +| Fantom | [Guia Docker](https://docs.infradao.com/archive-nodes-101/fantom/docker) | CPU de 4 núcleos e 8 threads
    Ubuntu 22.04
    16GB+ RAM
    SSD NVMe com mais de 13 TiB
    _última atualização em agosto de 2023_ | ✅ | +| Gnosis | [Guia Baremetal](https://docs.infradao.com/archive-nodes-101/gnosis/erigon/baremetal) | CPU de 6 núcleos e 12 threads
    Ubuntu 22.04
    16GB+ RAM
    NVMe SSD com mais de 3 TiB
    _última atualização em agosto de 2023_ | ✅ | +| Linea | [Guia Baremetal](https://docs.infradao.com/archive-nodes-101/linea/baremetal) | CPU de 4+ núcleos
    Ubuntu 22.04
    16GB+ RAM
    >= SSD NVMe com mais de 1 TiB
    _última atualização em 2 de abril de 2024_ | ✅ | +| Optimism | [Guia Erigon Baremetal](https://docs.infradao.com/archive-nodes-101/optimism/erigon/baremetal)

    [Guia GETH Baremetal](https://docs.infradao.com/archive-nodes-101/optimism/geth/baremetal)
    [Guia GETH Docker](https://docs.infradao.com/archive-nodes-101/optimism/geth/docker) | CPU de 4 núcleos e 8 threads
    Ubuntu 22.04
    16GB+ RAM
    SSD NVMe com mais de 8 TiB
    _última atualização em agosto de 2023_ | ✅ | +| Polygon | [Guia Docker](https://docs.infradao.com/archive-nodes-101/polygon/docker) | CPU de 16 núcleos
    Ubuntu 22.04
    32GB+ RAM
    >= SSD NVMe com mais de 10 TiB
    _última atualização em agosto de 2023_ | ✅ | +| Scroll | [Guia Baremetal](https://docs.infradao.com/archive-nodes-101/scroll/baremetal)
    [Guia Docker](https://docs.infradao.com/archive-nodes-101/scroll/docker) | CPU de 4 núcleos e 8 threads
    Debian 12
    16GB+ RAM
    SSD NVMe com mais de 1 TiB
    _última atualização em 3 de abril de 2024_ | ✅ | From b8b14a59fe9f22bd305c3bbf3ca840f96612cd80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 10:03:34 -0400 Subject: [PATCH 2071/2326] New translations creating-a-subgraph.mdx (Portuguese) --- website/pages/pt/developing/creating-a-subgraph.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/pt/developing/creating-a-subgraph.mdx b/website/pages/pt/developing/creating-a-subgraph.mdx index 6db777075754..3f17b18a7c90 100644 --- a/website/pages/pt/developing/creating-a-subgraph.mdx +++ b/website/pages/pt/developing/creating-a-subgraph.mdx @@ -14,9 +14,9 @@ A definição de subgraph consiste de alguns arquivos: - `AssemblyScript Mappings`: código em [AssemblyScript](https://github.com/AssemblyScript/assemblyscript) que traduz dos dados de eventos às entidades definidas no seu schema (por ex., `mapping.ts` neste tutorial) -> In order to use your subgraph on The Graph's decentralized network, you will need to [create an API key](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). It is recommended that you [add signal](/network/curating/#how-to-signal) to your subgraph with at least [3,000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). +> Para utilizar o seu subgraph na rede descentralizada do The Graph, será necessário [criar uma chave API](/deploying/subgraph-studio-faqs/#2-how-do-i-create-an-api-key). É recomendado [adicionar um sinal](/network/curating/#how-to-signal) ao seu subgraph com, no mínimo, [3000 GRT](/sunrise/#how-can-i-ensure-high-quality-of-service-and-redundancy-for-subgraphs-on-the-graph-network). -Before you go into detail about the contents of the manifest file, you need to install the [Graph CLI](https://github.com/graphprotocol/graph-tooling) which you will need to build and deploy a subgraph. +Antes de se aprofundar nos conteúdos do arquivo manifest, instale o [Graph CLI](https://github.com/graphprotocol/graph-tooling), que será necessário para construir e adicionar um subgraph. ## Como instalar o Graph CLI @@ -36,7 +36,7 @@ yarn global add @graphprotocol/graph-cli npm install -g @graphprotocol/graph-cli ``` -Once installed, the `graph init` command can be used to set up a new subgraph project, either from an existing contract or from an example subgraph. This command can be used to create a subgraph in Subgraph Studio by passing in `graph init --product subgraph-studio`. If you already have a smart contract deployed to your preferred network, bootstrapping a new subgraph from that contract can be a good way to get started. +Instalado, o comando `graph init` pode preparar um novo projeto de subgraph, seja de um contrato existente ou de um exemplo de subgraph. Este comando serve para criar um subgraph no Subgraph Studio ao passar o `graph init --product subgraph-studio`. Se já tem um contrato inteligente lançado na mainnet do Ethereum ou uma de suas testnets, inicializar um novo subgraph daquele contrato pode ser um bom começo. ## De um Contrato Existente @@ -61,7 +61,7 @@ O segundo modo que o `graph init` apoia é criar um projeto a partir de um exemp graph init --studio ``` -The [example subgraph](https://github.com/graphprotocol/example-subgraph) is based on the Gravity contract by Dani Grant that manages user avatars and emits `NewGravatar` or `UpdateGravatar` events whenever avatars are created or updated. The subgraph handles these events by writing `Gravatar` entities to the Graph Node store and ensuring these are updated according to the events. The following sections will go over the files that make up the subgraph manifest for this example. +O [subgraph de exemplo](https://github.com/graphprotocol/example-subgraph) é baseado no contrato Gravity por Dani Grant, que administra avatares de usuários e emite eventos `NewGravatar` ou `UpdateGravatar` sempre que avatares são criados ou atualizados. O subgraph lida com estes eventos ao escrever entidades `Gravatar` ao armazenamento do Graph Node e garantir que estes são atualizados de acordo com os eventos. As seguintes secções lidarão com os arquivos que compõem o manifest do subgraph para este exemplo. ## Como Adicionar Novos dataSources para um Subgraph Existente From 1afd615081cb04bb3c4a5ccc8e831e1a17e58d54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 10:03:35 -0400 Subject: [PATCH 2072/2326] New translations substreams.mdx (Portuguese) --- website/pages/pt/substreams.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/pt/substreams.mdx b/website/pages/pt/substreams.mdx index 0b6bef1c0ed6..f3e3b9f6e6d8 100644 --- a/website/pages/pt/substreams.mdx +++ b/website/pages/pt/substreams.mdx @@ -28,7 +28,7 @@ fn get_my_block(blk: Block) -> Result { 3. **O container WASM é enviado a um endpoint do Substreams para execução.** O provedor do Substreams alimenta o container WASM com os dados da blockchain e as transformações são aplicadas. -4. **You select a [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), a place where you want to send the transformed data** (a Postgres database or a Subgraph, for example). +4. **Selecione um [sink](https://substreams.streamingfast.io/documentation/consume/other-sinks), um lugar para enviar os dados transformados** (um banco de dados Postgres ou um Subgraph, por exemplo). ## Documentação do Substreams @@ -36,9 +36,9 @@ A documentação oficial do Substreams é mantida atualmente pela equipa do Stre ### Como Começar -- In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). -- Then, run your first Substreams by following the [Quickstart Tutorial](https://substreams.streamingfast.io/documentation/develop/init-project). +- Para programar e lançar um Substreams, [é necessário instalar a CLI do Substreams](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). +- Depois, execute o seu primeiro Substreams com a ajuda do [Tutorial Rápido](https://substreams.streamingfast.io/documentation/develop/init-project). ### Expanda o Seu Conhecimento -- Take a look at the [Ethereum Explorer Tutorial](https://substreams.streamingfast.io/tutorials/evm) to learn about the basic transformations you can create with Substreams. +- Confira o [Tutorial de Explorador de Ethereum](https://substreams.streamingfast.io/tutorials/evm) para aprender as transformações básicas que poderá criar com o Substreams. From e9ebf8a931a5dfc8d96f4363501fcb328e6539c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 10:03:36 -0400 Subject: [PATCH 2073/2326] New translations base-testnet.mdx (Portuguese) --- website/pages/pt/cookbook/base-testnet.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/cookbook/base-testnet.mdx b/website/pages/pt/cookbook/base-testnet.mdx index d378bddaa1cd..458e0dbcb5c1 100644 --- a/website/pages/pt/cookbook/base-testnet.mdx +++ b/website/pages/pt/cookbook/base-testnet.mdx @@ -68,7 +68,7 @@ The previous command creates a scaffold subgraph that you can use as a starting If you want to index additional data, you will need extend the manifest, schema and mappings. -For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). +Para mais informações sobre como escrever o seu subgraph, veja [Criando um Subgraph](/desenvolvimento/criando-um-subgraph). ### 4. Deploy to Subgraph Studio From 70370b4af1738f01c313cc2ca8bdc04a5c38ba98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 10:03:37 -0400 Subject: [PATCH 2074/2326] New translations quick-start.mdx (Portuguese) --- website/pages/pt/quick-start.mdx | 42 ++++++++++++++++---------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/website/pages/pt/quick-start.mdx b/website/pages/pt/quick-start.mdx index bc1cbc99821b..54befd3e6949 100644 --- a/website/pages/pt/quick-start.mdx +++ b/website/pages/pt/quick-start.mdx @@ -2,7 +2,7 @@ title: Começo Rápido --- -This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio. +Este guia explicará rapidamente como inicializar, criar, e lançar o seu subgraph ao Subgraph Studio. Garanta que o seu subgraph indexará dados de uma [rede apoiada](/developing/supported-networks). @@ -15,11 +15,11 @@ Este guia presume que tem: Entre no [Subgraph Studio](https://thegraph.com/studio/) e conecte a sua carteira de criptomoedas. -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." +Quando a sua carteira estiver conectada, clique em "Criar um Subgraph". Vale nomear o subgraph em Title Case: "Nome Do Subgraph Nome Da Chain." -## 2. Como instalar o Graph CLI +## 2. Como instalar a Graph CLI -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. +A Graph CLI é escrita em TypeScript e precisa ter instalado o `node`, e `npm` ou `yarn` para ser isada. Verifique se tem a versão mais recente da CLI instalada. Execute um dos seguintes comandos na sua máquina local: @@ -35,9 +35,9 @@ Uso de [yarn](https://yarnpkg.com/): yarn global add @graphprotocol/graph-cli ``` -## 3. Initialize your subgraph from existing contract +## 3. Como inicializar o seu subgraph de um contrato existente -Initialize your subgraph from an existing contract by running the initialize command: +Inicialize o seu subgraph a partir de um contrato existente ao executar o comando initialize: ```sh graph init --studio @@ -62,17 +62,17 @@ Veja a imagem a seguir para um exemplo do que esperar quando for inicializar o s ![Comando do subgraph](/img/subgraph-init-example.png) -## 4. Write your subgraph +## 4. Como escrever o seu subgraph O comando interior cria um subgraph de altura que pode ser usado como ponto de partida para construir o seu subgraph. Enquanto faz mudanças ao subgraph, trabalhará principalmente com três arquivos: -- 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. +- Manifest (`subgraph.yaml`) - O manifest define quais fontes de dados serão indexadas pelos seus subgraphs. +- Schema (`schema.graphql`) - O schema GraphQL define quais dados deseja retirar do subgraph. +- Mapeamentos em AssemblyScript (`mapping.ts`) — Este é o código que traduz dados das suas fontes de dados às entidades definidas no schema. -For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). +Para mais informações sobre como escrever o seu subgraph, veja [Como Criar um Subgraph](/desenvolvimento/como-criar-um-subgraph). -## 5. Deploy to Subgraph Studio +## 5. Lançamento no Subgraph Studio Quando o seu subgraph estiver escrito, execute os seguintes comandos: @@ -92,7 +92,7 @@ Há de inserir um rótulo de versão. É altamente recomendado usar o [semver](h ## 6. Como testar o seu subgraph -In Subgraph Studio's playground environment, you can test your subgraph by making a sample query. +No ambiente de testes do Subgraph Studio, é possível testar o seu subgraph ao fazer uma query de exemplo. Os logs dirão-lhe se há quaisquer erros com o seu subgraph. Os logs de um subgraph operacional parecerão com isto: @@ -142,26 +142,26 @@ Se o seu subgraph continuar a falhar, faça um query sobre a saúde do subgraph } ``` -## 7. Publish your subgraph to The Graph’s Decentralized Network +## 7. Como Editar o Seu Subgraph na Rede Descentralizada do The Graph -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. +Quando o seu subgraph for lançado ao Subgraph Studio, estiver testado, e estiver pronto para produção, poderá então editá-lo na rede descentralizada. -In Subgraph Studio, you will be able to click the publish button on the top right of your subgraph's page. +No Subgraph Studio, será possível clicar no botão de editar no canto superior direito da página do seu subgraph. Selecione a rede onde quer editar o seu subgraph. Vale editar subgraphs no Arbitrum One, para aproveitar as [transações mais rápidas e custos menores de gas](/arbitrum/arbitrum-faq). -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. +O (Indexador de atualização)[/sunrise/#about-the-upgrade-indexer] começará a servir queries no seu subgraph independente da curadoria dele, e fornecerá 100 mil queries grátis por mês. -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. +Para uma qualidade maior de serviço e redundâncias mais fortes, é possível curar o seu subgraph para atrair mais Indexadores. Na hora da criação deste artigo, é recomendado curar o seu próprio subgraph com, no mínimo, 3.000 GRT para garantir que 3 a 5 Indexadores a mais comecem a servir queries no seu subgraph. Para poupar custos de gas, cure o seu subgraph na mesma transação em que ele foi publicado, ao selecionar este botão quando publicar o seu subgraph na rede descentralizada do The Graph: ![Editar subgraph](/img/publish-and-signal-tx.png) -## 8. Query your subgraph +## 8. Queries no seu subgraph -Agora, podes consultar o seu subgraph com o envio de queries GraphQL para o URL de Consulta do seu subgraph, que pode ser visto ao clicar no botão Query (consultas). +Agora, podes consultar o seu subgraph com o envio de queries GraphQL para o URL de Query do seu subgraph, que pode ser visto ao clicar no botão Query. -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. +Se não tiver a sua chave API, é possível fazer queries via o URL de query de desenvolvimento com limite de ritmo, que pode ser usado para desenvolvimento e encenações. Para mais informações sobre queries de dados do seu subgraph, leia mais [aqui](/querying/querying-the-graph/). From 8c2f048b0e8cbef119255d90484f24b3f2faea17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 10:03:38 -0400 Subject: [PATCH 2075/2326] New translations supported-networks.json (Portuguese) --- website/pages/pt/developing/supported-networks.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/developing/supported-networks.json b/website/pages/pt/developing/supported-networks.json index 18c655de0d13..c491ed0859d2 100644 --- a/website/pages/pt/developing/supported-networks.json +++ b/website/pages/pt/developing/supported-networks.json @@ -5,5 +5,5 @@ "hostedService": "Serviço Hospedado", "subgraphStudio": "Subgraph Studio", "decentralizedNetwork": "Rede Descentralizada", - "integrationType": "Integration Type" + "integrationType": "Tipo de Integração" } From b37e89524e58d673acbab7c7a082325580daf5f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 11:39:17 -0400 Subject: [PATCH 2076/2326] New translations creating-a-subgraph.mdx (Portuguese) --- .../pt/developing/creating-a-subgraph.mdx | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/website/pages/pt/developing/creating-a-subgraph.mdx b/website/pages/pt/developing/creating-a-subgraph.mdx index 3f17b18a7c90..dcfa4f4d1a90 100644 --- a/website/pages/pt/developing/creating-a-subgraph.mdx +++ b/website/pages/pt/developing/creating-a-subgraph.mdx @@ -146,15 +146,15 @@ dataSources: As entradas importantes para atualizar para o manifest são: -- `specVersion`: a semver version that identifies the supported manifest structure and functionality for the subgraph. The latest version is `1.2.0`. See [specVersion releases](#specversion-releases) section to see more details on features & releases. +- `specVersion`: uma versão de semver que identifica a estrutura de mainfest apoiada e a sua funcionalidade para o subgraph. A versão mais recente é `1.2.0`. Veja a secção de [lançamentos do specVersion](#specversion-releases) para mais detalhes sobre recursos & lançamentos. -- `description`: a human-readable description of what the subgraph is. This description is displayed in Graph Explorer when the subgraph is deployed to Subgraph Studio. +- `description`: uma descrição legível a humanos do que é o subgraph. Esta descrição é exibida pelo Graph Explorer quando o subgraph é lançado ao Subgraph Studio. -- `repository`: the URL of the repository where the subgraph manifest can be found. This is also displayed in Graph Explorer. +- `repository`: a URL do repositório onde está o manifest do subgraph. Isto também é exibido no Graph Explorer. - `features`: uma lista de todos os nomes de [feature](#experimental-features) usados. -- `indexerHints.prune`: Defines the retention of historical block data for a subgraph. See [prune](#prune) in [indexerHints](#indexer-hints) section. +- `indexerHints.prune`: Define a retenção de dados históricos de blocos para um subgraph. Veja [prune](#prune) na secção [indexerHints](#indexer-hints). - `dataSources.source`: o endereço do contrato inteligente que abastece o subgraph, e a ABI do contrato inteligente a ser usada. O endereço é opcional; omiti-lo permite indexar eventos correspondentes de todos os contratos. @@ -176,7 +176,7 @@ As entradas importantes para atualizar para o manifest são: Um único subgraph pode indexar dados de vários contratos inteligentes. Adicione uma entrada para cada contrato cujos dados devem ser indexados ao arranjo `dataSources`. -### Order of Triggering Handlers +### Ordem de Handlers de Gatilhos Os gatilhos para uma fonte de dados dentro de um bloco são ordenados com o seguinte processo: @@ -186,21 +186,21 @@ Os gatilhos para uma fonte de dados dentro de um bloco são ordenados com o segu Estas regras de organização estão sujeitas à mudança. -> **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +> **Nota:** Quando novas [fontes de dados dinâmicas](#data-source-templates-for-dynamically-created-contracts) forem criadas, os handlers definidos para fontes de dados dinâmicas só começarão o processamento após todos os handlers existentes forem processados, e repetirão a mesma sequência quando ativados. -### SpecVersion Releases +### Versões do SpecVersion -| Versão | Notas de atualização | -|:------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| 1.2.0 | Added support for [Indexed Argument Filtering](/#indexed-argument-filters--topic-filters) & declared `eth_call` | -| 1.1.0 | Supports [Timeseries & Aggregations](#timeseries-and-aggregations). Added support for type `Int8` for `id`. | -| 1.0.0 | Supports [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) feature to prune subgraphs | -| 0.0.9 | Supports `endBlock` feature | -| 0.0.8 | Added support for polling [Block Handlers](developing/creating-a-subgraph/#polling-filter) and [Initialisation Handlers](developing/creating-a-subgraph/#once-filter). | -| 0.0.7 | Added support for [File Data Sources](developing/creating-a-subgraph/#file-data-sources). | -| 0.0.6 | Supports fast [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi) calculation variant. | -| 0.0.5 | Added support for event handlers having access to transaction receipts. | -| 0.0.4 | Added support for managing subgraph features. | +| Versão | Notas de atualização | +|:------:| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 1.2.0 | Adicionado apoio a [Filtragem de Argumentos Indexados](/#indexed-argument-filters--topic-filters) & `eth_call` declarado | +| 1.1.0 | Apoio a [Séries de Tempo & Agregações](#timeseries-and-aggregations). Apoio adicionado ao tipo `Int8` para `id`. | +| 1.0.0 | Apoia o recurso [`indexerHints`](/developing/creating-a-subgraph/#indexer-hints) para fazer pruning de subgraphs | +| 0.0.9 | Apoio ao recurso `endBlock` | +| 0.0.8 | Adicionado apoio ao polling de [Handlers de Bloco](developing/creating-a-subgraph/#polling-filter) e [Handlers de Inicialização](developing/creating-a-subgraph/#once-filter). | +| 0.0.7 | Adicionado apoio a [Fontes de Arquivos de Dados](developing/creating-a-subgraph/#file-data-sources). | +| 0.0.6 | Apoio à variante de calculação de [Proof of Indexing](/network/indexing/#what-is-a-proof-of-indexing-poi). | +| 0.0.5 | Adicionado apoio a handlers de eventos com acesso a recibos de transação. | +| 0.0.4 | Adicionado apoio à gestão de recursos de subgraph. | ### Como Obter as ABIs @@ -277,11 +277,11 @@ Nós apoiamos os seguintes escalares na nossa API do GraphQL: | `Bytes` | Arranjo de bytes, representado como string hexadecimal. Usado frequentemente por hashes e endereços no Ethereum. | | `String` | Escalar para valores `string`. Caracteres nulos são removidos automaticamente. | | `Boolean` | Escalar para valores `boolean`. | -| `Int` | The GraphQL spec defines `Int` to be a signed 32-bit integer. | +| `Int` | A especificação do GraphQL define o `Int` como um inteiro assinado de 32 bits. | | `Int8` | Um número inteiro assinado em 8 bits, também conhecido como um número inteiro assinado em 64 bits, pode armazenar valores de -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807. Prefira usar isto para representar o `i64` do ethereum. | | `BigInt` | Números inteiros grandes. Usados para os tipos `uint32`, `int64`, `uint64`, ..., `uint256` do Ethereum. Nota: Tudo abaixo de `uint32`, como `int32`, `uint24` ou `int8` é representado como `i32`. | | `BigDecimal` | `BigDecimal` Decimais de alta precisão representados como um significando e um exponente. O alcance de exponentes é de -6143 até +6144. Arredondado para 34 dígitos significantes. | -| `Timestamp` | It is an `i64` value in microseconds. Commonly used for `timestamp` fields for timeseries and aggregations. | +| `Timestamp` | É um valor `i64` em microssegundos. Usado frequentemente para campos `timestamp` para séries de tempo e agregações. | #### Enums @@ -423,11 +423,11 @@ Esta maneira mais elaborada de armazenar relacionamentos vários-com-vários arm #### Como adicionar comentários ao schema -As per GraphQL spec, comments can be added above schema entity attributes using the hash symble `#`. This is illustrated in the example below: +Pela especificação do GraphQL, é possível adicionar comentários acima de atributos de entidade do schema com o símbolo de hash `#`. Isto é ilustrado no exemplo abaixo: ```graphql type MyFirstEntity @entity { - # unique identifier and primary key of the entity + # identificador único e chave primária da entidade id: Bytes! address: Bytes! } @@ -550,20 +550,20 @@ O segundo handler tenta carregar o `Gravatar` do armazenamento do Graph Node. Se ### IDs Recomendadas para Criar Novas Entidades -It is highly recommended to use `Bytes` as the type for `id` fields, and only use `String` for attributes that truly contain human-readable text, like the name of a token. Below are some recommended `id` values to consider when creating new entities. +Recomendamos muito utilizar `Bytes` como o tipo para campos `id`, e só usar o `String` para atributos que realmente contenham texto legível para humanos, como o nome de um token. Abaixo estão alguns valores recomendados de `id` para considerar ao criar novas entidades. - `transfer.id = event.transaction.hash` - `let id = event.transaction.hash.concatI32(event.logIndex.toI32())` -- For entities that store aggregated data, for e.g, daily trade volumes, the `id` usually contains the day number. Here, using a `Bytes` as the `id` is beneficial. Determining the `id` would look like +- Para entidades que armazenam dados agregados como, por exemplo, volumes diários de trading, a `id` costuma conter o número do dia. Aqui, usar `Bytes` como a `id` é beneficial. Determinar a `id` pareceria com ```typescript let dayID = event.block.timestamp.toI32() / 86400 let id = Bytes.fromI32(dayID) ``` -- Convert constant addresses to `Bytes`. +- Converta endereços constantes em `Bytes`. `const id = Bytes.fromHexString('0xdead...beef')` @@ -617,7 +617,7 @@ import { Gravatar } from '../generated/schema' > **Nota:** A geração de códigos deve ser executada novamente após todas as mudanças ao schema GraphQL ou às ABIs incluídas no manifest. Ela também deve ser executada pelo menos uma vez antes de construir ou lançar o subgraph. -Code generation does not check your mapping code in `src/mapping.ts`. If you want to check that before trying to deploy your subgraph to Graph Explorer, you can run `yarn build` and fix any syntax errors that the TypeScript compiler might find. +A geração de código não confere o seu código de mapeamento no `src/mapping.ts`. Se quiser conferir isto antes de tentar lançar o seu subgraph ao Graph Explorer, pode executar o `yarn build` e consertar quaisquer erros de sintaxe que o compilador TypeScript possa encontrar. ## Modelos de Fontes de Dados From 2b9161a3a5d1715495c9c7912a7b96c27dd3c41d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 30 Jun 2024 12:37:57 -0400 Subject: [PATCH 2077/2326] New translations unit-testing-framework.mdx (Portuguese) --- .../pt/developing/unit-testing-framework.mdx | 105 +++++++++--------- 1 file changed, 53 insertions(+), 52 deletions(-) diff --git a/website/pages/pt/developing/unit-testing-framework.mdx b/website/pages/pt/developing/unit-testing-framework.mdx index 72138f23d4ff..500c706a3a27 100644 --- a/website/pages/pt/developing/unit-testing-framework.mdx +++ b/website/pages/pt/developing/unit-testing-framework.mdx @@ -116,7 +116,7 @@ graph test path/to/file.test.ts Desde o `graph-cli 0.25.2`, o comando `graph test` apoia a execução do `matchstick` em um container docker com a flag `-d`. A implementação do docker utiliza o [bind mount](https://docs.docker.com/storage/bind-mounts/) para que não precise reconstruir a imagem do docker toda vez que o comando `graph test -d` é executado. Alternativamente, siga as instruções do repositório do [matchstick](https://github.com/LimeChain/matchstick#docker-) para executar o docker manualmente. -❗ `graph test -d` forces `docker run` to run with flag `-t`. This must be removed to run inside non-interactive environments (like GitHub CI). +❗ `graph test -d` força o `docker run` a ser executado com o flag `-t`. Isto deve ser removido para rodar dentro de ambientes não interativos (como o GitHub CI). ❗ Caso já tenha executado o `graph test` anteriormente, pode encontrar o seguinte erro durante a construção do docker: @@ -144,9 +144,9 @@ Podes experimentar e experimentar com os exemplos deste guia ao clonar a repo do Também pode conferir a série em vídeo sobre ["Como usar o Matchstick para escrever testes de unidade para os seus subgraphs"](https://www.youtube.com/playlist?list=PLTqyKgxaGF3SNakGQwczpSGVjS_xvOv3h) -## Tests structure +## Estrutura de testes -_**IMPORTANT: The test structure described below depens on `matchstick-as` version >=0.5.0**_ +_**IMPORTANTE: A estrutura de teste descrita abaixo depende da versão >=0.5.0 do `matchstick-as`**_ ### describe() @@ -524,7 +524,7 @@ assertNotNull(value: T) entityCount(entityType: string, expectedCount: i32) ``` -As of version 0.6.0, asserts support custom error messages as well +A partir da versão 0.6.0, asserts também apoiam mensagens de erro personalizadas ```typescript assert.fieldEquals('Gravatar', '0x123', 'id', '0x123', 'Id should be 0x123') @@ -877,7 +877,7 @@ Os utilizadores podem afirmar que uma entidade não existe no armazenamento. A f assert.notInStore('Gravatar', '23') ``` -### Printing the whole store, or single entities from it (for debug purposes) +### Impressão do armazenamento completo, ou de entidades individuais dele (para debugging) Pode imprimir o armazenamento inteiro na consola com esta função de helper: @@ -887,7 +887,7 @@ import { logStore } from 'matchstick-as/assembly/store' logStore() ``` -As of version 0.6.0, `logStore` no longer prints derived fields, instead users can use the new `logEntity` function. Of course `logEntity` can be used to print any entity, not just ones that have derived fields. `logEntity` takes the entity type, entity id and a `showRelated` flag to indicate if users want to print the related derived entities. +Desde a versão 0.6.0, o `logStore` não imprime mais campos derivados; em vez disto, utilizadores podem usar a nova função `logEntity`. O `logEntity` pode ser usado para imprimir qualquer entidade, não só as que têm campos derivados. O `logEntity` pega o tipo e a ID da entidade e um flag `showRelated` para indicar se utilizadores querem imprimir as entidades derivadas relacionadas. ``` import { logEntity } from 'matchstick-as/assembly/store' @@ -949,16 +949,16 @@ Logar erros críticos interromperá a execução dos testes e causará um desast ### Como testar campos derivados -Testing derived fields is a feature which allows users to set a field on a certain entity and have another entity be updated automatically if it derives one of its fields from the first entity. +Testar campos derivados permite aos utilizadores configurar um campo numa entidade e atualizar outra automaticamente, caso ela derive um dos seus campos da primeira entidade. -Before version `0.6.0` it was possible to get the derived entities by accessing them as entity fields/properties, like so: +Antes da versão `0.6.0`, era possível resgatar as entidades derivadas ao acessá-las como propriedades ou campos de entidade, como no seguinte exemplo: ```typescript let entity = ExampleEntity.load('id') let derivedEntity = entity.derived_entity ``` -As of version `0.6.0`, this is done by using the `loadRelated` function of graph-node, the derived entities can be accessed the same way as in the handlers. +Desde a versão `0.6.0`, isto é feito com a função `loadRelated` do graph-node. As entidades derivadas podem ser acessadas como são nos handlers. ```typescript test('Derived fields example test', () => { @@ -1000,9 +1000,9 @@ test('Derived fields example test', () => { }) ``` -### Testing `loadInBlock` +### Teste de `loadInBlock` -As of version `0.6.0`, users can test `loadInBlock` by using the `mockInBlockStore`, it allows mocking entities in the block cache. +Desde a versão `0.6.0`, é possível testar o `loadInBlock` com o `mockInBlockStore`, que permite o mocking de entidades no cache de blocos. ```typescript import { afterAll, beforeAll, describe, mockInBlockStore, test } from 'matchstick-as' @@ -1086,46 +1086,47 @@ test('Data source simple mocking example', () => { Note que o `dataSourceMock.resetValues()` é chamado no final. Isto é porque os valores são lembrados quando mudados, e devem ser reconfigurados caso queira voltar aos valores padrão. -### Testing dynamic data source creation +### Teste de criação de fontes de dados dinâmicas -As of version `0.6.0`, it is possible to test if a new data source has been created from a template. This feature supports both ethereum/contract and file/ipfs templates. There are four functions for this: +Desde a versão `0.6.0`, é possível testar se uma nova fonte de dados foi criada de um modelo. Este recurso apoia modelos do ethereum/contract e do file/ipfs. Há quatro funçôes para isto: -- `assert.dataSourceCount(templateName, expectedCount)` can be used to assert the expected count of data sources from the specified template -- `assert.dataSourceExists(templateName, address/ipfsHash)` asserts that a data source with the specified identifier (could be a contract address or IPFS file hash) from a specified template was created -- `logDataSources(templateName)` prints all data sources from the specified template to the console for debugging purposes -- `readFile(path)` reads a JSON file that represents an IPFS file and returns the content as Bytes +- `assert.dataSourceCount(templateName, expectedCount)` pode ser usado para impor a contagem esperada de fontes de dados do modelo especificado +- `assert.dataSourceExists(templateName, address/ipfsHash)` impõe que foi criada uma fonte de dados com o identificador especificado (pode ser um endereço de contrato ou um hash de arquivo ipfs) de um modelo especificado +- `logDataSources(templateName)` imprime todas as fontes de dados do modelo especificado ao console para propósitos de debugging +- `readFile(path)` lê um arquivo JSON que representa um arquivo IPFS e retorna o conteúdo como Bytes -#### Testing `ethereum/contract` templates +#### Teste de modelos `ethereum/contract` ```typescript test('ethereum/contract dataSource creation example', () => { - // Assert there are no dataSources created from GraphTokenLockWallet template + // Garanta que não há dataSources criadas do modelo do GraphTokenLockWallet assert.dataSourceCount('GraphTokenLockWallet', 0) - // Create a new GraphTokenLockWallet datasource with address 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A + // Crie uma nova fonte de dados GraphTokenLockWallet com o endereço + 0xA16081F360e3847006dB660bae1c6d1b2e17eC2A GraphTokenLockWallet.create(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2A')) - // Assert the dataSource has been created + // Garanta que a dataSource foi criada assert.dataSourceCount('GraphTokenLockWallet', 1) - // Add a second dataSource with context + // Adicione uma segunda dataSource com contexto let context = new DataSourceContext() context.set('contextVal', Value.fromI32(325)) GraphTokenLockWallet.createWithContext(Address.fromString('0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'), context) - // Assert there are now 2 dataSources + // Garanta que agora há 2 dataSources assert.dataSourceCount('GraphTokenLockWallet', 2) - // Assert that a dataSource with address "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" was created - // Keep in mind that `Address` type is transformed to lower case when decoded, so you have to pass the address as all lower case when asserting if it exists + // Garanta que uma dataSource com o endereço "0xA16081F360e3847006dB660bae1c6d1b2e17eC2B" foi criada + // Lembre-se que o tipo `Address` foi transformado em letra minúscula após decodificado, então é necessário passar o endereço em letras minúsculas ao garantir que ele existe assert.dataSourceExists('GraphTokenLockWallet', '0xA16081F360e3847006dB660bae1c6d1b2e17eC2B'.toLowerCase()) logDataSources('GraphTokenLockWallet') }) ``` -##### Example `logDataSource` output +##### Exemplo de resultado de `logDataSource` ```bash 🛠 { @@ -1149,11 +1150,11 @@ test('ethereum/contract dataSource creation example', () => { } ``` -#### Testing `file/ipfs` templates +#### Teste de modelos `file/ipfs` -Similarly to contract dynamic data sources, users can test test file datas sources and their handlers +Assim como as fontes dinâmicas de dados de contrato, os utilizadores podem testar fontes de dados de arquivos e os seus handlers -##### Example `subgraph.yaml` +##### Exemplo de `subgraph.yaml` ```yaml ... @@ -1174,27 +1175,27 @@ templates: file: ./abis/GraphTokenLockWallet.json ``` -##### Example `schema.graphql` +##### Exemplo de `schema.graphql` ```graphql """ -Token Lock Wallets which hold locked GRT +Token Lock Wallets que têm GRT trancado """ type TokenLockMetadata @entity { - "The address of the token lock wallet" + "Endereço da token lock wallet" id: ID! - "Start time of the release schedule" + "Começo da agenda de lançamento" startTime: BigInt! - "End time of the release schedule" + "Final da agenda de lançamento" endTime: BigInt! - "Number of periods between start time and end time" + "Número de períodos entre o início e o fim" periods: BigInt! - "Time when the releases start" + "Hora quando os lançamentos começam" releaseStartTime: BigInt! } ``` -##### Example `metadata.json` +##### Exemplo de `metadata.json` ```json { @@ -1205,13 +1206,13 @@ type TokenLockMetadata @entity { } ``` -##### Example handler +##### Exemplo de handler ```typescript export function handleMetadata(content: Bytes): void { - // dataSource.stringParams() returns the File DataSource CID - // stringParam() will be mocked in the handler test - // for more info https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files + // dataSource.stringParams() retorna a CID File DataSource + // haverá um mock de stringParam() no teste de handler + // para mais informações, leia https://thegraph.com/docs/en/developing/creating-a-subgraph/#create-a-new-handler-to-process-files let tokenMetadata = new TokenLockMetadata(dataSource.stringParam()) const value = json.fromBytes(content).toObject() @@ -1233,7 +1234,7 @@ export function handleMetadata(content: Bytes): void { } ``` -##### Example test +##### Exxemplo de teste ```typescript import { assert, test, dataSourceMock, readFile } from 'matchstick-as' @@ -1244,31 +1245,31 @@ import { TokenLockMetadata } from '../../generated/schema' import { GraphTokenLockMetadata } from '../../generated/templates' test('file/ipfs dataSource creation example', () => { - // Generate the dataSource CID from the ipfsHash + ipfs path file - // For example QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json + // Gere a CID dataSource do arquivo de caminho ipfsHash + ipfs + // Por exemplo QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm/example.json const ipfshash = 'QmaXzZhcYnsisuue5WRdQDH6FDvqkLQX1NckLqBYeYYEfm' const CID = `${ipfshash}/example.json` - // Create a new dataSource using the generated CID + // Crie uma nova dataSource com a CID gerada GraphTokenLockMetadata.create(CID) - // Assert the dataSource has been created + // Garanta que a dataSource foi criada assert.dataSourceCount('GraphTokenLockMetadata', 1) assert.dataSourceExists('GraphTokenLockMetadata', CID) logDataSources('GraphTokenLockMetadata') - // Now we have to mock the dataSource metadata and specifically dataSource.stringParam() - // dataSource.stringParams actually uses the value of dataSource.address(), so we will mock the address using dataSourceMock from matchstick-as - // First we will reset the values and then use dataSourceMock.setAddress() to set the CID + // Agora tempos que fazer um mock dos metadados da dataSource e especificamente utilizar dataSource.stringParam() + // dataSource.stringParams usa o valor do dataSource.address(), então faremos um mock do endereço com odataSourceMock do matchstick-as + // Primeiro reiniciaremos os valores e depois usaremos o dataSourceMock.setAddress() para configurar a CID dataSourceMock.resetValues() dataSourceMock.setAddress(CID) - // Now we need to generate the Bytes to pass to the dataSource handler - // For this case we introduced a new function readFile, that reads a local json and returns the content as Bytes + // Agora precisamos gerar os Bytes para repassar ao handler dataSource + // Para este caso, apresentamos uma nova função readFile que lê um json local e retorna o conteúdo como Bytes const content = readFile(`path/to/metadata.json`) handleMetadata(content) - // Now we will test if a TokenLockMetadata was created + // Agora testaremos se um TokenLockMetadata foi criado const metadata = TokenLockMetadata.load(CID) assert.bigIntEquals(metadata!.endTime, BigInt.fromI32(1)) From 54d02a6b760ebc31fe6285fe9a0d152c5062e181 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 06:19:09 -0400 Subject: [PATCH 2078/2326] New translations operating-graph-node.mdx (Portuguese) --- website/pages/pt/operating-graph-node.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/operating-graph-node.mdx b/website/pages/pt/operating-graph-node.mdx index b0d9e7fbf8bc..5eb6c795dcd5 100644 --- a/website/pages/pt/operating-graph-node.mdx +++ b/website/pages/pt/operating-graph-node.mdx @@ -114,7 +114,7 @@ Veja a documentação completa do `config.toml` na documentação do [Graph Node #### Múltiplos Graph Nodes -Graph Node indexing can scale horizontally, running multiple instances of Graph Node to split indexing and querying across different nodes. This can be done simply by running Graph Nodes configured with a different `node_id` on startup (e.g. in the Docker Compose file), which can then be used in the `config.toml` file to specify [dedicated query nodes](#dedicated-query-nodes), [block ingestors](#dedicated-block-ingestion), and splitting subgraphs across nodes with [deployment rules](#deployment-rules). +A indexação de Graph Nodes pode escalar horizontalmente, com a execução de várias instâncias de Graph Node para separar indexação de queries em nodes diferentes. Isto é facilmente possível com a execução de Graph Nodes, configurados com um `node_id` diferente na inicialização (por ex. no arquivo Docker Compose), que pode então ser usado no arquivo `config.toml` para especificar [nodes dedicados de consulta](#dedicated-query-nodes), [ingestores de blocos](#dedicated-block-ingestion) e separar subgraphs entre nódulos com [regras de lançamento](#deployment-rules). > Note que vários Graph Nodes podem ser configurados para usar o mesmo banco de dados — que, por conta própria, pode ser escalado horizontalmente através do sharding. From 17d3d1454ca11ef0e7b316bba73d9c952f81a251 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 06:19:10 -0400 Subject: [PATCH 2079/2326] New translations index.json (Portuguese) --- website/pages/pt/index.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/index.json b/website/pages/pt/index.json index 0f7fd7404c12..be45383678a4 100644 --- a/website/pages/pt/index.json +++ b/website/pages/pt/index.json @@ -69,7 +69,7 @@ }, "supportedNetworks": { "title": "Redes Apoiadas", - "description": "The Graph supports the following networks.", - "footer": "For more details, see the {0} page." + "description": "The Graph apoia as seguintes redes.", + "footer": "Para mais detalhes, veja a página {0}." } } From b71898db8b60aba49b04bc0d957f872ae7f26287 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 06:19:11 -0400 Subject: [PATCH 2080/2326] New translations new-chain-integration.mdx (Portuguese) --- website/pages/pt/new-chain-integration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/new-chain-integration.mdx b/website/pages/pt/new-chain-integration.mdx index 1ca4bb5b6f32..02844784397e 100644 --- a/website/pages/pt/new-chain-integration.mdx +++ b/website/pages/pt/new-chain-integration.mdx @@ -54,11 +54,11 @@ Para que o Graph Node possa ingerir dados de uma chain EVM, o node RPC deve expo **Teste a integração com o lançamento local de um subgraph** -1. Install [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) +1. Instale o [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) 2. Crie um subgraph de exemplo simples. Aqui estão algumas opções: 1. O contrato inteligente e o subgraph [Gravitar](https://github.com/graphprotocol/example-subgraph/tree/f89bdd4628efa4badae7367d4919b3f648083323) pré-inclusos são bons para começar 2. Inicie um subgraph local de qualquer contrato inteligente existente ou de um ambiente de programação em solidity [com o uso do Hardhat com um plugin do Graph](https://github.com/graphprotocol/hardhat-graph) -3. Adapt the resulting `subgraph.yaml` by changing `dataSources.network` to the same name previously passed on to Graph Node. +3. Adapte o `subgraph.yaml` resultante com a mudança do `dataSources.network` para o mesmo nome passado anteriormente ao Graph Node. 4. Crie o seu subgraph no Graph Node: `graph create $SUBGRAPH_NAME --node $GRAPH_NODE_ENDPOINT` 5. Publique o seu subgraph no Graph Node: `graph deploy $SUBGRAPH_NAME --ipfs $IPFS_ENDPOINT --node $GRAPH_NODE_ENDPOINT` From 6b89074949caf5945b30f82252b4bfd63fc7b98f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 08:34:06 -0400 Subject: [PATCH 2081/2326] New translations managing-api-keys.mdx (Portuguese) --- website/pages/pt/querying/managing-api-keys.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/pt/querying/managing-api-keys.mdx b/website/pages/pt/querying/managing-api-keys.mdx index 56b10ed5ee1f..98392067367c 100644 --- a/website/pages/pt/querying/managing-api-keys.mdx +++ b/website/pages/pt/querying/managing-api-keys.mdx @@ -4,14 +4,14 @@ title: Como gerir as suas chaves de API Independente de ser um programador de dApp ou de subgraph, é importante gerir as suas chaves de API. Isto é importante para poder fazer queries em subgraphs, porque chaves de API garantem a validade e autorização das conexões entre serviços de aplicativos. Isto inclui a autenticação do usuário final e do dispositivo que usa o aplicativo. -The "API keys" table lists out existing API keys, which will give you the ability to manage or delete them. For each key, you can see its status, the cost for the current period, the spending limit for the current period, as well as total query numbers. You can click the "three dots" menu to edit a given API key: +A tabela "API keys" lista chaves API existentes, o que lhe dará a habilidade de gestar ou apagá-las. Para cada chave, é possível ver o seu estado, o custo para o período atual, o limite de gastos para o período atual, assim como número total de queries. É possível abrir o menu de "três pontos" para mudar uma chave API: -- Rename API key -- Regenerate API key -- Delete API key -- Manage spending limit: this is an optional monthly spending limit for a given API key, in USD. This limit is per billing period (calendar month). +- Renomear chave API +- Regenerar chave API +- Apagar chave API +- Gestar limite de gastos: este é um limite opcional de gastos mensais para uma chave API, em USD. Este limite é por período de cobrança (mês do calendário). -You can click on an individual API key to view the Details page: +É possível clicar numa chave API individual para exibir a sua página de Detalhes: 1. A seção **Overview** lhe permitirá: - Alterar o nome da sua chave From 4c69176e771289f4330c1ffd3b90b57ea0d6d32c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 08:34:08 -0400 Subject: [PATCH 2082/2326] New translations querying-best-practices.mdx (Portuguese) --- .../pages/pt/querying/querying-best-practices.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/pt/querying/querying-best-practices.mdx b/website/pages/pt/querying/querying-best-practices.mdx index d47ba20704fa..644ff4875856 100644 --- a/website/pages/pt/querying/querying-best-practices.mdx +++ b/website/pages/pt/querying/querying-best-practices.mdx @@ -56,14 +56,14 @@ Enquanto a lista de sintaxes proibidas e permitidas é longa, veja a seguir as r - Cada `queryName` deve ser usado apenas uma vez por operação. - Cada `field` deve ser usado apenas uma vez numa seleção (não podemos consultar a `id` duas vezes sob o `token`) -- Some `field`s or queries (like `tokens`) return complex types that require a selection of sub-field. Not providing a selection when expected (or providing one when not expected - for example, on `id`) will raise an error. To know a field type, please refer to [Graph Explorer](/network/explorer). +- Alguns `fields`s ou queries (como `tokens`) retornam tipos complexos que requerem uma seleção de subcampo. Não providenciar uma seleção quando esperado (ou providenciar uma quando não é esperado - por exemplo, no `id`) resultará num erro. Para conhecer um tipo de campo, consulte o [Graph Explorer](/network/explorer). - Qualquer variável apontada a um argumento deve corresponder ao seu tipo. - Em uma lista dada de variáveis, cada uma delas deve ser única. - Todas as variáveis definidas devem ser usadas. Não seguir as regras acima causará um erro da API do Graph. -For a complete list of rules with code examples, please look at our [GraphQL Validations guide](/release-notes/graphql-validations-migration-guide/). +Para uma lista completa de regras com exemplos de código, veja o nosso [guia de Validações GraphQL](/release-notes/graphql-validations-migration-guide/). ### Como enviar um query a uma API GraphQL @@ -417,9 +417,9 @@ fragment VoteWithPoll on Vote { ### Exploradores do GraphQL baseados em web -Iterating over queries by running them in your application can be cumbersome. For this reason, don't hesitate to use [Graph Explorer](https://thegraph.com/explorer) to test your queries before adding them to your application. Graph Explorer will provide you a preconfigured GraphQL playground to test your queries. +Pode ser até chato executar queries no seu aplicativo para iterar sobre elas. Por isto, não hesite em usar o [Graph Explorer](https://thegraph.com/explorer) para testar as suas queries antes de adicioná-las. O Graph Explorer lhe providenciará um ambiente de testes GraphQL pré-configurado para testar as suas queries. -If you are looking for a more flexible way to debug/test your queries, other similar web-based tools are available such as [Altair](https://altairgraphql.dev/) and [GraphiQL](https://graphiql-online.com/graphiql). +Se procura uma maneira mais flexível de debugar/testar as suas consultas, há outras ferramentas baseadas em web, como [Altair](https://altairgraphql.dev/) e [GraphiQL](https://graphiql-online.com/graphiql). ### GraphQL Linting @@ -427,9 +427,9 @@ Para acompanhar as melhores práticas e regras sintáticas ditas acima, vale mui **GraphQL ESLint** -[GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) will help you stay on top of GraphQL best practices with zero effort. +O [GraphQL ESLint](https://the-guild.dev/graphql/eslint/docs/getting-started) ajudará-lhe a aperfeiçoar as melhores práticas no GraphQL sem nenhum esforço. -[Setup the "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) config will enforce essential rules such as: +[Preparar a configuração "operations-recommended"](https://the-guild.dev/graphql/eslint/docs/configs) irá impor regras essenciais, como: - `@graphql-eslint/fields-on-correct-type`: um campo está num tipo apropriado? - `@graphql-eslint/no-unused variables`: uma variável usada deve ficar sem uso? From e78e4b563934dffcb2e26807a9b9aad5563fc386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 08:34:09 -0400 Subject: [PATCH 2083/2326] New translations querying-from-an-application.mdx (Portuguese) --- website/pages/pt/querying/querying-from-an-application.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/querying/querying-from-an-application.mdx b/website/pages/pt/querying/querying-from-an-application.mdx index 07fc6c669686..6cea3da1b2c0 100644 --- a/website/pages/pt/querying/querying-from-an-application.mdx +++ b/website/pages/pt/querying/querying-from-an-application.mdx @@ -2,7 +2,7 @@ title: Como Fazer Queries de um Aplicativo --- -Once a subgraph is deployed to Subgraph Studio or to Graph Explorer, you will be given the endpoint for your GraphQL API that should look something like this: +Quando um subgraph for lançado ao Subgraph Studio ou ao Graph Explorer, receberá o endpoint para a sua API GraphQL, que deve parecer com isto: **Subgraph Studio (endpoint de teste)** From c1cce6616c1afbb41ef4676613b0dd573e5bfc32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 08:34:10 -0400 Subject: [PATCH 2084/2326] New translations querying-the-graph.mdx (Portuguese) --- website/pages/pt/querying/querying-the-graph.mdx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/website/pages/pt/querying/querying-the-graph.mdx b/website/pages/pt/querying/querying-the-graph.mdx index 9f50c8c18990..48bbd28e2fed 100644 --- a/website/pages/pt/querying/querying-the-graph.mdx +++ b/website/pages/pt/querying/querying-the-graph.mdx @@ -2,18 +2,18 @@ title: Queries no The Graph --- -When a subgraph is published to The Graph Network, you can visit its subgraph details page on [Graph Explorer](https://thegraph.com/explorer) and use the "Playground" tab to explore the deployed GraphQL API for the subgraph, issuing queries and viewing the schema. +Quando um subgraph é editado na Graph Network, é possível visitar a sua página de detalhes no [Graph Explorer](https://thegraph.com/explorer) e usar a aba "Playground" para explorar a API GraphQL lançada para o subgraph, emitir queries e visualizar o schema. -> Please see the [Query API](/querying/graphql-api) for a complete reference on how to query the subgraph's entities. You can learn about GraphQL querying best practices [here](/querying/querying-best-practices) +> Por favor, confira a [API de Queries](/querying/graphql-api) para uma referência completa em como fazer queries das entidades do subgraph. É possível ler sobre as melhores práticas de querying em GraphQL [aqui](/querying/querying-best-practices) -> Note: If you encounter 405 errors with a GET request to the Graph Explorer URL, please switch to a POST request instead. +> Nota: Se encontrar erros 405 com um pedido GET ao URL do Graph Explorer, use um pedido POST. -Each subgraph published to The Graph Network has a unique query URL in Graph Explorer for making direct queries that you can find by navigating to the subgraph details page and clicking on the "Query" button on the top right corner. +Cada subgraph publicado à Graph Network tem um URL singular de query no Graph Explorer para fazer queries diretos que podem ser encontrados ao navegar até a página de detalhes do subgraph e clicar no botão "Query" no canto superior direito. ![Consultar o Painel do Subgraph](/img/query-subgraph-pane.png) -Learn more about querying from an application [here](/querying/querying-from-an-application). +Aprenda mais sobre queries de um aplicativo [aqui](/querying/querying-from-an-application). -As you can notice, this query URL must use a unique API key. You can create and manage your API keys in [Subgraph Studio](https://thegraph.com/studio), in the "API Keys" section. Learn more about how to use Subgraph Studio [here](/deploying/subgraph-studio). +Como deve ter percebido, este URL de query deve usar uma chave de API singular. Dá para criar e gerir as suas chaves de API no [Subgraph Studio](https://thegraph.com/studio), na seção "API Keys". Leia mais sobre como usar o Subgraph Studio [aqui](/deploying/subgraph-studio). -Subgraph Studio users start on a Free Plan, which allows them to make 100,000 queries per month. Additional queries are available on the Growth Plan, which offers usage based pricing for additional queries, payable by credit card, or GRT on Arbitrum. You can learn more about billing [here](/billing). +Utilizadores do Subgraph Studio começam com um Plano Grátis, que os permite realizar 100 mil queries por mês. Mais queries estão disponíveis no Plano de Crescimento, que oferece preços baseados em uso para queries adicionais; estes podem ser pagos em cartão de crédito ou em GRT no Arbitrum. Aprenda mais sobre cobranças [aqui](/billing). From ee66be233dcb44f234c8ac1bf4b14d453a9d6e94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 08:34:11 -0400 Subject: [PATCH 2085/2326] New translations firehose.mdx (Portuguese) --- website/pages/pt/firehose.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/firehose.mdx b/website/pages/pt/firehose.mdx index 92ac1c88195d..a56edbb11211 100644 --- a/website/pages/pt/firehose.mdx +++ b/website/pages/pt/firehose.mdx @@ -6,7 +6,7 @@ title: Firehose O Firehose é uma nova tecnologia desenvolvida pelo StreamingFast em colaboração com a Graph Foundation. O produto providencia **capacidades e velocidades inéditas para a indexação de dados em blockchain** com uma abordagem baseada em arquivos e focada no streaming em primeiro lugar. -The Graph merges into Go Ethereum/geth with the adoption of [Live Tracer with v1.14.0 release](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). +O The Graph se fundiu com o Go Ethereum/geth com a adoção do [Live Tracer no lançamento v1.14.0](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.0). O Firehose extrai, transforma e salva dados de blockchain em uma estratégia baseada em arquivos e de alto desempenho. Os programadores de blockchain podem então acessar dados extraídos pelo Firehose através de streams de dados binários. A intenção do Firehose é substituir a camada original de extração de dados de blockchain do The Graph. From 760227e94c3ccd162c6a08b80462783ac24dd1b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 08:34:12 -0400 Subject: [PATCH 2086/2326] New translations glossary.mdx (Portuguese) --- website/pages/pt/glossary.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/pt/glossary.mdx b/website/pages/pt/glossary.mdx index fdeac0df5676..75cc00cb710e 100644 --- a/website/pages/pt/glossary.mdx +++ b/website/pages/pt/glossary.mdx @@ -24,7 +24,7 @@ title: Glossário - **Auto-Stake (Stake Próprio) do Indexador**: A quantia de GRT que os Indexadores usam para participar na rede descentralizada. A quantia mínima é 100.000 GRT, e não há limite máximo. -- **Upgrade Indexer**: A temporary Indexer designed to act as a fallback for subgraph queries not serviced by other Indexers on the network. It ensures a seamless transition for subgraphs upgrading from the hosted service to The Graph Network. The upgrade Indexer is not competitive with other Indexers. It supports numerous blockchains that were previously only available on the hosted service. +- **Indexador de Atualizações**: Um Indexador temporário feito para agir como uma reserva para queries de subgraphs não servidos por outros Indexadores na rede. Ele garante uma transição suave para subgraphs que atualizam do serviço hospedado à Graph Network. O Indexador de atualização não é competitivo com outros Indexadores. Ele apoia várias blockchains que antes estavam disponíveis apenas no serviço hospedado. - **Delegantes**: Participantes na rede que são titulares de GRT, e delegam o seu GRT aos Indexadores. Isto permite aos Indexadores aumentar o seu stake nos subgraphs da rede. Em troca, os Delegantes recebem uma porção das Recompensas de Indexação que os Indexadores recebem por processar subgraphs. @@ -38,11 +38,11 @@ title: Glossário - **Programador de Subgraph**: Um programador que constrói e lança um subgraph à rede descentralizada do The Graph. -- **Subgraph Manifest**: A YAML file that describes the subgraph's GraphQL schema, data sources, and other metadata. [Here](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml) is an example. +- **Manifest de Subgraph**: Um arquivo YAML que descreve o schema GraphQL, as fontes de dados, e outros metadados. [Veja um exemplo](https://github.com/graphprotocol/example-subgraph/blob/master/subgraph.yaml). - **Epoch**: Uma unidade de tempo na rede. Um epoch atualmente dura 6.646 blocos, ou cerca de um dia. -- **Allocation**: An Indexer can allocate their total GRT stake (including Delegators' stake) towards subgraphs that have been published on The Graph's decentralized network. Allocations can have different statuses: +- **Alocação**: Um indexador pode alocar o seu stake total em GRT (incluindo o stake dos Delegantes) em subgraphs editados na rede descentralizada do The Graph. As alocações podem ter estados diferentes: 1. **Ativa**: Uma alocação é considerada ativa quando é criada on-chain. Isto se chama abrir de uma alocação, e indica à rede que o Indexador está a indexar e servir consultas ativamente para um subgraph particular. Alocações ativas acumulam recompensas de indexação proporcionais ao sinal no subgraph, e à quantidade de GRT alocada. @@ -54,7 +54,7 @@ title: Glossário - **Árbitros**: Participantes da rede apontados por um processo de governança. O papel do Árbitro é decidir o resultado de disputas de indexação e consultas, e a sua meta é maximizar a utilidade e confiança da Graph Network. -- **Slashing**: Indexers can have their self-staked GRT slashed for providing an incorrect POI or for serving inaccurate data. The slashing percentage is a protocol parameter currently set to 2.5% of an Indexer's self stake. 50% of the slashed GRT goes to the Fisherman that disputed the inaccurate data or incorrect POI. The other 50% is burned. +- **Corte**: Os Indexadores podem tomar cortes em seu GRT em self-stake por fornecer uma prova de indexação (POI) incorreta ou servir dados imprecisos. A porcentagem de corte é um parâmetro do protocolo, atualmente configurado em 2.5% do auto-stake de um Indexador. 50% do GRT cortado vai ao Pescador que disputou os dados ou POI incorretos. Os outros 50% são queimados. - **Recompensas de Indexação**: As recompensas que os Indexadores recebem por indexar subgraphs, distribuídas em GRT. @@ -84,4 +84,4 @@ title: Glossário - **Migração**: O processo de movimentar ações de curadoria da versão antiga de um subgraph a uma versão nova de um subgraph (por ex., quando a v.0.0.1 é atualizada à v.0.0.2). -- **Upgrade Window**: The countdown for hosted service users to upgrade their subgraph(s) to The Graph Network beginning on April 11th, and ending on June 12th 2024. +- **Janela de Atualização**: O período para que utilizadores do serviço hospedado atualizem o(s) seu(s) subgraph(s) à Graph Network começa em 11 de abril e termina em 12 de junho de 2024. From b4fbbcc73f7fc6ed7cf232c6405c2e19e0148bca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 08:34:13 -0400 Subject: [PATCH 2087/2326] New translations graphcast.mdx (Portuguese) --- website/pages/pt/graphcast.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/graphcast.mdx b/website/pages/pt/graphcast.mdx index 249f03b4d72c..e57b6b206900 100644 --- a/website/pages/pt/graphcast.mdx +++ b/website/pages/pt/graphcast.mdx @@ -10,7 +10,7 @@ Atualmente, o custo de transmitir informações para outros participantes de red O SDK (Kit de Programação de Software) do Graphcast permite aos programadores construir Rádios, que são aplicativos movidos a mexericos, que os Indexers podem executar por um certo propósito. Nós também pretendemos criar alguns Rádios (ou oferecer apoio para outros programadores/outras equipas que desejam construir Rádios) para os seguintes casos de uso: -- Real-time cross-checking of subgraph data integrity ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). +- Verificação em tempo real de integridade dos dados de um subgraph ([Subgraph Radio](https://docs.graphops.xyz/graphcast/radios/subgraph-radio/intro)). - Condução de leilões e coordenação para a sincronização de subgraphs, substreams e dados do Firehose de outros Indexers. - Autorrelatos em analíticas ativas de queries, inclusive volumes de pedidos de subgraphs, volumes de taxas, etc. - Autorrelatos em analíticas de indexação, como tempo de indexação de subgraphs, custos de gas de handlers, erros encontrados, etc. From cb56c609affe707bfb2a6763f626df5eb608d42a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 08:34:15 -0400 Subject: [PATCH 2088/2326] New translations querying-with-python.mdx (Portuguese) --- website/pages/pt/querying/querying-with-python.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/querying/querying-with-python.mdx b/website/pages/pt/querying/querying-with-python.mdx index 44bf59924307..f8180ed19eb8 100644 --- a/website/pages/pt/querying/querying-with-python.mdx +++ b/website/pages/pt/querying/querying-with-python.mdx @@ -1,5 +1,5 @@ --- -title: Query The Graph with Python and Subgrounds +title: Queries no The Graph com Python e Subgrounds --- Subgrounds é uma biblioteca intuitiva em Python para a construção de subgraphs, construída pela [Playgrounds](https://playgrounds.network/). Ela permite-lhe conectar diretamente dados de subgraph a um ambiente de dados em Python e usar bibliotecas como [pandas](https://pandas.pydata.org/) para realizar análises de dados! From 4fa1f6b4ba2a072440e313a8decc4ed9051cf938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 08:34:17 -0400 Subject: [PATCH 2089/2326] New translations querying-by-subgraph-id-vs-deployment-id.mdx (Portuguese) --- .../querying-by-subgraph-id-vs-deployment-id.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx b/website/pages/pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx index d30600b9f26f..110f95ff2f23 100644 --- a/website/pages/pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx +++ b/website/pages/pt/querying/querying-by-subgraph-id-vs-deployment-id.mdx @@ -2,17 +2,17 @@ title: ID de Subgraph contra ID de Lançamento --- -A subgraph is identified by a Subgraph ID, and each version of the subgraph is identified by a Deployment ID. +Um subgraph é identificado por uma ID de Subgraph, e cada versão do subgraph é identificada por uma ID de Lançamento. -When querying a subgraph, either ID can be used, though it is generally suggested that the Deployment ID is used due to its ability to specify a specific version of a subgraph. +Ao consultar um subgraph, qualquer das IDs pode ser usada, mas recomendamos usar a ID de Lançamento (Deployment ID) pela sua habilidade de especificar uma versão específica de um subgraph. -Here are some key differences between the two IDs: ![](/img/subgraph-id-vs-deployment-id.png) +Aqui estão algumas diferenças importantes entre as duas IDs: ![](/img/subgraph-id-vs-deployment-id.png) ## ID de Lançamento -The Deployment ID is the IPFS hash of the compiled manifest file, which refers to other files on IPFS instead of relative URLs on the computer. For example, the compiled manifest can be accessed via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. To change the Deployment ID, one can simply update the manifest file, such as modifying the description field as described in the [subgraph manifest documentation](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). +A ID de Lançamento é o hash IPFS do arquivo manifest compilado, que refere a outros arquivos no IPFS em vez de URLS relativas no computador. Por exemplo, o manifest compilado pode ser acessado via: `https://api.thegraph.com/ipfs/api/v0/cat?arg=QmQKXcNQQRdUvNRMGJiE2idoTu9fo5F5MRtKztH4WyKxED`. Para mudar a ID de Lançamento, basta atualizar o arquivo manifest, por ex., modificar o arquivo de descrição como descrito na [documentação do manifest de subgraph](https://github.com/graphprotocol/graph-node/blob/master/docs/subgraph-manifest.md#13-top-level-api). -When queries are made using a subgraph's Deployment ID, we are specifying a version of that subgraph to query. Using the Deployment ID to query a specific subgraph version results in a more sophisticated and robust setup as there is full control over the subgraph version being queried. However, this results in the need of updating the query code manually every time a new version of the subgraph is published. +Quando queries são feitas com a ID de Lançamento de um subgraph, especificamos uma versão daquele subgraph para buscar. Usar a ID de Lançamento para consultar uma versão específica de subgraph resulta em um setup mais sofisticado e robusto, já que há controle total sobre a versão do subgraph a ser consultada. Porém, isto resulta na necessidade de atualizar o código de queries manualmente toda vez que uma nova versão do subgraph é editada. Exemplo de endpoint que usa ID de Lançamento: @@ -20,8 +20,8 @@ Exemplo de endpoint que usa ID de Lançamento: ## ID de Subgraph -The Subgraph ID is a unique identifier for a subgraph. It remains constant across all versions of a subgraph. It is recommended to use the Subgraph ID to query the latest version of a subgraph, although there are some caveats. +A ID de Subgraph é uma identificadora única para um subgraph. Ela permanece constante entre todas as versões de um subgraph. É recomendado usar a ID do Subgraph para consultar a versão mais recente de um subgraph, mas há obstáculos. -Be aware that querying using Subgraph ID may result in queries being responded to by an older version of the subgraph due to the new version needing time to sync. Also, new versions could introduce breaking schema changes. +Saiba que realizar queries com a ID do Subgraph pode fazer com que queries sejam respondidas por uma versão mais antiga do subgraph, porque a nova versão precisaria de mais tempo para sincronizar. Além disto, novas versões podem introduzir mudanças que podem quebrar o schema. -Example endpoint that uses Subgraph ID: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` +Exemplo de endpoint que usa a ID de Subgraph: `https://gateway-arbitrum.network.thegraph.com/api/[api-key]/subgraphs/id/FL3ePDCBbShPvfRJTaSCNnehiqxsPHzpLud6CpbHoeKW` From 5d19ed79dcd4363146272291987fa630bdea6380 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 15:03:57 -0400 Subject: [PATCH 2090/2326] New translations publishing-a-subgraph.mdx (Portuguese) --- .../pt/publishing/publishing-a-subgraph.mdx | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/website/pages/pt/publishing/publishing-a-subgraph.mdx b/website/pages/pt/publishing/publishing-a-subgraph.mdx index b6f976192685..670e2f9d257e 100644 --- a/website/pages/pt/publishing/publishing-a-subgraph.mdx +++ b/website/pages/pt/publishing/publishing-a-subgraph.mdx @@ -2,7 +2,7 @@ title: Como Editar um Subgraph na Rede Descentralizada --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. +Quando o seu subgraph for [lançado ao Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), estiver testado, e estiver pronto para produção, poderá então ser editado à rede descentralizada. Editar um Subgraph na rede descentralizada o disponibiliza para a curadoria pelos [Curadores](/network/curating), e para indexação pelos [Indexadores](/network/indexing). @@ -12,15 +12,15 @@ A lista de redes apoiadas está [aqui](/developing/supported-networks). ## Como editar um subgraph -Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). +Subgraphs podem ser editados na rede descentralizada, diretamente do painel de controlo do Subgraph Studio, no botão **Publish** (Publicar). Quando um subgraph for editado, ele ficará disponível para visualização no [Graph Explorer](https://thegraph.com/explorer/). -- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). +- Subgraphs podem ser editados ao Arbitrum One. [Aprenda mais sobre a Graph Network no Arbitrum](/arbitrum/arbitrum-faq). - Independente da rede em que o subgraph foi editado, ele pode indexar dados em qualquer uma das [redes apoiadas](/developing/supported-networks). - Ao editar uma nova versão para um subgraph existente, aplicam-se as mesmas regras ditas acima. -## Adding signal to your subgraph +## Como adicionar sinal ao seu subgraph Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). @@ -44,29 +44,29 @@ Subgraph Studio enables you to add signal to your subgraph by adding GRT to your Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. -![Signal from Explorer](/img/signal-from-explorer.png) +![Sinal do Explorer](/img/signal-from-explorer.png) ## Como atualizar metadados para um subgraph editado -Once your subgraph has been published to the decentralized network, you can modify the metadata at any time by making the update in Subgraph Studio dashboard of the subgraph. After saving the changes and publishing your updates to the network, they will be reflected in Graph Explorer. This won’t create a new version, as your deployment hasn’t changed. +Quando o seu subgraph for editado à rede descentralizada, será possível entrar no Subgraph Studio para modificar os metadados a qualquer hora no painel de controle do subgraph através de uma atualização. Após salvar as mudanças e editar as suas atualizações na rede, elas serão refletidas no Graph Explorer. Isto não criará uma nova versão, já que o seu lançamento não foi modificado. -## Publishing from the CLI +## Publicação da CLI -As of version 0.73.0, you can also publish your subgraph with the `graph-cli`. +Desde a versão 0.73.0, é possível editar o seu subgraph com a `graph-cli`. -Simply type `graph publish` after doing `graph build && graph codegen` and a window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. +Basta digitar `graph publish` após executar o `graph build && graph codegen` e uma janela será aberta para conectar a sua carteira, adicionar metadados e editar o seu subgraph finalizado a uma rede de sua escolha. ![cli-ui](/img/cli-ui.png) -You can also upload your build to a specific IPFS node and futher customize your deployment with the following flags: +Também é possível enviar a sua build a um node IPFS específico e personalizar ainda mais o seu lançamento com as seguintes flags: ``` -USAGE +USO $ graph publish [SUBGRAPH-MANIFEST] [-h] [-i ] [--ipfs-hash ] [--webapp-url ] FLAGS - -h, --help Show CLI help. - -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. - --ipfs-hash= IPFS hash of the subgraph manifest to deploy. - --webapp-url= [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy. + -h, --help Mostra a ajuda da CLI. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Envia resultados da build a um node IPFS. + --ipfs-hash= Hash IPFS do manifest do subgraph a enviar. + --webapp-url= [default: https://cli.thegraph.com/publish] URL da UI web que queres usar para lançar. ``` From 36544d490971534e589f459691b622dfb23d30d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 16:14:40 -0400 Subject: [PATCH 2091/2326] New translations publishing-a-subgraph.mdx (Portuguese) --- .../pt/publishing/publishing-a-subgraph.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/pages/pt/publishing/publishing-a-subgraph.mdx b/website/pages/pt/publishing/publishing-a-subgraph.mdx index 670e2f9d257e..026950594571 100644 --- a/website/pages/pt/publishing/publishing-a-subgraph.mdx +++ b/website/pages/pt/publishing/publishing-a-subgraph.mdx @@ -22,27 +22,27 @@ Subgraphs podem ser editados na rede descentralizada, diretamente do painel de c ## Como adicionar sinal ao seu subgraph -Developers can add GRT signal to their subgraphs. If a subgraph is eligible for indexing rewards, Indexers who provide a "proof of indexing" will receive a GRT reward, based on the amount of GRT signalled. You can check indexing reward eligibility based on subgraph feature usage [here](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Specifically supported networks can be checked [here](/developing/supported-networks). +Programadores podem adicionar um sinal em GRT aos seus subgraphs. Se um subgraph tiver direito a recompensas de indexação, os Indexadores que fornecerem "provas de indexação" receberão uma recompensa em GRT com base na quantia sinalizada de GRT. É possível conferir a elegibilidade para recompensas com base no uso de recursos do subgraph [aqui](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). Veja as redes com suporte específico [aqui](/developing/supported-networks). -> Adding signal to a subgraph which is not eligible for rewards will not attract additional Indexers. +> Adicionar sinais a um subgraph que não for elegível não atrairá mais Indexadores. -> If your subgraph is eligible for rewards, is recommended that you curate your own subgraph with at least 3,000 GRT (as of April 11th, 2024) in order to attract additional indexers to index your subgraph +> Se o seu subgraph for elegível, recomendamos que cure o seu próprio subgraph com, no mínimo, 3000 GRT (em 11 de abril de 2024) para atrair mais Indexadores ao seu subgraph -The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs. However, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. +O [Indexador de Atualização do Nascer do Sol](/sunrise/#what-is-the-upgrade-indexer) garante a indexação de todos os subgraphs. No entanto, sinalizar GRT em um subgraph em particular atrairá mais Indexadores a ele. Este incentivo de Indexadores adicionais via curadoria visa melhorar a qualidade do serviço de queries ao reduzir a latência e melhorar a disponibilidade da rede. -When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. +Ao sinalizar, Curadores podem decidir entre sinalizar numa versão específica do subgraph ou sinalizar com a automigração. Caso sinalizem com a automigração, as ações de um curador sempre serão atualizadas à versão mais recente publicada pelo programador. Se decidirem sinalizar numa versão específica, as ações sempre permanecerão nesta versão específica. -To assist teams that are transitioning subgraphs from the hosted service to The Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. +Para ajudar equipas que transitam subgraphs do serviço hospedado à Graph Network, o suporte da curadoria foi lançado. Se precisar de ajuda com curadoria para melhorar a qualidade do serviço, mande um pedido à equipa da Edge & Node em support@thegraph.zendesk.com e especifique os subgraphs com os quais você precisa de ajuda. -Indexers can find subgraphs to index based on curation signals they see in Graph Explorer. +Os indexadores podem achar subgraphs para indexar com base em sinais de curadoria que veem no Graph Explorer. ![Subgraphs no Explorer](/img/explorer-subgraphs.png) -Subgraph Studio enables you to add signal to your subgraph by adding GRT to your subgraph's curation pool in the same transaction it is published. +O Subgraph Studio lhe permite adicionar sinais ao seu subgraph ao adicionar GRT ao pool de curadoria na mesma transação em que são publicados. ![Pool de Curadoria](/img/curate-own-subgraph-tx.png) -Alternatively, you can add GRT signal to a published subgraph from Graph Explorer. +Como alternativa, é possível adicionar sinais em GRT a um subgraph editado a partir do Graph Explorer. ![Sinal do Explorer](/img/signal-from-explorer.png) From 6ba2efa87a89c2dcef053984bdb3d49c79a73a92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 16:14:41 -0400 Subject: [PATCH 2092/2326] New translations indexing.mdx (Portuguese) --- website/pages/pt/network/indexing.mdx | 46 +++++++++++++-------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/website/pages/pt/network/indexing.mdx b/website/pages/pt/network/indexing.mdx index 09446fab26fb..d15ac067f518 100644 --- a/website/pages/pt/network/indexing.mdx +++ b/website/pages/pt/network/indexing.mdx @@ -26,7 +26,7 @@ O stake mínimo atual para um Indexador é de 100 mil GRT. As recompensas de indexação vêm da inflação do protocolo, que é configurada em 3% da emissão anual. Elas são distribuídas em subgraphs, com base na proporção de todos os sinais de curadoria em cada um, e depois distribuídos proporcionalmente a Indexadores baseado no stake que alocaram naquele subgraph. ** Para ser elegível a recompensas, uma alocação deve ser fechada com uma prova de indexação válida (POI) que atende aos padrões determinados pela carta de arbitragem.** -Numerous tools have been created by the community for calculating rewards; you'll find a collection of them organized in the [Community Guides collection](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). You can also find an up to date list of tools in the #Delegators and #Indexers channels on the [Discord server](https://discord.gg/graphprotocol). Here we link a [recommended allocation optimiser](https://github.com/graphprotocol/allocation-optimizer) integrated with the indexer software stack. +A comunidade criou várias ferramentas para calcular recompensas, organizadas na [coleção de Guias da Comunidade](https://www.notion.so/Community-Guides-abbb10f4dba040d5ba81648ca093e70c). Há também uma lista atualizada de ferramentas nos canais #Delegators e #Indexers no [servidor do Discord](https://discord.gg/graphprotocol). No próximo link, temos um [otimizador de alocações recomendadas](https://github.com/graphprotocol/allocation-optimizer) integrado com o stack de software de indexador. ### O que é uma prova de indexação (POI)? @@ -38,7 +38,7 @@ As alocações continuamente acumulam recompensas enquanto permanecerem ativas e ### É possível monitorar recompensas de indexação pendentes? -The RewardsManager contract has a read-only [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) function that can be used to check the pending rewards for a specific allocation. +O contrato RewardsManager tem uma função [getRewards](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/rewards/RewardsManager.sol#L316) de apenas-leitura que pode ser usada para conferir as recompensas pendentes para uma alocação específica. Muitos dos painéis feitos pela comunidade incluem valores pendentes de recompensas, que podem facilmente ser conferidos de forma manual ao seguir os seguintes passos: @@ -63,7 +63,7 @@ Use o Etherscan para chamar o `getRewards()`: - Navegue à [interface do Etherscan para o contrato de Recompensas](https://etherscan.io/address/0x9Ac758AB77733b4150A901ebd659cbF8cB93ED66#readProxyContract) * Para chamar o `getRewards()`: - - Expand the **9. getRewards** dropdown. + - Abra o dropdown **9. getRewards**. - Insira a **allocationID**. - Clique no botão **Query**. @@ -180,11 +180,11 @@ Nota: Para apoiar o escalamento ágil, recomendamos que assuntos de consulta e i - Ferramenta de linha de comando Kubectl - Terraform -#### Criando um projeto no Google Cloud +#### Como criar um projeto no Google Cloud -- Clone or navigate to the [Indexer repository](https://github.com/graphprotocol/indexer). +- Clone ou navegue ao [repositório de Indexador](https://github.com/graphprotocol/indexer). -- Navigate to the `./terraform` directory, this is where all commands should be executed. +- Navegue ao diretório `./terraform`, é aqui onde todos os comandos devem ser executados. ```sh cd terraform @@ -297,7 +297,7 @@ Lance todos os recursos com o `kubectl apply -k $dir`. ### Graph Node -[Graph Node](https://github.com/graphprotocol/graph-node) is an open source Rust implementation that event sources the Ethereum blockchain to deterministically update a data store that can be queried via the GraphQL endpoint. Developers use subgraphs to define their schema, and a set of mappings for transforming the data sourced from the blockchain and the Graph Node handles syncing the entire chain, monitoring for new blocks, and serving it via a GraphQL endpoint. +O [Graph Node](https://github.com/graphprotocol/graph-node) é uma implementação em Rust de código aberto que faz event sources na blockchain Ethereum, para atualizar deterministicamente um armazenamento de dados que pode ser consultado através do endpoint GraphQL. Os programadores usam subgraphs para definir o seu schema e um conjunto de mapeamentos para transformar os dados da blockchain; e o Graph Node sincroniza toda a chain, monitora blocos novos, e serve-a através de um endpoint GraphQL. #### Começando da fonte @@ -751,9 +751,9 @@ indexer cost set model my_model.agora ### Stake no protocolo -The first steps to participating in the network as an Indexer are to approve the protocol, stake funds, and (optionally) set up an operator address for day-to-day protocol interactions. +Os primeiros passos para participar como Indexador consistem em aprovar o protocolo, fazer staking de fundos, e (opcionalmente) preparar um endereço de operador para interações ordinárias do protocolo. -> Note: For the purposes of these instructions Remix will be used for contract interaction, but feel free to use your tool of choice ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/), and [MyCrypto](https://www.mycrypto.com/account) are a few other known tools). +> Nota: Para os propósitos destas instruções, o Remix será usado para interação com contratos, mas é possível escolher a sua própria ferramenta ([OneClickDapp](https://oneclickdapp.com/), [ABItopic](https://abitopic.io/) e [MyCrypto](https://www.mycrypto.com/account) são algumas outras ferramentas conhecidas). Quando um Indexador faz stake de GRT no protocolo, será possível iniciar os seus [componentes](/network/indexing#indexer-components) e começar as suas interações com a rede. @@ -763,7 +763,7 @@ Quando um Indexador faz stake de GRT no protocolo, será possível iniciar os se 2. No `File Explorer`, crie um arquivo chamado **GraphToken.abi** com a [Token ABI](https://raw.githubusercontent.com/graphprotocol/contracts/mainnet-deploy-build/build/abis/GraphToken.json). -3. With `GraphToken.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. +3. Com o `Staking.abi` selecionado e aberto no editor, entre na seção com `Deploy and Run Transactions` na interface do Remix. 4. Na opção de ambiente `Injected Web3`, e sob `Account`, selecione o seu endereço de Indexador. @@ -777,7 +777,7 @@ Quando um Indexador faz stake de GRT no protocolo, será possível iniciar os se 2. No `File Explorer`, crie um arquivo chamado **Staking.abi** com a ABI de staking. -3. With `Staking.abi` selected and open in the editor, switch to the `Deploy and run transactions` section in the Remix interface. +3. Com o `Staking.abi` selecionado e aberto no editor, entre na seção com `Deploy and Run Transactions` na interface do Remix. 4. Na opção de ambiente `Injected Web3`, e sob `Account`, selecione o seu endereço de Indexador. @@ -793,28 +793,28 @@ Quando um Indexador faz stake de GRT no protocolo, será possível iniciar os se setDelegationParameters(950000, 600000, 500) ``` -### Setting delegation parameters +### Configuração de parâmetros de delegação -The `setDelegationParameters()` function in the [staking contract](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) is essential for Indexers, allowing them to set parameters that define their interactions with Delegators, influencing their reward sharing and delegation capacity. +A função `setDelegationParameters()` no [contrato de staking](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol) é essencial para Indexadores; esta permite configurar parâmetros que definem as suas interações com Delegantes, o que influencia a sua capacidade de delegação e divisa de recompensas. -### How to set delegation parameters +### Como configurar parâmetros de delegação -To set the delegation parameters using Graph Explorer interface, follow these steps: +Para configurar os parâmetros de delegação com a interface do Graph Explorer, siga os seguintes passos: -1. Navigate to [Graph Explorer](https://thegraph.com/explorer/). -2. Connect your wallet. Choose multisig (such as Gnosis Safe) and then select mainnet. Note: You will need to repeat this process for Arbitrum One. -3. Connect the wallet you have as a signer. -4. Navigate to the 'Settings' section and select 'Delegation Parameters'. These parameters should be configured to achieve an effective cut within the desired range. Upon entering values in the provided input fields, the interface will automatically calculate the effective cut. Adjust these values as necessary to attain the desired effective cut percentage. -5. Submit the transaction to the network. +1. Navegue para o [Graph Explorer](https://thegraph.com/explorer/). +2. Conecte a sua carteira. Escolha a multisig (por ex., Gnosis Safe) e depois selecione a mainnet. Nota: Será necessário repetir este processo para o Arbitrum One. +3. Conecte a sua carteira como signatário. +4. Navegue até a seção 'Settings' (Configurações) e selecione 'Delegation Parameters' (Parâmetros de Delegação). Estes parâmetros devem ser configurados para alcançar uma parte efetiva dentro do alcance desejado. Após preencher os campos com valores, a interface calculará automaticamente a parte efetiva. Ajuste estes valores como necessário para obter a percentagem de parte efetiva desejada. +5. Envie a transação à rede. -> Note: This transaction will need to be confirmed by the multisig wallet signers. +> Nota: Esta transação deverá ser confirmada pelos signatários da carteira multisig. ### A vida de uma alocação Após criada por um Indexador, uma alocação sadia passa por quatro estados. -- **Active** - Once an allocation is created on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)) it is considered **active**. A portion of the Indexer's own and/or delegated stake is allocated towards a subgraph deployment, which allows them to claim indexing rewards and serve queries for that subgraph deployment. The Indexer agent manages creating allocations based on the Indexer rules. +- **Ativa** - Quando uma alocação é criada on-chain ([allocateFrom()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L316)), ela é considerada **ativa**. Uma porção do stake próprio e/ou delegado do Indexador é alocada a um lançamento de subgraph, que lhe permite resgatar recompensas de indexação e servir queries para aquele lançamento de subgraph. O agente indexador cria alocações baseada nas regras do Indexador. -- **Closed** - An Indexer is free to close an allocation once 1 epoch has passed ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)) or their Indexer agent will automatically close the allocation after the **maxAllocationEpochs** (currently 28 days). When an allocation is closed with a valid proof of indexing (POI) their indexing rewards are distributed to the Indexer and its Delegators ([learn more](/network/indexing/#how-are-indexing-rewards-distributed)). +- **Fechada** - Um Indexador pode fechar uma alocação após a passagem de um epoch ([closeAllocation()](https://github.com/graphprotocol/contracts/blob/main/packages/contracts/contracts/staking/Staking.sol#L335)), ou o seu agente indexador a fechará automaticamente após o **maxAllocationEpochs** (atualmente, 28 dias). Quando uma alocação é fechada com uma prova de indexação válida (POI), as suas recompensas de indexação são distribuídas ao Indexador e aos seus Delegantes ([aprenda mais](/network/indexing/#how-are-indexing-rewards-distributed)). É ideal que os Indexadores utilizem a funcionalidade de sincronização off-chain para sincronizar lançamentos de subgraph à chainhead antes de criar a alocação on-chain. Esta ferramenta é mais útil para subgraphs que demorem mais de 28 epochs para sincronizar, ou que têm chances de falhar não-deterministicamente. From f5f0a1ecbdaccd15000c5740f491faa06bbec480 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 16:14:42 -0400 Subject: [PATCH 2093/2326] New translations overview.mdx (Portuguese) --- website/pages/pt/network/overview.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/network/overview.mdx b/website/pages/pt/network/overview.mdx index b4f13291a33c..f9004acd111c 100644 --- a/website/pages/pt/network/overview.mdx +++ b/website/pages/pt/network/overview.mdx @@ -2,14 +2,14 @@ title: Visão Geral da Rede --- -The Graph Network is a decentralized indexing protocol for organizing blockchain data. Applications use GraphQL to query open APIs called subgraphs and retrieve data that is indexed on the network. With The Graph, developers can build serverless applications that run entirely on public infrastructure. +A Graph Network é um protocolo descentralizado de indexação projetado para organizar dados de blockchain. Aplicativos usam o GraphQL para consultar APIs abertas chamadas de subgraphs, a fim de retirar dados indexados na rede. Com o The Graph, programadores podem construir aplicativos sem servidor, executados totalmente em infraestrutura pública. ## Visão Geral -The Graph Network consists of Indexers, Curators, and Delegators that provide services to the network and serve data to Web3 applications. Consumers use the applications and consume the data. +A Graph Network consiste de Indexadores, Curadores e Delegantes que fornecem serviços à rede e servem dados para aplicativos Web3. Os consumidores usam os aplicativos e consomem os dados. ![Economia de Token](/img/Network-roles@2x.png) Para garantir a segurança económica da Graph Network, e a integridade de dados em consultas, os participantes depositam e usam Graph Tokens ([GRT](/tokenomics)). O GRT é um token de utilidade de trabalho ERC-20 usado para alocar recursos na rede. -Active Indexers, Curators, and Delegators can provide services and earn income from the network, proportional to the amount of work they perform and their GRT stake. +Os Indexadores, Curadores e Delegantes ativos podem prover serviços e ganhar uma renda da rede, proporcional à quantidade de trabalho que realizam e ao seu stake em GRT. From 77e0bbbc5fc97d398e241ca4199fcd01c3a45bc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 18:37:11 -0400 Subject: [PATCH 2094/2326] New translations supported-networks.mdx (Portuguese) --- .../pages/pt/developing/supported-networks.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/pt/developing/supported-networks.mdx b/website/pages/pt/developing/supported-networks.mdx index c2fc24592ee3..2e750d53de96 100644 --- a/website/pages/pt/developing/supported-networks.mdx +++ b/website/pages/pt/developing/supported-networks.mdx @@ -9,16 +9,16 @@ export const getStaticProps = getStaticPropsForSupportedNetworks(__filename) -\* Baseline network support provided by the [upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/). -\*\* Integration with Graph Node: `evm`, `near`, `cosmos`, `osmosis` and `ar` have native handler and type support in Graph Node. Chains which are Firehose- and Substreams-compatible can leverage the generalised [Substreams-powered subgraph](/cookbook/substreams-powered-subgraphs) integration (this includes `evm` and `near` networks). ⁠ Supports deployment of [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs). +\* Apoio à rede base providenciado pelo [Indexador de atualização](https://thegraph.com/blog/upgrade-indexer/). +\*\* Integração com o Graph Node: `evm`, `near`, `cosmos`, `osmosis` e `ar` têm apoio nativo a handlers e tipos no Graph Node. Chains compatíveis com Firehose e Substreams podem utilizar a integração generalizada de [subgraphs movidos a Substreams](/cookbook/substreams-powered-subgraphs) (isto inclui as redes `evm` e `near`). ⁠ apoia o lançamento de [subgraphs movidos a Substreams](/cookbook/substreams-powered-subgraphs). -- Subgraph Studio relies on the stability and reliability of the underlying technologies, for example JSON-RPC, Firehose and Substreams endpoints. -- Subgraphs indexing Gnosis Chain can now be deployed with the `gnosis` network identifier. `xdai` is still supported for existing hosted service subgraphs. -- If a subgraph was published via the CLI and picked up by an Indexer, it could technically be queried even without support, and efforts are underway to further streamline integration of new networks. +- O Subgraph Studio depende da estabilidade e da confiança das tecnologias subjacentes, por exemplo, JSON-RPC, Firehose e endpoints dos Substreams. +- Subgraphs que indexam a Gnosis Chain podem agora ser lançados com o identificador de rede `gnosis`. O `xdai` ainda é apoiado para subgraphs já existentes no serviço hospedado. +- Se um subgraph foi publicado via a CLI e visto por um Indexador, ele pode tecnicamente ser consultado mesmo sem apoio, e esforços estão a ser feitos para simplificar ainda mais a integração de novas redes. - Para uma lista completa de recursos apoiados na rede descentralizada, veja [esta página](https://github.com/graphprotocol/indexer/blob/main/docs/feature-support-matrix.md). -## Running Graph Node locally +## Execução Local de Graph Nodes -If your preferred network isn't supported on The Graph's decentralized network, you can run your own [Graph Node](https://github.com/graphprotocol/graph-node) to index any EVM-compatible network. Make sure that the [version](https://github.com/graphprotocol/graph-node/releases) you are using supports the network and you have the needed configuration. +Se a sua rede preferida não for apoiada na rede descentralizada do The Graph, é possível executar o seu próprio [Graph Node](https://github.com/graphprotocol/graph-node) para indexar qualquer rede compatível com EVM. Verifique se a [versão](https://github.com/graphprotocol/graph-node/releases) que está a usar tem o apoio e configuração necessários. -Graph Node can also index other protocols, via a Firehose integration. Firehose integrations have been created for NEAR, Arweave and Cosmos-based networks. Additionally, Graph Node can support Substreams-powered subgraphs for any network with Substreams support. +O Graph Node também pode indexar outros protocolos via uma integração com Firehose. Integrações com Firehose também estão disponíveis para redes baseadas em Cosmos, Arweave e NEAR. Além disto, o Graph Node pode apoiar subgraphs movidos a Substreams para qualquer rede com apoio a Substreams. From c19ec27f1878b5c16607d524f09caa52597558d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 18:37:12 -0400 Subject: [PATCH 2095/2326] New translations deprecating-a-subgraph.mdx (Portuguese) --- website/pages/pt/managing/deprecating-a-subgraph.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/managing/deprecating-a-subgraph.mdx b/website/pages/pt/managing/deprecating-a-subgraph.mdx index bf26ec9c4547..926c627dd4c6 100644 --- a/website/pages/pt/managing/deprecating-a-subgraph.mdx +++ b/website/pages/pt/managing/deprecating-a-subgraph.mdx @@ -2,11 +2,11 @@ title: Como Depreciar um Subgraph --- -So you'd like to deprecate your subgraph on Graph Explorer. You've come to the right place! Follow the steps below: +Então, queres depreciar o seu subgraph no Graph Explorer? Veio ao lugar certo! Siga os passos abaixo: -1. Visit the contract address for Mainnet subgraphs [here](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract) and Arbitrum One subgraphs [here](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). +1. Visite o endereço de contrato para subgraphs na Mainnet [aqui](https://etherscan.io/address/0xadca0dd4729c8ba3acf3e99f3a9f471ef37b6825#writeProxyContract), ou para subgraphs no Arbitrum One [aqui](https://arbiscan.io/address/0xec9A7fb6CbC2E41926127929c2dcE6e9c5D33Bec#writeProxyContract). 2. Chame o `deprecateSubgraph`, com o seu `SubgraphID` como argumento. -3. Voilà! Your subgraph will no longer show up on searches on Graph Explorer. +3. Pronto! O seu subgraph não aparecerá mais em buscas no Graph Explorer. Lembre-se do seguinte: From 03718a7226c89489844fd404cc8a2e0c07099f8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 18:37:13 -0400 Subject: [PATCH 2096/2326] New translations transferring-subgraph-ownership.mdx (Portuguese) --- website/pages/pt/managing/transferring-subgraph-ownership.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/managing/transferring-subgraph-ownership.mdx b/website/pages/pt/managing/transferring-subgraph-ownership.mdx index 1f4828b509e7..96c4775d4216 100644 --- a/website/pages/pt/managing/transferring-subgraph-ownership.mdx +++ b/website/pages/pt/managing/transferring-subgraph-ownership.mdx @@ -4,7 +4,7 @@ title: Como Transferir Titularidades de Subgraphs O The Graph permite a transferência da titularidade de um subgraph. -When you publish a subgraph to the decentralized network, an NFT will be minted to the address that published the subgraph. The NFT is based on a standard ERC721, so it can be easily transferred to different accounts. +Ao editar um subgraph para a rede descentralizada, será mintado um NFT ao endereço que editou o subgraph. O NFT é baseado no padrão ERC721, para poder ser transferido facilmente para contas diferentes. O dono desse NFT controla o subgraph. Caso o dono decida vender ou transferir o NFT, ele não poderá mais fazer alterações ou atualizações àquele subgraph na rede. From bbdaac868a4a2ec17d36794ececce59d783d0d6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 18:37:14 -0400 Subject: [PATCH 2097/2326] New translations explorer.mdx (Portuguese) --- website/pages/pt/network/explorer.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/pt/network/explorer.mdx b/website/pages/pt/network/explorer.mdx index c425cf3960ad..11471e603cfa 100644 --- a/website/pages/pt/network/explorer.mdx +++ b/website/pages/pt/network/explorer.mdx @@ -2,13 +2,13 @@ title: Graph Explorer --- -Welcome to Graph Explorer, or as we like to call it, your decentralized portal into the world of subgraphs and network data. 👩🏽‍🚀 Graph Explorer consists of multiple parts where you can interact with other subgraph developers, dapp developers, Curators, Indexers, and Delegators. For a general overview of Graph Explorer, check out the video below (or keep reading below): +Seja bem vindo ao Graph Explorer — ou, como gostamos de chamá-lo, o seu portal descentralizado ao mundo de dados de subgraphs e redes. 👩🏽‍🚀 O Graph Explorer consiste de vários componentes onde você pode interagir com outros programadores de subgraphs e dApps, Curadores, Indexadores e Delegantes. Para um resumo geral do Graph Explorer, confira o vídeo abaixo (ou continue a ler): ## Subgraphs -First things first, if you just finished deploying and publishing your subgraph in Subgraph Studio, the Subgraphs tab on the top of the navigation bar is the place to view your own finished subgraphs (and the subgraphs of others) on the decentralized network. Here, you’ll be able to find the exact subgraph you’re looking for based on the date created, signal amount, or name. +Primeiramente, se acabou de lançar e editar o seu subgraph no Subgraph Studio, pode ver os seus próprios subgraphs finalizados (e também os dos outros) na rede descentralizada, na aba Subgraphs no topo da barra de navegação. Aqui, poderá achar o subgraph exato que procura com base na data de criação, quantidade de sinais, ou nome. ![Imagem do Explorer 1](/img/Subgraphs-Explorer-Landing.png) @@ -95,7 +95,7 @@ Na seção de Rede, verá KPIs globais e poderá trocar para uma base por-epoch ### Visão Geral -The overview section has all the current network metrics as well as some cumulative metrics over time. Here you can see things like: +A secção de resumo tem todas as estatísticas atuais da rede, além de estatísticas cumulativas temporais. Aqui, poderá ver coisas como: - O stake total atual da rede - O stake dividido entre os Indexadores e os seus Delegantes @@ -198,6 +198,6 @@ Dentro do seu perfil de utilizador, poderá configurar os detalhes do seu perfil ![Imagem do Explorer 15](/img/Profile-Settings.png) -As your official portal into the world of decentralized data, Graph Explorer allows you to take a variety of actions, no matter your role in the network. You can get to your profile settings by opening the dropdown menu next to your address, then clicking on the Settings button. +Como o seu portal oficial no mundo dos dados descentralizados, o Graph Explorer permite-lhe tomar uma variedade de ações, independente do seu papel na rede. Pode acessar as suas configurações do perfil ao abrir o menu próximo ao seu endereço, e depois, clicar no botão de Configurações.
    ![Wallet details](/img/Wallet-Details.png)
    From fc2aee329a46ad6d14fe2ae2484ff71e7b6f4457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 18:37:15 -0400 Subject: [PATCH 2098/2326] New translations benefits.mdx (Portuguese) --- website/pages/pt/network/benefits.mdx | 30 +++++++++++++-------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/website/pages/pt/network/benefits.mdx b/website/pages/pt/network/benefits.mdx index 5858d1f7d9a6..2f2bb4210483 100644 --- a/website/pages/pt/network/benefits.mdx +++ b/website/pages/pt/network/benefits.mdx @@ -11,7 +11,7 @@ Aqui está uma análise: ## Por Que Usar a Graph Network? -- Significantly lower monthly costs +- Custos mensais significativamente reduzidos - Zero custos de preparação de infraestrutura - Mais tempo de disponibilidade - Acesso a centenas de Indexadores independentes ao redor do mundo @@ -21,32 +21,32 @@ Aqui está uma análise: ### Estrutura Mais Flexível & Custo Menor -No contracts. No monthly fees. Only pay for the queries you use—with an average cost-per-query of $40 per million queries (~$0.00004 per query). Queries are priced in USD and paid in GRT or credit card. +Nada de contratos ou taxas mensais. Só pague pelos queries que usa — com um custo-por-query de $40 dólares por milhão de queries (cerca de $0.0004 por query). Estes tem preços em Dólar (USD), pagos em GRT ou cartão de crédito. -Query costs may vary; the quoted cost is the average at time of publication (March 2024). +Os custos de query podem variar; o custo citado é o normal até o fechamento da publicação (Março de 2024). -## Low Volume User (less than 100,000 queries per month) +## Utilizador de Baixo Volume (menos de 100 mil queries por mês) | Comparação de Custos | Auto-hospedagem | The Graph Network | |:-------------------------------:|:---------------------------------------:|:-----------------------------------------------------------------:| | Custo mensal de servidor\* | $350 por mês | $0 | -| Custos de query | $0+ | $0 per month | +| Custos de query | $0+ | $0 por mês | | Tempo de engenharia | $400 por mês | Nenhum, embutido na rede com Indexadores distribuídos globalmente | -| Queries por mês | Limitadas pelas capabilidades da infra | 100,000 (Free Plan) | +| Queries por mês | Limitadas pelas capabilidades da infra | 100 mil (Plano Grátis) | | Custo por query | $0 | $0 | | Infraestrutura | Centralizada | Descentralizada | | Redundância geográfica | $750+ por node adicional | Incluída | | Uptime (disponibilidade) | Varia | 99.9%+ | | Custos mensais totais | $750+ | $0 | -## Medium Volume User (~3M queries per month) +## Utilizador de Volume Médio (cerca de 3 milhões de queries por mês) | Comparação de Custos | Auto-hospedagem | The Graph Network | |:-------------------------------:|:------------------------------------------:|:-----------------------------------------------------------------:| | Custo mensal de servidor\* | $350 por mês | $0 | -| Custos de query | $500 por mês | $120 per month | +| Custos de query | $500 por mês | $120 por mês | | Tempo de engenharia | $800 por mês | Nenhum, embutido na rede com Indexadores distribuídos globalmente | -| Queries por mês | Limitadas pelas capabilidades da infra | ~3,000,000 | +| Queries por mês | Limitadas pelas capabilidades da infra | ~3 milhões | | Custo por query | $0 | $0.00004 | | Infraestrutura | Centralizada | Descentralizada | | Custo de engenharia | $200 por hora | Incluído | @@ -54,28 +54,28 @@ Query costs may vary; the quoted cost is the average at time of publication (Mar | Uptime (disponibilidade) | Varia | 99.9%+ | | Custos mensais totais | $1.650+ | $120 | -## High Volume User (~30M queries per month) +## Utilizador de Volume Alto (cerca de 30 milhões de queries por mês) | Comparação de Custos | Auto-hospedagem | The Graph Network | |:-------------------------------:|:-------------------------------------------:|:-----------------------------------------------------------------:| | Custo mensal de servidor\* | $1.100 por mês, por node | $0 | -| Custos de query | $4.000 | $1,200 per month | +| Custos de query | $4.000 | $1,200 por mês | | Número de nodes necessário | 10 | Não se aplica | | Tempo de engenharia | $6.000 ou mais por mês | Nenhum, embutido na rede com Indexadores distribuídos globalmente | -| Queries por mês | Limitadas pelas capabilidades da infra | ~30,000,000 | +| Queries por mês | Limitadas pelas capabilidades da infra | Cerca de 30 milhões | | Custo por query | $0 | $0.00004 | | Infraestrutura | Centralizada | Descentralizada | | Redundância geográfica | $1.200 em custos totais por node adicional | Incluída | | Uptime (disponibilidade) | Varia | 99.9%+ | -| Custos mensais totais | $11.000+ | $1,200 | +| Custos mensais totais | $11.000+ | $1.200 | \*com custos de backup incluídos: $50-$100 por mês Tempo de engenharia baseado numa hipótese de $200 por hora -Reflects cost for data consumer. Query fees are still paid to Indexers for Free Plan queries. +Reflete o custo ao consumidor de dados. Taxas de query ainda são pagas a Indexadores por queries do Plano Grátis. -Estimated costs are only for Ethereum Mainnet subgraphs — costs are even higher when self hosting a `graph-node` on other networks. Some users may need to update their subgraph to a new version. Due to Ethereum gas fees, an update costs ~$50 at time of writing. Note that gas fees on [Arbitrum](/arbitrum/arbitrum-faq) are substantially lower than Ethereum mainnet. +Os custos estimados são apenas para subgraphs na Mainnet do Ethereum — os custos são maiores ao auto-hospedar um `graph-node` em outras redes. Alguns utilizadores devem atualizar o seu subgraph a uma versão mais recente. Até o fechamento deste texto, devido às taxas de gas do Ethereum, uma atualização custa cerca de 50 dólares. Note que as taxas de gás no [Arbitrum](/arbitrum/arbitrum-faq) são muito menores que as da mainnet do Ethereum. Curar um sinal em um subgraph é um custo opcional, único, e zero-líquido (por ex., $1 mil em um subgraph pode ser curado em um subgraph, e depois retirado — com potencial para ganhar retornos no processo). From 0378dfdad81cb6c30cc9a2868c6dba7a78352cd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 18:37:16 -0400 Subject: [PATCH 2099/2326] New translations developing.mdx (Portuguese) --- website/pages/pt/network/developing.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/pt/network/developing.mdx b/website/pages/pt/network/developing.mdx index 66c208f1b628..2cdc95f3b451 100644 --- a/website/pages/pt/network/developing.mdx +++ b/website/pages/pt/network/developing.mdx @@ -14,9 +14,9 @@ Assim como toda programação de subgraph, ela começa com desenvolvimento e tes > Há alguns limites de apoio a recursos e redes na Graph Network. Só subgraphs em [redes apoiadas](/developing/supported-networks) ganharão recompensas de indexação, e subgraphs que retiram dados do IPFS também não têm direito a estas. -### Deploy to Subgraph Studio +### Lançamento no Subgraph Studio -Once defined, the subgraph can be built and deployed to [Subgraph Studio](/deploying/subgraph-studio-faqs/). 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. +Uma vez definido, o subgraph pode ser construído e lançado ao [Subgraph Studio](/deploying/subgraph-studio-faqs/). Este é um ambiente sandbox que indexará o subgraph lançado, e o disponibilizará para programação e testes (com rate limit). Com isto, os programadores têm a oportunidade de verificar que o seu subgraph funciona como esperado, sem qualquer erro na indexação. ### Edição na rede @@ -30,13 +30,13 @@ Subgraphs editados têm poucas chances de ser detectados por Indexadores sem a a Quando um subgraph for processado pelos Indexadores e aberto a queries, os programadores podem começar a usar o subgraph nos seus aplicativos. Os programadores consultam subgraphs através de um gateway, que encaminha as suas consultas a um Indexador que processou o subgraph com uma taxa de query em GRT. -In order to make queries, developers must generate an API key, which can be done in Subgraph Studio. This API key must be funded with GRT, in order to pay query fees. Developers can set a maximum query fee, in order to control their costs, and limit their API key to a given subgraph or origin domain. Subgraph Studio provides developers with data on their API key usage over time. +Para poder fazer queries, os programadores devem gerar uma chave de API no Subgraph Studio. Esta chave deve ser bancada com GRT, para pagar taxas de query. Dá para configurar uma taxa máxima de query, para controlar os seus custos e limitar a sua chave de API a um único subgraph ou domínio de origem. O Subgraph Studio fornece dados aos programadores sobre o seu uso temporal de chaves de 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 Subgraph Studio. +Os programadores também podem expressar uma preferência de Indexador ao gateway, por exemplo, ao preferir Indexadores com resposta de query mais rápida, ou cujos dados são mais atualizados. Estes controlos são programados no Subgraph Studio. ### Atualização de Subgraphs -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 Subgraph Studio for rate-limited development and testing. +Após um tempo, um programador de subgraphs pode querer atualizar o seu subgraph, talvez para consertar um erro ou adicionar funcionalidades. O programador pode lançar uma(s) nova(s) versão (versões) do seu subgraph ao Subgraph Studio, para fins de programação e testes com rate limit. Quando o Programador de Subgraph estiver pronto, ele pode iniciar uma transação para apontar seu subgraph à nova versão. Atualizar o subgraph migra qualquer sinal à versão nova (presumindo que o utilizador que aplicou o sinal selecionou "migrar automaticamente"), o que também incorre uma taxa de migração. Este sinal de migração deve incentivar os Indexadores a começar a indexar a nova versão do subgraph, para que ele logo fique aberto a queries. From bcc9be5115a461f52b4002a054c37f99028852a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 18:37:17 -0400 Subject: [PATCH 2100/2326] New translations substreams-powered-subgraphs-faq.mdx (Portuguese) --- .../pt/developing/substreams-powered-subgraphs-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/pt/developing/substreams-powered-subgraphs-faq.mdx index 236938e41353..071840b0c6dd 100644 --- a/website/pages/pt/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/pt/developing/substreams-powered-subgraphs-faq.mdx @@ -4,7 +4,7 @@ title: Perguntas frequentes sobre subgraphs movidos por substreams ## O que são Substreams? -Developed by [StreamingFast](https://www.streamingfast.io/), Substreams is an exceptionally powerful processing engine capable of consuming rich streams of blockchain data. Substreams allow you to refine and shape blockchain data for fast and seamless digestion by end-user applications. More specifically, Substreams is a blockchain-agnostic, parallelized, and streaming-first engine, serving as a blockchain data transformation layer. Powered by the [Firehose](https://firehose.streamingfast.io/), it ​​enables developers to write Rust modules, build upon community modules, provide extremely high-performance indexing, and [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) their data anywhere. +Desenvolvido pela [StreamingFast](https://www.streamingfast.io/), o Substreams é um motor de processamento de poder excepcional, capaz de consumir fluxos ricos de dados em blockchain. O Substreams lhe permite refinar e moldar dados em blockchain para serem digeridos rápida e suavemente por aplicativos de utilizador final. Mais especificamente, o Substreams é um motor paralelizado e agnóstico a blockchains, que põe transmissões em primeiro lugar e serve como uma camada de transformação de dados em blockchain. Movido pelo [Firehose](https://firehose.streamingfast.io/), ele permite que programadores escrevam módulos em Rust, construam sobre módulos da comunidade, providenciem indexações de altíssimo desempenho, e mandar seus dados para qualquer destino com [sink](https://substreams.streamingfast.io/reference-and-specs/manifests#sink). Vá à [Documentação do Substreams](/substreams) para aprender mais sobre Substreams. @@ -22,7 +22,7 @@ Ao contrário, subgraphs movidos a substreams têm uma única fonte de dados que ## Quais os benefícios do uso de subgraphs movidos a Substreams? -Substreams-powered subgraphs combine all the benefits of Substreams with the queryability of subgraphs. They bring greater composability and high-performance indexing to The Graph. They also enable new data use cases; for example, once you've built your Substreams-powered Subgraph, you can reuse your [Substreams modules](https://substreams.streamingfast.io/documentation/develop/manifest-modules) to output to different [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) such as PostgreSQL, MongoDB, and Kafka. +Subgraphs movidos a Substreams combinam todos os benefícios do Substreams com o potencial de query de subgraphs. Eles também trazem mais composabilidade e indexação de alto desempenho ao The Graph. Eles também resultam em novos casos de uso de dados; por exemplo, após construir o seu Subgraph movido a Substreams, você pode reutilizar os seus [módulos de Substreams](https://substreams.streamingfast.io/documentation/develop/manifest-modules) para usar [sinks](https://substreams.streamingfast.io/reference-and-specs/manifests#sink) diferentes, como PostgreSQL, MongoDB e Kafka. ## Quais os benefícios do Substreams? @@ -70,7 +70,7 @@ A [documentação de subgraphs movidos a Substreams](/cookbook/substreams-powere Módulos de Rust são o equivalente aos mapeadores em AssemblyScript em subgraphs. Eles são compilados em WASM de forma parecida, mas o modelo de programação permite execuções paralelas. Eles definem a categoria de transformações e agregações que você quer aplicar aos dados de blockchain crus. -See [modules documentation](https://substreams.streamingfast.io/documentation/develop/manifest-modules) for details. +Veja a [documentação dos módulos](https://substreams.streamingfast.io/documentation/develop/manifest-modules) para mais detalhes. ## O que faz o Substreams compostável? From 8e556898abcc237a99c0220dc6c0bdca518ca7bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 18:37:18 -0400 Subject: [PATCH 2101/2326] New translations contracts.mdx (Portuguese) --- website/pages/pt/network/contracts.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/pt/network/contracts.mdx b/website/pages/pt/network/contracts.mdx index 6abd80577ced..c29458e9e0ae 100644 --- a/website/pages/pt/network/contracts.mdx +++ b/website/pages/pt/network/contracts.mdx @@ -1,26 +1,26 @@ --- -title: Protocol Contracts +title: Contratos de Protocolo --- import { ProtocolContractsTable } from '@/src/contracts' -Below are the deployed contracts which power The Graph Network. Visit the official [contracts repository](https://github.com/graphprotocol/contracts) to learn more. +Abaixo estão os contratos lançados que alimentam a Graph Network. Confira o [repositório oficial de contratos](https://github.com/graphprotocol/contracts) para aprender mais. ## Arbitrum -This is the principal deployment of The Graph Network. +Este é o lançamento principal da Graph Network. ## Mainnet -This was the original deployment of The Graph Network. [Learn more](/arbitrum/arbitrum-faq) about The Graph's scaling with Arbitrum. +Este foi o lançamento original da Graph Network. [Aprenda mais](/arbitrum/arbitrum-faq) sobre o escalamento do The Graph com Arbitrum. ## Arbitrum Sepolia -This is the primary testnet for The Graph Network. Testnet is predominantly used by core developers and ecosystem participants for testing purposes. There are no guarantees of service or availability on The Graph's testnets. +Esta é a testnet primária para a Graph Network. A testnet é usada predominantemente pelo núcleo de programação e por participantes do ecossistema para testes. Não há garantia de serviço ou disponibilidade nas testnets do The Graph. From e9a49b0970a396912d91e69f6c92617692763df0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 21:47:14 -0400 Subject: [PATCH 2102/2326] New translations arbitrum-faq.mdx (Portuguese) --- website/pages/pt/arbitrum/arbitrum-faq.mdx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/website/pages/pt/arbitrum/arbitrum-faq.mdx b/website/pages/pt/arbitrum/arbitrum-faq.mdx index 54a39ee2062a..ed67b31d0c33 100644 --- a/website/pages/pt/arbitrum/arbitrum-faq.mdx +++ b/website/pages/pt/arbitrum/arbitrum-faq.mdx @@ -20,19 +20,19 @@ A comunidade do The Graph prosseguiu com o Arbitrum no ano passado, após o resu ## O que preciso fazer para usar o The Graph na L2? -The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. +O sistema de cobranças do The Graph aceita GRT no Arbitrum, e utilizadores precisarão de ETH no Arbitrum para pagar pelo seu gas. O protocolo do The Graph começou na Mainnet do Ethereum, mas todas as atividades, que incluem os contratos de cobranças, agora se encontram no Arbitrum One. -Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: +Portanto, para pagar por queries, é necessário GRT no Arbitrum. Aqui estão algumas maneiras diferentes de consegui-lo: -- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: - - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) +- Caso já tenha GRT no Ethereum, é possível enviá-lo ao Arbitrum via bridge. Isto pode ser feito via a opção de bridging de GRT providenciada no Subgraph Studio ou uma das seguintes bridges: + - [Bridge no Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) -- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. -- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. +- Caso tenha outros ativos no Arbitrum, é possível trocá-los por GRT através de um protocolo de troca como o Uniswap. +- Como alternativa, é possível adquirir GRT diretamente no Arbitrum via uma exchange descentralizada. -Once you have GRT on Arbitrum, you can add it to your billing balance. +Quando tiveres GRT no Arbitrum, será possível depositar o token no seu saldo de cobranças. Para aproveitar o The Graph na L2, use este switcher de dropdown para alternar entre chains. From e0917b98297f309d0906e4d23a73d7ebaf9bc5bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 21:47:15 -0400 Subject: [PATCH 2103/2326] New translations api.mdx (Portuguese) --- website/pages/pt/developing/graph-ts/api.mdx | 30 ++++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/website/pages/pt/developing/graph-ts/api.mdx b/website/pages/pt/developing/graph-ts/api.mdx index bb465a550ac7..1c170a43e731 100644 --- a/website/pages/pt/developing/graph-ts/api.mdx +++ b/website/pages/pt/developing/graph-ts/api.mdx @@ -6,7 +6,7 @@ title: API AssemblyScript Esta página documenta quais APIs embutidas podem ser usadas ao escrever mapeamentos de subgraph. Há dois tipos de API disponíveis do início: -- the [Graph TypeScript library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) and +- a [biblioteca do Graph TypeScript](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) (`graph-ts`) e - códigos gerados a partir dos arquivos do subgraph por `graph codegen`. Também é possível adicionar outras bibliotecas como dependências, desde que sejam compatíveis com o [AssemblyScript](https://github.com/AssemblyScript/assemblyscript). Como esta é a linguagem na qual são escritos os mapeamentos, a [wiki do AssemblyScript](https://github.com/AssemblyScript/assemblyscript/wiki) é uma boa referência para a linguagem e as características comuns das bibliotecas. @@ -17,7 +17,7 @@ A biblioteca `@graphprotocol/graph-ts` fornece as seguintes APIs: - Uma API `ethereum` para trabalhar com contratos inteligentes, eventos, blocos, transações, e valores no Ethereum. - Uma API `store` para carregar e guardar entidades dentro e fora do armazenamento do Graph Node. -- A `log` API to log messages to the Graph Node output and Graph Explorer. +- Uma API `log` para gravar mensagens ao resultado do Graph Node e ao Graph Explorer. - Uma API `ipfs` para carregar arquivos do IPFS. - Uma API `json` para analisar dados em JSON. - Uma API `crypto` para usar funções criptográficas. @@ -29,8 +29,8 @@ No manifest do subgraph, `apiVersion` especifica a versão da API de mapeamento, | Versão | Notas de atualização | | :----: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| 0.0.9 | Adds new host functions [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | -| 0.0.8 | Adds validation for existence of fields in the schema when saving an entity. | +| 0.0.9 | Adiciona novas funções de host [`eth_get_balance`](#balance-of-an-address) & [`hasCode`](#check-if-an-address-is-a-contract-or-eoa) | +| 0.0.8 | Adiciona validação para existência de campos no schema ao salvar uma entidade. | | 0.0.7 | Classes `TransactionReceipt` e `Log` adicionadas aos tipos do EthereumCampo
    Campo `receipt` adicionado ao objeto Ethereum Event | | 0.0.6 | Campo `nonce` adicionado ao objeto Ethereum TransactionCampo
    `baseFeePerGas` adicionado ao objeto Ethereum Block | | 0.0.5 | AssemblyScript atualizado à versão 0.19.10 (inclui mudanças recentes, favor ler o [`Guia de Migração`](/release-notes/assemblyscript-migration-guide))
    `ethereum.transaction.gasUsed` renomeado para `ethereum.transaction.gasLimit` | @@ -40,7 +40,7 @@ No manifest do subgraph, `apiVersion` especifica a versão da API de mapeamento, ### Tipos Embutidos -Documentation on the base types built into AssemblyScript can be found in the [AssemblyScript wiki](https://www.assemblyscript.org/types.html). +A documentação sobre os tipos de base embutidos no AssemblyScript está na [wiki do AssemblyScript](https://www.assemblyscript.org/types.html). Os seguintes tipos adicionais são fornecidos pelo `@graphprotocol/graph-ts`. @@ -79,7 +79,7 @@ import { BigDecimal } from '@graphprotocol/graph-ts' O `BigDecimal` é usado para representar decimais de precisão arbitrária. -> Note: [Internally](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/scalar/bigdecimal.rs) `BigDecimal` is stored in [IEEE-754 decimal128 floating-point format](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), which supports 34 decimal digits of significand. This makes `BigDecimal` unsuitable for representing fixed-point types that can span wider than 34 digits, such as a Solidity [`ufixed256x18`](https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers) or equivalent. +> Nota: [Internalmente](https://github.com/graphprotocol/graph-node/blob/master/graph/src/data/store/bigdecimal.rs), o `BigDecimal` é armazenado no [formato de ponto flutuante IEEE-754 decimal128](https://en.wikipedia.org/wiki/Decimal128_floating-point_format), que apoia 34 dígitos decimais de significando. Portanto, o `BigDecimal` não serve para representar tipos de ponto fixo que possam exceder 34 dígitos, como um (ufixed256x18)[https://docs.soliditylang.org/en/latest/types.html#fixed-point-numbers] em Solidity ou equivalente. _Construção_ @@ -222,7 +222,7 @@ import { store } from '@graphprotocol/graph-ts' A API `store` permite carregar, salvar e remover entidades do/para o armazenamento do Graph Node. -Entities written to the store map one-to-one to the `@entity` types defined in the subgraph's GraphQL schema. To make working with these entities convenient, the `graph codegen` command provided by the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) generates entity classes, which are subclasses of the built-in `Entity` type, with property getters and setters for the fields in the schema as well as methods to load and save these entities. +As entidades escritas no armazenamento mapeam um-por-um com os tipos de `@entity` definidos no schema GraphQL do subgraph. Para trabalhar com estas entidades de forma conveniente, o comando `graph codegen` fornecido pelo [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) gera classes de entidades, que são subclasses do tipo embutido `Entity`, com getters e setters de propriedade para os campos no schema e métodos para carregar e salvar estas entidades. #### Como criar entidades @@ -541,22 +541,22 @@ Para mais informações: - [ABI Spec](https://docs.soliditylang.org/en/v0.7.4/abi-spec.html#types) - Codificação e decodificação da [biblioteca/CLI do Rust](https://github.com/rust-ethereum/ethabi) -- More [complex example](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). +- Um [exemplo mais complexo](https://github.com/graphprotocol/graph-node/blob/08da7cb46ddc8c09f448c5ea4b210c9021ea05ad/tests/integration-tests/host-exports/src/mapping.ts#L86). -#### Balance of an Address +#### Saldo de um Endereço -The native token balance of an address can be retrieved using the `ethereum` module. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. The `getBalance()` retrieves the balance of the specified address as of the end of the block in which the event is triggered. +O saldo de token nativo de um endereço pode ser resgatado com o módulo `ethereum`. Este recurso está disponível a partir do `apiVersion: 0.0.9`, definido no `subgraph.yaml`. O `getBalance()` resgata o saldo do endereço especificado como o do fim do bloco em que o evento é adicionado. ```typescript import { ethereum } from '@graphprotocol/graph-ts' let address = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') -let balance = ethereum.getBalance(address) // returns balance in BigInt +let balance = ethereum.getBalance(address) // retorna o saldo em BigInt ``` -#### Check if an Address is a Contract or EOA +#### Como Conferir Se Um Endereço é Um Contrato Ou Um EOA -To check whether an address is a smart contract address or an externally owned address (EOA), use the `hasCode()` function from the `ethereum` module which will return `boolean`. This feature is available from `apiVersion: 0.0.9` which is defined `subgraph.yaml`. +Para conferir se um endereço é um de contrato inteligente ou um endereço titulado externamente (sigla em português para EOA), use a função `hasCode()` do módulo `ethereum` que retornará `boolean`. Este recurso está disponível a partir do `apiVersion: 0.0.9`, definido no `subgraph.yaml`. ```typescript import { ethereum } from '@graphprotocol/graph-ts' @@ -565,7 +565,7 @@ let contractAddr = Address.fromString('0x2E645469f354BB4F5c8a05B3b30A929361cf77e let isContract = ethereum.hasCode(contractAddr).inner // returns true let eoa = Address.fromString('0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045') -let isContract = ethereum.hasCode(eoa).inner // returns false +let isContract = ethereum.hasCode(eoa).inner // retorna false ``` ### API de Logging @@ -574,7 +574,7 @@ let isContract = ethereum.hasCode(eoa).inner // returns false import { log } from '@graphprotocol/graph-ts' ``` -The `log` API allows subgraphs to log information to the Graph Node standard output as well as Graph Explorer. Messages can be logged using different log levels. A basic format string syntax is provided to compose log messages from argument. +A API `log` permite que os subgraphs gravem informações à saída padrão do Graph Node, assim como ao Graph Explorer. Mensagens podem ser gravadas com níveis diferentes de log. É fornecida uma sintaxe básica de formatação de strings para compor mensagens de log do argumento. A API `log` inclui as seguintes funções: From c8910fd8935ede135c82411617c005b6cd088b33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 21:47:17 -0400 Subject: [PATCH 2104/2326] New translations arweave.mdx (Portuguese) --- website/pages/pt/cookbook/arweave.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/pt/cookbook/arweave.mdx b/website/pages/pt/cookbook/arweave.mdx index 9f1297f01ffc..93a057baa803 100644 --- a/website/pages/pt/cookbook/arweave.mdx +++ b/website/pages/pt/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Construindo Subgraphs no Arweave --- -> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> O apoio ao Arweave no Graph Node e no Subgraph Studio está em beta: por favor nos contacte no [Discord](https://discord.gg/graphprotocol) se tiver dúvidas sobre a construção de subgraphs no Arweave! Neste guia, você aprenderá como construir e lançar Subgraphs para indexar a blockchain Arweave. @@ -83,7 +83,7 @@ dataSources: ``` - Subgraphs no Arweave introduzem uma nova categoria de fonte de dados (`arweave`) -- The network should correspond to a network on the hosting Graph Node. In Subgraph Studio, Arweave's mainnet is `arweave-mainnet` +- A rede deve corresponder a uma rede no Graph Node que a hospeda. No Subgraph Studio, a mainnet do Arweave é `arweave-mainnet` - Fontes de dados no Arweave introduzem um campo `source.owner` opcional, a chave pública de uma carteira no Arweave Fontes de dados no Arweave apoiam duas categorias de *handlers*: @@ -95,7 +95,7 @@ Fontes de dados no Arweave apoiam duas categorias de *handlers*: > Transações são os blocos de construção da permaweb do Arweave, além de serem objetos criados para utilizadores finais. -> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. +> Nota: Transações no [Irys (antigo Bundlr)](https://bundlr.network/) não são apoiadas presentemente. ## Definição de *Schema* @@ -150,9 +150,9 @@ class Transaction { Escrever os mapeamentos de um Subgraph no Arweave é muito similar à escrita dos mapeamentos de um Subgraph no Ethereum. Para mais informações, clique [aqui](/developing/creating-a-subgraph/#writing-mappings). -## Deploying an Arweave Subgraph in Subgraph Studio +## Como lançar um Subgraph no Arweave ao Subgraph Studio -Once your subgraph has been created on your Subgraph Studio dashboard, you can deploy by using the `graph deploy` CLI command. +Após criar o seu Subgraph no painel de controlo do Subraph Studio, você pode lançá-lo com o código de linha de comando `graph deploy`. ```bash graph deploy --studio --access-token From 98fab0eacfb901ac758691a5d74c4ff450845ea7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 21:47:18 -0400 Subject: [PATCH 2105/2326] New translations near.mdx (Portuguese) --- website/pages/pt/cookbook/near.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/pt/cookbook/near.mdx b/website/pages/pt/cookbook/near.mdx index 1cb394bb7da4..43435f23f20f 100644 --- a/website/pages/pt/cookbook/near.mdx +++ b/website/pages/pt/cookbook/near.mdx @@ -6,7 +6,7 @@ Este guia é uma introdução à construção de subgraphs a indexar contratos i ## O que é NEAR? -[NEAR](https://near.org/) is a smart contract platform for building decentralized applications. Visit the [official documentation](https://docs.near.org/concepts/basics/protocol) for more information. +O [NEAR](https://near.org/) é uma plataforma de contratos inteligentes para a construção de aplicativos descentralizados. Visite a [documentação oficial](https://docs.near.org/concepts/basics/protocol) para mais informações. ## O que são subgraphs na NEAR? @@ -17,7 +17,7 @@ Subgraphs são baseados em eventos; quer dizer, eles esperam e então processam - Handlers de blocos: executados em todos os blocos novos - Handlers de recibos: Executados sempre que uma mensagem é executada numa conta especificada -[From the NEAR documentation](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): +[Da documentação do NEAR](https://docs.near.org/build/data-infrastructure/lake-data-structures/receipt): > Um Recibo é o único objeto acionável no sistema. Quando falamos de "processar uma transação" na plataforma NEAR, em algum ponto isto eventualmente significa "aplicar recibos". @@ -71,8 +71,8 @@ dataSources: ``` - Subgraphs na NEAR introduzem um novo tipo (`kind`) de fonte de dados (`near`) -- The `network` should correspond to a network on the hosting Graph Node. On Subgraph Studio, NEAR's mainnet is `near-mainnet`, and NEAR's testnet is `near-testnet` -- NEAR data sources introduce an optional `source.account` field, which is a human-readable ID corresponding to a [NEAR account](https://docs.near.org/concepts/protocol/account-model). This can be an account or a sub-account. +- A rede (`network`) deve corresponder a uma rede no Graph Node hospedeiro. No Subgraph Studio, a mainnet do NEAR é `near-mainnet`, e a testnet é `near-testnet` +- Fontes de dados no NEAR introduzem um campo `source.account` opcional: um ID legível a humanos que corresponde a uma [conta no NEAR](https://docs.near.org/concepts/protocol/account-model). Isto pode ser uma conta ou subconta. - Fontes de dados na NEAR introduzem um campo `source.accounts` opcional, que contém sufixos e prefixos opcionais. No mínimo, deve ser especificado o prefixo ou o sufixo, já que eles procurarão qualquer conta que comece ou termine com a lista respectiva de valores. Combinaria o exemplo abaixo: `[app|good].*[morning.near|morning.testnet]`. Se só for necessária uma lista de prefixos ou sufixos, o outro campo pode ser omitido. ```yaml @@ -88,7 +88,7 @@ accounts: As fontes de dados na NEAR apoiam duas categorias de handlers: - `blockHandlers`: executado em cada novo bloco na NEAR. Não é necessário nenhum `source.account`. -- `receiptHandlers`: run on every receipt where the data source's `source.account` is the recipient. Note that only exact matches are processed ([subaccounts](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) must be added as independent data sources). +- `receiptHandlers`: executados em todo recibo onde o `source.account` da fonte de dados é o recipiente. Note que só são processadas combinações exatas ([subcontas](https://docs.near.org/tutorials/crosswords/basics/add-functions-call#create-a-subaccount) devem ser adicionadas como fontes de dados independentes). ### Definição de Schema @@ -173,20 +173,20 @@ Isto inclui uma nova função de análise em JSON: logs na NEAR são frequenteme Quando tiver um subgraph pronto, chegará a hora de lançá-lo no Graph Node para indexar. Subgraphs na NEAR podem ser lançados em qualquer Graph Node `>=v0.26.x` (esta versão ainda não foi marcada ou lançada). -Subgraph Studio and the upgrade Indexer on The Graph Network currently supports indexing NEAR mainnet and testnet in beta, with the following network names: +O Subgraph Studio e o Indexador de atualização na Graph Network apoiam atualmente a indexação da mainnet e da testnet do NEAR em beta, com os seguintes nomes de rede: - `near-mainnet` - `near-testnet` -More information on creating and deploying subgraphs on Subgraph Studio can be found [here](/deploying/deploying-a-subgraph-to-studio). +Saiba mais sobre a criação e lançamento de subgraphs no Subgraph Studio [aqui](/deploying/deploying-a-subgraph-to-studio). -As a quick primer - the first step is to "create" your subgraph - this only needs to be done once. On Subgraph Studio, this can be done from [your Dashboard](https://thegraph.com/studio/): "Create a subgraph". +Para começo de conversa, o primeiro passo consiste em "criar" o seu subgraph - isto só precisa ser feito uma vez. No Subgraph Studio, isto pode ser feito do [seu Painel](https://thegraph.com/studio/): "Criar um subgraph". Quando o seu subgraph estiver pronto, lance o seu subgraph com o comando de CLI `graph deploy`: ```sh -$ graph create --node # creates a subgraph on a local Graph Node (on Subgraph Studio, this is done via the UI) -$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # uploads the build files to a specified IPFS endpoint, and then deploys the subgraph to a specified Graph Node based on the manifest IPFS hash +$ graph create --node # cria um subgraph num Graph Node local (no Subgraph Studio, isto é feito via a interface) +$ graph deploy --node --ipfs https://api.thegraph.com/ipfs/ # envia os arquivos de construção a um endpoint IPFS especificado, e depois edita o subgraph a um Graph Node especificado com base no hash IPFS do manifest ``` A configuração do nódulo dependerá de onde o subgraph será lançado. From 978e0f98704955d1c764467ef652a3c7ece1b719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 21:47:19 -0400 Subject: [PATCH 2106/2326] New translations developer-faqs.mdx (Portuguese) --- .../pages/pt/developing/developer-faqs.mdx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/pt/developing/developer-faqs.mdx b/website/pages/pt/developing/developer-faqs.mdx index 676bb845063c..62729dbd0af0 100644 --- a/website/pages/pt/developing/developer-faqs.mdx +++ b/website/pages/pt/developing/developer-faqs.mdx @@ -46,11 +46,11 @@ docker pull graphprotocol/graph-node:latest ## 9. Como chamo uma função de contrato ou acesso uma variável de estado público dos meus mapeamentos de subgraph? -Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). +Confira o estado `Access to smart contract` dentro da seção [AssemblyScript API](/developing/graph-ts/api/#access-to-smart-contract-state). ## 10. É possível preparar um subgraph através de `graph init` a partir do `graph-cli` com dois contratos? Ou devo adicionar, manualmente, outra fonte de dados no `subgraph.yaml` após executar o `graph init`? -Yes. On `graph init` command itself you can add multiple datasources by entering contracts one after the other. You can also use `graph add` command to add new datasource. +Sim. No próprio comando `graph init`, é possível adicionar várias fontes de dados ao inserir contratos um após o outro. O comando `graph add` também pode adicionar uma nova fonte de dados. ## 11. Quero contribuir ou adicionar um problema no GitHub. Onde posso encontrar os repositórios de código aberto? @@ -67,7 +67,7 @@ Se só uma entidade for criada durante o evento e não houver nada melhor dispon Dentro de um subgraph, os eventos são sempre processados na ordem em que aparecem nos blocos, mesmo sendo ou não através de vários contratos. -## 14. Is it possible to differentiate between networks (mainnet, Sepolia, local) from within event handlers? +## 14. É possível diferenciar entre redes (mainnet, Sepolia, local) de dentro de handlers de eventos? Sim. Isto é possível ao importar o `graph-ts` como no exemplo abaixo: @@ -78,9 +78,9 @@ dataSource.network() dataSource.address() ``` -## 15. Do you support block and call handlers on Sepolia? +## 15. Vocês apoiam handlers de bloco e chamada no Sepolia? -Yes. Sepolia supports block handlers, call handlers and event handlers. It should be noted that event handlers are far more performant than the other two handlers, and they are supported on every EVM-compatible network. +Sim. O Sepolia apoia handlers de blocos, chamadas e eventos. Vale notar que handlers de eventos têm desempenho muito melhor do que os outros dois e têm apoio em todas as redes compatíveis com EVMs. ## 16. Posso importar ethers.js ou outras bibliotecas JS nos meus mapeamentos de subgraph? @@ -88,7 +88,7 @@ Não no momento, já que mapeamentos são escritos em AssemblyScript. Outra solu ## 17. É possível especificar em qual bloco começar a indexação? -Yes. `dataSources.source.startBlock` in the `subgraph.yaml` file specifies the number of the block that the data source starts indexing from. In most cases, we suggest using the block in which the contract was created: [Start blocks](/developing/creating-a-subgraph#start-blocks) +Sim. `dataSources.source.startBlock` no arquivo `subgraph.yaml` especifica o número do bloco que a fonte de dados começa a indexar. Na maioria dos casos, sugerimos usar o bloco no qual o contrato foi criado: [Blocos de início](/developing/creating-a-subgraph#start-blocks) ## 18. Alguma dica para aumentar o desempenho da indexação? O meu subgraph demora muito para sincronizar @@ -136,10 +136,10 @@ The Graph nunca cobrará pelo Serviço Hospedado. Este é um protocolo descentra ## 27. Como atualizar um subgraph na mainnet? -If you’re a subgraph developer, you can deploy a new version of your subgraph to Subgraph Studio using the CLI. It’ll be private at that point, but if you’re happy with it, you can publish to the decentralized Graph Explorer. This will create a new version of your subgraph that Curators can start signaling on. +Se for um programador de subgraph, você pode lançar uma nova versão do seu subgraph ao Subgraph Studio com a CLI. O subgraph será privado até lá, mas se estiver contente com ele, você pode publicá-lo no Graph Explorer descentralizado. Isto criará uma nova versão do seu subgraph em que Curadores podem começar a sinalizar. -## 28. In what order are the event, block, and call handlers triggered for a data source? +## 28. Em qual ordem os handlers de evento, bloco e chamada são ativados para uma fonte de dados? -Event and call handlers are first ordered by transaction index within the block. Event and call handlers within the same transaction are ordered using a convention: event handlers first then call handlers, each type respecting the order they are defined in the manifest. Block handlers are run after event and call handlers, in the order they are defined in the manifest. Also these ordering rules are subject to change. +Primeiro, handlers de eventos e chamadas são organizados pelo índice de transações dentro do bloco. Handlers de evento e chamada dentro da mesma transação são organizados com uma convenção: handlers de eventos primeiro e depois handlers de chamadas, com cada tipo a respeitar a ordem em que são definidos no manifest. Handlers de blocos são executados após handlers de eventos e chamadas, na ordem em que são definidos no manifest. Estas regras de organizações estão sujeitas a mudanças. -When new dynamic data source are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +Com a criação de novas fontes de dados dinâmicas, os handlers definidos para fontes de dados dinâmicas só começarão a processar após o processamento dos handlers das fontes, e se repetirão na mesma sequência sempre que acionados. From 50e44b639690d3f5e9015765534f81c3a342b4aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 21:47:20 -0400 Subject: [PATCH 2107/2326] New translations graphql-api.mdx (Portuguese) --- website/pages/pt/querying/graphql-api.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/querying/graphql-api.mdx b/website/pages/pt/querying/graphql-api.mdx index b3bbfb0d8131..41135fa7e929 100644 --- a/website/pages/pt/querying/graphql-api.mdx +++ b/website/pages/pt/querying/graphql-api.mdx @@ -2,7 +2,7 @@ title: API GraphQL --- -This guide explains the GraphQL Query API that is used for The Graph Protocol. +Este guia explica a API de Queries GraphQL usada para o Graph Protocol. ## Queries (Consultas em query) From cba6e0fd6a319dd5af0b6f79d6afa23c1eeee97e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 1 Jul 2024 21:47:21 -0400 Subject: [PATCH 2108/2326] New translations l2-transfer-tools-guide.mdx (Portuguese) --- website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx b/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx index ef65853b50e1..f799681d02ba 100644 --- a/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx +++ b/website/pages/pt/arbitrum/l2-transfer-tools-guide.mdx @@ -68,7 +68,7 @@ Após abrir a Ferramenta de Transferências, você poderá colocar o endereço d Ao executar este passo, **garanta que executará o 3º passo em menos de 7 dias, ou o subgraph e o seu GRT de sinalização serão perdidos.** Isto se deve à maneira de como as mensagens L1-L2 funcionam no Arbitrum: mensagens enviadas através da bridge são "bilhetes de tentativas extras" que devem ser executadas dentro de 7 dias, e a execução inicial pode exigir outra tentativa se houver um surto no preço de gas no Arbitrum. -![Start the transfer to L2](/img/startTransferL2.png) +![Comece a transferência à L2](/img/startTransferL2.png) ## 2º Passo: A espera do caminho do subgraph até a L2 From bcdd0cf1284a3daa74cbec6e90536e9f1ed3b6c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 4 Jul 2024 19:27:14 -0400 Subject: [PATCH 2109/2326] New translations base-testnet.mdx (Portuguese) --- website/pages/pt/cookbook/base-testnet.mdx | 54 +++++++++++----------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/website/pages/pt/cookbook/base-testnet.mdx b/website/pages/pt/cookbook/base-testnet.mdx index 458e0dbcb5c1..e9f4e14606fa 100644 --- a/website/pages/pt/cookbook/base-testnet.mdx +++ b/website/pages/pt/cookbook/base-testnet.mdx @@ -6,12 +6,12 @@ Este guia dará-lhe uma explicação rápida sobre a inicialização, criação Serão necessários: -- A Base Sepolia testnet contract address +- Um endereço de contrato na testnet Base Sepolia - Uma carteira de criptomoedas (por ex. MetaMask ou Coinbase Wallet) ## Subgraph Studio -### 1. Instalando a CLI do Graph +### 1. Como instalar a CLI do Graph A CLI (interface de linha de comando) do Graph — acima da versão 0.41.0 — é escrita em JavaScript, e é necessário ter instalado o 'npm' ou o 'yarn' para usá-la. @@ -23,15 +23,15 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Create your subgraph in Subgraph Studio +### 2. Como criar o seu subgraph no Subgraph Studio -Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. +Entre no [Subgraph Studio](https://thegraph.com/studio/) e conecte a sua carteira de criptomoedas. -Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. +Após conectado, clique em "Criar um Subgraph", insira um nome para o seu Subgraph e clique em "Criar um Subgraph" novamente. ### 3. Como Inicializar o seu Subgraph -> You can find specific commands for your subgraph in Subgraph Studio. +> Podes encontrar comandos específicos para o seu subgraph no Subgraph Studio. Certifique-se que o graph-cli está atualizado para a sua versão mais recente (acima de 0.41.0) @@ -50,43 +50,43 @@ O seu subgraph slug é uma identidade para o seu subgraph. A ferramenta de CLI g - Protocolo: ethereum - Subgraph slug: `` - Diretório para a criação do subgraph: `` -- Ethereum network: base-sepolia -- Contract address: `` -- Start block (optional) -- Contract name: `` -- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) +- Rede Ethereum: base-sepolia +- Endereço de contrato: `` +- Bloco inicial (opcional) +- Nome do contrato: `` +- Sim/não para a indexação de eventos ("sim" significa que o seu subgraph será equipado com entidades no schema e mapeamentos simples para os eventos emitidos) -### 3. Write your Subgraph +### 3. Como Escrever o seu Subgraph -> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. +> Caso queira indexar apenas eventos emitidos, então não há mais nada a fazer, e é só pular para o próximo passo. -The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: +O comando anterior cria um subgraph de apoio que pode ser usado como ponto inicial para a construção do seu subgraph. Ao fazer mudanças ao subgraph, o trabalho principal será com três arquivos: -- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. -- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. +- Manifest (subgraph.yaml) — O manifest define quais fontes de dados seus subgraphs indexarão. Certifique-se de adicionar `base-sepolia` como o nome da rede no arquivo manifest, para lançar o seu subgraph na testnet Base Sepolia. +- Schema (schema.graphql) — O schema GraphQL define quais dados desejas retirar do subgraph. - Mapeamentos em AssemblyScript (mapping.ts) — Este é o código que traduz dados das suas fontes de dados às entidades definidas no schema. -If you want to index additional data, you will need extend the manifest, schema and mappings. +Se quiser indexar dados adicionais, precisa estender o manifest, o schema e os mapeamentos. Para mais informações sobre como escrever o seu subgraph, veja [Criando um Subgraph](/desenvolvimento/criando-um-subgraph). -### 4. Deploy to Subgraph Studio +### 4. Como Lançar ao Subgraph Studio -Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: +Antes de poder lançar o seu subgraph, deves autenticá-lo com o Subgraph Studio. Isto é possível ao executar o seguinte comando: -Authenticate the subgraph on studio +Autentique o subgraph no Studio ``` graph auth --studio ``` -Next, enter your subgraph's directory. +Em seguida, digite o diretório do seu subgraph. ``` cd ``` -Build your subgraph with the following command: +Construa o seu subgraph com o seguinte comando: ```` ``` @@ -94,7 +94,7 @@ graph codegen && graph build ``` ```` -Finally, you can deploy your subgraph using this command: +Finalmente, lance o seu subgraph com este comando: ```` ``` @@ -102,10 +102,10 @@ graph deploy --studio ``` ```` -### 5. Query your subgraph +### 5. Como consultar o seu subgraph com queries -Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. +Depois que o seu subgraph for lançado, você pode consultá-lo do seu dapp utilizando o 'Development Query URL' (URL de consulta de desenvolvimento) no Subgraph Studio. -Note - Studio API is rate-limited. Hence should preferably be used for development and testing. +Nota — A API do Studio tem um 'rate limit' (limite de ritmo). Vendo isto, recomendamos usá-la para desenvolvimento e testes. -To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. +Para aprender mais sobre queries de dados do seu subgraph, veja a página [Como Consultar um Subgraph](/querying/querying-the-graph). From 7019d2ae3ae930bb3f3ccc85ce10b2f202563b5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 4 Jul 2024 19:27:15 -0400 Subject: [PATCH 2110/2326] New translations deploying-a-subgraph-to-hosted.mdx (Portuguese) --- .../deploying-a-subgraph-to-hosted.mdx | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx b/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx index 7053b8c4a858..3a46de123ce4 100644 --- a/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx +++ b/website/pages/pt/deploying/deploying-a-subgraph-to-hosted.mdx @@ -2,21 +2,21 @@ title: Como Lançar um Subgraph no Serviço Hospedado --- -> Hosted service endpoints will no longer be available after June 12th 2024. [Learn more](/sunrise). +> A disponibilidade dos endpoints do serviço hospedado foi encerrada em 12 de junho de 2024. [Saiba mais](/sunrise). -This page explains how to deploy a subgraph to the hosted service. To deploy a subgraph you need to first install the [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). If you have not created a subgraph already, see [creating a subgraph](/developing/creating-a-subgraph). +Esta página explica como lançar um subgraph no Serviço Hospedado. Para lançar um subgraph, instale a [Graph CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). Se ainda não criou um subgraph, veja a secção [Como Criar um Subgraph](/developing/creating-a-subgraph). -## Create a hosted service account +## Como criar uma conta no Serviço Hospedado -Before using the hosted service, create an account in our hosted service. You will need a [Github](https://github.com/) account for that; if you don't have one, you need to create that first. Then, navigate to the [hosted service](https://thegraph.com/hosted-service/), click on the _'Sign up with Github'_ button, and complete Github's authorization flow. +Antes de usar o Serviço Hospedado, crie uma conta nele. Para este fim, faça uma conta no [Github](https://github.com/); se não tiver, crie uma primeiro, e depois, navegue ao [Serviço Hospedado](https://thegraph.com/hosted-service/), clique no botão _'Sign up with Github'_ (cadastrar com Github) e complete o fluxo de autorização do Github. ## Como Armazenar o Token de Acesso Após criar uma conta, navegue até o seu [painel de controle](https://thegraph.com/hosted-service/dashboard). Copie o token de acesso (access token) exibido no painel e execute `graph auth --product hosted-service ` para armazenar o token de acesso no seu computador. Isto só precisa ser feito uma vez, a não ser que tenha que gerar o token de acesso novamente. -## Create a Subgraph on the hosted service +## Como Criar um Subgraph no Serviço Hospedado -Before deploying the subgraph, you need to create it in Graph Explorer. Go to the [dashboard](https://thegraph.com/hosted-service/dashboard) and click on the _Add Subgraph_ button and fill in the information below as appropriate: +Antes de lançar o subgraph, ele tem que ser criado no The Graph Explorer. Vá até o [painel de controle](https://thegraph.com/hosted-service/dashboard), clique no botão _'Add Subgraph'_ (Adicionar Subgraph) e preencha os campos abaixo com as informações adequadas: **Image** (Imagem) — Selecione uma imagem para ser usada como foto de prévia e thumbnail (miniatura) para o subgraph. @@ -30,17 +30,17 @@ Before deploying the subgraph, you need to create it in Graph Explorer. Go to th **GitHub URL** — Atalho ao repositório do subgraph no GitHub. -**Hide** - Switching this on hides the subgraph in Graph Explorer. +**Hide** (Esconder) — Opção alternável que oculta o subgraph no Graph Explorer. -After saving the new subgraph, you are shown a screen with help on how to install the Graph CLI, how to generate the scaffolding for a new subgraph, and how to deploy your subgraph. The first two steps were covered in the [Creating a Subgraph section](/developing/creating-a-subgraph/). +Após salvar o novo subgraph, aparecerão instruções sobre como instalar o Graph CLI; como gerar estruturas para um novo subgraph; e como lançar o seu subgraph. Os primeiros dois passos foram abordados na seção [Como Definir um Subgraph](/developing/creating-a-subgraph/). -## Deploy a Subgraph on the hosted service +## Como Lançar um Subgraph no Serviço Hospedado -Deploying your subgraph will upload the subgraph files that you've built with `yarn build` to IPFS and tell Graph Explorer to start indexing your subgraph using these files. +O lançamento do seu subgraph enviará os arquivos do subgraph construído com `yarn build` ao IPFS, e mandará que o Graph Explorer comece a indexar o seu subgraph com estes arquivos. Lance o subgraph com o comando `yarn deploy` -After deploying the subgraph, Graph Explorer will switch to showing the synchronization status of your subgraph. Depending on the amount of data and the number of events that need to be extracted from historical blocks, starting with the genesis block, syncing can take from a few minutes to several hours. +Após lançar o subgraph, o Graph Explorer mostrará o estado da sincronização deste. Dependendo da quantia de dados e eventos que devem ser extraídos de blocos históricos, a começar do bloco-génese, a sincronização pode levar de alguns minutos a várias horas. O estado do subgraph é mostrado como `Synced` (sincronizado) quando o Graph Node extrai todos os dados de blocos históricos. O Graph Node continuará a inspecionar blocos para o seu subgraph enquanto estes blocos são minerados. @@ -100,7 +100,7 @@ Caso não tenha um arquivo `networks.json`, precisará criar o mesmo manualmente **Nota:** Não precisa especificar quaisquer dos `templates` (se tiver) no arquivo de configuração, apenas as `dataSources`. Se houver alguns `templates` declarados no arquivo `subgraph.yaml`, sua rede será automaticamente atualizada à especificada na opção `--network`. -Now, let's assume you want to be able to deploy your subgraph to the `mainnet` and `sepolia` networks, and this is your `subgraph.yaml`: +Agora, vamos supor que quer lançar o seu subgraph às redes `mainnet` e `sepolia`, e este é o seu `subgraph.yaml`: ```yaml # ... @@ -135,14 +135,14 @@ O seu arquivo de config de redes deve ficar assim: Agora podemos executar um dos seguintes comandos: ```sh -# Using default networks.json file +# Usar o arquivo networks.json padrão yarn build --network sepolia -# Using custom named file -yarn build --network sepolia --network-file path/to/config +# Usar arquivo com nome personalizado +yarn build --network sepolia --network-file local/do/config ``` -The `build` command will update your `subgraph.yaml` with the `sepolia` configuration and then re-compile the subgraph. Your `subgraph.yaml` file now should look like this: +O comando `build` atualizará o seu `subgraph.yaml` com a configuração `sepolia` e depois recompilará o subgraph. O seu arquivo `subgraph.yaml` agora deve parecer com isto: ```yaml # ... @@ -162,18 +162,18 @@ Agora está tudo pronto para executar o `yarn deploy`. **Nota:** Como já levantado, desde o `graph-cli 0.32.0`, dá para executar diretamente o `yarn deploy` com a opção `--network`: ```sh -# Using default networks.json file +# Usar o arquivo networks.json padrão yarn deploy --network sepolia -# Using custom named file -yarn deploy --network sepolia --network-file path/to/config +# Usar arquivo com nome personalizado +yarn deploy --network sepolia --network-file local/do/config ``` ### Como usar o template subgraph.yaml Uma solução para versões mais antigas do graph-cli, que permite a parametrização de aspetos como endereços de contratos, é gerar partes dele com um sistema de templating como o [Mustache](https://mustache.github.io/) ou o [Handlebars](https://handlebarsjs.com/). -To illustrate this approach, let's assume a subgraph should be deployed to mainnet and Sepolia using different contract addresses. You could then define two config files providing the addresses for each network: +Por exemplo, vamos supor que um subgraph deve ser lançado à mainnet e à Sepolia, através de diferentes endereços de contratos. Então, seria possível definir dois arquivos de config ao fornecer os endereços para cada rede: ```json { @@ -225,7 +225,7 @@ Para poder gerar um manifest para uma rede, pode adicionar mais dois comandos ao } ``` -To deploy this subgraph for mainnet or Sepolia you would now simply run one of the two following commands: +Para lançar este subgraph à mainnet ou à Sepolia, apenas um dos seguintes comandos precisaria ser executado: ```sh # Mainnet: @@ -243,7 +243,7 @@ Veja um exemplo funcional disto [aqui](https://github.com/graphprotocol/example- Se um subgraph for sincronizado com sucesso, isto indica que ele continuará a rodar bem para sempre. Porém, novos gatilhos na rede podem revelar uma condição de erro não testada, ou ele pode começar a se atrasar por problemas de desempenho ou com os operadores de nodes. -Graph Node exposes a graphql endpoint which you can query to check the status of your subgraph. On the hosted service, it is available at `https://api.thegraph.com/index-node/graphql`. On a local node, it is available on port `8030/graphql` by default. The full schema for this endpoint can be found [here](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Here is an example query that checks the status of the current version of a subgraph: +O Graph Node expõe um endpoint do GraphQL que pode ser consultado em query, para conferir o status do seu subgraph. No Serviço Hospedado, ele está disponível no `https://api.thegraph.com/index-node/graphql`; em um node local, no port `8030/graphql`. Encontre o schema completo para este endpoint [aqui](https://github.com/graphprotocol/graph-node/blob/master/server/index-node/src/schema.graphql). Veja um exemplo de query sobre o estado da versão atual de um subgraph: ```graphql { @@ -274,22 +274,22 @@ Isto rendará o `chainHeadBlock`, que pode ser comparado com o `latestBlock` no ## Política de arquivamento de subgraphs no serviço hospedado -The hosted service is a free Graph Node Indexer. Developers can deploy subgraphs indexing a range of networks, which will be indexed, and made available to query via graphQL. +O Serviço Hospedado é um Indexador gratuito de Graph Nodes. Os programadores podem lançar subgraphs e indexar uma gama de redes, que serão indexadas e disponibilizadas para consulta via graphQL. -To improve the performance of the service for active subgraphs, the hosted service will archive subgraphs that are inactive. +Para melhorar o desempenho do serviço para subgraphs ativos, o Serviço Hospedado arquivará subgraphs inativos. -**A subgraph is defined as "inactive" if it was deployed to the hosted service more than 45 days ago, and if it has received 0 queries in the last 45 days.** +**Um subgraph é definido como "inativo" se tiver sido lançado ao Serviço Hospedado há mais de 45 dias e tiver recebido 0 queries nos últimos 45 dias.** -Developers will be notified by email if one of their subgraphs has been marked as inactive 7 days before it is removed. If they wish to "activate" their subgraph, they can do so by making a query in their subgraph's hosted service graphQL playground. Developers can always redeploy an archived subgraph if it is required again. +Os desenvolvedores serão avisados por email se um dos seus subgraphs for marcado como inativo, e será removido após 7 dias. Caso queiram "ativar" o seu subgraph, podem fazê-lo com um query no playground graphQL, no Serviço Hospedado do seu subgraph. Os programadores sempre podem relançar um subgraph arquivado caso o necessitem novamente. ## Política de arqivamento do Subgraph Studio -A subgraph version in Studio is archived if and only if it meets the following criteria: +Uma versão de subgraph no Studio é arquivada se, e apenas se, atender aos seguintes critérios: -- The version is not published to the network (or pending publish) -- The version was created 45 or more days ago -- The subgraph hasn't been queried in 30 days +- A versão não foi publicada na rede (ou tem a publicação pendente) +- A versão foi criada há 45 dias ou mais +- O subgraph não foi consultado em 30 dias -In addition, when a new version is deployed, if the subgraph has not been published, then the N-2 version of the subgraph is archived. +Além disto, quando uma nova versão é editada, se o subgraph ainda não foi publicado, então a versão N-2 do subgraph é arquivada. Todos os subgraphs afetados por esta política têm a opção de trazer de volta a versão em questão. From 4caed6690c8e1b055d85182e9383780920f80079 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 4 Jul 2024 20:27:40 -0400 Subject: [PATCH 2111/2326] New translations derivedfrom.mdx (Portuguese) --- website/pages/pt/cookbook/derivedfrom.mdx | 38 +++++++++++------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/website/pages/pt/cookbook/derivedfrom.mdx b/website/pages/pt/cookbook/derivedfrom.mdx index 57f64df34189..a5d1f31c14bc 100644 --- a/website/pages/pt/cookbook/derivedfrom.mdx +++ b/website/pages/pt/cookbook/derivedfrom.mdx @@ -1,28 +1,28 @@ --- -title: Subgraph Best Practice 2 - Improve Indexing and Query Responsiveness By Using @derivedFrom +title: Boas Práticas de Subgraph 2 - Melhorar a Indexação e a Capacidade de Resposta de Queries com @derivedFrom --- -## TLDR +## Resumo -Arrays in your schema can really slow down a subgraph's performance as they grow beyond thousands of entries. If possible, the `@derivedFrom` directive should be used when using arrays as it prevents large arrays from forming, simplifies handlers, and reduces the size of individual entities, improving indexing speed and query performance significantly. +O desempenho de um subgraph pode ser muito atrasado por arranjos no seu schema, já que esses podem crescer além dos milhares de entradas. Se possível, a diretiva `@derivedFrom` deve ser usada ao usar arranjos, já que ela impede a formação de grandes arranjos, simplifica handlers e reduz o tamanho de entidades individuais, o que melhora muito a velocidade da indexação e o desempenho dos queries. -## How to Use the `@derivedFrom` Directive +## Como Usar a Diretiva `@derivedFrom` -You just need to add a `@derivedFrom` directive after your array in your schema. Like this: +Você só precisa adicionar uma diretiva `@derivedFrom` após o seu arranjo no seu schema. Assim: ```graphql comments: [Comment!]! @derivedFrom(field: "post") ``` -`@derivedFrom` creates efficient one-to-many relationships, enabling an entity to dynamically associate with multiple related entities based on a field in the related entity. This approach removes the need for both sides of the relationship to store duplicate data, making the subgraph more efficient. +o `@derivedFrom` cria relações eficientes de um-para-muitos, o que permite que uma entidade se associe dinamicamente com muitas entidades relacionadas com base em um campo na entidade relacionada. Esta abordagem faz com que ambos os lados do relacionamento não precisem armazenar dados duplicados e aumenta a eficácia do subgraph. -### Example Use Case for `@derivedFrom` +### Exemplo de Caso de Uso para `@derivedFrom` -An example of a dynamically growing array is a blogging platform where a “Post” can have many “Comments”. +Um exemplo de um arranjo que cresce dinamicamente é uma plataforma de blogs onde um "Post" pode ter vários "Comments" (comentários). -Let’s start with our two entities, `Post` and `Comment` +Vamos começar com as nossas duas entidades, `Post` e `Comment` -Without optimization, you could implement it like this with an array: +Sem otimização, seria possível implementá-la assim com um arranjo: ```graphql type Post @entity { @@ -38,9 +38,9 @@ type Comment @entity { } ``` -Arrays like these will effectively store extra Comments data on the Post side of the relationship. +Arranjos como este, efetivamente, armazenarão dados extras de Comments no lado do Post no relacionamento. -Here’s what an optimized version looks like using `@derivedFrom`: +Aqui está uma versão otimizada que usa o `@derivedFrom`: ```graphql type Post @entity { @@ -57,18 +57,18 @@ type Comment @entity { } ``` -Just by adding the `@derivedFrom` directive, this schema will only store the “Comments” on the “Comments” side of the relationship and not on the “Post” side of the relationship. Arrays are stored across individual rows, which allows them to expand significantly. This can lead to particularly large sizes if their growth is unbounded. +Ao adicionar a diretiva `@derivedFrom`, este schema só armazenará os "Comentários" no lado "Comments" do relacionamento, e não no lado "Post". Os arranjos são armazenados em fileiras individuais, o que os faz crescer significativamente. Se o seu crescimento não for contido, isto pode permitir que o tamanho fique excessivamente grande. -This will not only make our subgraph more efficient, but it will also unlock three features: +Isto não só aumenta a eficiência do nosso subgraph, mas também desbloqueia três características: -1. We can query the `Post` and see all of its comments. +1. Podemos fazer um query sobre o `Post` e ver todos os seus comentários. -2. We can do a reverse lookup and query any `Comment` and see which post it comes from. +2. Podemos fazer uma pesquisa reversa e um query sobre qualquer `Comment`, para ver de qual post ele vem. -3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. +3. Podemos usar [Carregadores de Campos Derivados](/developing/graph-ts/api/#looking-up-derived-entities) para desbloquear a habilidade de acessar e manipular diretamente dados de relacionamentos virtuais nos nossos mapeamentos de subgraph. ## Conclusão -Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. +Adotar a diretiva `@derivedFrom` nos subgraphs lida eficientemente com arranjos que crescem dinamicamente, o que melhora a performance da indexação e o retiro de dados. -To learn more detailed strategies to avoid large arrays, read this blog from Kevin Jones: [Best Practices in Subgraph Development: Avoiding Large Arrays](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). +Para aprender mais estratégias detalhadas sobre evitar arranjos grandes, leia este blog por Kevin Jones: [Melhores Práticas no Desenvolvimento de Subgraphs: Como Evitar Grandes Arranjos](https://thegraph.com/blog/improve-subgraph-performance-avoiding-large-arrays/). From 7e72c9bc2ca62ecf7c969d2877a59e72e7fc9505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 4 Jul 2024 20:27:41 -0400 Subject: [PATCH 2112/2326] New translations cosmos.mdx (Portuguese) --- website/pages/pt/cookbook/cosmos.mdx | 42 ++++++++++++++-------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/website/pages/pt/cookbook/cosmos.mdx b/website/pages/pt/cookbook/cosmos.mdx index 4cfc2831c486..3bd8c8dd3e11 100644 --- a/website/pages/pt/cookbook/cosmos.mdx +++ b/website/pages/pt/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Construção de Subgraphs no Cosmos --- -This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. +Este guia é uma introdução à construção de subgraphs através da indexação de blockchains baseadas no [Cosmos](https://cosmos.network/). ## O que são subgraphs no Cosmos? @@ -17,11 +17,11 @@ Existem quatro categorias de handlers apoiados em subgraphs no Cosmos: Baseado na [documentação oficial do Cosmos](https://docs.cosmos.network/): -> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. +> [Eventos](https://docs.cosmos.network/main/learn/advanced/events) são objetos que contém informação sobre a execução do aplicativo. São principalmente usados por provedores de serviço, como exploradores de blocos e carteiras, para rastrear a execução de várias mensagens e transações de índices. -> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. +> [Transações](https://docs.cosmos.network/main/learn/advanced/transactions) são objetos criados por utilizadores finais para realizar mudanças de estado no aplicativo. -> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. +> [Mensagens](https://docs.cosmos.network/main/learn/advanced/transactions#messages) são objetos específicos a módulos, que realizam transições de estado no escopo do módulo a qual pertencem. Apesar de todos os dados poderem ser acessados com um block handler, outros handlers permitem a programadores de subgraphs processar dados de uma maneira muito mais granular. @@ -29,9 +29,9 @@ Apesar de todos os dados poderem ser acessados com um block handler, outros hand ### Dependências de Subgraph -[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. +O [graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) é uma ferramenta de CLI para construir e lançar subgraphs. A versão `>=0.30.0` é necessária para trabalhar com subgraphs no Cosmos. -[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. +O [graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) é uma biblioteca de tipos específicos a subgraphs; a versão `>=0.27.0` é necessária para trabalhar com subgraphs no Cosmos. ### Componentes Principais de Subgraph @@ -79,7 +79,7 @@ dataSources: ### Definição de Schema -Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). +A definição do schema descreve a estrutura do banco de dados do subgraph resultante e os relacionamentos entre entidades. Isto é agnóstico à fonte de dados original. Mais detalhes na definição do schema de subgraph [aqui](/developing/creating-a-subgraph/#the-graphql-schema). ### Mapeamentos em AssemblyScript @@ -176,7 +176,7 @@ A lista completa de tipos para integração ao Cosmos está [aqui](https://githu ### Descodificação de mensagens -It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. +Repare que mensagens no Cosmos são específicas a chains, e são passadas a um subgraph na forma de um payload serializado de [Buffers de Protocolo](https://protobuf.dev/). Portanto, os dados das mensagens devem ser decodificados em uma função de mapeamento antes que possam ser processados. Mais informações sobre como descodificar dados de mensagem em um subgraph [aqui](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -200,13 +200,13 @@ Quando o seu subgraph estiver pronto, lance o seu subgraph com o comando de CLI **Subgraph Studio** -Visit the Subgraph Studio to create a new subgraph. +Crie um novo subgraph no Subgraph Studio. ```bash graph deploy --studio subgraph-name ``` -**Local Graph Node (based on default configuration):** +**Graph Node local (baseado na configuração padrão):** ```bash graph create subgraph-name --node http://localhost:8020 @@ -218,7 +218,7 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost ## Consulta a um subgraph no Cosmos -The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. +O endpoint do GraphQL para subgraphs no Cosmos é determinado pela definição do schema, com a interface existente da API. Mais informações na [documentação da API GraphQL](/querying/graphql-api/). ## Apoio a Blockchains no Cosmos @@ -226,32 +226,32 @@ The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition #### O que é Cosmos Hub? -The [Cosmos Hub blockchain](https://hub.cosmos.network/) is the first blockchain in the [Cosmos](https://cosmos.network/) ecosystem. You can visit the [official documentation](https://docs.cosmos.network/) for more information. +A [Cosmos Hub](https://hub.cosmos.network/) é a primeira blockchain no ecossistema [Cosmos](https://cosmos.network/). Para saber mais, leia a [documentação oficial](https://docs.cosmos.network/). #### Redes -Cosmos Hub mainnet is `cosmoshub-4`. Cosmos Hub current testnet is `theta-testnet-001`.
    Other Cosmos Hub networks, i.e. `cosmoshub-3`, are halted, therefore no data is provided for them. +A mainnet atual do Cosmos Hub é `cosmoshub-4`, e a testnet atual do Cosmos Hub é `theta-testnet-001`.
    Outras redes do Cosmos Hub, por ex. `cosmoshub-3`, estão em hiato; portanto, elas não recebem dados. ### Osmosis -> Osmosis support in Graph Node and on Subgraph Studio is in beta: please contact the graph team with any questions about building Osmosis subgraphs! +> O apoio ao Osmosis no Graph Node e no Subgraph Studio está em beta. Caso tenha dúvidas sobre construir subgraphs no Osmosis, por favor contacte a equipa do Graph! #### O que é Osmosis? -[Osmosis](https://osmosis.zone/) is a decentralized, cross-chain automated market maker (AMM) protocol built on top of the Cosmos SDK. It allows users to create custom liquidity pools and trade IBC-enabled tokens. You can visit the [official documentation](https://docs.osmosis.zone/) for more information. +[Osmosis](https://osmosis.zone/) é um protocolo criador automático de mercado (AMM), descentralizado e cross-chain, construído em cima do SDK do Cosmos. Ele permite que os utilizadores criem pools customizados de liquidez e troquem tokens IBC. Para mais informações, visite a [documentação oficial](https://docs.osmosis.zone/). #### Redes -Osmosis mainnet is `osmosis-1`. Osmosis current testnet is `osmo-test-4`. +A mainnet do Osmosis é `osmosis-1`, e a testnet atual do Osmosis é `osmo-test-4`. ## Exemplos de Subgraphs -Here are some example subgraphs for reference: +Aqui estão alguns exemplos de subgraphs para referência: -[Block Filtering Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) +[Exemplo de Filtragem de Blocos](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-block-filtering) -[Validator Rewards Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) +[Exemplo de Recompensas de Validador](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-rewards) -[Validator Delegations Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) +[Exemplo de Delegações de Validador](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-validator-delegations) -[Osmosis Token Swaps Example](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) +[Exemplo de Trocas de Token no Osmosis](https://github.com/graphprotocol/graph-tooling/tree/main/examples/cosmos-osmosis-token-swaps) From 5c6f2336b1a39a14e4cfd6a46badc8dd34d4788d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 4 Jul 2024 20:27:42 -0400 Subject: [PATCH 2113/2326] New translations subgraph-debug-forking.mdx (Portuguese) --- .../pt/cookbook/subgraph-debug-forking.mdx | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/website/pages/pt/cookbook/subgraph-debug-forking.mdx b/website/pages/pt/cookbook/subgraph-debug-forking.mdx index 61c44ef9dcf3..ba69b279014b 100644 --- a/website/pages/pt/cookbook/subgraph-debug-forking.mdx +++ b/website/pages/pt/cookbook/subgraph-debug-forking.mdx @@ -2,7 +2,7 @@ title: Debugging de Subgraphs Rápido e Fácil Com Forks --- -As with many systems processing large amounts of data, The Graph's Indexers (Graph Nodes) may take quite some time to sync-up your subgraph with the target blockchain. The discrepancy between quick changes with the purpose of debugging and long wait times needed for indexing is extremely counterproductive and we are well aware of that. This is why we are introducing **subgraph forking**, developed by [LimeChain](https://limechain.tech/), and in this article I will show you how this feature can be used to substantially speed-up subgraph debugging! +Assim como vários sistemas que processam uma abundância de dados, os Indexadores do Graph (Graph Nodes) podem demorar um pouco para sincronizar o seu subgraph com a blockchain de destino. A discrepância entre mudanças rápidas para fins de debugging e os longos tempos de espera necessários para o indexing é extremamente contraprodutiva, e nós sabemos muito bem disso. É por isso que introduzimos o **subgraph forking**, desenvolvido pela [LimeChain](https://limechain.tech/); neste artigo, veja como é possível acelerar bastante o debugging de subgraphs! ## Ok, o que é isso? @@ -12,9 +12,9 @@ No contexto do debugging, o **subgraph forking** permite debugar o seu subgraph ## O quê?! Como?! -When you deploy a subgraph to a remote Graph Node for indexing and it fails at block _X_, the good news is that the Graph Node will still serve GraphQL queries using its store, which is synced-up to block _X_. That's great! This means we can take advantage of this "up-to-date" store to fix the bugs arising when indexing block _X_. +Quando lanças um subgraph a um Graph Node remoto para o indexing e ele falha no bloco _X_, a boa notícia é que o Graph Node ainda servirá queries GraphQL com seu armazenamento, que é sincronizado até o bloco _X_. Ótimo! Podemos aproveitar este armazenamento "atualizado" para consertar os bugs que surgem ao indexar o bloco _X_. -In a nutshell, we are going to _fork the failing subgraph_ from a remote Graph Node that is guaranteed to have the subgraph indexed up to block _X_ in order to provide the locally deployed subgraph being debugged at block _X_ an up-to-date view of the indexing state. +Resumindo, _faremos um fork do subgraph falho_ de um Graph Node remoto para garantir que o subgraph seja indexado até o bloco _X_, para fornecer ao subgraph lançado localmente uma visão atualizada do estado da indexação, sendo este debugado no bloco _X_. ## Por favor, quero ver códigos! @@ -44,12 +44,12 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void { } ``` -Oops, how unfortunate, when I deploy my perfect looking subgraph to [Subgraph Studio](https://thegraph.com/studio/) it fails with the _"Gravatar not found!"_ error. +Que pena! Quando eu lanço o meu lindo subgraph ao [Subgraph Studio](https://thegraph.com/studio/), ele falha com o erro _"Gravatar not found"_ (Gravatar não encontrado). -A tentativa de solução mais comum é: +A maneira mais comum de tentar consertar este erro é: 1. Fazer uma mudança na fonte dos mapeamentos, que talvez possa resolver o problema (mas é claro que não vai). -2. Re-deploy the subgraph to [Subgraph Studio](https://thegraph.com/studio/) (or another remote Graph Node). +2. Reeditar o subgraph ao [Subgraph Studio](https://thegraph.com/studio/) (ou outro Graph Node remoto). 3. Esperar que ele se sincronize. 4. Se quebrar novamente, volte ao passo 1. Se não: Eba! @@ -57,9 +57,9 @@ A tentativa de solução mais comum é: Com o **subgraph forking**, podemos essencialmente eliminar este passo. Ele é algo assim: -0. Spin-up a local Graph Node with the **_appropriate fork-base_** set. +0. Crie um Graph Node local com o conjunto de **_fork-base apropriado_**. 1. Faça uma mudança na fonte dos mapeamentos, que talvez possa resolver o problema. -2. Deploy to the local Graph Node, **_forking the failing subgraph_** and **_starting from the problematic block_**. +2. Lance ao Graph Node local, **_faça um fork do subgraph falho_** e **_comece do bloco problemático_**. 3. Se quebrar novamente, volte ao passo 1. Se não: Eba! Agora, você deve ter duas perguntas: @@ -80,7 +80,7 @@ Aliás, não esqueça de preencher o campo `dataSources.source.startBlock` no ma Aqui está o que eu faço: -1. I spin-up a local Graph Node ([here is how to do it](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) with the `fork-base` option set to: `https://api.thegraph.com/subgraphs/id/`, since I will fork a subgraph, the buggy one I deployed earlier, from [Subgraph Studio](https://thegraph.com/studio/). +1. Eu crio um Graph Node local ([veja como](https://github.com/graphprotocol/graph-node#running-a-local-graph-node)) com a opção `fork-base` de `https://api.thegraph.com/subgraphs/id/`, já que eu vou forkar um subgraph, o bugado que eu lancei anteriormente, do [Subgraph Studio](https://thegraph.com/studio/). ``` $ cargo run -p graph-node --release -- \ @@ -91,11 +91,11 @@ $ cargo run -p graph-node --release -- \ ``` 2. Após vistoriar com cuidado, percebo uma discrepância nas representações de `id` usadas ao indexar `Gravatars` nos meus dois handlers. Enquanto `handleNewGravatar` o converte a um hex (`event.params.id.toHex()`), o `handleUpdatedGravatar` usa um int32 (`event.params.id.toI32()`). Assim, o `handleUpdatedGravatar` entra em pânico com o "Gravatar não encontrado!". Eu faço os dois converterem o `id` em um hex. -3. After I made the changes I deploy my subgraph to the local Graph Node, **_forking the failing subgraph_** and setting `dataSources.source.startBlock` to `6190343` in `subgraph.yaml`: +3. Após ter feito as mudanças, lanço o meu subgraph ao Graph Node local, _forkando o subgraph falho_ e programando o `dataSources.source.startBlock` em `6190343` no `subgraph.yaml`: ```bash $ graph deploy gravity --debug-fork QmNp169tKvomnH3cPXTfGg4ZEhAHA6kEq5oy1XDqAxqHmW --ipfs http://localhost:5001 --node http://localhost:8020 ``` -4. I inspect the logs produced by the local Graph Node and, Hooray!, everything seems to be working. -5. I deploy my now bug-free subgraph to a remote Graph Node and live happily ever after! (no potatoes tho) +4. Eu verifico os logs produzidos pelo Graph Node local e... eba! Parece que deu tudo certo. +5. Lanço o meu subgraph, agora livre de bugs, a um Graph Node remoto e vivo feliz para sempre! (mas sem batatas) From 78506a8e70f00e6cbbe2ace6924321e14c2ccd79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 4 Jul 2024 20:27:43 -0400 Subject: [PATCH 2114/2326] New translations substreams-powered-subgraphs.mdx (Portuguese) --- .../pt/cookbook/substreams-powered-subgraphs.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/pt/cookbook/substreams-powered-subgraphs.mdx b/website/pages/pt/cookbook/substreams-powered-subgraphs.mdx index 51cc9c141769..c32be10aeab8 100644 --- a/website/pages/pt/cookbook/substreams-powered-subgraphs.mdx +++ b/website/pages/pt/cookbook/substreams-powered-subgraphs.mdx @@ -6,7 +6,7 @@ title: Subgraphs movidos por substreams ## Requisitos -This cookbook requires [yarn](https://yarnpkg.com/), [the dependencies necessary for local Substreams development](https://substreams.streamingfast.io/documentation/consume/installing-the-cli), and the latest version of Graph CLI (>=0.52.0): +Este manual precisa de: [yarn](https://yarnpkg.com/); [as dependências necessárias para o desenvolvimento local da Substreams](https://substreams.streamingfast.io/documentation/consume/installing-the-cli); e a versão mais recente do Graph CLI (>=0.52.0): ``` npm install -g @graphprotocol/graph-cli @@ -93,13 +93,13 @@ Estes tipos e módulos são juntados no `substreams.yaml`: ```yaml specVersion: v0.1.0 package: - name: 'substreams_test' # the name to be used in the .spkg - version: v1.0.1 # the version to use when creating the .spkg + name: 'substreams_test' # o nome a ser usado no .spkg + version: v1.0.1 # a versão a ser usada na criação do .spkg -imports: # dependencies +imports: # dependências entity: https://github.com/streamingfast/substreams-entity-change/releases/download/v0.2.1/substreams-entity-change-v0.2.1.spkg -protobuf: # specifies custom types for use by Substreams modules +protobuf: # especifica tipos personalizados a serem usados por módulos Substreams files: - example.proto importPaths: @@ -110,7 +110,7 @@ binaries: type: wasm/rust-v1 file: ./target/wasm32-unknown-unknown/release/substreams.wasm -modules: # specify modules with their inputs and outputs. +modules: # especifica módulos com suas entradas e saídas - name: map_contract kind: map inputs: @@ -123,7 +123,7 @@ modules: # specify modules with their inputs and outputs. inputs: - map: map_contract output: - type: proto:substreams.entity.v1.EntityChanges # this type can be consumed by Graph Node + type: proto:substreams.entity.v1.EntityChanges # este tipo pode ser consumido pelo Graph Node ``` Podes conferir o "fluxo" geral de um Bloco, de `map_contract` a `graph_out` ao executar o `substreams graph`: @@ -158,7 +158,7 @@ Subgraphs movidos a Substreams introduzem um novo `tipo` de fonte de dados, "sub Esta fonte de dados deve especificar a rede indexada, o pacote de Substreams ('spkg') como um local relativo de arquivos, e o módulo dentro daquele pacote de Substreams que produz mudanças de entidade compatíveis com o subgraph (neste caso 'map_entity_changes', do pacote de Substreams acima). O mapeamento é especificado, mas apenas identifica o tipo de mapeamento ("substreams/graph-entities") e a apiVersion. -> Currently, Subgraph Studio and The Graph Network support Substreams-powered subgraphs which index `mainnet` (Mainnet Ethereum). +> Atualmente, o Subgraph Studio e a Graph Network apoiam subgraphs movidos a Substreams que indexam a `mainnet` (Mainnet do Ethereum). ```yaml specVersion: 0.0.4 From 5bb6c725a5a3ac2c49db5b4f7bec8192596adf86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 4 Jul 2024 21:35:09 -0400 Subject: [PATCH 2115/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Portuguese) --- ...pi-keys-using-nextjs-server-components.mdx | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/website/pages/pt/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/pt/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx index f96f8a4b98ed..03b424569c4c 100644 --- a/website/pages/pt/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx +++ b/website/pages/pt/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -1,48 +1,48 @@ --- -title: How to Secure API Keys Using Next.js Server Components +title: Como Proteger Chaves de API com Componentes do Servidor Next.js --- ## Visão Geral -We can use [Next.js server components](https://nextjs.org/docs/app/building-your-application/rendering/server-components) to properly secure our API key from exposure in the frontend of our dapp. To further increase our API key security, we can also [restrict our API key to certain subgraphs or domains in Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). +Podemos proteger a nossa chave API no frontend do nosso dApp com [componentes do servidor Next.js](https://nextjs.org/docs/app/building-your-application/rendering/server-components). Para ainda mais segurança, também podemos [restringir a nossa chave API a certos domínios ou subgraphs no Subgraph Studio](/cookbook/upgrading-a-subgraph/#securing-your-api-key). -In this cookbook, we will go over how to create a Next.js server component that queries a subgraph while also hiding the API key from the frontend. +Neste manual, veremos como criar um componente de servidor Next.js que faz queries em um subgraph enquanto esconde a chave API do frontend. -### Caveats +### Porém... -- Next.js server components do not protect API keys from being drained using denial of service attacks. -- The Graph Network gateways have denial of service detection and mitigation strategies in place, however using server components may weaken these protections. -- Next.js server components introduce centralization risks as the server can go down. +- Componentes de servidor Next.js não protegem chaves API de extrações durante ataques DDoS (negação distribuída de serviço). +- Os gateways da Graph Network têm estratégias prontas de mitigação e deteção de negação de serviço, mas o uso de componentes de servidor pode enfraquecer estas proteções. +- Componentes de servidor Next.js introduzem riscos de centralização, possibilitando uma derruba do servidor. -### Why It's Needed +### Por Que é Necessário -In a standard React application, API keys included in the frontend code can be exposed to the client-side, posing a security risk. While `.env` files are commonly used, they don't fully protect the keys since React's code is executed on the client side, exposing the API key in the headers. Next.js Server Components address this issue by handling sensitive operations server-side. +Num aplicativo de React normal, chaves API incluídas no código do frontend podem ser expostas ao lado do cliente, o que apresenta um risco de segurança. É normal o uso de arquivos `.env`, mas estes não protegem as chaves por completo, já que o código do React é executado no lado do cliente (client-side), o que expõe a chave API nos headers. Os componentes do servidor Next.js abordam este problema via a execução de operações sensíveis server-side. -### Using client-side rendering to query a subgraph +### Como usar renderização client-side para fazer queries em um subgraph -![Client-side rendering](/img/api-key-client-side-rendering.png) +![Renderização client-side](/img/api-key-client-side-rendering.png) ### Pré-requisitos -- An API key from [Subgraph Studio](https://thegraph.com/studio) -- Basic knowledge of Next.js and React. -- An existing Next.js project that uses the [App Router](https://nextjs.org/docs/app). +- Uma chave API do [Subgraph Studio](https://thegraph.com/studio) +- Conhecimentos básicos de Next.js e React. +- Um projeto Next.js existente que use o [App Router](https://nextjs.org/docs/app). -## Step-by-Step Cookbook +## Manual Passo a Passo -### Step 1: Set Up Environment Variables +### Passo 1: Prepare Variáveis de Ambiente -1. In our Next.js project root, create a `.env.local` file. -2. Add our API key: `API_KEY=`. +1. Na raiz do nosso projeto Next.js, crie um arquivo `env.local`. +2. Adicione a nossa chave API: `API_KEY=`. -### Step 2: Create a Server Component +### Passo 2: Crie um Componente de Servidor -1. In our `components` directory, create a new file, `ServerComponent.js`. -2. Use the provided example code to set up the server component. +1. No nosso diretório `components`, crie um arquivo novo, `ServerComponent.js`. +2. Use o exemplo de código acima para preparar o componente do servidor. -### Step 3: Implement Server-Side API Request +### Passo 3: Implemente o Pedido da API Server-Side -In `ServerComponent.js`, add the following code: +No `ServerComponent.js`, adicione o seguinte código: ```javascript const API_KEY = process.env.API_KEY @@ -95,10 +95,10 @@ export default async function ServerComponent() { } ``` -### Step 4: Use the Server Component +### Passo 4: Utilize o Componente do Servidor -1. In our page file (e.g., `pages/index.js`), import `ServerComponent`. -2. Render the component: +1. No nosso arquivo de página (por ex., `pages/index.js`), importe `Server Component`. +2. Renderize o componente: ```javascript import ServerComponent from './components/ServerComponent' @@ -112,12 +112,12 @@ export default function Home() { } ``` -### Step 5: Run and Test Our Dapp +### Passo 5: Execute e Teste o Nosso dApp -Start our Next.js application using `npm run dev`. Verify that the server component is fetching data without exposing the API key. +Inicie o nosso aplicativo Next.js com `npm run dev`. Verifique se o componente do servidor retira dados sem expor a chave API. -![Server-side rendering](/img/api-key-server-side-rendering.png) +![Renderização server-side](/img/api-key-server-side-rendering.png) ### Conclusão -By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. +Ao utilizar os Componentes de Servidor Next.js, nós praticamente escondemos a chave API do client-side, o que aumenta a segurança do nosso aplicativo. Com este método, operações sensíveis podem ser executadas server-side, longe de vulnerabilidades em potencial no client-side. E finalmente, orientamos que explore [outras medidas de segurança de chave API](/cookbook/upgrading-a-subgraph/#securing-your-api-key) para aumentar ainda mais a sua segurança de chaves API. From 22bbc97f3b255d94a516c96d490dd392b455b81c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 4 Jul 2024 21:35:10 -0400 Subject: [PATCH 2116/2326] New translations deploying-a-subgraph-to-studio.mdx (Portuguese) --- website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx index 56bcfa9fbd09..b37f08c3caee 100644 --- a/website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx @@ -4,7 +4,7 @@ title: Como lançar um Subgraph ao Subgraph Studio > Aprenda como editar subgraphs sem rate limit ao Subgraph Studio [aqui](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). -These are the steps to deploy your subgraph to Subgraph Studio: +Estes são os passos para lançar o seu subgraph no Subgraph Studio: - Instale o The Graph CLI (com yarn ou npm) - Como criar o seu subgraph no Subgraph Studio @@ -13,7 +13,7 @@ These are the steps to deploy your subgraph to Subgraph Studio: ## Como instalar o Graph CLI -There is a CLI to deploy subgraphs to [Subgraph Studio](https://thegraph.com/studio/). Here are the commands to install `graph-cli`. This can be done using npm or yarn. +Há uma CLI para lançar subgraphs ao [Subgraph Studio](https://thegraph.com/studio/). Aqui estão os comandos para instalar a `graph-cli`. Isto pode ser feito com npm ou yarn. **Instalação com o yarn:** From a91fb7715291f86ddcdc9f2a7412a5cff0ccb50b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 4 Jul 2024 21:35:11 -0400 Subject: [PATCH 2117/2326] New translations subgraph-studio-faqs.mdx (Portuguese) --- website/pages/pt/deploying/subgraph-studio-faqs.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/pt/deploying/subgraph-studio-faqs.mdx b/website/pages/pt/deploying/subgraph-studio-faqs.mdx index 84f8a0d1ae29..512502e6d5d4 100644 --- a/website/pages/pt/deploying/subgraph-studio-faqs.mdx +++ b/website/pages/pt/deploying/subgraph-studio-faqs.mdx @@ -8,7 +8,7 @@ O [Subgraph Studio](https://thegraph.com/studio/) é um dapp para criar, gerir e ## 2. Como criar uma Chave de API? -To create an API, navigate to Subgraph Studio and connect your wallet. You will be able to click the API keys tab at the top. There, you will be able to create an API key. +Para criar uma API, navegue até o Subgraph Studio e conecte a sua carteira. Logo, clique na aba API Keys (Chaves de API); lá poderá criar uma chave API. ## 3. Posso criar várias Chaves de API? @@ -20,12 +20,12 @@ Após criar uma Chave de API, na seção de Segurança (Security), pode definir ## 5. Posso transferir meu subgraph para outro dono? -Yes, subgraphs that have been published to Arbitrum One can be transferred to a new wallet or a Multisig. You can do so by clicking the three dots next to the 'Publish' button on the subgraph's details page and selecting 'Transfer ownership'. +Sim. Subgraphs editados no Arbitrum One podem ser transferidos para uma nova carteira ou uma Multisig. Para isto, clique nos três pontos próximos ao botão 'Publish' (Publicar) na página de detalhes do subgraph e selecione 'Transfer ownership' (Transferir titularidade). Note que após a transferência, não poderá mais ver ou alterar o subgraph no Studio. ## 6. Se eu não for o programador do subgraph que quero usar, como encontro URLs de query para subgraphs? -You can find the query URL of each subgraph in the Subgraph Details section of Graph Explorer. When you click on the “Query” button, you will be directed to a pane wherein you can view the query URL of the subgraph you’re interested in. You can then replace the `` placeholder with the API key you wish to leverage in Subgraph Studio. +A URL de query para cada subgraph está na seção Subgraph Details (Detalhes de Subgraph) do The Graph Explorer. O botão "Query" (Consulta) te levará a um painel com a URL de query do subgraph de seu interesse. Você pode então substituir o espaço `` com a chave de API que quer usar no Subgraph Studio. Lembre-se que, mesmo se construir um subgraph por conta própria, ainda poderá criar uma chave de API e consultar qualquer subgraph publicado na rede. Estes queries através da nova chave API são pagos, como quaisquer outros na rede. From 3f905d4136830c632fbfc2e8f5291cad3023ede4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 4 Jul 2024 21:35:12 -0400 Subject: [PATCH 2118/2326] New translations subgraph-studio.mdx (Portuguese) --- .../pages/pt/deploying/subgraph-studio.mdx | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/website/pages/pt/deploying/subgraph-studio.mdx b/website/pages/pt/deploying/subgraph-studio.mdx index f1d5cd93b95f..a65ac82f232a 100644 --- a/website/pages/pt/deploying/subgraph-studio.mdx +++ b/website/pages/pt/deploying/subgraph-studio.mdx @@ -1,12 +1,12 @@ --- -title: How to Use Subgraph Studio +title: Como Usar o Subgraph Studio --- Bem-vindo ao seu novo ponto de partida 👩🏽‍🚀 -Subgraph Studio is your place to build and create subgraphs, add metadata, and publish them to the new decentralized Explorer (more on that [here](/network/explorer)). +O Subgraph Studio é o melhor lugar para construir e criar subgraphs, adicionar metadados, e editá-los no novo Explorer descentralizado (mais sobre isto [aqui](/network/explorer)). -What you can do in Subgraph Studio: +O que é possível no Subgraph Studio: - Criar um subgraph através da UI (interface de utilizador) do Studio - Lançar um subgraph com a CLI @@ -15,7 +15,7 @@ What you can do in Subgraph Studio: - Integrá-lo na encenação com a URL de query - Criar e gerir as suas chaves de API para subgraphs específicos -Here in Subgraph Studio, you have full control over your subgraphs. Not only can you test your subgraphs before you publish them, but you can also restrict your API keys to specific domains and only allow certain Indexers to query from their API keys. +No Subgraph Studio, tens controle total sobre os seus subgraphs. Pode não só testar os seus subgraphs antes de publicá-los, mas também restringir as suas chaves de API a domínios específicos e permitir que apenas certos indexadores possam consultar das suas chaves de API. Consultar subgraphs gera taxas de consulta, usadas para recompensar [Indexers](/network/indexing) na rede Graph. Se és um desenvolvedor de dApps ou de subgraphs, o Studio dará-lhe o poder para construir subgraphs melhores e, com eles, mover as suas consultas ou as da sua comunidade. O Studio é composto de 5 partes principais: @@ -27,7 +27,7 @@ Consultar subgraphs gera taxas de consulta, usadas para recompensar [Indexers](/ ## Como Criar a Sua Conta -1. Sign in with your wallet - you can do this via MetaMask, WalletConnect, Coinbase Wallet or Safe. +1. Cadastre-se com a sua carteira - via MetaMask, WalletConnect, Coinbase Wallet ou Safe. 1. Quando entrar, verás a sua chave de lançamento (deploy key) única na página principal da sua conta. Isto permitirá-lhe editar os seus subgraphs ou gerir as suas chaves de API e cobranças. Terá uma chave de lançamento única que pode ser gerada novamente, caso suspeite que ela foi comprometida. ## Como Criar um Subgraph no Subgraph Studio @@ -36,7 +36,7 @@ Consultar subgraphs gera taxas de consulta, usadas para recompensar [Indexers](/ ## Compatibilidade de Subgraph com a Graph Network -In order to be supported by Indexers on The Graph Network, subgraphs must: +Para ter apoio de Indexadores na Graph Network, os subgraphs devem: - Indexar uma [rede apoiada](/developing/supported-networks) - Não deve usar quaisquer das seguintes características: @@ -50,7 +50,7 @@ Mais características & redes serão adicionadas, pouco a pouco, à Graph Networ ![Ciclo de Vida de um Subgraph](/img/subgraph-lifecycle.png) -After you have created your subgraph, you will be able to deploy it using the [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli), or command-line interface. Deploying a subgraph with the CLI will push the subgraph to the Studio where you’ll be able to test subgraphs using the playground. This will eventually allow you to publish to the Graph Network. For more information on CLI setup, [check this out](/developing/defining-a-subgraph#install-the-graph-cli) (psst, make sure you have your deploy key on hand). Remember, deploying is **not the same as** publishing. When you deploy a subgraph, you just push it to the Studio where you’re able to test it. Versus, when you publish a subgraph, you are publishing it on-chain. +Após ter criado o seu subgraph, poderás lançá-lo com a [CLI](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) (interface de linha de comando). Lançar um subgraph com a CLI envia o subgraph ao Studio, onde poderás testar subgraphs com o playground. Isto logo permitirá que edite no Graph Network. Para mais informações sobre preparar a CLI, [clique aqui](/developing/defining-a-subgraph#install-the-graph-cli) (e não se esqueça de ter a sua chave de lançamento em mãos!). Lembre-se, **lançar não é a mesma coisa que editar.** Ao lançar um subgraph, é só enviá-lo ao Studio, onde podes testá-lo. Quando um subgraph é editado, ele é publicado on-chain. ## Como Testar o Seu Subgraph no Subgraph Studio @@ -60,13 +60,13 @@ Se gostaria de testar o seu subgraph antes de editá-lo na rede, podes fazer ist Parabéns por ter chegado tão longe! -In order to publish your subgraph successfully, you’ll need to go through the following steps outlined in this [section](/publishing/publishing-a-subgraph/). +Para poder editar o seu subgraph com êxito, siga os passos detalhados <[neste blog](/publishing/publishing-a-subgraph/). Confira o vídeo abaixo também: -Remember, while you’re going through your publishing flow, you’ll be able to push to either Arbitrum One or Arbitrum Sepolia. If you’re a first-time subgraph developer, we highly suggest you start with publishing to Arbitrum Sepolia, which is free to do. This will allow you to see how the subgraph will work in Graph Explorer and will allow you to test curation elements. +Lembre-se, enquanto passas pelo seu fluxo de publicação, poderá enviar pushes para o Arbitrum One ou o Arbitrum Sepolia. Se for um programador noviço de subgraph, recomendamos que comece a editar no Sepolia, que é gratuito. Isto permite-lhe ver como o subgraph funcionará no The Graph Explorer e testar elementos de curadoria. Os indexadores devem emitir relatos obrigatórios de Prova de Indexação a partir de um hash de bloco específico. Como editar um subgraph é feito on-chain, lembre-se que a transação pode demorar alguns minutos para ser aceita. Seja qual for o endereço que usar para publicar o contrato, será o único com a capacidade de publicar versões futuras. Escolha com cuidado! @@ -76,14 +76,14 @@ Subgraphs com sinal de curadoria são exibidos aos Indexadores para que eles pos ## Fazendo Versões do Seu Subgraph com a CLI -Developers might want to update their subgraph, for a variety of reasons. When this is the case, you can deploy a new version of your subgraph to the Studio using the CLI (it will only be private at this point) and if you are happy with it, you can publish this new deployment to Graph Explorer. This will create a new version of your subgraph that curators can start signaling on and Indexers will be able to index this new version. +Os programadores podem querer atualizar o seu subgraph por uma variedade de razões. Neste caso, dá para lançar uma nova versão do seu subgraph ao Studio com a CLI (só será privado neste ponto), e se ficar feliz com ela, esta poderá ser publicada no The Graph Explorer. Isto criará uma nova versão do seu subgraph que os curadores podem começar a sinalizar, e os Indexadores poderão indexar esta nova versão. -Up until recently, developers were forced to deploy and publish a new version of their subgraph to the Explorer to update the metadata of their subgraphs. Now, developers can update the metadata of their subgraphs **without having to publish a new version**. Developers can update their subgraph details in the Studio (under the profile picture, name, description, etc) by checking an option called **Update Details** in Graph Explorer. If this is checked, an on-chain transaction will be generated that updates subgraph details in the Explorer without having to publish a new version with a new deployment. +Até recentemente, para atualizar os metadados dos seus subgraphs, os programadores eram obrigados a lançar e editar uma nova versão do seu subgraph ao Explorer. Agora, podem atualizar os metadados dos seus subgraphs **sem precisar publicar uma versão nova**. Os desenvolvedores podem atualizar seus detalhes de subgraph no Studio (sob a imagem de perfil, nome, descrição, etc.) com uma opção chamada **Update Details (Atualizar Detalhes)** no Graph Explorer. Se conferida, será gerada uma transação on-chain que atualiza os detalhes do subgraph no Explorer sem precisar editar uma versão nova com um lançamento novo. Por favor, lembra-se que há custos associados com a edição da nova versão de um subgraph à rede. Além das taxas de transação, os programadores também devem bancar uma parte da taxa de curadoria no sinal de automigração. Se os curadores não sinalizarem na nova versão do seu subgraph, não dá para editá-la. Para mais informações sobre os riscos da curadoria, leia mais [aqui](/network/curating). ### Arquivamento Automático de Versões de Subgraphs -Whenever you deploy a new subgraph version in Subgraph Studio, the previous version will be archived. Archived versions won't be indexed/synced and therefore cannot be queried. You can unarchive an archived version of your subgraph in the Studio UI. Please note that previous versions of non-published subgraphs deployed to the Studio will be automatically archived. +Quando lançar uma nova versão de subgraph no Subgraph Studio, a versão anterior será arquivada. Versões arquivadas não serão indexadas ou sincronizadas; assim, não são sujeitas a queries. Versões arquivadas do seu subgraph podem ser resgatadas na UI do Studio; as versões anteriores de subgraphs não editados lançados ao Studio serão arquivadas automaticamente. ![Subgraph Studio — Tirar do Arquivo](/img/Unarchive.png) From eb0b6f2df49996143e242cc56be3e5a9ddd9a776 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 4 Jul 2024 21:35:13 -0400 Subject: [PATCH 2119/2326] New translations grafting.mdx (Portuguese) --- website/pages/pt/cookbook/grafting.mdx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/website/pages/pt/cookbook/grafting.mdx b/website/pages/pt/cookbook/grafting.mdx index e2b2772b71f9..c92b438ecfdd 100644 --- a/website/pages/pt/cookbook/grafting.mdx +++ b/website/pages/pt/cookbook/grafting.mdx @@ -26,7 +26,7 @@ Neste tutorial, cobriremos um caso de uso básico. Substituiremos um contrato ex ## Notas Importantes sobre Enxertos ao Migrar Para a Graph Network -> **Caution**: It is recommended to not use grafting for subgraphs published to The Graph Network +> **Cuidado:** Recomendamos fortemente não usar enxertos para subgraphs publicados na Graph Network ### Qual a Importância Disto? @@ -42,7 +42,7 @@ Ao aderir a estas diretrizes, dá para minimizar riscos e garantir um processo d ## Como Construir um Subgraph Existente -Building subgraphs is an essential part of The Graph, described more in depth [here](/quick-start/). To be able to build and deploy the existing subgraph used in this tutorial, the following repo is provided: +Construir subgraphs é essencial para o Graph; o processo é descrito em mais detalhes [aqui](/quick-start/). Para poder construir e lançar o subgraph existente usado neste tutorial, há o seguinte repo: - [Exemplo de repo de subgraph](https://github.com/Shiyasmohd/grafting-tutorial) @@ -80,7 +80,7 @@ dataSources: ``` - A fonte de dados `Lock` é o abi e o endereço do contrato que receberemos ao compilar e lançar o contrato -- The network should correspond to a indexed network being queried. Since we're running on Sepolia testnet, the network is `sepolia` +- A rede deve corresponder a uma rede indexada a ser consultada em query. Como executamos na testnet Sepolia, a rede é `sepolia` - A seção `mapping` define os gatilhos de interesse e as funções que devem ser executadas em resposta àqueles gatilhos. Neste caso, esperamos o evento `Withdrawal` e chamaremos a função `handleWithdrawal` quando o evento for emitido. ## Definição de Manifest de Enxertos @@ -96,14 +96,14 @@ graft: block: 5956000 # block number ``` -- `features:` is a list of all used [feature names](/developing/creating-a-subgraph/#experimental-features). +- `features`: uma lista de todos os nomes de [feature](#experimental-features) usados. - `graft:` um mapa do subgraph `base` e o bloco que o enxertará. O `block` é o número do bloco de onde a indexação começará. O Graph então copiará os dados do subgraph base, até e incluindo o bloco dado, e então continuará a indexar o novo subgraph a partir daquele bloco. Os valores `base` e `block` podem ser encontrados ao lançar dois subgraphs: um para a indexação base e um com o enxerto ## Como Lançar o Subgraph Base -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-example` +1. Vá para o [Subgraph Studio](https://thegraph.com/studio/) e crie um subgraph na testnet Goerli chamado `graft-example` 2. Siga as direções na seção `AUTH & DEPLOY` na página do seu subgraph, na pasta `graft-example` do repo 3. Ao terminar, verifique que o subgraph está a indexar corretamente. Se executar o seguinte comando no The Graph Playground @@ -144,8 +144,8 @@ Após verificar que o subgraph está a indexar corretamente, será possível atu O subgraph.yaml do substituto terá um novo endereço de contrato. Isto pode acontecer quando atualizar o seu dapp, relançar um contrato, etc. -1. Go to [Subgraph Studio](https://thegraph.com/studio/) and create a subgraph on Sepolia testnet called `graft-replacement` -2. Create a new manifest. The `subgraph.yaml` for `graph-replacement` contains a different contract address and new information about how it should graft. These are the `block` of the [last event emitted](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) you care about by the old contract and the `base` of the old subgraph. The `base` subgraph ID is the `Deployment ID` of your original `graph-example` subgraph. You can find this in Subgraph Studio. +1. Vá para o [Subgraph Studio](https://thegraph.com/studio/) e crie um subgraph na testnet Sepolia chamado `graft-replacement` +2. Crie um novo manifest. O `subgraph.yaml` para o `graph-replacement` contém um endereço de contrato diferente e novas informações sobre como ele deve enxertar. Estes são o `block` do [último evento emitido](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452) de seu interesse pelo contrato antigo, e o `base` do subgraph antigo. O ID do subgraph `base` é o `Deployment ID` do seu subgraph `graph-example`. Isto está disponível no UI do Graph Studio. 3. Siga as direções na seção `AUTH & DEPLOY` na página do seu subgraph, na pasta `graft-replacement` do repo 4. Ao terminar, verifique que o subgraph está a indexar corretamente. Se executar o seguinte comando no The Graph Playground @@ -185,9 +185,9 @@ Ele deve retornar algo como: } ``` -You can see that the `graft-replacement` subgraph is indexing from older `graph-example` data and newer data from the new contract address. The original contract emitted two `Withdrawal` events, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) and [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). The new contract emitted one `Withdrawal` after, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). The two previously indexed transactions (Event 1 and 2) and the new transaction (Event 3) were combined together in the `graft-replacement` subgraph. +É possível ver que o subgraph `graft-replacement` indexa a partir de dados mais antigos do `graph-example` e de dados mais novos do novo endereço de contrato. O contrato original emitiu dois eventos `Withdrawal`, [Event 1](https://sepolia.etherscan.io/tx/0xe8323d21c4f104607b10b0fff9fc24b9612b9488795dea8196b2d5f980d3dc1d) e [Event 2](https://sepolia.etherscan.io/tx/0xea1cee35036f2cacb72f2a336be3e54ab911f5bebd58f23400ebb8ecc5cfc452). O novo contrato emitiu um `Withdrawal` depois, [Event 3](https://sepolia.etherscan.io/tx/0x2410475f76a44754bae66d293d14eac34f98ec03a3689cbbb56a716d20b209af). As duas transações indexadas anteriormente (Event 1 e 2) e a nova transação (Event 3) foram combinadas no subgraph `graft-replacement`. -Congrats! You have successfully grafted a subgraph onto another subgraph. +Parabéns! Enxertaste um subgraph em outro subgraph. ## Outros Recursos @@ -197,6 +197,6 @@ Caso queira mais experiência com enxertos, veja alguns exemplos de contratos po - [ERC-721](https://github.com/messari/subgraphs/blob/master/subgraphs/erc721-metadata/subgraph.yaml) - [Uniswap](https://github.com/messari/subgraphs/blob/master/subgraphs/uniswap-v3-forks/protocols/uniswap-v3/config/templates/uniswapV3Template.yaml), -To become even more of a Graph expert, consider learning about other ways to handle changes in underlying datasources. Alternatives like [Data Source Templates](/developing/creating-a-subgraph/#data-source-templates) can achieve similar results +Para se tornar especialista no The Graph, aprenda sobre outras maneiras de cuidar de mudanças em fontes de dados subjacentes. Alternativas como [Modelos de Fontes de Dados](/developing/creating-a-subgraph/#data-source-templates) podem dar resultados parecidos > Nota: Grande parte do material deste artigo foi tirado do [artigo sobre o Arweave](/cookbook/arweave/) From 716049ec02b45e5616fa11f7c7ffa6859a22188c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 5 Jul 2024 16:29:51 -0400 Subject: [PATCH 2120/2326] New translations upgrading-a-subgraph.mdx (Portuguese) --- .../pt/cookbook/upgrading-a-subgraph.mdx | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/website/pages/pt/cookbook/upgrading-a-subgraph.mdx b/website/pages/pt/cookbook/upgrading-a-subgraph.mdx index 188e580499b0..cd93c722f1e8 100644 --- a/website/pages/pt/cookbook/upgrading-a-subgraph.mdx +++ b/website/pages/pt/cookbook/upgrading-a-subgraph.mdx @@ -10,29 +10,29 @@ O processo é rápido, e os seus subgraphs só tem a ganhar com a confiabilidade ### Pré-requisitos -- You have a subgraph deployed on the hosted service. +- Ter um subgraph editado no serviço hospedado. ## Como Atualizar um Subgraph Existente à Graph Network -If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from [your dashboard](https://thegraph.com/hosted-service/dashboard), or from an individual subgraph page. +Se estiver logado no serviço hospedado, podes acessar um fluxo simples para atualizar os seus subgraphs do [seu painel](https://thegraph.com/hosted-service/dashboard), ou de uma página de um subgraph individual. -> This process typically takes less than five minutes. +> Este processo não costuma levar mais que cinco minutos. 1. Selecione o(s) subgraph(s) que queres atualizar. -2. Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph). +2. Conecte ou insira a carteira destinatária (a carteira que será a dona do subgraph). 3. Clique no botão "Upgrade". -That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the [Subgraph Studio](https://thegraph.com/studio/) to manage your subgraphs, logging in with the wallet specified during the upgrade process. +Pronto! Os seus subgraphs serão editados ao Subgraph Studio e publicados na Graph Network. É possível acessar o [Subgraph Studio](https://thegraph.com/studio/) para gerir os seus subgraphs após fazer login com a carteira especificada durante o processo de atualização. -You'll be able to view your subgraphs live on the decentralized network via [Graph Explorer](https://thegraph.com/explorer). +Poderá ver os seus subgraphs ao vivo na rede descentralizada via [Graph Explorer](https://thegraph.com/explorer). -### What next? +### E agora? -When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is [fully supported by The Graph Network](/developing/supported-networks), you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service. +Quando o seu subgraph for atualizado, será indexado automaticamente pelo indexador de atualização. Se a chain indexada for [totalmente apoiada pela Graph Network](/developing/supported-networks), podes adicionar um pouco de GRT como "sinal" para atrair mais Indexadores. Recomendamos curar o seu subgraph com no mínimo 3000 GRT para atrair 2 ou 3 Indexadores, para uma qualidade maior de serviço. -You can start to query your subgraph right away on The Graph Network, once you have generated an API key. +Podes começar a consultar o seu subgraph imediatamente na Graph Network após gerar uma chave API. ### Como criar uma chave API @@ -40,9 +40,9 @@ You can start to query your subgraph right away on The Graph Network, once you h ![Página de criação de chave API](/img/api-image.png) -You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system. +Podes usar esta chave API para consultar subgraphs em queries na Graph Network. Todos os utilizadores começam no Plano Grátis, que inclui 100 mil queries grátis por mês. Programadores podem assinar o Plano de Crescimento ao conectar um cartão de crédito ou débito, ou depositar GRT, ao sistema de cobranças do Subgraph Studio. -> Note: see the [billing documentation](../billing) for more information on plans, and on managing your billing on Subgraph Studio. +> Nota: confira a [documentação das cobranças](../billing) para mais informações sobre planos e a gestão das suas cobranças no Subgraph Studio. ### Como proteger a sua chave API @@ -51,13 +51,13 @@ You can use this API key to query subgraphs on The Graph Network. All users star 1. Subgraphs Autorizados 2. Domínio Autorizado -You can secure your API key [here](https://thegraph.com/studio/apikeys/). +A sua chave API pode ser guardada [aqui](https://thegraph.com/studio/apikeys/). ![Página de trancamento de subgraphs](/img/subgraph-lockdown.png) ### Como consultar o seu subgraph na rede descentralizada -Now you can check the indexing status of the Indexers on the network in Graph Explorer (example [here](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph. +Agora é possível verificar o estado dos Indexadores da rede no Graph Explorer (exemplo [aqui](https://thegraph.com/explorer/subgraphs/Dtj2HicXKpoUjNB7ffdBkMwt3L9Sz3cbENd67AdHu6Vb?view=Indexers&chain=arbitrum-one)). A linha verde no topo indica que na hora da postagem, 7 Indexadores indexaram aquele subgraph com sucesso. Na aba do Indexador, dá para ver quais Indexadores captaram seu subgraph. ![Subgraph do Rocket Pool](/img/rocket-pool-subgraph.png) @@ -85,16 +85,16 @@ Veja mais informações sobre a rede, e como lidar com reorganizações, no arti ## Como Atualizar um Subgraph na Rede -If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI. +É possível atualizar um subgraph já existente na rede ao lançar uma nova versão do seu subgraph ao Subgraph Studio, através do Graph CLI. -1. Make changes to your current subgraph. +1. Faça mudanças no seu subgraph atual. 2. Lance o seguinte e especifique a nova versão no comando (por ex. v0.0.1, v0.0.2, etc.): ```sh graph deploy --studio --version ``` -3. Test the new version in Subgraph Studio by querying in the playground +3. Teste a nova versão no Subgraph Studio com queries no playground 4. Publique a nova versão na rede do The Graph. Não esqueça que isto exige gas (como descrito acima). ### Sobre as Taxas de Upgrade para o Dono @@ -121,7 +121,7 @@ Subgraphs são APIs abertas usadas por programadores externos. As APIs abertas d ### Como Atualizar os Metadados de um Subgraph -You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields. +Os metadados dos seus subgraphs podem ser atualizados sem precisar editar uma versão nova. Os metadados incluem o nome do subgraph, a imagem, a descrição, o URL do site, o URL do código fonte, e categorias. Os programadores podem fazer isto com uma atualização dos detalhes de seus subgraphs no Subgraph Studio, onde todos os campos aplicáveis podem ser editados. Marque a opção **Update Subgraph Details in Explorer\* (Atualizar Detalhes do Subgraph no Explorador) e clique em **Save\*\* (Salvar). Se marcada, será gerada uma transação on-chain que atualiza detalhes do subgraph no Explorer, sem precisar publicar uma nova versão com um novo lançamento. @@ -142,7 +142,7 @@ Siga os passos [aqui](/managing/deprecating-a-subgraph) para depreciar o seu sub O Serviço Hospedado foi preparado para que os programadores lancem os seus subgraphs sem qualquer restrição. -On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation [here](/billing/). +Na Graph Network, é necessário pagar taxas de query como uma parte essencial dos incentivos do protocolo. Para saber mais sobre subscrições em APIs e pagamentos de taxas de query, confira a documentação das cobranças [aqui](/billing/). ## Outros Recursos From 95095d53fea0194659be091f5021edf6e630d7a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 5 Jul 2024 16:29:52 -0400 Subject: [PATCH 2121/2326] New translations immutable-entities-bytes-as-ids.mdx (Portuguese) --- .../immutable-entities-bytes-as-ids.mdx | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx index 4a7da2850804..d4a347e68243 100644 --- a/website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx +++ b/website/pages/pt/cookbook/immutable-entities-bytes-as-ids.mdx @@ -1,14 +1,14 @@ --- -title: Subgraph Best Practice 3 - Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs +title: Boas Práticas de Subgraph 3 - Como Melhorar o Desempenho da Indexação e de Queries com Entidades Imutáveis e Bytes como IDs --- ## TLDR -Using Immutable Entities and Bytes for IDs in our `schema.graphql` file [significantly improves ](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) indexing speed and query performance. +Usar Entidades Imutáveis e Bytes como IDs no nosso arquivo `schema.graphql` [acelera muito](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/) a indexação e o desempenho das queries. -## Immutable Entities +## Entidades Imutáveis -To make an entity immutable, we simply add `(immutable: true)` to an entity. +Para fazer uma entidade imutável, basta adicionar `(immutable: true)` a uma entidade. ```graphql type Transfer @entity(immutable: true) { @@ -19,21 +19,21 @@ type Transfer @entity(immutable: true) { } ``` -By making the `Transfer` entity immutable, graph-node is able to process the entity more efficiently, improving indexing speeds and query responsiveness. +Ao tornar a entidade `Transfer` imutável, o graph-node pode processá-la com mais eficácia, o que melhora as velocidades de indexação e a capacidade de resposta das queries. -Immutable Entities structures will not change in the future. An ideal entity to become an Immutable Entity would be an entity that is directly logging on-chain event data, such as a `Transfer` event being logged as a `Transfer` entity. +Estruturas de Entidades Imutáveis não mudarão no futuro. Uma entidade ideal para se tornar Imutável seria uma que grava diretamente dados de eventos on-chain; por exemplo, um evento `Transfer` gravado como uma entidade `Transfer`. -### Under the hood +### De dentro da casca -Mutable entities have a 'block range' indicating their validity. Updating these entities requires the graph node to adjust the block range of previous versions, increasing database workload. Queries also need filtering to find only live entities. Immutable entities are faster because they are all live and since they won't change, no checks or updates are required while writing, and no filtering is required during queries. +Entidades mutáveis tem um `block range` (alcance de bloco) que indica a sua validade. Atualizar estas entidades exige que o graph-node ajuste o alcance de bloco de versões anteriores, o que aumenta a carga de trabalho do banco de dados. Queries também precisam de filtragem para encontrar apenas entidades vivas. Entidades imutáveis são mais rápidas por serem todas vivas, e como não mudam, nenhuma verificação ou atualização é necessária durante a escrita, e nenhuma filtragem é necessária durante queries. -### When not to use Immutable Entities +### Quando não usar Entidades Imutáveis -If you have a field like `status` that needs to be modified over time, then you should not make the entity immutable. Otherwise, you should use immutable entities whenever possible. +Se tiver um campo como `status` que precise ser gradualmente modificado, então esta entidade não deve ser imutável. Fora isto, é recomendado usar entidades imutáveis sempre que possível. -## Bytes as IDs +## Bytes como IDs -Every entity requires an ID. In the previous example, we can see that the ID is already of the Bytes type. +Toda entidade requer uma ID. No exemplo anterior, vemos que a ID já é do tipo Bytes. ```graphql type Transfer @entity(immutable: true) { @@ -44,19 +44,19 @@ type Transfer @entity(immutable: true) { } ``` -While other types for IDs are possible, such as String and Int8, it is recommended to use the Bytes type for all IDs due to character strings taking twice as much space as Byte strings to store binary data, and comparisons of UTF-8 character strings must take the locale into account which is much more expensive than the bytewise comparison used to compare Byte strings. +Enquanto outros tipos de IDs são possíveis, como String e Int8, recomendamos usar o tipo Bytes para todas as IDs porque strings de caracteres ocupam o dobro do espaço ocupado por strings de Byte para armazenar dados, e comparações de strings de caracteres em UTF-8 devem levar em conta o local, que é muito mais caro que a comparação em byte usada para comparar strings em Byte. -### Reasons to Not Use Bytes as IDs +### Razões para Não Usar Bytes como IDs -1. If entity IDs must be human-readable such as auto-incremented numerical IDs or readable strings, Bytes for IDs should not be used. -2. If integrating a subgraph’s data with another data model that does not use Bytes as IDs, Bytes as IDs should not be used. -3. Indexing and querying performance improvements are not desired. +1. Se IDs de entidade devem ser legíveis para humanos, como IDs numéricas automaticamente incrementadas ou strings legíveis, então Bytes como IDs não devem ser usados. +2. Em caso de integração dos dados de um subgraph com outro modelo de dados que não usa Bytes como IDs, então Bytes como IDs não devem ser usados. +3. Melhorias no desempenho de indexação e queries não são desejáveis. -### Concatenating With Bytes as IDs +### Concatenação com Bytes como IDs -It is a common practice in many subgraphs to use string concatenation to combine two properties of an event into a single ID, such as using `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. However, as this returns a string, this significantly impedes subgraph indexing and querying performance. +É comum em vários subgraphs usar a concatenação de strings para combinar duas propriedades de um evento em uma ID única, como o uso de `event.transaction.hash.toHex() + "-" + event.logIndex.toString()`. Mas como isto retorna um string, isto impede muito o desempenho da indexação e queries de subgraphs. -Instead, we should use the `concatI32()` method to concatenate event properties. This strategy results in a `Bytes` ID that is much more performant. +Em vez disto, devemos usar o método `concatI32()` para concatenar propriedades de evento. Esta estratégia resulta numa ID `Bytes` que tem um desempenho muito melhor. ```typescript export function handleTransfer(event: TransferEvent): void { @@ -73,9 +73,9 @@ export function handleTransfer(event: TransferEvent): void { } ``` -### Sorting With Bytes as IDs +### Organização com Bytes como IDs -Sorting using Bytes as IDs is not optimal as seen in this example query and response. +A organização com Bytes como IDs não é o melhor recurso, como visto neste exemplo de query e resposta. Query: @@ -90,7 +90,7 @@ Query: } ``` -Query response: +Resposta de query: ```json { @@ -119,9 +119,9 @@ Query response: } ``` -The IDs are returned as hex. +As IDs são retornadas como hex. -To improve sorting, we should create another field on the entity that is a BigInt. +Para melhorar a organização, devemos criar outro campo na entidade que seja um BigInt. ```graphql type Transfer @entity { @@ -133,7 +133,7 @@ type Transfer @entity { } ``` -This will allow for sorting to be optimized sequentially. +Isto otimizará sequencialmente a organização. Query: @@ -146,7 +146,7 @@ Query: } ``` -Query Response: +Resposta de query: ```json { @@ -171,6 +171,6 @@ Query Response: ## Conclusão -Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. +É comprovado que usar Entidades Imutáveis e Bytes como IDs aumenta muito a eficiência de subgraphs. Especificamente, segundo testes, houve um aumento de até 28% no desempenho de queries e uma aceleração de até 48% em velocidades de indexação. -Read more about using Immutable Entities and Bytes as IDs in this blog post by David Lutterkort, a Software Engineer at Edge & Node: [Two Simple Subgraph Performance Improvements](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). +Leia mais sobre o uso de Entidades Imutáveis e Bytes como IDs nesta publicação por David Lutterkort, Engenheiro de Software na Edge & Node: [Duas Melhorias Simples no Desempenho de Subgraphs](https://thegraph.com/blog/two-simple-subgraph-performance-improvements/). From 0eae737b2ad0413e66180eac460305b9347cf13f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 5 Jul 2024 16:29:53 -0400 Subject: [PATCH 2122/2326] New translations pruning.mdx (Portuguese) --- website/pages/pt/cookbook/pruning.mdx | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/website/pages/pt/cookbook/pruning.mdx b/website/pages/pt/cookbook/pruning.mdx index 2fbc1e401448..e7abf0788ae1 100644 --- a/website/pages/pt/cookbook/pruning.mdx +++ b/website/pages/pt/cookbook/pruning.mdx @@ -1,22 +1,22 @@ --- -title: Subgraph Best Practice 1 - Improve Query Speed with Subgraph Pruning +title: Boas Práticas de Subgraph 1 - Acelerar Queries com Pruning --- ## TLDR -[Pruning](/developing/creating-a-subgraph/#prune) removes archival entities from the subgraph’s database up to a given block, and removing unused entities from a subgraph’s database will improve a subgraph’s query performance, often dramatically. Using `indexerHints` is an easy way to prune a subgraph. +O [pruning](/developing/creating-a-subgraph/#prune) retira entidades de arquivo do banco de dados de um subgraph até um bloco especificado; e retirar entidades não usadas do banco de dados de um subgraph tende a melhorar muito o desempenho de queries de um subgraph. Usar o `indexerHints` é uma maneira fácil de fazer o pruning de um subgraph. -## How to Prune a Subgraph With `indexerHints` +## Como Fazer Pruning de um Subgraph com `indexerHints` -Add a section called `indexerHints` in the manifest. +Adicione uma secção chamada `indexerHints` ao manifest. -`indexerHints` has three `prune` options: +O `indexerHints` tem três opções de `prune`: -- `prune: auto`: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all subgraphs created by `graph-cli` >= 0.66.0. -- `prune: `: Sets a custom limit on the number of historical blocks to retain. -- `prune: never`: No pruning of historical data; retains the entire history and is the default if there is no `indexerHints` section. `prune: never` should be selected if [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired. +- `prune: auto`: Guarda o histórico mínimo necessário, conforme configurado pelo Indexador, para otimizar o desempenho dos queries. Esta é a configuração geralmente recomendada e é padrão para todos os subgraphs criados pela `graph-cli` >= 0.66.0. +- `prune: `: Determina um limite personalizado no número de blocos históricos a serem retidos. +- `prune: never`: Nenhum pruning de dados históricos; guarda o histórico completo e é o padrão caso não haja uma secção `indexerHints`. O `prune: never` deve ser selecionado caso queira [Queries de Viagem no Tempo](/querying/graphql-api/#time-travel-queries). -We can add `indexerHints` to our subgraphs by updating our `subgraph.yaml`: +Podemos adicionar `indexerHints` aos nossos subgraphs ao atualizar o nosso `subgraph.yaml`: ```yaml specVersion: 1.0.0 @@ -30,12 +30,12 @@ dataSources: network: mainnet ``` -## Important Considerations +## Considerações Importantes -- If [Time Travel Queries](/querying/graphql-api/#time-travel-queries) are desired as well as pruning, pruning must be performed accurately to retain Time Travel Query functionality. Due to this, it is generally not recommended to use `indexerHints: prune: auto` with Time Travel Queries. Instead, prune using `indexerHints: prune: ` to accurately prune to a block height that preserves the historical data required by Time Travel Queries, or use `prune: never` to maintain all data. +- Se quiser fazer [Queries de Viagem no Tempo](/querying/graphql-api/#time-travel-queries) junto com pruning, o pruning deve ser realizado com precisão para manter a funcionalidade das Queries de Viagem no Tempo. Portanto, não recomendamos usar `indexerHints: prune: auto` com Queries de Viagem no Tempo. Em vez disto, use `indexerHints: prune: ` para fazer um pruning preciso até uma altura de bloco que preserve os dados históricos requeridos por Queries de Viagem no Tempo, ou use o `prune: never` para manter todos os dados. -- It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). +- Não é possível criar [enxertos](/cookbook/grafting/) a uma altura de bloco que já tenha passado por pruning. Se enxertos forem realizados com frequência e o pruning for desejado, recomendamos usar `indexerHints: prune: ` que guardarão com precisão um número determinado de blocos (por ex., o suficiente para seis meses). ## Conclusão -Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. +O pruning com `indexerHints` é uma boa prática para o desenvolvimento de subgraphs que oferece melhorias significativas no desempenho de queries. From a2d0f6dc483054abe3ae84bf88ca18a9f5f8d021 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 5 Jul 2024 16:29:54 -0400 Subject: [PATCH 2123/2326] New translations hosted-service.mdx (Portuguese) --- website/pages/pt/deploying/hosted-service.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/pt/deploying/hosted-service.mdx b/website/pages/pt/deploying/hosted-service.mdx index a27cca8e0652..fbbb24e13564 100644 --- a/website/pages/pt/deploying/hosted-service.mdx +++ b/website/pages/pt/deploying/hosted-service.mdx @@ -2,7 +2,7 @@ title: O que é o Serviço Hospedado? --- -> Please note, hosted service endpoints will no longer be available after June 12th 2024 as all subgraphs will need to upgrade to The Graph Network. Please read more in the [Sunrise FAQ](/sunrise) +> Nota: endpoints do serviço hospedado foram encerrados em 12 de junho de 2024, já que todos os subgraphs precisam se atualizar à Graph Network. Leia mais nas [Perguntas Frequentes Sobre o Nascer do Sol](/sunrise) Esta seção guiará-lhe pelo processo de lançar um subgraph ao [Serviço Hospedado](https://thegraph.com/hosted-service/). @@ -12,13 +12,13 @@ Para uma lista compreensiva, veja [Redes Apoiadas](/developing/supported-network ## Como Criar um Subgraph -First follow the instructions [here](/developing/creating-a-subgraph/#install-the-graph-cli) to install the Graph CLI. Create a subgraph by passing in `graph init --product hosted-service` +Primeiro, siga as instruções [aqui](/developing/creating-a-subgraph/#install-the-graph-cli) para instalar o Graph CLI. Crie um subgraph com um passe de `graph init --product hosted-service` ### De um Contrato Existente Se já tem um contrato inteligente lançado na sua rede de escolha, iniciar um novo subgraph a partir deste contrato já é um bom começo para usar o serviço hospedado. -You can use this command to create a subgraph that indexes all events from an existing contract. This will attempt to fetch the contract ABI from the block explorer. +Poderá usar este comando para criar um subgraph que indexa todos os eventos de um contrato existente. Isto tentará retirar o ABI do contrato do explorador de blocos. ```sh graph init \ @@ -27,7 +27,7 @@ graph init \ / [] ``` -Additionally, you can use the following optional arguments. If the ABI cannot be fetched from the block explorer, it falls back to requesting a local file path. If any optional arguments are missing from the command, it takes you through an interactive form. +Além disso, também dá para usar os seguintes argumentos opcionais. Se a ABI não puder ser retirada do explorador de blocos, ela pede por um local de arquivo. Se quaisquer argumentos opcionais estiveram a faltar no comando, ele levanta um formulário interativo. ```sh --network \ From bc13b72705f950424b2e71ebf711176fcdd701d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 5 Jul 2024 17:28:35 -0400 Subject: [PATCH 2124/2326] New translations creating-a-subgraph.mdx (Portuguese) --- .../pt/developing/creating-a-subgraph.mdx | 74 +++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/website/pages/pt/developing/creating-a-subgraph.mdx b/website/pages/pt/developing/creating-a-subgraph.mdx index dcfa4f4d1a90..f3565354a922 100644 --- a/website/pages/pt/developing/creating-a-subgraph.mdx +++ b/website/pages/pt/developing/creating-a-subgraph.mdx @@ -567,15 +567,15 @@ let id = Bytes.fromI32(dayID) `const id = Bytes.fromHexString('0xdead...beef')` -There is a [Graph Typescript Library](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) which contains utilities for interacting with the Graph Node store and conveniences for handling smart contract data and entities. It can be imported into `mapping.ts` from `@graphprotocol/graph-ts`. +Há uma [Biblioteca do Graph Typescript](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts), com utilidades para interagir com o armazenamento do Graph Node e conveniências para lidar com entidades e dados de contratos inteligentes. Ela pode ser importada ao `mapping.ts` do `@graphprotocol/graph-ts`. -### Handling of entities with identical IDs +### Gestão de entidades com IDs idênticas -When creating and saving a new entity, if an entity with the same ID already exists, the properties of the new entity are always preferred during the merge process. This means that the existing entity will be updated with the values from the new entity. +Ao criar e salvar uma nova entidade, se já houver uma com a mesma ID, vale sempre usar as propriedades da nova entidade durante o processo de fusão. Isto significa que a entidade existente será atualizada com os valores da entidade nova. -If a null value is intentionally set for a field in the new entity with the same ID, the existing entity will be updated with the null value. +Se um valor nulo for propositadamente determinado para um campo na nova entidade com a mesma ID, a entidade existente será atualizada com o valor nulo. -If no value is set for a field in the new entity with the same ID, the field will result in null as well. +Se nenhum valor for inserido para um campo na nova entidade com a mesma ID, o campo também resultará em nulo. ## Geração de Código @@ -765,54 +765,54 @@ dataSources: > 2. Clique no hash da transação da criação na seção `Contract Creator`. > 3. Carregue a página dos detalhes da transação, onde encontrará o bloco inicial para aquele contrato. -## Indexer Hints +## IndexerHints -The `indexerHints` setting in a subgraph's manifest provides directives for indexers on processing and managing a subgraph. It influences operational decisions across data handling, indexing strategies, and optimizations. Presently, it features the `prune` option for managing historical data retention or pruning. +A configuração `indexerHints`, no manifest de um subgraph, providencia diretivas para Indexadores processarem e gestarem um subgraph. Ela influencia decisões operacionais entre gestão de dados, estratégias de indexação e otimizações. Atualmente ela tem a opção `prune` para lidar com a retenção ou o pruning de dados históricos. -> This feature is available from `specVersion: 1.0.0` +> Este recurso está disponível desde a `specVersion: 1.0.0` ### Prune -`indexerHints.prune`: Defines the retention of historical block data for a subgraph. Options include: +`indexerHints.prune`: Define a retenção de dados históricos de bloco para um subgraph. As opções incluem: -1. `"never"`: No pruning of historical data; retains the entire history. -2. `"auto"`: Retains the minimum necessary history as set by the indexer, optimizing query performance. -3. A specific number: Sets a custom limit on the number of historical blocks to retain. +1. `"never"`: Nenhum pruning de dados históricos; retém o histórico completo. +2. `"auto"`: Retém o histórico mínimo necessário determinado pelo Indexador e otimiza o desempenho das queries. +3. Um número específico: Determina um limite personalizado no número de blocos históricos a guardar. ``` indexerHints: prune: auto ``` -> The term "history" in this context of subgraphs is about storing data that reflects the old states of mutable entities. +> O termo "histórico", neste contexto de subgraphs, refere-se ao armazenamento de dados que refletem os estados antigos de entidades mutáveis. -History as of a given block is required for: +O histórico, desde um bloco especificado, é necessário para: -- [Time travel queries](/querying/graphql-api/#time-travel-queries), which enable querying the past states of these entities at specific blocks throughout the subgraph's history -- Using the subgraph as a [graft base](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) in another subgraph, at that block -- Rewinding the subgraph back to that block +- [Queries de viagem no tempo](/querying/graphql-api/#time-travel-queries), que permitem queries dos estados anteriores destas entidades em blocos específicos, através do histórico do subgraph +- O uso do subgraph como uma [base de enxerto](/developing/creating-a-subgraph/#grafting-onto-existing-subgraphs) em outro subgraph naquele bloco +- Rebobinar o subgraph de volta àquele bloco -If historical data as of the block has been pruned, the above capabilities will not be available. +Se os dados históricos desde aquele bloco tiverem passado por pruning, as capacidades acima não estarão disponíveis. -> Using `"auto"` is generally recommended as it maximizes query performance and is sufficient for most users who do not require access to extensive historical data. +> Vale usar o `"auto"`, por maximizar o desempenho de queries e ser suficiente para a maioria dos utilizadores que não requerem acesso a dados extensos no histórico. -For subgraphs leveraging [time travel queries](/querying/graphql-api/#time-travel-queries), it's advisable to either set a specific number of blocks for historical data retention or use `prune: never` to keep all historical entity states. Below are examples of how to configure both options in your subgraph's settings: +Para subgraphs que usam [queries de viagem no tempo](/querying/graphql-api/#time-travel-queries), recomendamos configurar um número especifico de blocos para reter dados históricos ou usar o `prune: never` para manter todos os estados históricos da entidade. Seguem abaixo exemplos de como configurar ambas as opções nas configurações do seu subgraph: -To retain a specific amount of historical data: +Para reter uma quantidade específica de dados históricos: ``` indexerHints: - prune: 1000 # Replace 1000 with the desired number of blocks to retain + prune: 1000 # Substitua 1000 pelo número desejado de blocos a reter ``` -To preserve the complete history of entity states: +Para preservar o histórico completo dos estados da entidade: ``` indexerHints: prune: never ``` -You can check the earliest block (with historical state) for a given subgraph by querying the [Indexing Status API](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): +É possível verificar o bloco mais antigo (com estado histórico) para um subgraph ao fazer um query da [API de Estado de Indexação](/deploying/deploying-a-subgraph-to-hosted/#checking-subgraph-health): ``` { @@ -833,15 +833,15 @@ You can check the earliest block (with historical state) for a given subgraph by } ``` -Note that the `earliestBlock` is the earliest block with historical data, which will be more recent than the `startBlock` specified in the manifest, if the subgraph has been pruned. +Note que o `earliestBlock` é o bloco mais antigo com dados históricos, que será mais recente que o `startBlock` (bloco inicial) especificado no manifest, se o subgraph tiver passado por pruning. -## Event Handlers +## Handlers de Eventos -Event handlers in a subgraph react to specific events emitted by smart contracts on the blockchain and trigger handlers defined in the subgraph's manifest. This enables subgraphs to process and store event data according to defined logic. +Handlers de eventos em um subgraph reagem a eventos específicos emitidos por contratos inteligentes na blockchain e acionam handlers definidos no manifest do subgraph. Isto permite que subgraphs processem e armazenem dados conforme a lógica definida. -### Defining an Event Handler +### Como Definir um Handler de Evento -An event handler is declared within a data source in the subgraph's YAML configuration. It specifies which events to listen for and the corresponding function to execute when those events are detected. +Um handler de evento é declarado dentro de uma fonte de dados na configuração YAML do subgraph. Ele especifica quais eventos devem ser escutados e a função correspondente a ser executada quando estes eventos forem detetados. ```yaml dataSources: @@ -866,28 +866,28 @@ dataSources: handler: handleApproval - event: Transfer(address,address,uint256) handler: handleTransfer - topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. + topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Filtro de tópico opcional que só filtra eventos com o tópico especificado. ``` -### Indexed Argument Filters / Topic Filters +### Filtros de Argumentos Indexados / Filtros de Tópicos -> **Requires `specVersion` >= 1.2.0** +> **Requer `specVersion` >= 1.2.0** -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. +Filtros de tópico, também conhecidos como filtros de argumentos indexados, são um recurso poderoso em subgraphs que permitem a filtragem precisa de eventos de blockchain com base nos valores dos seus argumentos indexados. Estes filtros servem bem para isolar eventos específicos de interesse da vasta transmissão de eventos na blockchain, o que permite que subgraphs operem com mais eficiência ao focar apenas nos dados relevantes. Isto pode ser incrivelmente útil para casos de uso como a criação de subgraphs pessoais que rastreiam endereços específicos e as suas interações com vários contratos inteligentes na blockchain. -#### How Topic Filters Work +#### Como Filtros de Tópicos Funcionam -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. +Quando um contrato inteligente emite um evento, quaisquer argumentos marcados como indexados podem ser usados como filtros no manifest de um subgraph. Assim, o subgraph pode seletivamente procurar eventos correspondentes a estes argumentos indexados. O primeiro argumento indexado corresponde a `topic1`, o segundo a `topic`2, e por aí vai até o `topic3`, já que a Máquina Virtual Ethereum (EVM) só permite até três argumentos indexados por evento. ```solidity // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Token { - // Event declaration with indexed parameters for addresses + // Declaração de evento com parâmetros indexados para endereços event Transfer(address indexed from, address indexed to, uint256 value); - // Function to simulate transferring tokens + // Função para simular a transferência de tokens function transfer(address to, uint256 value) public { // Emitting the Transfer event with from, to, and value emit Transfer(msg.sender, to, value); From c2cf96aebab1106169c54aad133aff7488921e54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 5 Jul 2024 17:28:36 -0400 Subject: [PATCH 2125/2326] New translations curating.mdx (Portuguese) --- website/pages/pt/network/curating.mdx | 76 +++++++++++++-------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/website/pages/pt/network/curating.mdx b/website/pages/pt/network/curating.mdx index 5984b921d725..852fc054dd5d 100644 --- a/website/pages/pt/network/curating.mdx +++ b/website/pages/pt/network/curating.mdx @@ -2,31 +2,31 @@ title: Curadorias --- -Curators are critical to The Graph's decentralized economy. They use their knowledge of the web3 ecosystem to assess and signal on the subgraphs that should be indexed by The Graph Network. Through Graph Explorer, Curators view network data to make signaling decisions. In turn, The Graph Network rewards Curators who signal on good quality subgraphs with a share of the query fees those subgraphs generate. The amount of GRT signaled is one of the key considerations for indexers when determining which subgraphs to index. +Curadores são importantes para a economia descentralizada do The Graph. Eles utilizam o seu conhecimento do ecossistema web3 para avaliar e sinalizar nos subgraphs que devem ser indexados pela Graph Network. Através do Graph Explorer, Curadores visualizam dados de rede para tomar decisões sobre sinalizações. Em troca, a Graph Network recompensa Curadores que sinalizam em subgraphs de alta qualidade com uma parte das taxas de query geradas por estes subgraphs. A quantidade de GRT sinalizada é uma das considerações mais importantes para Indexadores ao determinar quais subgraphs indexar. -## What Does Signaling Mean for The Graph Network? +## O que a Sinalização Significa para a Graph Network? -Before consumers can query a subgraph, it must be indexed. This is where curation comes into play. In order for Indexers to earn substantial query fees on quality subgraphs, they need to know what subgraphs to index. When Curators signal on a subgraph, it lets Indexers know that a subgraph is in demand and of sufficient quality that it should be indexed. +Antes que consumidores possam indexar um subgraph, ele deve ser indexado. É aqui que entra a curadoria. Para que Indexadores ganhem taxas de query substanciais em subgraphs de qualidade, eles devem saber quais subgraphs indexar. Quando Curadores sinalizam um subgraph, isto diz aos Indexadores que um subgraph está em demanda e tem qualidade suficiente para ser indexado. -Indexers can trust the signal from a Curator because upon signaling, Curators mint a curation share for the subgraph, entitling Curators to a portion of future query fees that the subgraph drives. +Os Indexadores podem confiar no sinal de um Curador porque ao sinalizar, Curadores mintam uma ação de curadoria para o subgraph, o que dá aos Curadores uma porção de taxas de query futuras que o subgraph move. -Curators make The Graph network efficient and [signaling](#how-to-signal) is the process that curators use to let Indexers know that a subgraph is good to index; where GRT is added to a bonding curve for a subgraph. Indexers can trust the signal from a curator because upon signaling, curators mint a curation share for the subgraph, entitling them to a portion of future query fees that the subgraph drives. +Curadores dão eficiência à Graph Network, e a [sinalização](#how-to-signal) é o processo que curadores usam para dizer aos Indexadores que um subgraph é bom para indexar; onde GRT é adicionado a uma bonding curve para um subgraph. Os Indexadores podem confiar no sinal de um Curador porque ao sinalizar, Curadores mintam uma ação de curadoria para o subgraph, o que dá aos Curadores uma porção de taxas de query futuras que o subgraph move. -Curator signals are represented as ERC20 tokens called Graph Curation Shares (GCS). Those that want to earn more query fees should signal their GRT to subgraphs that they predict will generate a strong flow of fees to the network. Curators cannot be slashed for bad behavior, but there is a deposit tax on Curators to disincentivize poor decision-making that could harm the integrity of the network. Curators will also earn fewer query fees if they curate on a low-quality subgraph because there will be fewer queries to process or fewer Indexers to process them. +Sinais de curador são representados como tokens ERC20 chamados de Ações de Curadoria do Graph (GCS). Quem quiser ganhar mais taxas de query devem sinalizar o seu GRT a subgraphs que apostam que gerará um fluxo forte de taxas á rede. Curadores não podem ser cortados por mau comportamento, mas há uma taxa de depósito em Curadores para desincentivar más decisões que possam ferir a integridade da rede. Curadores também ganharão menos taxas de query se curarem um subgraph de baixa qualidade, já que haverão menos queries a processar ou menos Indexadores para processá-las. -The [Sunrise Upgrade Indexer](/sunrise/#what-is-the-upgrade-indexer) ensures the indexing of all subgraphs, signaling GRT on a particular subgraph will draw more indexers to it. This incentivization of additional Indexers through curation aims to enhance the quality of service for queries by reducing latency and enhancing network availability. +O [Indexador de Atualização do Nascer do Sol](/sunrise/#what-is-the-upgrade-indexer) garante a indexação de todos os subgraphs, e que sinalizar GRT em um subgraph em particular atrairá mais Indexadores a ele. Este incentivo de Indexadores adicionais via curadoria visa melhorar a qualidade do serviço de queries ao reduzir a latência e melhorar a disponibilidade da rede. -When signaling, Curators can decide to signal on a specific version of the subgraph or to signal using auto-migrate. If they signal using auto-migrate, a curator’s shares will always be updated to the latest version published by the developer. If they decide to signal on a specific version instead, shares will always stay on this specific version. +Ao sinalizar, Curadores podem decidir entre sinalizar numa versão específica do subgraph ou sinalizar com a automigração. Caso sinalizem com a automigração, as ações de um curador sempre serão atualizadas à versão mais recente publicada pelo programador. Se decidirem sinalizar numa versão específica, as ações sempre permanecerão nesta versão específica. -To assist teams that are transitioning subgraphs from the hosted service to the Graph Network, curation support is now available. If you require assistance with curation to enhance the quality of service, please send a request to the Edge & Node team at support@thegraph.zendesk.com and specify the subgraphs you need assistance with. +Para ajudar equipas que transitam subgraphs do serviço hospedado à Graph Network, o suporte da curadoria foi lançado. Se precisar de ajuda com curadoria para melhorar a qualidade do serviço, mande um pedido à equipa da Edge & Node em support@thegraph.zendesk.com e especifique os subgraphs com os quais você precisa de ajuda. -Indexers can find subgraphs to index based on curation signals they see in Graph Explorer (screenshot below). +Os indexadores podem achar subgraphs para indexar com base em sinais de curadoria que veem no Graph Explorer (imagem abaixo). ![Subgraphs no Explorer](/img/explorer-subgraphs.png) ## Como Sinalizar -Within the Curator tab in Graph Explorer, curators will be able to signal and unsignal on certain subgraphs based on network stats. For a step-by-step overview of how to do this in Graph Explorer, [click here.](/network/explorer) +Dentro da aba Curator (Curador) no Graph Explorer, os curadores poderão sinalizar ou retirar os seus sinais em certos subgraphs com base nas estatísticas da rede. Para uma explicação passo a passo deste processo no Explorer, [clique aqui.](/network/explorer) Um curador pode escolher sinalizar uma versão específica de subgraph, ou pode automaticamente migrar o seu sinal à versão mais recente desse subgraph. Ambas estratégias são válidas, e vêm com as suas próprias vantagens e desvantagens. @@ -34,43 +34,43 @@ Sinalizar numa versão específica serve muito mais quando um subgraph é usado Ter um sinal que migra automaticamente à build mais recente de um subgraph pode ser bom para garantir o acúmulo de taxas de consulta. Toda vez que cura, é incorrida uma taxa de 1% de curadoria. Também pagará uma taxa de 0.5% em toda migração. É recomendado que rogramadores de subgraphs evitem editar novas versões com frequência - eles devem pagar uma taxa de curadoria de 0.5% em todas as ações de curadoria auto-migradas. -> **Note**: The first address to signal a particular subgraph is considered the first curator and will have to do much more gas-intensive work than the rest of the following curators because the first curator initializes the curation share tokens, initializes the bonding curve (even on Arbitrum), and also transfers tokens into the Graph proxy. +> **Nota:** O primeiro endereço a sinalizar um subgraph particular é considerado o primeiro curador e deverá realizar tarefas muito mais intensivas em gas do que o resto dos seguintes curadores — porque o primeiro curador inicializa os tokens de ação de curadoria, inicializa o bonding curve (até no Arbitrum), e também transfere tokens no proxy do Graph. -## Withdrawing your GRT +## Como Sacar o Seu GRT -Curators have the option to withdraw their signaled GRT at any time. +Curadores têm a opção de sacar o seu GRT sinalizado a qualquer momento. -Unlike the process of delegating, if you decide to withdraw your signaled GRT you will not have to wait for a cooldown period and will receive the entire amount (minus the 1% curation tax). +Ao contrário do processo de delegação, se decidir sacar o seu GRT sinalizado, você não precisará esperar um período de recarga, e receberá a quantidade completa (menos a taxa de curadoria de 1%). -Once a curator withdraws their signal, indexers may choose to keep indexing the subgraph, even if there's currently no active GRT signaled. +Quando um curador retira o seu sinal, Indexadores podem escolher continuar a indexar o subgraph, mesmo se não houver no momento nenhum GRT sinalizado. -However, it is recommended that curators leave their signaled GRT in place not only to receive a portion of the query fees, but also to ensure reliability and uptime of the subgraph. +Porém, é recomendado que curadores deixem o seu GRT no lugar, não apenas para receber uma porção das taxas de query, mas também para garantir a confiança e disponibilidade do subgraph. ## Riscos 1. O mercado de consulta é jovem por natureza no The Graph, e há sempre o risco do seu rendimento anual ser menor que o esperado devido às dinâmicas nascentes do mercado. -2. Curation Fee - when a curator signals GRT on a subgraph, they incur a 1% curation tax. This fee is burned and the rest is deposited into the reserve supply of the bonding curve. -3. (Ethereum only) When curators burn their shares to withdraw GRT, the GRT valuation of the remaining shares will be reduced. Be aware that in some cases, curators may decide to burn their shares **all at once**. This situation may be common if a dApp developer stops versioning/improving and querying their subgraph or if a subgraph fails. As a result, remaining curators might only be able to withdraw a fraction of their initial GRT. For a network role with a lower risk profile, see [Delegators](/network/delegating). +2. Taxa de Curadoria — quando um curador sinaliza GRT em um subgraph, ele incorre uma taxa de 1% de curadoria. Esta taxa é queimada, e o resto é depositado na reserva da bonding curve. +3. (Só para o Ethereum) Quando os curadores queimam as suas ações para sacar GRT, o valor das ações restantes em GRT é diminuído. Saiba que, em alguns casos, os curadores podem decidir queimar todas as suas ações **de uma vez só**. Isto pode ser comum se um programador de dApp parar de versionar/melhorar e consultar seu subgraph, ou se um subgraph falhar. Portanto, os curadores restantes podem não poder sacar mais do que uma fração do seu GRT inicial. Para um papel de rede com um perfil de risco menor, veja [Delegados](/network/delegating). 4. Um subgraph pode falhar devido a um erro de código. Um subgraph falho não acumula taxas de consulta. Portanto, espere até o programador consertar o erro e lançar uma nova versão. - Caso se inscreva à versão mais recente de um subgraph, suas ações migrarão automaticamente a esta versão nova. Isto incorrerá uma taxa de curadoria de 0.5%. - - If you have signaled on a specific subgraph version and it fails, you will have to manually burn your curation shares. You can then signal on the new subgraph version, thus incurring a 1% curation tax. + - Se sinalizou em um subgraph específico e ele falhou, deverá queimar as suas ações de curadoria manualmente. Será então possível sinalizar na nova versão do subgraph, o que incorre uma taxa de curadoria de 1%. ## Perguntas Frequentes sobre Curadoria ### 1. Qual a % das taxas de query que os Curadores ganham? -By signalling on a subgraph, you will earn a share of all the query fees that the subgraph generates. 10% of all query fees go to the Curators pro-rata to their curation shares. This 10% is subject to governance. +Ao sinalizar em um subgraph, ganhará parte de todas as taxas de query geradas pelo subgraph. 10% de todas as taxas de curadoria vão aos Curadores, pro-rata às suas ações de curadoria. Estes 10% são sujeitos à governança. ### 2. Como decidir quais subgraphs são de qualidade alta para sinalizar? Achar subgraphs de alta qualidade é uma tarefa complexa, mas ela pode ser abordada de várias formas diferentes. Como Curador, vale procurar subgraphs com boa reputação que movem volumes de consulta. Um subgraph confiável pode ser valioso se for completo, preciso, e apoiar as necessidades de dados de um dApp. Um subgraph mal arquitetado pode precisar de revisão ou reedição, e também tem risco de falhar. É crítico que os Curadores verifiquem a arquitetura ou código de um subgraph, para avaliar se ele é valioso. Portanto: - Os curadores podem usar o seu conhecimento de uma rede para tentar prever como um subgraph individual pode gerar um volume maior ou menor de queries no futuro -- Curators should also understand the metrics that are available through Graph Explorer. Metrics like past query volume and who the subgraph developer is can help determine whether or not a subgraph is worth signalling on. +- Os curadores também devem entender as métricas disponíveis através do Graph Explorer. Métricas como volume passado de consultas e quem é o programador do subgraph podem ajudar a determinar se um subgraph vale ou não o sinal. ### 3. Qual o custo de atualizar um subgraph? -Migrating your curation shares to a new subgraph version incurs a curation tax of 1%. Curators can choose to subscribe to the newest version of a subgraph. When curator shares get auto-migrated to a new version, Curators will also pay half curation tax, ie. 0.5%, because upgrading subgraphs is an on-chain action that costs gas. +Migrar as suas ações de curadoria a uma nova versão de subgraph incorre uma taxa de curadoria de 1%. Os curadores podem escolher se inscrever na versão mais nova de um subgraph. Quando ações de curadores são automigradas a uma nova versão, os Curadores também pagarão metade da taxa de curadoria, por ex., 0.5%, porque a atualização de subgraphs é uma ação on-chain que custa gas. ### 4. Com que frequência posso atualizar o meu subgraph? @@ -78,30 +78,30 @@ Não atualize os seus subgraphs com frequência excessiva. Veja a questão acima ### 5. Posso vender as minhas ações de curadoria? -Curation shares cannot be "bought" or "sold" like other ERC20 tokens that you may be familiar with. They can only be minted (created) or burned (destroyed) along the bonding curve for a particular subgraph. The amount of GRT needed to mint a new signal, and the amount of GRT you receive when you burn your existing signal are determined by that bonding curve: +Ações de curadoria não podem ser "compradas" ou "vendidas", como outros tokens ERC20 que você deve conhecer. Eles só podem ser cunhados (criados) ou queimados (destruídos) dentro da bonding curve para um subgraph particular. A quantidade de GRT necessária para cunhar um novo sinal, e a quantidade de GRT que você recebe ao queimar o seu sinal existente, são determinados por aquela bonding curve: -- As a Curator on Ethereum, you need to know that when you burn your curation shares to withdraw GRT, you can end up with more or less GRT than you initially deposited. -- As a Curator on Arbitrum, you are guaranteed to get back the GRT you initially deposited (minus the tax). +- Como um Curador no Ethereum, você precisa saber que quando queimar as suas ações de curadoria para sacar GRT, pode acabar com mais ou menos GRT do que o depositado inicialmente. +- Como um Curador no Arbitrum, é garantido que você receberá o GRT que depositou inicialmente (menos a taxa). -### 6. Am I eligible for a curation grant? +### 6. Tenho direito a uma bolsa de curadoria? -Curation grants are determined individually on a case-by-case basis. If you need assistance with curation, please send a request to support@thegraph.zendesk.com. +Bolsas de curadoria são determinadas individualmente. Se precisar de ajuda com a curadoria, entre em contacto em support@thegraph.zendesk.com. -## Curating on Ethereum vs Arbitrum +## Diferenças Entre Curar no Ethereum x Arbitrum -The behavior of the curation mechanism differs depending on the protocol chain deployment, notably, how the price of a subgraph share is calculated. +O comportamento do mecanismo de curadoria difere com base no lançamento da chain do protocolo, particularmente, como o preço de uma ação de subgraph é calculado. -The Graph Network's original deployment on Ethereum uses bonding curves to determine what the price of shares is: **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** This means that curating puts your principal at risk, since it's not guaranteed you can sell your shares and get back your original investment. +O lançamento original da Graph Network no Ethereum usa bonding curves para determinar o preço de ações: **o preço de cada ação de subgraph aumenta com cada token investido** e **o preço de cada ação diminui com cada token vendido.** Isto significa que a curadoria coloca o seu principal em risco, já que não há garantia de poder vender as suas ações e retornar o seu investimento original. -On Arbitrum, curating subgraphs becomes significantly simpler. The bonding curves are "flattened", their effect is nullified meaning no Curator will be able to realize gains at the expense of others. This allows Curators to signal or unsignal on subgraphs at any given time, at a consistent cost, and with very limited risk. +No Arbitrum, curar subgraphs fica muito mais simples. As bonding curves são "achatadas" e o seu efeito é anulado, o que significa que nenhum Curador poderá realizar ganhos à custa dos outros. Isto permite que Curadores sinalizem ou dessinalizem em subgraphs a qualquer hora, a um custo consistente e com risco muito limitado. -If you are interested in curating on Ethereum and want to understand the details of bonding curves and their effects see [Bonding Curve 101](#bonding-curve-101). Please do your diligence to make sure you curate on subgraphs you trust. Creating a subgraph is permissionless, so people can create subgraphs and call them any name they'd like. For more guidance on curation risks, check out [The Graph Academy's Curation Guide.](https://thegraph.academy/curators/) +Se tens interesse em curar no Ethereum e quer entender os detalhes de bonding curves e seus efeitos, veja [Bonding Curve 101](#bonding-curve-101). Seja diligente; garanta que curará subgraphs de confiança. Criar um subgraph é um processo livre de permissões, para que o povo possa criar subgraphs e chamá-los do nome que quiser. Para mais conselhos sobre riscos de curadoria, confira o [Guia de Curadoria da Graph Academy.](https://thegraph.academy/curators/) ## Os Básicos da Bonding Curve -> **Note**: this section only applies to curation on Ethereum since bonding curves are flat and have no effect on Arbitrum. +> **Nota**: esta secção só se aplica à curadoria no Ethereum, já que bonding curves são planas e não têm efeito no Arbitrum. -Each subgraph has a bonding curve on which curation shares are minted when a user adds signal **into** the curve. Each subgraph’s bonding curve is unique. The bonding curves are architected so that the price to mint a curation share on a subgraph increases linearly, over the number of shares minted. +Todo subgraph tem uma bonding curve, onde são cunhadas ações de curadoria quando um usuário adiciona sinais **dentro** da curva. A bonding curve de cada subgraph é única; cada curve é arquitetada para que o preço da cunhagem de uma ação de curadoria num subgraph cresça de forma linear, sobre o número de ações cunhadas. ![Preço por ações](/img/price-per-share.png) @@ -112,13 +112,13 @@ Como resultado, o preço aumenta de forma linear, o que significa que a compra d Considere que temos dois curadores que cunham ações para um subgraph: - O Curador A é o primeiro a sinalizar no subgraph. Ao adicionar 120.000 GRT à curve, ele pode cunhar 2000 ações. -- Curator B’s signal is on the subgraph later at some point. To receive the same amount of shares as Curator A, they would have to add 360,000 GRT into the curve. +- O sinal do Curador B chega no subgraph algum tempo depois. Para receber a mesma quantidade de ações que o Curador A, ele deveria adicionar 360.000 na curve. - Como ambos os curadores têm metade do total das ações de curadoria, eles receberiam uma quantia igual de ‘royalties’ de curadoria. -- Now, if any of the curators were to burn their 2000 curation shares, they would receive 360,000 GRT. +- Se qualquer curador resolvesse queimar as suas 2000 ações de curadoria, ele receberia 360.000 GRT. - O curador restante passaria a receber todos os ‘royalties’ de curadoria daquele subgraph. Caso ele queimasse as suas ações para sacar GRT, ele receberia 120.000 GRT. - **RESUMINDO:** A valorização em GRT de ações de curadoria é determinada pela bonding curve, e pode ser volátil. Há o potencial para grandes prejuízos. Sinalizar precocemente significa que você coloca menos GRT para cada ação. Por tabela, isto significa que ganhas mais royalties de curadoria por GRT do que curadores que chegarem mais tarde para o mesmo subgraph. -In general, a bonding curve is a mathematical curve that defines the relationship between token supply and asset price. In the specific case of subgraph curation, **the price of each subgraph share increases with each token invested** and **the price of each share decreases with each token sold.** +Em geral, uma bonding curve é uma curva matemática que define o relacionamento entre a reserva de token e o preço do ativo. No caso específico de curadoria de subgraphs, **o preço de cada ação de subgraph aumenta com cada token investido** e o **preço de cada ação cai com cada token vendido.** No caso do The Graph, é usada [a implementação da Bancor de uma fórmula de bonding curve](https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA). From cd54526981c4009976c8aba1b24dc523fa3a6076 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 5 Jul 2024 18:41:33 -0400 Subject: [PATCH 2126/2326] New translations creating-a-subgraph.mdx (Portuguese) --- .../pt/developing/creating-a-subgraph.mdx | 120 +++++++++--------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/website/pages/pt/developing/creating-a-subgraph.mdx b/website/pages/pt/developing/creating-a-subgraph.mdx index f3565354a922..92d5698837a2 100644 --- a/website/pages/pt/developing/creating-a-subgraph.mdx +++ b/website/pages/pt/developing/creating-a-subgraph.mdx @@ -895,15 +895,15 @@ contract Token { } ``` -In this example: +Neste exemplo: -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. +- O evento `Transfer` é usado para gravar transações de tokens entre endereços. +- Os parâmetros `from` e `to` são indexados, o que permite que ouvidores de eventos filtrem e monitorem transferências que envolvem endereços específicos. +- A função `transfer` é uma representação simples de uma ação de transferência de token, e emite o evento Transfer sempre que é chamada. -#### Configuration in Subgraphs +#### Configuração em Subgraphs -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: +Filtros de tópicos são definidos diretamente na configuração de handlers de eventos no manifest do subgraph. Veja como eles são configurados: ```yaml eventHandlers: @@ -914,17 +914,17 @@ eventHandlers: topic3: ['0xValue3'] ``` -In this setup: +Neste cenário: -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. +- `topic1` corresponde ao primeiro argumento indexado do evento, `topic2` ao segundo e `topic3` ao terceiro. +- Cada tópico pode ter um ou mais valores, e um evento só é processado se corresponder a um dos valores em cada tópico especificado. -##### Filter Logic +##### Lógica de Filtro -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. +- Dentro de um Tópico Único: A lógica funciona como uma condição OR. O evento será processado se corresponder a qualquer dos valores listados num tópico. +- Entre Tópicos Diferentes: A lógica funciona como uma condição AND. Um evento deve atender a todas as condições especificadas em vários tópicos para acionar o handler associado. -### Example 1: Tracking a Single Address's Transfer Transactions +### Exemplo 1: Como Rastrear as Transações de Transferência de um Único Endereço ```yaml eventHandlers: @@ -936,12 +936,12 @@ eventHandlers: topic2: ['0xSpecificAddress'] ``` -In this configuration: +Nesta configuração: -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. +- `topic1` filtra eventos Transfer com base no endereço from, e `topic2` filtra com base no endereço to. +- O subgraph indexará transações onde o endereço especificado estiver envolvido, como remetente ou destinatário. -### Example 2: Tracking Direct Transfers from Address A to Address B +### Exemplo 2: Como Rastrear Transferências Diretas do Endereço A ao Endereço B ```yaml eventHandlers: @@ -951,13 +951,13 @@ eventHandlers: topic2: ['0xAddressB'] # Receiver Address ``` -In this configuration: +Nesta configuração: -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. +- `topic1` é configurado para filtrar eventos `Transfer` onde `0xAddressA` é o remetente. +- `topic2` é configurado para filtrar eventos `Transfer` onde `0xAddressB` é o remetente. +- O subgraph só indexará transações que ocorrerem diretamente do `0xAddressA` ao `0xAddressB`. -### Example 3: Tracking Transactions in Either Direction Between Two Addresses +### Exemplo 3: Como Rastrear Transações em Qualquer Direção Entre Dois Endereços ``` eventHandlers: @@ -967,11 +967,11 @@ eventHandlers: topic2: ["0xAddressB"] # Sender or Receiver Address ``` -In this configuration: +Nesta configuração: -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. +- `topic1` é configurado para filtrar eventos `Transfer` onde `0xAddressA` é o remetente ou o destinatário. +- `topic2` é configurado para filtrar eventos `Transfer` onde `0xAddressB` é o remetente ou o destinatário. +- O subgraph indexará transações que ocorrerem em qualquer direção entre `0xAddressA` e `0xAddressB`, o que permite a monitoria compreensiva de interações que envolverem ambos os endereços. ## Handlers de chamada @@ -1154,13 +1154,13 @@ eventHandlers: Dentro da função do handler, o recibo pode ser acessado no campo `Event.receipt`. Quando a chave `receipt` é configurada em `false`, ou omitida no manifest, um valor `null` será retornado em vez disto. -## Declared eth_call +## eth_call declarada -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. +Reduzir `eth_calls` certamente melhora a velocidade de indexação. Para `eth_calls` que não podem ser eliminadas, elas podem ser declaradas no manifest do subgraph para serem processadas em paralelo com o processamento de blocos. Quando o `graph-node` processa um bloco, ele realiza todas as `eth_calls` em paralelo antes da execução dos handlers, enquanto `eth_calls` que não são declaradas são executadas em sequência quando handlers são executados. Isto ajuda a reduzir o total de tempo gasto com `eth_calls` e melhora a velocidade da indexação. -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. +> **Nota:** Uma [SpecVersion](#specversion-releases) maior que `1.2.0` é necessária. Atualmente, `eth_calls` só podem ser declaradas para handlers de eventos. -### Example Configuration in Subgraph Manifest +### Exemplo de Configuração no Manifest do Subgraph ```yaml event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) @@ -1169,9 +1169,9 @@ calls: ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) ``` -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. +No exemplo acima, o `ERC20.poolInfo` é declarado como `eth_call`. O texto antes dos dois pontos (`ERC20.poolInfo`) é o rótulo para esta `eth_call` usado ao registrar erros. O texto após os dois pontos (`ERC20[event.address].getPoolInfo(event.params.to)`) é a própria `eth_call` que será executada, na forma do `Contract[address].function(arguments)`. O `address` e o `arguments` podem ser substituídos por variáveis que serão disponibilizadas na execução do handler. -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. +Ao utilizar `eth_calls` declaradas, o `graph-node` guarda os resultados na memória; e quando a `eth_call` é ativada dentro de handlers, ela retira o resultado do cache em vez de realizar uma chamada RPC própria. ## Recursos experimentais @@ -1298,7 +1298,7 @@ Fontes de dados de arquivos são uma nova funcionalidade de subgraph para acessa Em vez de buscar arquivos "em linha" durante a execução do handler, isto introduz modelos que podem ser colocados como novas fontes de dados para um identificador de arquivos. Estas novas fontes de dados pegam os arquivos e tentam novamente caso não obtenham êxito; quando o arquivo é encontrado, executam um handler dedicado. -This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. +Isto é parecido com os [modelos de fontes de dados existentes](/developing/creating-a-subgraph/#data-source-templates), usados para dinamicamente criar fontes de dados baseadas em chains. > Isto substitui a API `ipfs.cat` existente @@ -1355,7 +1355,7 @@ type TokenMetadata @entity { Se o relacionamento for perfeitamente proporcional entre a entidade parente e a entidade de fontes de dados de arquivos resultante, é mais simples ligar a entidade parente a uma entidade de arquivos resultante, com a CID IPFS como o assunto de busca. Se tiver dificuldades em modelar suas novas entidades baseadas em arquivos, pergunte no Discord! -> You can use [nested filters](/querying/graphql-api/#example-for-nested-entity-filtering) to filter parent entities on the basis of these nested entities. +> É necessário usar [filtros ninhados](/querying/graphql-api/#example-for-nested-entity-filtering) para filtrar entidades parentes na base destas entidades ninhadas. #### Adicione um novo modelo de fonte de dados com `kind: file/ipfs` ou `kind: file/arweave` @@ -1379,11 +1379,11 @@ templates: > Atualmente é obrigatório usar `abis`, mas não é possível chamar contratos de dentro de fontes de dados de arquivos -The file data source must specifically mention all the entity types which it will interact with under `entities`. See [limitations](#limitations) for more details. +A fonte de dados de arquivos deve mencionar especificamente todos os tipos de entidades com os quais ela interagirá sob `entities`. Veja [as limitações](#limitations) para mais detalhes. #### Criar um novo handler para processar arquivos -This handler should accept one `Bytes` parameter, which will be the contents of the file, when it is found, which can then be processed. This will often be a JSON file, which can be processed with `graph-ts` helpers ([documentation](/developing/assemblyscript-api/#json-api)). +Este handler deve aceitar um parâmetro `Bytes`, que consistirá dos conteúdos do arquivo; quando encontrado, este poderá ser acessado. Isto costuma ser um arquivo JSON, que pode ser processado com helpers `graph-ts` ([documentação](/developing/assemblyscript-api/#json-api)). A CID do arquivo como um string legível pode ser acessada através do `dataSource` a seguir: @@ -1427,7 +1427,7 @@ Agora pode criar fontes de dados de arquivos durante a execução de handlers ba Para o IPFS, o Graph Node apoia [identificadores de conteúdo v0 e v1](https://docs.ipfs.tech/concepts/content-addressing/) e identificadores com diretórios (por ex. `bafyreighykzv2we26wfrbzkcdw37sbrby4upq7ae3aqobbq7i4er3tnxci/metadata.json`). -For Arweave, as of version 0.33.0 Graph Node can fetch files stored on Arweave based on their [transaction ID](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) from an Arweave gateway ([example file](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). Arweave supports transactions uploaded via Irys (previously Bundlr), and Graph Node can also fetch files based on [Irys manifests](https://docs.irys.xyz/overview/gateways#indexing). +Para o Arweave, desde a versão 0.33.0, o Graph Node pode resgatar arquivos armazenados no Arweave com base na sua [ID de transação](https://docs.arweave.org/developers/arweave-node-server/http-api#transactions) de um gateway do Arweave ([exemplo de arquivo](https://bdxujjl5ev5eerd5ouhhs6o4kjrs4g6hqstzlci5pf6vhxezkgaa.arweave.net/CO9EpX0lekJEfXUOeXncUmMuG8eEp5WJHXl9U9yZUYA)). O Arweave apoia transações enviadas via Irys (antigo Bundlr), e o Graph Node também pode resgatar arquivos com base em [manifests do Irys](https://docs.irys.xyz/overview/gateways#indexing). Exemplo: @@ -1486,7 +1486,7 @@ Além disto, não é possível criar fontes de dados de uma fonte de dado de arq Caso ligue metadados de NFTs a tokens correspondentes, use o hash IPFS destes para referenciar uma entidade de Metadados da entidade do Token. Salve a entidade de Metadados a usar o hash IPFS como ID. -You can use [DataSource context](/developing/graph-ts/api/#entity-and-datasourcecontext) when creating File Data Sources to pass extra information which will be available to the File Data Source handler. +É possível usar o [contexto DataSource](/developing/graph-ts/api/#entity-and-datasourcecontext) ao criar Fontes de Dados de Arquivos para passar informações extras, que estarão disponíveis ao handler de Fontes de Dados de Arquivos. Caso tenha entidades a ser atualizadas várias vezes, crie entidades únicas baseadas em arquivos utilizando o hash IPFS & o ID da entidade, e as referencie com um campo derivado na entidade baseada na chain. @@ -1496,7 +1496,7 @@ Caso tenha entidades a ser atualizadas várias vezes, crie entidades únicas bas Atualmente, fontes de dados de arquivos requerem ABIs, apesar destas não serem usadas ([problema no GitHub](https://github.com/graphprotocol/graph-cli/issues/961)). A solução é adicionar qualquer ABI. -Handlers for File Data Sources cannot be in files which import `eth_call` contract bindings, failing with "unknown import: `ethereum::ethereum.call` has not been defined" ([issue](https://github.com/graphprotocol/graph-node/issues/4309)). Workaround is to create file data source handlers in a dedicated file. +Handlers para Fontes de Dados de Arquvios não podem estar em arquivos que importam ligações de contrato `eth_call`, o que causa falhas com "unknown import: `ethereum::ethereum.call` has not been defined" ([problema no GitHub](https://github.com/graphprotocol/graph-node/issues/4309)). A solução é criar handlers de fontes de dados de arquivos num arquivo dedicado. #### Exemplos @@ -1506,15 +1506,15 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra [Fontes de Dados de Arquivos GIP](https://forum.thegraph.com/t/gip-file-data-sources/2721) -## Timeseries and Aggregations +## Séries de Tempo e Agregações ### Visão Geral -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. +Séries de tempo e agregações permitem que o seu subgraph registre estatísticas como médias diárias de preço, total de transferências por hora, etc. -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. +Este recurso introduz dois novos tipos de entidade de subgraph. Entidades de série de tempo registram pontos de dados com marcações de tempo. Entidades de agregação realizam cálculos pré-declarados nos pontos de dados de Séries de Tempo numa base por hora ou diária, e depois armazenam os resultados para acesso fácil via GraphQL. -#### Example Schema +#### Exemplo de Schema ```graphql type Data @entity(timeseries: true) { @@ -1530,27 +1530,27 @@ type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { } ``` -### Defining Timeseries and Aggregations +### Definição de Série de Tempo e Agregações -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. +Entidades de série de tempo são definidas com `@entity(timeseries: true)` no schema.graphql. Cada entidade deste tipo deve ter uma ID única do tipo int8, uma marcação do tipo Timestamp, e inclui dados que serão usados para cálculos por entidades de agregação. Estas entidades de Série de Tempo podem ser salvas em handlers de ação regular, e agem como os "dados brutos" das entidades de Agregação. -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. +Entidades de agregação são definidas com `@aggregation` no schema.graphql. Toda entidade deste tipo define a fonte de qual resgatará dados (que deve ser uma entidade de Série de Tempo), determina os intervalos (por ex., hora, dia) e especifica a função de agregação que usará (por ex., soma, contagem, min, max, primeiro, último). Entidades de agregação são calculadas automaticamente na base da fonte especificada ao final do intervalo requerido. -#### Available Aggregation Intervals +#### Intervalos de Agregação Disponíveis -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. +- `hour`: configura o período de série de tempo para cada hora, em ponto. +- `day`: configura o período de série de tempo para cada dia, a começar e terminar à meia-noite. -#### Available Aggregation Functions +#### Funções de Agregação Disponíveis -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. +- `sum`: Total de todos os valores. +- `count`: Número de valores. +- `min`: Valor mínimo. +- `max`: Valor máximo. +- `first`: Primeiro valor no período. +- `last`: Último valor no período. -#### Example Aggregations Query +#### Exemplo de Query de Agregações ```graphql { @@ -1562,8 +1562,8 @@ Aggregation entities are defined with `@aggregation` in schema.graphql. Every ag } ``` -Note: +Nota: -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. +Para utilizar Séries de Tempo e Agregações, um subgraph deve ter uma versão de especificação maior que 1.1.0. Note que este recurso pode passar por mudanças significativas que podem afetar a retrocompatibilidade. -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. +[Leia mais](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) sobre Séries de Tempo e Agregações. From 892ce73852a522b485fdfbe13b5209a1fb4cc0c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:41 -0400 Subject: [PATCH 2127/2326] New translations creating-a-subgraph.mdx (Portuguese) --- .../pt/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/pt/developing/creating-a-subgraph.mdx b/website/pages/pt/developing/creating-a-subgraph.mdx index 92d5698837a2..228be21b1219 100644 --- a/website/pages/pt/developing/creating-a-subgraph.mdx +++ b/website/pages/pt/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ Estas regras de organização estão sujeitas à mudança. > **Nota:** Quando novas [fontes de dados dinâmicas](#data-source-templates-for-dynamically-created-contracts) forem criadas, os handlers definidos para fontes de dados dinâmicas só começarão o processamento após todos os handlers existentes forem processados, e repetirão a mesma sequência quando ativados. +### Filtros de Argumentos Indexados / Filtros de Tópicos + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### Como Filtros de Tópicos Funcionam + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Declaração de evento com parâmetros indexados para endereços + event Transfer(address indexed from, address indexed to, uint256 value); + + // Função para simular a transferência de tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +Neste exemplo: + +- O evento `Transfer` é usado para gravar transações de tokens entre endereços. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- A função `transfer` é uma representação simples de uma ação de transferência de token, e emite o evento Transfer sempre que é chamada. + +#### Configuração em Subgraphs + +Filtros de tópicos são definidos diretamente na configuração de handlers de eventos no manifest do subgraph. Veja como eles são configurados: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +Neste cenário: + +- `topic1` corresponde ao primeiro argumento indexado do evento, `topic2` ao segundo e `topic3` ao terceiro. +- Cada tópico pode ter um ou mais valores, e um evento só é processado se corresponder a um dos valores em cada tópico especificado. + +##### Lógica de Filtro + +- Dentro de um Tópico Único: A lógica funciona como uma condição OR. O evento será processado se corresponder a qualquer dos valores listados num tópico. +- Entre Tópicos Diferentes: A lógica funciona como uma condição AND. Um evento deve atender a todas as condições especificadas em vários tópicos para acionar o handler associado. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +Nesta configuração: + +- `topic1` é configurado para filtrar eventos `Transfer` onde `0xAddressA` é o remetente. +- `topic2` é configurado para filtrar eventos `Transfer` onde `0xAddressB` é o remetente. +- O subgraph só indexará transações que ocorrerem diretamente do `0xAddressA` ao `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +Nesta configuração: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## eth_call declarada + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Exemplo de Configuração no Manifest do Subgraph + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### Versões do SpecVersion | Versão | Notas de atualização | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Filtro de tópico opcional que só filtra eventos com o tópico especificado. ``` -### Filtros de Argumentos Indexados / Filtros de Tópicos - -> **Requer `specVersion` >= 1.2.0** - -Filtros de tópico, também conhecidos como filtros de argumentos indexados, são um recurso poderoso em subgraphs que permitem a filtragem precisa de eventos de blockchain com base nos valores dos seus argumentos indexados. Estes filtros servem bem para isolar eventos específicos de interesse da vasta transmissão de eventos na blockchain, o que permite que subgraphs operem com mais eficiência ao focar apenas nos dados relevantes. Isto pode ser incrivelmente útil para casos de uso como a criação de subgraphs pessoais que rastreiam endereços específicos e as suas interações com vários contratos inteligentes na blockchain. - -#### Como Filtros de Tópicos Funcionam - -Quando um contrato inteligente emite um evento, quaisquer argumentos marcados como indexados podem ser usados como filtros no manifest de um subgraph. Assim, o subgraph pode seletivamente procurar eventos correspondentes a estes argumentos indexados. O primeiro argumento indexado corresponde a `topic1`, o segundo a `topic`2, e por aí vai até o `topic3`, já que a Máquina Virtual Ethereum (EVM) só permite até três argumentos indexados por evento. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Declaração de evento com parâmetros indexados para endereços - event Transfer(address indexed from, address indexed to, uint256 value); - - // Função para simular a transferência de tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -Neste exemplo: - -- O evento `Transfer` é usado para gravar transações de tokens entre endereços. -- Os parâmetros `from` e `to` são indexados, o que permite que ouvidores de eventos filtrem e monitorem transferências que envolvem endereços específicos. -- A função `transfer` é uma representação simples de uma ação de transferência de token, e emite o evento Transfer sempre que é chamada. - -#### Configuração em Subgraphs - -Filtros de tópicos são definidos diretamente na configuração de handlers de eventos no manifest do subgraph. Veja como eles são configurados: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -Neste cenário: - -- `topic1` corresponde ao primeiro argumento indexado do evento, `topic2` ao segundo e `topic3` ao terceiro. -- Cada tópico pode ter um ou mais valores, e um evento só é processado se corresponder a um dos valores em cada tópico especificado. - -##### Lógica de Filtro - -- Dentro de um Tópico Único: A lógica funciona como uma condição OR. O evento será processado se corresponder a qualquer dos valores listados num tópico. -- Entre Tópicos Diferentes: A lógica funciona como uma condição AND. Um evento deve atender a todas as condições especificadas em vários tópicos para acionar o handler associado. - -### Exemplo 1: Como Rastrear as Transações de Transferência de um Único Endereço - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -Nesta configuração: - -- `topic1` filtra eventos Transfer com base no endereço from, e `topic2` filtra com base no endereço to. -- O subgraph indexará transações onde o endereço especificado estiver envolvido, como remetente ou destinatário. - -### Exemplo 2: Como Rastrear Transferências Diretas do Endereço A ao Endereço B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -Nesta configuração: - -- `topic1` é configurado para filtrar eventos `Transfer` onde `0xAddressA` é o remetente. -- `topic2` é configurado para filtrar eventos `Transfer` onde `0xAddressB` é o remetente. -- O subgraph só indexará transações que ocorrerem diretamente do `0xAddressA` ao `0xAddressB`. - -### Exemplo 3: Como Rastrear Transações em Qualquer Direção Entre Dois Endereços - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -Nesta configuração: - -- `topic1` é configurado para filtrar eventos `Transfer` onde `0xAddressA` é o remetente ou o destinatário. -- `topic2` é configurado para filtrar eventos `Transfer` onde `0xAddressB` é o remetente ou o destinatário. -- O subgraph indexará transações que ocorrerem em qualquer direção entre `0xAddressA` e `0xAddressB`, o que permite a monitoria compreensiva de interações que envolverem ambos os endereços. - ## Handlers de chamada Enquanto os eventos provém uma forma eficiente de coletar mudanças relevantes ao estado de um contrato, muitos contratos evitam gerar logs para otimizar os custos de gas. Nestes casos, um subgraph pode se inscrever em chamadas feitas ao contrato da fonte de dados. Isto é alcançado ao definir handlers de calls que referenciam a assinatura da função, e o handler de mapeamento que processará chamadas para esta função. Para processar estas chamadas, o handler de mapeamento receberá um `ethereum.Call` como um argumento com as entradas digitadas e as saídas da chamada. Chamadas feitas a qualquer profundidade na cadeia de chamadas de uma transação irão engatilhar o mapeamento; assim, atividades com o contrato de fontes de dados serão capturados através de contratos de proxy. @@ -1154,35 +1220,15 @@ eventHandlers: Dentro da função do handler, o recibo pode ser acessado no campo `Event.receipt`. Quando a chave `receipt` é configurada em `false`, ou omitida no manifest, um valor `null` será retornado em vez disto. -## eth_call declarada - -Reduzir `eth_calls` certamente melhora a velocidade de indexação. Para `eth_calls` que não podem ser eliminadas, elas podem ser declaradas no manifest do subgraph para serem processadas em paralelo com o processamento de blocos. Quando o `graph-node` processa um bloco, ele realiza todas as `eth_calls` em paralelo antes da execução dos handlers, enquanto `eth_calls` que não são declaradas são executadas em sequência quando handlers são executados. Isto ajuda a reduzir o total de tempo gasto com `eth_calls` e melhora a velocidade da indexação. - -> **Nota:** Uma [SpecVersion](#specversion-releases) maior que `1.2.0` é necessária. Atualmente, `eth_calls` só podem ser declaradas para handlers de eventos. - -### Exemplo de Configuração no Manifest do Subgraph - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -No exemplo acima, o `ERC20.poolInfo` é declarado como `eth_call`. O texto antes dos dois pontos (`ERC20.poolInfo`) é o rótulo para esta `eth_call` usado ao registrar erros. O texto após os dois pontos (`ERC20[event.address].getPoolInfo(event.params.to)`) é a própria `eth_call` que será executada, na forma do `Contract[address].function(arguments)`. O `address` e o `arguments` podem ser substituídos por variáveis que serão disponibilizadas na execução do handler. - -Ao utilizar `eth_calls` declaradas, o `graph-node` guarda os resultados na memória; e quando a `eth_call` é ativada dentro de handlers, ela retira o resultado do cache em vez de realizar uma chamada RPC própria. - ## Recursos experimentais A partir do `specVersion` `0.0.4`, os recursos de subgraph devem ser explicitamente declarados na seção `features` no maior nível do arquivo de manifest com o seu nome em `camelCase`, como listado abaixo: -| Recurso | Nome | -| --------------------------------------------------------- | --------------------------------------------------- | -| [Erros não-fatais](#non-fatal-errors) | `nonFatalErrors` | -| [Busca fulltext](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Enxertos](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS em Contratos Ethereum](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` ou `nonDeterministicIpfs` | +| Recurso | Nome | +| -------------------------------------------------- | ---------------- | +| [Erros não-fatais](#non-fatal-errors) | `nonFatalErrors` | +| [Busca fulltext](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Enxertos](#grafting-onto-existing-subgraphs) | `grafting` | Por exemplo, se um subgraph usa os recursos de **Busca Fulltext** e **Erros não-fatais**, o campo `features` no manifest deve ser: @@ -1197,17 +1243,65 @@ dataSources: ... Note que usar uma ferramenta sem declará-la causará um **erro de validação** durante o lançamento de um subgraph, mas não ocorrerá nenhum erro se um recurso for declarado sem ser usado. -### IPFS em Contratos Ethereum +### Séries de Tempo e Agregações -Um caso de uso comum para a combinação do IPFS com o Ethereum é o armazenamento de dados no IPFS que seriam caros demais para manter on-chain, e referenciar o hash IPFS nos contratos do Ethereum. +Séries de tempo e agregações permitem que o seu subgraph registre estatísticas como médias diárias de preço, total de transferências por hora, etc. -Considerando tais hashes IPFS, os subgraphs podem ler os arquivos correspondentes do IPFS com `ipfs.cat` e `ipfs.map`. Para fazer isto de forma consistente, estes arquivos devem ser fixados em um node IPFS com alta disponibilidade, para que o node IPFS do [serviço hospedado](https://thegraph.com/hosted-service) possa encontrá-los durante a indexação. +Este recurso introduz dois novos tipos de entidade de subgraph. Entidades de série de tempo registram pontos de dados com marcações de tempo. Entidades de agregação realizam cálculos pré-declarados nos pontos de dados de Séries de Tempo numa base por hora ou diária, e depois armazenam os resultados para acesso fácil via GraphQL. -> **Nota:** A rede do The Graph ainda não apoia `ipfs.cat` e `ipfs.map`, e os programadores não devem lançar subgraphs à rede pelo Studio com esta funcionalidade. +#### Exemplo de Schema -> **[Gerenciamento de Recursos](#experimental-features):** O `ipfsOnEthereumContracts` deve ser declarado sob `features` no manifest do subgraph. Para chains que não sejam EVM, o apelido `nonDeterministicIpfs` serve a mesma função. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -Ao executar um Graph Node local, a variável `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` deve ser configurada para poder indexar subgraphs usando esta funcionalidade experimental. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Definição de Série de Tempo e Agregações + +Entidades de série de tempo são definidas com `@entity(timeseries: true)` no schema.graphql. Cada entidade deste tipo deve ter uma ID única do tipo int8, uma marcação do tipo Timestamp, e inclui dados que serão usados para cálculos por entidades de agregação. Estas entidades de Série de Tempo podem ser salvas em handlers de ação regular, e agem como os "dados brutos" das entidades de Agregação. + +Entidades de agregação são definidas com `@aggregation` no schema.graphql. Toda entidade deste tipo define a fonte de qual resgatará dados (que deve ser uma entidade de Série de Tempo), determina os intervalos (por ex., hora, dia) e especifica a função de agregação que usará (por ex., soma, contagem, min, max, primeiro, último). Entidades de agregação são calculadas automaticamente na base da fonte especificada ao final do intervalo requerido. + +#### Intervalos de Agregação Disponíveis + +- `hour`: configura o período de série de tempo para cada hora, em ponto. +- `day`: configura o período de série de tempo para cada dia, a começar e terminar à meia-noite. + +#### Funções de Agregação Disponíveis + +- `sum`: Total de todos os valores. +- `count`: Número de valores. +- `min`: Valor mínimo. +- `max`: Valor máximo. +- `first`: Primeiro valor no período. +- `last`: Último valor no período. + +#### Exemplo de Query de Agregações + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Nota: + +Para utilizar Séries de Tempo e Agregações, um subgraph deve ter uma versão de especificação maior que 1.1.0. Note que este recurso pode passar por mudanças significativas que podem afetar a retrocompatibilidade. + +[Leia mais](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) sobre Séries de Tempo e Agregações. ### Erros não-fatais @@ -1288,7 +1382,7 @@ O subgraph enxertado pode usar um schema GraphQL que não é idêntico ao schema > **[Gerenciamento de Recursos](#experimental-features):** O `grafting` deve ser declarado sob `features` no manifest do subgraph. -## Fontes de Dados de Arquivos +## IPFS/Arweave File Data Sources Fontes de dados de arquivos são uma nova funcionalidade de subgraph para acessar dados off-chain de forma robusta e extensível. As fontes de dados de arquivos apoiam o retiro de arquivos do IPFS e do Arweave. @@ -1296,7 +1390,7 @@ Fontes de dados de arquivos são uma nova funcionalidade de subgraph para acessa ### Visão geral -Em vez de buscar arquivos "em linha" durante a execução do handler, isto introduz modelos que podem ser colocados como novas fontes de dados para um identificador de arquivos. Estas novas fontes de dados pegam os arquivos e tentam novamente caso não obtenham êxito; quando o arquivo é encontrado, executam um handler dedicado. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. Isto é parecido com os [modelos de fontes de dados existentes](/developing/creating-a-subgraph/#data-source-templates), usados para dinamicamente criar fontes de dados baseadas em chains. @@ -1505,65 +1599,3 @@ Handlers para Fontes de Dados de Arquvios não podem estar em arquivos que impor #### Referências [Fontes de Dados de Arquivos GIP](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Séries de Tempo e Agregações - -### Visão Geral - -Séries de tempo e agregações permitem que o seu subgraph registre estatísticas como médias diárias de preço, total de transferências por hora, etc. - -Este recurso introduz dois novos tipos de entidade de subgraph. Entidades de série de tempo registram pontos de dados com marcações de tempo. Entidades de agregação realizam cálculos pré-declarados nos pontos de dados de Séries de Tempo numa base por hora ou diária, e depois armazenam os resultados para acesso fácil via GraphQL. - -#### Exemplo de Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Definição de Série de Tempo e Agregações - -Entidades de série de tempo são definidas com `@entity(timeseries: true)` no schema.graphql. Cada entidade deste tipo deve ter uma ID única do tipo int8, uma marcação do tipo Timestamp, e inclui dados que serão usados para cálculos por entidades de agregação. Estas entidades de Série de Tempo podem ser salvas em handlers de ação regular, e agem como os "dados brutos" das entidades de Agregação. - -Entidades de agregação são definidas com `@aggregation` no schema.graphql. Toda entidade deste tipo define a fonte de qual resgatará dados (que deve ser uma entidade de Série de Tempo), determina os intervalos (por ex., hora, dia) e especifica a função de agregação que usará (por ex., soma, contagem, min, max, primeiro, último). Entidades de agregação são calculadas automaticamente na base da fonte especificada ao final do intervalo requerido. - -#### Intervalos de Agregação Disponíveis - -- `hour`: configura o período de série de tempo para cada hora, em ponto. -- `day`: configura o período de série de tempo para cada dia, a começar e terminar à meia-noite. - -#### Funções de Agregação Disponíveis - -- `sum`: Total de todos os valores. -- `count`: Número de valores. -- `min`: Valor mínimo. -- `max`: Valor máximo. -- `first`: Primeiro valor no período. -- `last`: Último valor no período. - -#### Exemplo de Query de Agregações - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Nota: - -Para utilizar Séries de Tempo e Agregações, um subgraph deve ter uma versão de especificação maior que 1.1.0. Note que este recurso pode passar por mudanças significativas que podem afetar a retrocompatibilidade. - -[Leia mais](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) sobre Séries de Tempo e Agregações. From 54f178531b5552b222298918f05cba5b4a25916d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:42 -0400 Subject: [PATCH 2128/2326] New translations creating-a-subgraph.mdx (Romanian) --- .../ro/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/ro/developing/creating-a-subgraph.mdx b/website/pages/ro/developing/creating-a-subgraph.mdx index ac4f24869c1d..475f511c1d59 100644 --- a/website/pages/ro/developing/creating-a-subgraph.mdx +++ b/website/pages/ro/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ These ordering rules are subject to change. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Version | Release notes | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1154,35 +1220,15 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: -| Feature | Name | -| --------------------------------------------------------- | --------------------------------------------------- | -| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | -| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS on Ethereum Contracts](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| Feature | Name | +| ---------------------------------------------------- | ---------------- | +| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | +| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | For instance, if a subgraph uses the **Full-Text Search** and the **Non-fatal Errors** features, the `features` field in the manifest should be: @@ -1197,17 +1243,65 @@ dataSources: ... Note that using a feature without declaring it will incur a **validation error** during subgraph deployment, but no errors will occur if a feature is declared but not used. -### IPFS on Ethereum Contracts +### Timeseries and Aggregations -A common use case for combining IPFS with Ethereum is to store data on IPFS that would be too expensive to maintain on-chain, and reference the IPFS hash in Ethereum contracts. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Given such IPFS hashes, subgraphs can read the corresponding files from IPFS using `ipfs.cat` and `ipfs.map`. To do this reliably, it is required that these files are pinned to an IPFS node with high availability, so that the [hosted service](https://thegraph.com/hosted-service) IPFS node can find them during indexing. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Note:** The Graph Network does not yet support `ipfs.cat` and `ipfs.map`, and developers should not deploy subgraphs using that functionality to the network via the Studio. +#### Example Schema -> **[Feature Management](#experimental-features):** `ipfsOnEthereumContracts` must be declared under `features` in the subgraph manifest. For non EVM chains, the `nonDeterministicIpfs` alias can also be used for the same purpose. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -When running a local Graph Node, the `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` environment variable must be set in order to index subgraphs using this experimental functionality. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Non-fatal errors @@ -1288,7 +1382,7 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o > **[Feature Management](#experimental-features):** `grafting` must be declared under `features` in the subgraph manifest. -## File Data Sources +## IPFS/Arweave File Data Sources File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. @@ -1296,7 +1390,7 @@ File data sources are a new subgraph functionality for accessing off-chain data ### Overview -Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Overview - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 5080ab203a42e5a2e664686036477f5a5d9f52ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:44 -0400 Subject: [PATCH 2129/2326] New translations creating-a-subgraph.mdx (French) --- .../fr/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/fr/developing/creating-a-subgraph.mdx b/website/pages/fr/developing/creating-a-subgraph.mdx index 8ea7929137fa..0c39aa91a42d 100644 --- a/website/pages/fr/developing/creating-a-subgraph.mdx +++ b/website/pages/fr/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ Ces règles de commande sont susceptibles de changer. > **Note:** Lorsque de nouveaux [sources de données dynamiques](#data-source-templates-for-dynamically-created-contracts) sont créés, les gestionnaires définis pour les sources de données dynamiques ne commenceront à être traités qu'une fois que tous les gestionnaires de sources de données existants auront été traités, et se répéteront dans la même séquence chaque fois qu'ils seront déclenchés. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Version | Notes de version | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Gestionnaires d'appels Bien que les événements constituent un moyen efficace de collecter les modifications pertinentes apportées à l'état d'un contrat, de nombreux contrats évitent de générer des journaux pour optimiser les coûts du gaz. Dans ces cas, un subgraph peut s'abonner aux appels effectués vers le contrat de source de données. Ceci est réalisé en définissant des gestionnaires d'appels faisant référence à la signature de la fonction et au gestionnaire de mappage qui traitera les appels à cette fonction. Pour traiter ces appels, le gestionnaire de mappage recevra un `ethereum.Call` comme argument avec les entrées et sorties saisies de l'appel. Les appels effectués à n'importe quelle profondeur dans la chaîne d'appels d'une transaction déclencheront le mappage, permettant de capturer l'activité avec le contrat de source de données via des contrats proxy. @@ -1154,35 +1220,15 @@ eventHandlers: Dans la fonction de gestionnaire, le reçu est accessible dans le champ `Event.receipt`. Lorsque la clé `receipt` est définie sur `false` ou omise dans le manifeste, une valeur `null` sera renvoyée à la place. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Fonctionnalités expérimentales À partir de `specVersion` `0.0.4`, les fonctionnalités de subgraph doivent être explicitement déclarées dans la section `features` au niveau supérieur du fichier manifeste, en utilisant leur `camelCase`, comme indiqué dans le tableau ci-dessous : -| Fonctionnalité | Nom | -| --------------------------------------------------------------- | --------------------------------------------------- | -| [Erreurs non fatales](#non-fatal-errors) | `erreursnonfatales` | -| [Recherche en texte intégral](#defining-fulltext-search-fields) | `fullTextSearch` | -| [La greffe](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS sur les contrats Ethereum](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` ou `nonDeterministicIpfs` | +| Fonctionnalité | Nom | +| --------------------------------------------------------------- | ------------------- | +| [Erreurs non fatales](#non-fatal-errors) | `erreursnonfatales` | +| [Recherche en texte intégral](#defining-fulltext-search-fields) | `fullTextSearch` | +| [La greffe](#grafting-onto-existing-subgraphs) | `grafting` | Par exemple, si un subgraph utilise les fonctionnalités **Recherche en texte intégral** et **Erreurs non fatales** features, le `features` dans le manifeste doit être : @@ -1197,17 +1243,65 @@ dataSources: ... Notez que l'utilisation d'une fonctionnalité sans la déclarer entraînera une **erreur de validation** lors du déploiement du sous-graphe, mais aucune erreur ne se produira si une fonctionnalité est déclarée mais n'est pas utilisée. -### IPFS sur les contrats Ethereum +### Timeseries and Aggregations -Un cas d'utilisation courant pour combiner IPFS avec Ethereum est de stocker des données sur IPFS qui seraient trop coûteuses à maintenir en chaîne et de référencer le hachage IPFS dans les contrats Ethereum. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Compte tenu de ces hachages IPFS, les subgraphs peuvent lire les fichiers correspondants depuis IPFS en utilisant `ipfs.cat` et `ipfs.map`. Pour ce faire de manière fiable, il est nécessaire que ces fichiers soient épinglés sur un nœud IPFS à haute disponibilité, afin que le [service hébergé](https://thegraph.com/hosted-service) nœud IPFS peut les retrouver lors de l'indexation. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Remarque :** Le réseau Graph ne prend pas encore en charge `ipfs.cat` et `ipfs.map`, et les développeurs ne doivent pas déployer subgraphs utilisant cette fonctionnalité au réseau via le Studio. +#### Example Schema -> **[Gestion des fonctionnalités](#experimental-features) :** `ipfsOnEthereumContracts` doit être déclaré sous `features **[Gestion des fonctionnalités](#experimental-features) :** le `greffage` doit être déclaré sous `features`dans le manifeste du subgraph. -## Sources de données de fichiers +## IPFS/Arweave File Data Sources Les sources de données de fichiers sont une nouvelle fonctionnalité de subgraph permettant d'accéder aux données hors chaîne pendant l'indexation de manière robuste et extensible. Les sources de données de fichiers prennent en charge la récupération de fichiers depuis IPFS et Arweave. @@ -1296,7 +1390,7 @@ Les sources de données de fichiers sont une nouvelle fonctionnalité de subgrap ### Aperçu -Plutôt que de récupérer les fichiers "en ligne" pendant l'exécution du gestionnaire, cela introduit des modèles qui peuvent être générés en tant que nouvelles sources de données pour un identifiant de fichier donné. Ces nouvelles sources de données récupèrent les fichiers, réessayent en cas d'échec et exécutent un gestionnaire dédié lorsque le fichier est trouvé. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### Les Références [Sources de données du fichier GIP](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Aperçu - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From c9d8529dba9d020bbb1f9e0ff06db134156915a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:45 -0400 Subject: [PATCH 2130/2326] New translations creating-a-subgraph.mdx (Spanish) --- .../es/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/es/developing/creating-a-subgraph.mdx b/website/pages/es/developing/creating-a-subgraph.mdx index 0171d0c1501c..9b174aef70e6 100644 --- a/website/pages/es/developing/creating-a-subgraph.mdx +++ b/website/pages/es/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ Estas normas de orden están sujetas a cambios. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Version | Notas del lanzamiento | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Call Handlers Aunque los eventos proporcionan una forma eficaz de recoger los cambios relevantes en el estado de un contrato, muchos contratos evitan generar registros para optimizar los costos de gas. En estos casos, un subgrafo puede suscribirse a las calls realizadas al contrato de la fuente de datos. Esto se consigue definiendo los call handlers que hacen referencia a la firma de la función y al handler de mapping que procesará las calls a esta función. Para procesar estas calls, el handler de mapping recibirá un `ethereum.Call` como argumento con las entradas y salidas tipificadas de la call. Las calls realizadas en cualquier profundidad de la cadena de calls de una transacción activarán el mapping, permitiendo capturar la actividad con el contrato de origen de datos a través de los contratos proxy. @@ -1154,35 +1220,15 @@ eventHandlers: Dentro de la función handler, se puede acceder al recibo en el campo `Event.receipt`. Cuando la clave `receipt` se establece en `false` o se omite en el manifiesto, se devolverá un valor `null` en su lugar. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Características experimentales A partir de `specVersion` `0.0.4`, los features de los subgrafos deben declararse explícitamente en la sección de `features` del nivel superior del archivo de manifiesto, utilizando su nombre en `camelCase`, como se indica en la tabla siguiente: -| Característica | Nombre | -| --------------------------------------------------------- | -------------------------------------------------- | -| [Errores no fatales](#non-fatal-errors) | `nonFatalErrors` | -| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS on Ethereum Contracts](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` o `nonDeterministicIpfs` | +| Característica | Nombre | +| ---------------------------------------------------- | ---------------- | +| [Errores no fatales](#non-fatal-errors) | `nonFatalErrors` | +| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | Por ejemplo, si un subgrafo utiliza las características **Full-Text Search** y **Non-fatal Errors**, el campo `features` del manifiesto debería ser: @@ -1197,17 +1243,65 @@ dataSources: ... Ten en cuenta que el uso de una característica sin declararla incurrirá en un **error de validación** durante el deploy del subgrafo, pero no se producirá ningún error si se declara una característica pero no se utiliza. -### IPFS on Ethereum Contracts +### Timeseries and Aggregations -Un caso de uso común para combinar IPFS con Ethereum es almacenar datos en IPFS que serían demasiado costosos de mantener on-chain, y hacer referencia al hash de IPFS en los contratos de Ethereum. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Dados estos hashes IPFS, los subgrafos pueden leer los archivos correspondientes desde IPFS usando `ipfs.cat` e `ipfs.map`. Para hacer esto de forma fiable, se requiere que estos archivos estén anclados a un nodo IPFS con alta disponibilidad, de modo que el nodo IPFS del [Servicio Alojado](https://thegraph.com/hosted-service) pueda encontrarlos durante la indexación. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Nota:** The Graph Network todavía no admite `ipfs.cat` y `ipfs.map`, y los desarrolladores no deben deployar subgrafos que utilicen esa funcionalidad en la red a través de Studio. +#### Example Schema -> **[La Gestión de Features](#experimental-features):** `ipfsOnEthereumContracts` debe declararse en `features` en el manifiesto del subgrafo. Para cadenas que no sean EVM, el alias `nonDeterministicIpfs` también puede utilizarse con el mismo fin. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -Cuando se ejecuta un Graph Node local, debe establecerse la variable de entorno `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` para indexar subgrafos utilizando esta funcionalidad experimental. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Errores no fatales @@ -1288,7 +1382,7 @@ El subgrafo grafteado puede utilizar un esquema GraphQL que no es idéntico al d > **[La gestión de características](#experimental-features):** `grafting` se declara en `features` en el manifiesto del subgrafo. -## File Data Source +## IPFS/Arweave File Data Sources File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. @@ -1296,7 +1390,7 @@ File data sources are a new subgraph functionality for accessing off-chain data ### Descripción -En lugar de buscar los archivos "en línea" durante la ejecución del handler, se introducen plantillas que pueden generarse como nuevas fuentes de datos para un identificador de archivo determinado. Estas nuevas fuentes de datos buscan los archivos, reintentando si no tienen éxito, ejecutando un handler dedicado cuando se encuentra el archivo. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### Referencias [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Descripción - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 47094ecd9d86e04eef42570f78efca4e9573d771 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:47 -0400 Subject: [PATCH 2131/2326] New translations creating-a-subgraph.mdx (Arabic) --- .../ar/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/ar/developing/creating-a-subgraph.mdx b/website/pages/ar/developing/creating-a-subgraph.mdx index cc9103baad27..3aa60c79105a 100644 --- a/website/pages/ar/developing/creating-a-subgraph.mdx +++ b/website/pages/ar/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ dataSources: > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | الاصدار | ملاحظات الإصدار | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## معالجات الاستدعاء(Call Handlers) While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1154,35 +1220,15 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: -| الميزة | الاسم | -| ----------------------------------------------------- | --------------------------------------------------- | -| [أخطاء غير فادحة](#non-fatal-errors) | `nonFatalErrors` | -| [البحث عن نص كامل](#defining-fulltext-search-fields) | `fullTextSearch` | -| [تطعيم(Grafting)](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS على عقود Ethereum](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| الميزة | الاسم | +| ---------------------------------------------------- | ---------------- | +| [أخطاء غير فادحة](#non-fatal-errors) | `nonFatalErrors` | +| [البحث عن نص كامل](#defining-fulltext-search-fields) | `fullTextSearch` | +| [تطعيم(Grafting)](#grafting-onto-existing-subgraphs) | `grafting` | For instance, if a subgraph uses the **Full-Text Search** and the **Non-fatal Errors** features, the `features` field in the manifest should be: @@ -1197,17 +1243,65 @@ dataSources: ... Note that using a feature without declaring it will incur a **validation error** during subgraph deployment, but no errors will occur if a feature is declared but not used. -### IPFS على عقود Ethereum +### Timeseries and Aggregations -A common use case for combining IPFS with Ethereum is to store data on IPFS that would be too expensive to maintain on-chain, and reference the IPFS hash in Ethereum contracts. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Given such IPFS hashes, subgraphs can read the corresponding files from IPFS using `ipfs.cat` and `ipfs.map`. To do this reliably, it is required that these files are pinned to an IPFS node with high availability, so that the [hosted service](https://thegraph.com/hosted-service) IPFS node can find them during indexing. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **ملاحظة:** لا تدعم شبكة Graph حتى الآن `ipfs.cat` و `ipfs.map` ، ويجب على المطورين عدم النشر الـ subgraphs للشبكة باستخدام تلك الدالة عبر الـ Studio. +#### Example Schema -> **[Feature Management](#experimental-features):** `ipfsOnEthereumContracts` must be declared under `features` in the subgraph manifest. For non EVM chains, the `nonDeterministicIpfs` alias can also be used for the same purpose. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -When running a local Graph Node, the `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` environment variable must be set in order to index subgraphs using this experimental functionality. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### أخطاء غير فادحة @@ -1288,7 +1382,7 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o > **[إدارة الميزات](#experimental-features):**يجب الإعلان عن `التطعيم` ضمن `features` في الفرعيةرسم بياني يظهر. -## File Data Sources +## IPFS/Arweave File Data Sources File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. @@ -1296,7 +1390,7 @@ File data sources are a new subgraph functionality for accessing off-chain data ### نظره عامة -Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### المراجع [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### نظره عامة - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 132f31488dabb71c03dfdff13b7354e1764fc085 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:48 -0400 Subject: [PATCH 2132/2326] New translations creating-a-subgraph.mdx (Czech) --- .../cs/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/cs/developing/creating-a-subgraph.mdx b/website/pages/cs/developing/creating-a-subgraph.mdx index 10228b8ccb13..0cfdab2d2615 100644 --- a/website/pages/cs/developing/creating-a-subgraph.mdx +++ b/website/pages/cs/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ Tato pravidla objednávání se mohou změnit. > **Poznámka:** Při vytvoření nového [dynamického zdroje dat](#data-source-templates-for-dynamically-created-contracts) se zpracovatelé definovaní pro dynamické zdroje dat začnou zpracovávat až po zpracování všech existujících zpracovatelů zdrojů dat a budou se opakovat ve stejném pořadí, kdykoli budou spuštěny. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Verze | Poznámky vydání | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Zpracovatelé hovorů Události sice představují účinný způsob, jak shromažďovat relevantní změny stavu smlouvy, ale mnoho smluv se vyhýbá generování protokolů, aby se optimalizovaly náklady na plyn. V těchto případech se dílčí graf může přihlásit k odběru volání provedených na smlouvu se zdrojem dat. Toho lze dosáhnout definováním obsluhy volání odkazující na signaturu funkce a obsluhu mapování, která bude zpracovávat volání této funkce. Pro zpracování těchto volání obdrží mapovací obsluha jako argument `ethereum.Call` s typizovanými vstupy do volání a výstupy z volání. Volání uskutečněná v libovolné hloubce řetězce volání transakce spustí mapování, což umožní zachytit aktivitu se smlouvou zdroje dat prostřednictvím proxy smluv. @@ -1154,35 +1220,15 @@ eventHandlers: Uvnitř obslužné funkce je příjem přístupný v poli `Event.receipt`. Pokud je klíč `receipt` nastaven na `false` nebo je v manifestu vynechán, bude místo něj vrácena hodnota `null`. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Experimentální funkce Počínaje `specVersion` `0.0.4` musí být funkce podgrafů explicitně deklarovány v sekci `features` na nejvyšší úrovni souboru manifestu s použitím jejich názvu `camelCase`, jak je uvedeno v následující tabulce: -| Vlastnosti | Název | -| ----------------------------------------------------------- | --------------------------------------------------- | -| [Nefatální](#non-fatal-errors) | `nonFatalErrors` | -| [Fulltextové vyhledávání](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Štěpování](#grafting-onto-existing-subgraphs) | `štěpování` | -| [IPFS na smlouvách Ethereum](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| Vlastnosti | Název | +| ----------------------------------------------------------- | ---------------- | +| [Nefatální](#non-fatal-errors) | `nonFatalErrors` | +| [Fulltextové vyhledávání](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Štěpování](#grafting-onto-existing-subgraphs) | `štěpování` | Pokud například dílčí graf používá funkce **Plnotextové vyhledávání** a **Nefatální chyby**, pole ` Vlastnosti ` v manifestu by mělo být: @@ -1197,17 +1243,65 @@ dataSources: ... Všimněte si, že použití funkce bez její deklarace způsobí při nasazení podgraf chybu **validace**, ale pokud je funkce deklarována, ale není použita, k žádné chybě nedojde. -### IPFS na smlouvách Ethereum +### Timeseries and Aggregations -Běžným případem použití kombinace IPFS a Ethereum je ukládání dat na IPFS, jejichž údržba v řetězci by byla příliš nákladná, a odkazování na hash IPFS v kontrakty Ethereum. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Vzhledem k těmto hashům IPFS mohou dílčí grafy číst odpovídající soubory ze IPFS pomocí `ipfs.cat` a `ipfs.map`. Aby to bylo možné spolehlivě provést, je nutné, aby tyto soubory byly připnuty k uzlu IPFS s vysokou dostupností, aby je uzel [hostované služby](https://thegraph.com/hosted-service) IPFS mohl při indexování najít. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Poznámka:** Síť grafů zatím nepodporuje `ipfs.cat` a `ipfs.map` a vývojáři by neměli do sítě nasazovat podgrafy využívající tyto funkce prostřednictvím Studio. +#### Example Schema -> **[Správa funkcí](#experimental-features):** `ipfsOnEthereumContracts` musí být deklarováno v podgraf manifestu pod `funkcemi`. Pro řetězce, které nejsou EVM, lze ke stejnému účelu použít také alias `nonDeterministicIpfs`. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -Při spuštění místního uzlu Graf Uzel musí být nastavena proměnná prostředí `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS`, aby bylo možné indexovat podgrafy pomocí této í funkce. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Nefatální @@ -1288,7 +1382,7 @@ Roubované podgraf může používat schéma GraphQL, které není totožné se > **[Feature Management](#experimental-features):** `grafting` musí být deklarováno v `features` v manifestu podgrafů. -## Zdroje dat souborů +## IPFS/Arweave File Data Sources Zdroje dat souborů jsou novou funkcí podgrafu pro přístup k datům mimo řetězec během indexování robustním a rozšiřitelným způsobem. Zdroje souborových dat podporují načítání souborů ze systému IPFS a z Arweave. @@ -1296,7 +1390,7 @@ Zdroje dat souborů jsou novou funkcí podgrafu pro přístup k datům mimo řet ### Přehled -Namísto načítání souborů "in line" během provádění obslužných rutin se zavádějí šablony, které lze spouštět jako nové zdroje dat pro daný identifikátor souboru. Tyto nové zdroje dat načítají soubory a v případě neúspěchu se pokoušejí o opětovné načtení a po nalezení souboru spustí vyhrazenou obslužnou rutinu. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### Odkazy: [Zdroje dat souborů GIP](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Přehled - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From c6dfdacb328157eca2dcde94a2aa6490243e9b0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:50 -0400 Subject: [PATCH 2133/2326] New translations creating-a-subgraph.mdx (German) --- .../de/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/de/developing/creating-a-subgraph.mdx b/website/pages/de/developing/creating-a-subgraph.mdx index 2762a5b356cb..a6daeaebbb1b 100644 --- a/website/pages/de/developing/creating-a-subgraph.mdx +++ b/website/pages/de/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ These ordering rules are subject to change. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Version | Release notes | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1154,35 +1220,15 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: -| Feature | Name | -| --------------------------------------------------------- | --------------------------------------------------- | -| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | -| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS on Ethereum Contracts](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| Feature | Name | +| ---------------------------------------------------- | ---------------- | +| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | +| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | For instance, if a subgraph uses the **Full-Text Search** and the **Non-fatal Errors** features, the `features` field in the manifest should be: @@ -1197,17 +1243,65 @@ dataSources: ... Note that using a feature without declaring it will incur a **validation error** during subgraph deployment, but no errors will occur if a feature is declared but not used. -### IPFS on Ethereum Contracts +### Timeseries and Aggregations -A common use case for combining IPFS with Ethereum is to store data on IPFS that would be too expensive to maintain on-chain, and reference the IPFS hash in Ethereum contracts. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Given such IPFS hashes, subgraphs can read the corresponding files from IPFS using `ipfs.cat` and `ipfs.map`. To do this reliably, it is required that these files are pinned to an IPFS node with high availability, so that the [hosted service](https://thegraph.com/hosted-service) IPFS node can find them during indexing. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Note:** The Graph Network does not yet support `ipfs.cat` and `ipfs.map`, and developers should not deploy subgraphs using that functionality to the network via the Studio. +#### Example Schema -> **[Feature Management](#experimental-features):** `ipfsOnEthereumContracts` must be declared under `features` in the subgraph manifest. For non EVM chains, the `nonDeterministicIpfs` alias can also be used for the same purpose. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -When running a local Graph Node, the `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` environment variable must be set in order to index subgraphs using this experimental functionality. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Non-fatal errors @@ -1288,7 +1382,7 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o > **[Feature Management](#experimental-features):** `grafting` must be declared under `features` in the subgraph manifest. -## File Data Sources +## IPFS/Arweave File Data Sources File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. @@ -1296,7 +1390,7 @@ File data sources are a new subgraph functionality for accessing off-chain data ### Overview -Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Overview - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From a202c6518cc61ab5dd270a43e9b8de1a40d9f353 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:51 -0400 Subject: [PATCH 2134/2326] New translations creating-a-subgraph.mdx (Italian) --- .../it/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/it/developing/creating-a-subgraph.mdx b/website/pages/it/developing/creating-a-subgraph.mdx index a436f6580761..f09dd05a6e5a 100644 --- a/website/pages/it/developing/creating-a-subgraph.mdx +++ b/website/pages/it/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ Queste regole di ordinazione sono soggette a modifiche. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Version | Release notes | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Gestori di chiamate Sebbene gli eventi rappresentino un modo efficace per raccogliere le modifiche rilevanti allo stato di un contratto, molti contratti evitano di generare log per ottimizzare i costi del gas. In questi casi, un subgraph può sottoscrivere le chiamate fatte al contratto dell'origine dati. Ciò si ottiene definendo gestori di chiamate che fanno riferimento alla firma della funzione e al gestore di mappatura che elaborerà le chiamate a questa funzione. Per elaborare queste chiamate, il gestore della mappatura riceverà un `ethereum.Call` come argomento con gli input e gli output digitati della chiamata. Le chiamate effettuate a qualsiasi profondità nella chain di chiamate di una transazione attiveranno la mappatura, consentendo di catturare l'attività con il contratto della data source attraverso i contratti proxy. @@ -1154,35 +1220,15 @@ eventHandlers: All'interno della funzione handler, è possibile accedere alla ricevuta nel campo `Event.receipt`. Se la chiave `receipt` è impostata su `false` oppure omessa nel manifesto, verrà restituito un valore `null`. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Caratteristiche sperimentali A partire da `specVersion` `0.0.4`, le caratteristiche del subgraph devono essere dichiarate esplicitamente nella sezione `features` al livello superiore del file del manifesto, utilizzando il loro nome `camelCase`, come elencato nella tabella seguente: -| Caratteristica | Nome | -| --------------------------------------------------------- | --------------------------------------------------- | -| [Errori non fatali](#non-fatal-errors) | `nonFatalErrors` | -| [Ricerca full-text](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS su contratti Ethereum](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| Caratteristica | Nome | +| ----------------------------------------------------- | ---------------- | +| [Errori non fatali](#non-fatal-errors) | `nonFatalErrors` | +| [Ricerca full-text](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | Ad esempio, se un subgraph utilizza le funzionalità **Full-Text Search** e **Non-fatal Errors**, il campo `features` del manifesto dovrebbe essere: @@ -1197,17 +1243,65 @@ dataSources: ... Si noti che l'uso di una caratteristica senza dichiararla incorrerà in un **errore di validazione** durante la distribuzione del subgraph, mentre non si verificherà alcun errore se una caratteristica viene dichiarata ma non utilizzata. -### IPFS su contratti Ethereum +### Timeseries and Aggregations -Un caso d'uso comune per combinare IPFS con Ethereum è quello di memorizzare su IPFS i dati che sarebbero troppo costosi da mantenere sulla chain e fare riferimento all'hash di IPFS nei contratti Ethereum. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Dati tali hash IPFS, i subgraph possono leggere i file corrispondenti da IPFS utilizzando `ipfs.cat` and `ipfs.map`. Per farlo in modo affidabile, è necessario che questi file siano appuntati su un nodo IPFS ad alta disponibilità, in modo che il nodo IPFS del [hosted service](https://thegraph.com/hosted-service) possa trovarli durante l'indicizzazione. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Nota:** Il Graph Network non supporta ancora `ipfs.cat` and `ipfs.map`, e gli sviluppatori non dovrebbero distribuire alla rete, tramite Studio, i subgraph che utilizzano tale funzionalità. +#### Example Schema -> **[Gestione delle caratteristiche](#experimental-features): **`ipfsOnEthereumContracts` deve essere dichiarato tra le `caratteristiche` nel manifesto del subgraph. Per le chain non EVM, è possibile utilizzare anche l'alias `nonDeterministicIpfs` per lo stesso scopo. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -Quando si esegue un Graph Node locale, la variabile d'ambiente `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` deve essere impostata per poter indicizzare i subgraph utilizzando questa funzionalità sperimentale. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Errori non fatali @@ -1288,7 +1382,7 @@ Il grafted subgraph può utilizzare uno schema GraphQL non identico a quello del > **[Gestione delle caratteristiche](#experimental-features): **`grafting` deve essere dichiarato tra le `caratteristiche` nel manifesto del subgraph. -## I Data Source file +## IPFS/Arweave File Data Sources I data source file sono una nuova funzionalità del subgraph per accedere ai dati fuori chain durante l'indicizzazione in modo robusto ed estendibile. I data source file supportano il recupero di file da IPFS e da Arweave. @@ -1296,7 +1390,7 @@ I data source file sono una nuova funzionalità del subgraph per accedere ai dat ### Panoramica -Invece di recuperare i file "in linea" durante l'esecuzione del gestore, si introducono modelli che possono essere generati come nuove data source per un determinato identificatore di file. Queste nuove data source recuperano i file, ritentando se non hanno successo ed eseguendo un gestore dedicato quando il file viene trovato. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### Riferimenti [Data Sources del file GIP](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Panoramica - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 1363c171c1fa4c83002ef8dc210b0c883b27b060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:52 -0400 Subject: [PATCH 2135/2326] New translations creating-a-subgraph.mdx (Japanese) --- .../ja/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/ja/developing/creating-a-subgraph.mdx b/website/pages/ja/developing/creating-a-subgraph.mdx index 328f838943a5..0e1171cae767 100644 --- a/website/pages/ja/developing/creating-a-subgraph.mdx +++ b/website/pages/ja/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ dataSources: > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | バージョン | リリースノート | @@ -870,110 +1040,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## コールハンドラー イベントはコントラクトの状態に対する関連する変更を収集するための効果的な方法を提供しますが、多くのコントラクトはガスコストを最適化するためにログの生成を避けます。このような場合、サブグラフはデータソース・コントラクトに行われたコールを購読することができます。これは、関数シグネチャを参照するコールハンドラと、この関数へのコールを処理するマッピングハンドラを定義することで実現します。これらのコールを処理するために、マッピングハンドラは、コールへの入力とコールからの出力を型付けした`ethereum.Call`を引数として受け取ります。トランザクションのコールチェーンのどの深さで行われたコールでもマッピングがトリガーされ、プロキシコントラクトを介したデータソースコントラクトとのアクティビティをキャプチャすることができます。 @@ -1155,35 +1221,15 @@ eventHandlers: ハンドラ関数の内部では、レシートは `Event.receipt` フィールドでアクセスすることができます。`receipt` キーが `false` に設定されているか、マニフェストで省略されている場合、代わりに `null` 値が返されることになります。 -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## 実験的機能 `specVersion` `0.0.4`以降、サブグラフ機能はマニフェストファイルのトップレベルにある`features`セクションで、以下の表のように`camelCase` の名前を使って明示的に宣言する必要があります: -| 特徴 | 名前 | -| --------------------------------------------------------- | --------------------------------------------------- | -| [致命的でないエラー](#non-fatal-errors) | `nonFatalErrors` | -| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS on Ethereum Contracts](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| 特徴 | 名前 | +| ---------------------------------------------------- | ---------------- | +| [致命的でないエラー](#non-fatal-errors) | `nonFatalErrors` | +| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | 例えば、サブグラフが**Full-Text Search** と**Non-fatal Errors**の機能を使用する場合、マニフェストの`features`フィールドは次のようになります: @@ -1198,17 +1244,65 @@ dataSources: ... 宣言せずに機能を使用すると、サブグラフの展開時に**validation error**が発生しますが、機能を宣言しても使用しなければエラーは発生しないことに注意してください。 -### イーサリアム コントラクトの IPFS +### Timeseries and Aggregations -IPFS と Ethereum を組み合わせる一般的なユースケースは、チェーン上で維持するにはコストがかかりすぎるデータを IPFS 上に保存し、Ethereum コントラクトで IPFS ハッシュを参照することです。 +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -このような IPFS のハッシュが与えられた場合、サブグラフは`ipfs.cat`や`ipfs.map`を使って IPFS から対応するファイルを読み取ることができます。ただし、これを確実に行うためには、サブグラフのインデックスを作成するグラフノードが接続する IPFS ノードに、これらのファイルがピン留めされている必要があります。[hosted serviceの場合、これは/](https://thegraph.com/hosted-service) +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **注:** グラフ ネットワークはまだ `ipfs.cat` と `ipfs.map` をサポートしていないため、開発者はデプロイしないでくださいStudio を介してネットワークへのその機能を使用するサブグラフ +#### Example Schema -> **[機能管理](#experimental-features):** `ipfsOnEthereumContracts` はサブグラフ・マニフェストの `features` で宣言されなければなりません。非 EVM チェーンについては、`nonDeterministicIpfs` エイリアスも同じ目的で使用できます。 +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -ローカルのグラフノードを実行する場合、この実験的な機能を使用してサブグラフのインデックスを作成するために、`GRAPH_ALLOW_NON_DETERMINISTIC_IPFS`環境変数が設定されている必要があります。 +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### 致命的でないエラー @@ -1289,7 +1383,7 @@ graft: > **[Feature Management](#experimental-features):**`grafting`はサブグラフマニフェストの`features`の下で宣言しなければなりません。 -## ファイルデータソース +## IPFS/Arweave File Data Sources ファイルデータソースは、堅牢で拡張可能な方法でインデックス作成中にオフチェーンデータにアクセスするための新しいサブグラフ機能です。ファイルデータソースは、IPFS および Arweave からのファイルのフェッチをサポートしています。 @@ -1297,7 +1391,7 @@ graft: ### 概要 -ハンドラーの実行中に「インライン」でファイルを取得するのではなく、与えられたファイル識別子に対して新しいデータソースとして生成されるテンプレートを導入しています。これらの新しいデータソースはファイルを取得し、失敗した場合は再試行し、ファイルが見つかった場合は専用のハンドラーを実行します。 +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1506,65 +1600,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### 参考文献 [GIPファイルデータソース](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### 概要 - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 32851e015426a76e7a73c50d103aec973eee5d62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:54 -0400 Subject: [PATCH 2136/2326] New translations creating-a-subgraph.mdx (Korean) --- .../ko/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/ko/developing/creating-a-subgraph.mdx b/website/pages/ko/developing/creating-a-subgraph.mdx index ac4f24869c1d..475f511c1d59 100644 --- a/website/pages/ko/developing/creating-a-subgraph.mdx +++ b/website/pages/ko/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ These ordering rules are subject to change. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Version | Release notes | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1154,35 +1220,15 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: -| Feature | Name | -| --------------------------------------------------------- | --------------------------------------------------- | -| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | -| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS on Ethereum Contracts](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| Feature | Name | +| ---------------------------------------------------- | ---------------- | +| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | +| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | For instance, if a subgraph uses the **Full-Text Search** and the **Non-fatal Errors** features, the `features` field in the manifest should be: @@ -1197,17 +1243,65 @@ dataSources: ... Note that using a feature without declaring it will incur a **validation error** during subgraph deployment, but no errors will occur if a feature is declared but not used. -### IPFS on Ethereum Contracts +### Timeseries and Aggregations -A common use case for combining IPFS with Ethereum is to store data on IPFS that would be too expensive to maintain on-chain, and reference the IPFS hash in Ethereum contracts. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Given such IPFS hashes, subgraphs can read the corresponding files from IPFS using `ipfs.cat` and `ipfs.map`. To do this reliably, it is required that these files are pinned to an IPFS node with high availability, so that the [hosted service](https://thegraph.com/hosted-service) IPFS node can find them during indexing. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Note:** The Graph Network does not yet support `ipfs.cat` and `ipfs.map`, and developers should not deploy subgraphs using that functionality to the network via the Studio. +#### Example Schema -> **[Feature Management](#experimental-features):** `ipfsOnEthereumContracts` must be declared under `features` in the subgraph manifest. For non EVM chains, the `nonDeterministicIpfs` alias can also be used for the same purpose. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -When running a local Graph Node, the `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` environment variable must be set in order to index subgraphs using this experimental functionality. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Non-fatal errors @@ -1288,7 +1382,7 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o > **[Feature Management](#experimental-features):** `grafting` must be declared under `features` in the subgraph manifest. -## File Data Sources +## IPFS/Arweave File Data Sources File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. @@ -1296,7 +1390,7 @@ File data sources are a new subgraph functionality for accessing off-chain data ### Overview -Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Overview - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 2e13585df39b0c48cfe647d861924a40e74e3260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:55 -0400 Subject: [PATCH 2137/2326] New translations creating-a-subgraph.mdx (Dutch) --- .../nl/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/nl/developing/creating-a-subgraph.mdx b/website/pages/nl/developing/creating-a-subgraph.mdx index ac4f24869c1d..475f511c1d59 100644 --- a/website/pages/nl/developing/creating-a-subgraph.mdx +++ b/website/pages/nl/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ These ordering rules are subject to change. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Version | Release notes | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1154,35 +1220,15 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: -| Feature | Name | -| --------------------------------------------------------- | --------------------------------------------------- | -| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | -| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS on Ethereum Contracts](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| Feature | Name | +| ---------------------------------------------------- | ---------------- | +| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | +| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | For instance, if a subgraph uses the **Full-Text Search** and the **Non-fatal Errors** features, the `features` field in the manifest should be: @@ -1197,17 +1243,65 @@ dataSources: ... Note that using a feature without declaring it will incur a **validation error** during subgraph deployment, but no errors will occur if a feature is declared but not used. -### IPFS on Ethereum Contracts +### Timeseries and Aggregations -A common use case for combining IPFS with Ethereum is to store data on IPFS that would be too expensive to maintain on-chain, and reference the IPFS hash in Ethereum contracts. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Given such IPFS hashes, subgraphs can read the corresponding files from IPFS using `ipfs.cat` and `ipfs.map`. To do this reliably, it is required that these files are pinned to an IPFS node with high availability, so that the [hosted service](https://thegraph.com/hosted-service) IPFS node can find them during indexing. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Note:** The Graph Network does not yet support `ipfs.cat` and `ipfs.map`, and developers should not deploy subgraphs using that functionality to the network via the Studio. +#### Example Schema -> **[Feature Management](#experimental-features):** `ipfsOnEthereumContracts` must be declared under `features` in the subgraph manifest. For non EVM chains, the `nonDeterministicIpfs` alias can also be used for the same purpose. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -When running a local Graph Node, the `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` environment variable must be set in order to index subgraphs using this experimental functionality. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Non-fatal errors @@ -1288,7 +1382,7 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o > **[Feature Management](#experimental-features):** `grafting` must be declared under `features` in the subgraph manifest. -## File Data Sources +## IPFS/Arweave File Data Sources File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. @@ -1296,7 +1390,7 @@ File data sources are a new subgraph functionality for accessing off-chain data ### Overview -Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Overview - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 73f38ba137c061848011130b51f4a80b3d34456c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:57 -0400 Subject: [PATCH 2138/2326] New translations creating-a-subgraph.mdx (Polish) --- .../pl/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/pl/developing/creating-a-subgraph.mdx b/website/pages/pl/developing/creating-a-subgraph.mdx index ac4f24869c1d..475f511c1d59 100644 --- a/website/pages/pl/developing/creating-a-subgraph.mdx +++ b/website/pages/pl/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ These ordering rules are subject to change. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Version | Release notes | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1154,35 +1220,15 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: -| Feature | Name | -| --------------------------------------------------------- | --------------------------------------------------- | -| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | -| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS on Ethereum Contracts](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| Feature | Name | +| ---------------------------------------------------- | ---------------- | +| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | +| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | For instance, if a subgraph uses the **Full-Text Search** and the **Non-fatal Errors** features, the `features` field in the manifest should be: @@ -1197,17 +1243,65 @@ dataSources: ... Note that using a feature without declaring it will incur a **validation error** during subgraph deployment, but no errors will occur if a feature is declared but not used. -### IPFS on Ethereum Contracts +### Timeseries and Aggregations -A common use case for combining IPFS with Ethereum is to store data on IPFS that would be too expensive to maintain on-chain, and reference the IPFS hash in Ethereum contracts. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Given such IPFS hashes, subgraphs can read the corresponding files from IPFS using `ipfs.cat` and `ipfs.map`. To do this reliably, it is required that these files are pinned to an IPFS node with high availability, so that the [hosted service](https://thegraph.com/hosted-service) IPFS node can find them during indexing. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Note:** The Graph Network does not yet support `ipfs.cat` and `ipfs.map`, and developers should not deploy subgraphs using that functionality to the network via the Studio. +#### Example Schema -> **[Feature Management](#experimental-features):** `ipfsOnEthereumContracts` must be declared under `features` in the subgraph manifest. For non EVM chains, the `nonDeterministicIpfs` alias can also be used for the same purpose. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -When running a local Graph Node, the `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` environment variable must be set in order to index subgraphs using this experimental functionality. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Non-fatal errors @@ -1288,7 +1382,7 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o > **[Feature Management](#experimental-features):** `grafting` must be declared under `features` in the subgraph manifest. -## File Data Sources +## IPFS/Arweave File Data Sources File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. @@ -1296,7 +1390,7 @@ File data sources are a new subgraph functionality for accessing off-chain data ### Overview -Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Overview - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 2f27f1fc3a0703d0075f7bdd5463b5409097ba9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:35:58 -0400 Subject: [PATCH 2139/2326] New translations creating-a-subgraph.mdx (Russian) --- .../ru/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/ru/developing/creating-a-subgraph.mdx b/website/pages/ru/developing/creating-a-subgraph.mdx index 98be9eebae3a..96dc1a53657b 100644 --- a/website/pages/ru/developing/creating-a-subgraph.mdx +++ b/website/pages/ru/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ dataSources: > **Примечание:** При создании нового [динамического источника данных](#data-source-templates-for-dynamically-created-contracts) обработчики, определенные для динамических источников данных, начнут обработку только после обработки всех существующих обработчиков источников данных и будут повторяться в той же последовательности при каждом запуске. +### Фильтры индексированных аргументов/фильтры тем + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### Как работают фильтры тем + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// Идентификатор лицензии SPDX: MIT +pragma solidity ^0.8.0; + +contract Token { + // Объявление события с индексируемыми параметрами для адресов + event Transfer(address indexed from, address indexed to, uint256 value); + + // Функция для имитации передачи токенов + function transfer(address to, uint256 value) public { + // Генерация события Transfer с указанием from, to и value + emit Transfer(msg.sender, to, value); + } +} +``` + +В этом примере: + +- Событие `Transfer` используется для протоколирования транзакций токенов между адресами. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- Функция `transfer` — это простое представление действия передачи токена, которое генерирует событие Transfer при каждом вызове. + +#### Конфигурация в субграфах + +Фильтры тем определяются непосредственно в конфигурации обработчика событий в манифесте субграфа. Вот как они настроены: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +В этой настройке: + +- `topic1` соответствует первому индексированному аргументу события, `topic2` — второму, а `topic3` — третьему. +- Каждая тема может иметь одно или несколько значений, и событие обрабатывается только в том случае, если оно соответствует одному из значений в каждой указанной теме. + +##### Логика фильтра + +- В рамках одной темы: логика действует как условие OR. Событие будет обработано, если оно соответствует любому из перечисленных значений в данной теме. +- Между разными темами: логика функционирует как условие AND. Событие должно удовлетворять всем указанным условиям в разных темах, чтобы вызвать соответствующий обработчик. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +В данной конфигурации: + +- `topic1` настроен на фильтрацию событий `Transfer`, где `0xAddressA` является отправителем. +- `topic2` настроен на фильтрацию событий `Transfer`, где `0xAddressB` является получателем. +- Субграф будет индексировать только транзакции, которые происходят непосредственно от `0xAddressA` к `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +В данной конфигурации: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Версия | Примечания к релизу | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Фильтры индексированных аргументов/фильтры тем - -> **Требуется `specVersion` >= 1.2.0** - -Фильтры тем, также известные как фильтры индексированных аргументов, представляют собой мощную функцию в субграфах, которая позволяет точно фильтровать события блокчейна на основе значений их индексированных аргументов. Эти фильтры особенно полезны для выделения конкретных событий из огромного потока событий в блокчейне, позволяя субграфам работать более эффективно, сосредотачиваясь только на соответствующих данных. Это может быть исключительно полезно для таких случаев использования, как создание персональных субграфов, которые отслеживают определенные адреса и их взаимодействие с различными смарт-контрактами в блокчейне. - -#### Как работают фильтры тем - -Когда смарт-контракт генерирует событие, любые аргументы, помеченные как индексированные, могут использоваться в качестве фильтров в манифесте субграфа. Это позволяет субграфу выборочно прослушивать события, соответствующие этим индексированным аргументам. Первый индексированный аргумент события соответствует `topic1`, второй — `topic2` и т. д. до `topic3`, поскольку виртуальная машина Ethereum (EVM) допускает до трех индексированных аргументов на одно событие. - -```solidity -// Идентификатор лицензии SPDX: MIT -pragma solidity ^0.8.0; - -contract Token { - // Объявление события с индексируемыми параметрами для адресов - event Transfer(address indexed from, address indexed to, uint256 value); - - // Функция для имитации передачи токенов - function transfer(address to, uint256 value) public { - // Генерация события Transfer с указанием from, to и value - emit Transfer(msg.sender, to, value); - } -} -``` - -В этом примере: - -- Событие `Transfer` используется для протоколирования транзакций токенов между адресами. -- Параметры `from` и `to` индексируются, что позволяет прослушивателям событий фильтровать и отслеживать передачи, включающие определенные адреса. -- Функция `transfer` — это простое представление действия передачи токена, которое генерирует событие Transfer при каждом вызове. - -#### Конфигурация в субграфах - -Фильтры тем определяются непосредственно в конфигурации обработчика событий в манифесте субграфа. Вот как они настроены: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -В этой настройке: - -- `topic1` соответствует первому индексированному аргументу события, `topic2` — второму, а `topic3` — третьему. -- Каждая тема может иметь одно или несколько значений, и событие обрабатывается только в том случае, если оно соответствует одному из значений в каждой указанной теме. - -##### Логика фильтра - -- В рамках одной темы: логика действует как условие OR. Событие будет обработано, если оно соответствует любому из перечисленных значений в данной теме. -- Между разными темами: логика функционирует как условие AND. Событие должно удовлетворять всем указанным условиям в разных темах, чтобы вызвать соответствующий обработчик. - -### Пример 1. Отслеживание трансферных транзакций по одному адресу - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -В данной конфигурации: - -- `topic1` фильтрует события передачи на основе адреса отправителя, а `topic2` фильтрует события на основе адреса получателя. -- Субграф будет индексировать транзакции, в которых указанный адрес участвует либо в качестве отправителя, либо в качестве получателя. - -### Пример 2. Отслеживание прямых переводов с адреса A на адрес B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -В данной конфигурации: - -- `topic1` настроен на фильтрацию событий `Transfer`, где `0xAddressA` является отправителем. -- `topic2` настроен на фильтрацию событий `Transfer`, где `0xAddressB` является получателем. -- Субграф будет индексировать только транзакции, которые происходят непосредственно от `0xAddressA` к `0xAddressB`. - -### Пример 3. Отслеживание транзакций в любом направлении между двумя адресами - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -В данной конфигурации: - -- `topic1` настроен на фильтрацию событий `Transfer`, где `0xAddressA` — это либо отправитель, либо получатель. -- `topic2` настроен на фильтрацию событий `Transfer`, где `0xAddressB` — это отправитель или получатель. -- Субграф будет индексировать транзакции, происходящие в любом направлении между `0xAddressA` и `0xAddressB`, что позволяет осуществлять комплексный мониторинг взаимодействий с участием обоих адресов. - ## Обработчики вызовов Хотя события обеспечивают эффективный способ сбора соответствующих изменений в состоянии контракта, многие контракты избегают создания логов для оптимизации затрат на газ. В этих случаях субграф может подписаться на обращения к контракту источника данных. Это достигается путем определения обработчиков вызовов, ссылающихся на сигнатуру функции, и обработчика мэппинга, который будет обрабатывать вызовы этой функции. Чтобы обработать эти вызовы, обработчик мэппинга получит `ethereum.Call` в качестве аргумента, содержащего типизированные входы и выходы вызова. Вызовы, выполненные на любой глубине цепочки вызовов транзакции, запускают мэппинг, позволяя фиксировать действия с контрактом источника данных через прокси-контракты. @@ -1154,35 +1220,15 @@ eventHandlers: Внутри функции обработчика доступ к подтверждению можно получить в поле `Event.receipt`. Если для ключа `receipt` установлено значение`false` или оно опущено в манифесте, вместо него будет возвращено значение `null`. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Экспериментальные функции Начиная с `specVersion` `0.0.4`, функции субграфа должны быть явно объявлены в разделе `features` на верхнем уровне файла манифеста, используя их имя `camelCase`, как указано в таблице ниже: -| Функция | Имя | -| ---------------------------------------------------------- | ---------------------------------------------------- | -| [Нефатальные ошибки](#non-fatal-errors) | `nonFatalErrors` | -| [Полнотекстовый поиск](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Графтинг](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS на контрактах Ethereum](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` или `nonDeterministicIpfs` | +| Функция | Имя | +| -------------------------------------------------------- | ---------------- | +| [Нефатальные ошибки](#non-fatal-errors) | `nonFatalErrors` | +| [Полнотекстовый поиск](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Графтинг](#grafting-onto-existing-subgraphs) | `grafting` | Например, если в субграфе используются функции **Full-Text Search** и **Non-fatal Errors**, поле `features` в манифесте должно быть: @@ -1197,17 +1243,65 @@ dataSources: ... Обратите внимание, что использование функции без ее объявления приведет к **ошибке проверки** во время развертывания субграфа, но никаких ошибок не возникнет, если функция объявлена, но не используется. -### IPFS на контрактах Ethereum +### Тайм-серии и агрегации -Распространенным вариантом сочетания IPFS с Ethereum является хранение данных в IPFS, которые было бы слишком дорого поддерживать в он-чейне, и ссылка на хэш IPFS в контрактах Ethereum. +Тайм-серии и агрегации позволяют Вашему субграфу отслеживать такие статистические данные, как средняя цена за день, общий объем переводов за час и т. д. -Учитывая такие хэши IPFS, субграфы могут считывать соответствующие файлы из IPFS, используя `ipfs.cat ` и `ipfs.map`. Для надежного выполнения этой задачи необходимо, чтобы эти файлы были привязаны к узлу IPFS с высокой доступностью, так чтобы[хостинговый сервис](https://thegraph.com/hosted-service) узла IPFS мог найти их при индексировании. +Эта функция представляет два новых типа объектов субграфов. Объекты тайм-серий записывают точки данных с временными метками. Объекты агрегирования выполняют заранее объявленные вычисления над точками данных тайм-серий ежечасно или ежедневно, а затем сохраняют результаты для быстрого доступа через GraphQL. -> **Примечание:** Сеть The Graph пока не поддерживает `ipfs.cat` и `ipfs.map`, и разработчикам не следует разворачивать субграфы, использующие эту функциональность, в сети через Studio. +#### Пример схемы -> **[Управление функционалом](#experimental-features):** `ipfsOnEthereumContracts` должны быть объявлены в разделе `features` в манифесте субграфа. Для чейнов, отличных от EVM, псевдоним `nonDeterministicIpfs` также может использоваться с той же целью. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -При запуске локального узла The Graph необходимо установить переменную окружения `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS`, чтобы индексировать субграфы, используя эту экспериментальную функциональность. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Определение тайм-серий и агрегаций + +Объекты тайм-серий определяются с помощью `@entity(timeseries: true)` в schema.graphql. Каждый объект тайм-серии должен иметь уникальный идентификатор типа int8, метку времени типа Timestamp и включать данные, которые будут использоваться для вычислений объектами агрегации. Эти объекты тайм-серий могут быть сохранены в обычных обработчиках триггеров и выступать в качестве «необработанных данных» для объектов агрегации. + +Объекты агрегации определяются с помощью `@aggregation` в schema.graphql. Каждый объект агрегирования определяет источник, из которого он будет собирать данные (который должен быть объектом тайм-серии), устанавливает интервалы (например, час, день) и указывает функцию агрегирования, которую он будет использовать (например, сумма, количество, минимум, максимум, первый, последний). Объекты агрегации рассчитываются автоматически на основе указанного источника в конце необходимого интервала. + +#### Доступные интервалы агрегации + +- `hour`: устанавливает период тайм-серии каждый час, в час. +- `day`: устанавливает период тайм-серий ежедневный, который начинается и заканчивается в 00:00. + +#### Доступные функции агрегации + +- `sum`: сумма всех значений. +- `count`: количество значений. +- `min`: минимальное значение. +- `max`: максимальное значение. +- `first`: первое значение в периоде. +- `last`: последнее значение за период. + +#### Пример запроса агрегации + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Примечание: + +Чтобы использовать тайм-серии и агрегации, субграф должен иметь версию спецификации ≥1.1.0. Обратите внимание, что эта функция может претерпеть значительные изменения, которые могут повлиять на обратную совместимость. + +[Подробнее](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) о тайм-сериях и агрегациях. ### Нефатальные ошибки @@ -1288,7 +1382,7 @@ graft: > **[Управление функционалом](#experimental-features):** `grafting` должен быть объявлен в разделе `features` в манифесте субграфа. -## Источники файловых данных +## IPFS/Arweave File Data Sources Источники файловых данных — это новая функциональность субграфа для надежного и расширенного доступа к данным вне чейна во время индексации. Источники данных файлов поддерживают получение файлов из IPFS и Arweave. @@ -1296,7 +1390,7 @@ graft: ### Обзор -Вместо извлечения файлов «по очереди» во время выполнения обработчика вводятся шаблоны, которые могут создаваться как новые источники данных для заданного идентификатора файла. Эти новые источники данных извлекают файлы, повторяя попытки, если они не увенчались успехом, и запускают специальный обработчик, когда файл найден. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. Это похоже на [существующие шаблоны источников данных](/developing/creating-a-subgraph/#data-source-templates), которые используются для динамического создания новых источников данных на чейн-основе. @@ -1505,65 +1599,3 @@ export function handleTransfer(event: TransferEvent): void { #### Ссылки [Источники данных GIP-файла](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Тайм-серии и агрегации - -### Обзор - -Тайм-серии и агрегации позволяют Вашему субграфу отслеживать такие статистические данные, как средняя цена за день, общий объем переводов за час и т. д. - -Эта функция представляет два новых типа объектов субграфов. Объекты тайм-серий записывают точки данных с временными метками. Объекты агрегирования выполняют заранее объявленные вычисления над точками данных тайм-серий ежечасно или ежедневно, а затем сохраняют результаты для быстрого доступа через GraphQL. - -#### Пример схемы - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Определение тайм-серий и агрегаций - -Объекты тайм-серий определяются с помощью `@entity(timeseries: true)` в schema.graphql. Каждый объект тайм-серии должен иметь уникальный идентификатор типа int8, метку времени типа Timestamp и включать данные, которые будут использоваться для вычислений объектами агрегации. Эти объекты тайм-серий могут быть сохранены в обычных обработчиках триггеров и выступать в качестве «необработанных данных» для объектов агрегации. - -Объекты агрегации определяются с помощью `@aggregation` в schema.graphql. Каждый объект агрегирования определяет источник, из которого он будет собирать данные (который должен быть объектом тайм-серии), устанавливает интервалы (например, час, день) и указывает функцию агрегирования, которую он будет использовать (например, сумма, количество, минимум, максимум, первый, последний). Объекты агрегации рассчитываются автоматически на основе указанного источника в конце необходимого интервала. - -#### Доступные интервалы агрегации - -- `hour`: устанавливает период тайм-серии каждый час, в час. -- `day`: устанавливает период тайм-серий ежедневный, который начинается и заканчивается в 00:00. - -#### Доступные функции агрегации - -- `sum`: сумма всех значений. -- `count`: количество значений. -- `min`: минимальное значение. -- `max`: максимальное значение. -- `first`: первое значение в периоде. -- `last`: последнее значение за период. - -#### Пример запроса агрегации - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Примечание: - -Чтобы использовать тайм-серии и агрегации, субграф должен иметь версию спецификации ≥1.1.0. Обратите внимание, что эта функция может претерпеть значительные изменения, которые могут повлиять на обратную совместимость. - -[Подробнее](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) о тайм-сериях и агрегациях. From 5d9508705572895de0efdd5d6f234109a24c9b3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:36:00 -0400 Subject: [PATCH 2140/2326] New translations creating-a-subgraph.mdx (Swedish) --- .../sv/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/sv/developing/creating-a-subgraph.mdx b/website/pages/sv/developing/creating-a-subgraph.mdx index 759ece1fc793..4ab76509be05 100644 --- a/website/pages/sv/developing/creating-a-subgraph.mdx +++ b/website/pages/sv/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ Dessa ordningsregler kan komma att ändras. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Version | Versionsanteckningar | @@ -874,110 +1044,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Anropsbehandlare Medan händelser ger ett effektivt sätt att samla in relevanta ändringar av ett kontrakts tillstånd, undviker många kontrakt att generera loggar för att optimera gasavgifterna. I dessa fall kan en subgraf prenumerera på anrop som görs till datakällans kontrakt. Detta uppnås genom att definiera anropsbehandlare som refererar till funktions signaturen och hanteraren som kommer att bearbeta anrop till denna funktion. För att bearbeta dessa anrop kommer hanteraren att ta emot ett `ethereum.Call` som ett argument med de typade in- och utdata från anropet. Anrop som görs på vilken djupnivå som helst i en transaktions anropskedja kommer att utlösa kartläggningen, vilket gör det möjligt att fånga aktivitet med datakällan genom proxykontrakt. @@ -1159,35 +1225,15 @@ eventHandlers: Inuti hanterarfunktionen kan kvittot nås i fältet `Event.receipt`. När nyckeln `receipt` är inställd som `false` eller utelämnad i manifestet, kommer istället ett `null`-värde att returneras. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Experimentella funktioner Från och med `specVersion` `0.0.4` måste delgrafsfunktioner deklareras explicit i avsnittet `features` högst upp i manifestfilen, med deras `camelCase`-namn, som listas i tabellen nedan: -| Funktion | Namn | -| -------------------------------------------------------- | ------------------------------------------------------ | -| [Icke dödliga fel](#non-fatal-errors) | `nonFatalErrors` | -| [Fulltextssökning](#defining-fulltext-search-fields) | `nonFatalErrors` | -| [Ympning](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS på Ethereum-kontrakt](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` eller `nonDeterministicIpfs` | +| Funktion | Namn | +| ---------------------------------------------------- | ---------------- | +| [Icke dödliga fel](#non-fatal-errors) | `nonFatalErrors` | +| [Fulltextssökning](#defining-fulltext-search-fields) | `nonFatalErrors` | +| [Ympning](#grafting-onto-existing-subgraphs) | `grafting` | Till exempel, om en delgraf använder funktionerna **Fulltextssökning** och **Icke dödliga fel**, ska fältet `features` i manifestet vara: @@ -1202,17 +1248,65 @@ dataSources: ... Observera att att använda en funktion utan att deklarera den kommer att resultera i en **valideringsfel** under delgrafens distribution, men inga fel uppstår om en funktion deklareras men inte används. -### IPFS på Ethereum-kontrakt +### Timeseries and Aggregations -En vanlig användning av att kombinera IPFS med Ethereum är att lagra data på IPFS som skulle vara för dyra att underhålla on-chain och referera till IPFS-hashen i Ethereum-kontrakt. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Med sådana IPFS-hashar kan delgrafer läsa de motsvarande filerna från IPFS med hjälp av `ipfs.cat` och `ipfs.map`. För att göra detta på ett pålitligt sätt krävs det att dessa filer är fastnålade till en IPFS-nod med hög tillgänglighet, så att [den värdtjänst](https://thegraph.com/hosted-service) som använder IPFS-noden kan hitta dem under indexeringen. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Observera:** The Graph Nätverk stöder ännu inte `ipfs.cat` och `ipfs.map`, och utvecklare bör inte distribuera delgrafer med den funktionaliteten till nätverket via Studio. +#### Example Schema -> **[Funktionshantering](#experimental-features):** `ipfsOnEthereumContracts` måste deklareras under `features` i delgrafens manifest. För icke-EVM-kedjor kan aliaset `nonDeterministicIpfs` också användas för samma ändamål. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -När du kör en lokal Graph Node måste miljövariabeln `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` sättas för att indexera delgrafer med denna experimentella funktionalitet. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Icke dödliga fel @@ -1293,7 +1387,7 @@ Den ympade delgrafen kan använda ett GraphQL-schema som inte är identiskt med > **[Funktionshantering](#experimental-features):** `grafting` måste deklareras under `features` i delgrafens manifest. -## Fildatakällor +## IPFS/Arweave File Data Sources Filbaserade datakällor är en ny delgrafsfunktion för att få tillgång till data utanför kedjan under indexering på ett robust, utökat sätt. Filbaserade datakällor stödjer hämtning av filer från IPFS och från Arweave. @@ -1301,7 +1395,7 @@ Filbaserade datakällor är en ny delgrafsfunktion för att få tillgång till d ### Översikt -Istället för att hämta filer "i linje" under hanterarens exekvering introducerar detta mallar som kan skapas som nya datakällor för en given filidentifikator. Dessa nya datakällor hämtar filerna och försöker igen om de inte lyckas, och kör en dedikerad hanterare när filen hittas. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1510,65 +1604,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### Referenser [GIP Filbaserade datakällor](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Översikt - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 11175d10a170f69a5ac63261fcc94bdfed27bcf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:36:01 -0400 Subject: [PATCH 2141/2326] New translations creating-a-subgraph.mdx (Turkish) --- .../tr/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/tr/developing/creating-a-subgraph.mdx b/website/pages/tr/developing/creating-a-subgraph.mdx index b5e8f2497e0b..574aa8d61bbe 100644 --- a/website/pages/tr/developing/creating-a-subgraph.mdx +++ b/website/pages/tr/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ Bu sıralama kuralları değişebilir. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Sürüm | Sürüm Notları | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Çağrı İşleyicileri Etkinliğin bir sözleşmenin durumunda ilgili değişiklikleri toplamak için etkili bir yol sağlamasıyla birlikte, birçok sözleşme gaz maliyetlerini optimize etmek için günlük oluşturmaktan kaçınır. Bu durumlarda, bir subgraph veri kaynağı sözleşmesine yapılan çağrılara abone olabilir. Bunun için, işlev imzasına ve bu işlevi işleyecek eşleme işleyicisine başvurularak çağrı işleyicileri tanımlanır. Bu çağrıları işlemek için eşleme işleyicisi, `ethereum.Call` olarak adlandırılan ve çağrıya ilişkin yazılım girdileri ve çıktıları olan bir argüman alır. İşlem'in çağrı zincirinin herhangi bir derinliğinde yapılan çağrılar eşleştirmeyi tetikleyecektir, bu sayede veri kaynağı sözleşmesi aracılığıyla proxy sözleşmeleri aracılığıyla gerçekleştirilen faaliyetler yakalanabilir. @@ -1154,35 +1220,15 @@ eventHandlers: İşleyici işlevi içinde, makbuz `Event.receipt` alanında erişilebilir. Manifestte makbuz(`receipt`) anahtarı `false` olarak ayarlandığında veya atlandığında, `null` bir değer döndürülür. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Deneysel özellikler `specVersion` `0.0.4`'ten itibaren subgraph özellikleri, manifest dosyasının en üst düzeyindeki özellikler(`features`) bölümünde, aşağıdaki tabloda listelendiği gibi `camelCase` adlarıyla açıkça belirtilmelidir: -| Özellik | İsim | -| ------------------------------------------------------------ | --------------------------------------------------- | -| [Ölümcül Olmayan Hatalar](#non-fatal-errors) | `nonFatalErrors` | -| [Tam Metin Arama](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Graftlama](#grafting-onto-existing-subgraphs) | `grafting` | -| [Ethereum Sözleşmelerinde IPFS](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| Özellik | İsim | +| --------------------------------------------------- | ---------------- | +| [Ölümcül Olmayan Hatalar](#non-fatal-errors) | `nonFatalErrors` | +| [Tam Metin Arama](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Graftlama](#grafting-onto-existing-subgraphs) | `grafting` | Örneğin, bir subgraph Tam Metin Arama(**Full-Text Search**) ve Ölümcül Olmayan Hatalar(**Non-fatal Errors**) özelliklerini kullanıyorsa, özellikler(`features`) alanı manifestte şöyle olmalıdır: @@ -1197,17 +1243,65 @@ dataSources: ... Bir özelliği bildirmeden kullanmanın, subgraph dağıtımı sırasında bir **validation error**'a yol açacağını, ancak bir özellik bildirilmiş ancak kullanılmamışsa herhangi bir hata oluşmayacağını unutmayın. -### Ethereum Sözleşmelerinde IPFS +### Timeseries and Aggregations -IPFS'yi Ethereum ile birleştirerek yaygın bir kullanım durumu, zincir üstünde tutmanın maliyetli olacağı verileri IPFS'te depolamak ve IPFS hash değerine Ethereum sözleşmelerinde referans vermektir. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Bu tür IPFS hash değerleri verildiğinde, subgraphlar `ipfs.cat` ve `ipfs.map` kullanarak IPFS'ten ilgili dosyaları okuyabilir. Bunu güvenilir bir şekilde yapmak için, Barındırılan hizmet([hosted service](https://thegraph.com/hosted-service)) IPFS düğümü bunları indeksleme sırasında bulabilecek kadar yüksek erişilebilirliğe sahip bir IPFS düğümüne sabitlenmelidir. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Not:** Graph Ağı henüz `ipfs.cat` ve `ipfs.map`'i desteklemiyor ve geliştiricilerin bu işlevselliği kullanarak subgraphları Studio aracılığıyla ağa dağıtması önerilmez. +#### Example Schema -> **[Özellik Yönetimi](#experimental-features): ** `ipfsOnEthereumContracts`, subgraph manifestinde özellikler(`features`) altında bildirilmelidir. EVM dışı zincirler için, aynı amaç için `nonDeterministicIpfs` takma adı da kullanılabilir. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -Yerel Graph Düğümü çalıştırılırken, bu deneysel işlevselliği kullanarak subgraphları indekslemek için `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` ortam değişkeni ayarlanmalıdır. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Ölümcül Olmayan Hatalar @@ -1288,7 +1382,7 @@ Graftlanan subgraph, temel subgraphla tamamen aynı olmayan, ancak onunla uyumlu > **[Özellik Yönetimi](#experimental-features):** graftlama(`grafting`) subgraph manifestindeki özellikler(`features`) altında bildirilmelidir. -## Dosya Veri Kaynakları +## IPFS/Arweave File Data Sources Dosya veri kaynakları, indeksleme sırasında zincir dışı verilere sağlam ve genişletilebilir bir şekilde erişmek için yeni bir subgraph fonksiyonudur. Dosya veri kaynakları IPFS'den ve Arweave'den dosya getirmeyi desteklemektedir. @@ -1296,7 +1390,7 @@ Dosya veri kaynakları, indeksleme sırasında zincir dışı verilere sağlam v ### Genel Bakış -İşleyici yürütme sırasında dosyaları "sıralı" olarak getirmek yerine bu, belirli bir dosya tanımlayıcısı için yeni veri kaynakları olarak üretilebilecek şablonları sunar. Bu yeni veri kaynakları dosyaları alır, başarısız olursa yeniden denener ve dosya bulunduğunda ayrılmış bir işleyici çalıştırır. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### Referanslar [GIP Dosyası Veri Kaynakları](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Overview - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From d74c243728c5a2486e0a097d0f1058e13b662b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:36:02 -0400 Subject: [PATCH 2142/2326] New translations creating-a-subgraph.mdx (Ukrainian) --- .../uk/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/uk/developing/creating-a-subgraph.mdx b/website/pages/uk/developing/creating-a-subgraph.mdx index f8f1cc9c8648..1a3fe743c78f 100644 --- a/website/pages/uk/developing/creating-a-subgraph.mdx +++ b/website/pages/uk/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ These ordering rules are subject to change. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Version | Release notes | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1154,35 +1220,15 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: -| Feature | Name | -| --------------------------------------------------------- | --------------------------------------------------- | -| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | -| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS on Ethereum Contracts](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| Feature | Name | +| ---------------------------------------------------- | ---------------- | +| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | +| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | For instance, if a subgraph uses the **Full-Text Search** and the **Non-fatal Errors** features, the `features` field in the manifest should be: @@ -1197,17 +1243,65 @@ dataSources: ... Note that using a feature without declaring it will incur a **validation error** during subgraph deployment, but no errors will occur if a feature is declared but not used. -### IPFS on Ethereum Contracts +### Timeseries and Aggregations -A common use case for combining IPFS with Ethereum is to store data on IPFS that would be too expensive to maintain on-chain, and reference the IPFS hash in Ethereum contracts. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Given such IPFS hashes, subgraphs can read the corresponding files from IPFS using `ipfs.cat` and `ipfs.map`. To do this reliably, it is required that these files are pinned to an IPFS node with high availability, so that the [hosted service](https://thegraph.com/hosted-service) IPFS node can find them during indexing. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Note:** The Graph Network does not yet support `ipfs.cat` and `ipfs.map`, and developers should not deploy subgraphs using that functionality to the network via the Studio. +#### Example Schema -> **[Feature Management](#experimental-features):** `ipfsOnEthereumContracts` must be declared under `features` in the subgraph manifest. For non EVM chains, the `nonDeterministicIpfs` alias can also be used for the same purpose. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -When running a local Graph Node, the `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` environment variable must be set in order to index subgraphs using this experimental functionality. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Non-fatal errors @@ -1288,7 +1382,7 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o > **[Feature Management](#experimental-features):** `grafting` must be declared under `features` in the subgraph manifest. -## File Data Sources +## IPFS/Arweave File Data Sources File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. @@ -1296,7 +1390,7 @@ File data sources are a new subgraph functionality for accessing off-chain data ### Короткий огляд -Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Короткий огляд - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 5677e3240227a063ae0b5f9020dd5fb1716e8d64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:36:04 -0400 Subject: [PATCH 2143/2326] New translations creating-a-subgraph.mdx (Chinese Simplified) --- .../zh/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/zh/developing/creating-a-subgraph.mdx b/website/pages/zh/developing/creating-a-subgraph.mdx index ae626647b0b1..05e52bb7bfd5 100644 --- a/website/pages/zh/developing/creating-a-subgraph.mdx +++ b/website/pages/zh/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ dataSources: > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | 版本 | Release 说明 | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## 调用处理程序 虽然事件提供了一种收集合约状态相关变换的有效方法,但许多合约避免生成日志以优化 gas 成本。 在这些情况下,子图可以订阅对数据源合约的调用。 这是通过定义引用函数签名的调用处理程序,及处理对该函数调用的映射处理程序来实现的。 为了处理这些调用,映射处理程序将接收一个 `ethereum.Call` 作为参数,其中包含调用的类型化输入和输出。 在交易调用链中的任何深度进行的调用都会触发映射,从而捕获通过代理合约与数据源合约的交互活动。 @@ -1154,35 +1220,15 @@ eventHandlers: 在处理程序函数内部,可以在 `Event.Receipt`字段中访问收据。当`接收`密钥设置为 `false` 或在清单中省略时,将返回`空`值。 -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## 实验性特征 从 `specVersion` `0.0.4` 开始,子图特征必须使用它们的 `camelCase` 名称,在清单文件顶层的 `features` 部分中显式声明,如下表所列: -| 特征 | 名称 | -| --------------------------- | --------------------------------------------------- | -| [非致命错误](#非致命错误) | `nonFatalErrors` | -| [全文搜索](#定义全文搜索字段) | `fullTextSearch` | -| [嫁接](#嫁接到现有子图) | `grafting` | -| [以太坊合约上的IPFS](#以太坊合约上的IPFS) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| 特征 | 名称 | +| ----------------- | ---------------- | +| [非致命错误](#非致命错误) | `nonFatalErrors` | +| [全文搜索](#定义全文搜索字段) | `fullTextSearch` | +| [嫁接](#嫁接到现有子图) | `grafting` | 例如,如果子图使用 **Full-Text Search** 和 **Non-fatal Errors** 功能,则清单中的 `features` 字段应为: @@ -1197,17 +1243,65 @@ dataSources: ... 请注意,在子图部署期间使用未声明的特性会导致**验证错误**,但如果声明了特性未使用,则不会出现错误。 -### 以太坊合约上的IPFS +### Timeseries and Aggregations -如果将这些数据在链上维护,成本会太高,所以将 IPFS 与以太坊结合的一个常见用例是将数据存储在 IPFS 上,并在以太坊合约中引用 IPFS hash。 +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -给定这样的 IPFS hash,子图可以使用 `ipfs.cat` 和 `ipfs.map` 从 IPFS 读取相应的文件。 但是,要可靠地执行此操作,需要将这些文件有效地锚定在 IPFS 节点上。这样 [托管服务](https://thegraph.com/hosted-service)的IPFS 节点在索引过程中能够找到他们。 +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **注意:** Graph网络暂不支持`ipfs.cat`和`ipfs.map`,开发者请勿部署使用该功能的子图通过 Studio 连接到网络。 +#### Example Schema -> **[特征管理](#experimental-features):** `ipfsOnEthereumContracts` 必须在子图清单中`features` 下声明。对非EVM链, 也可以使用`nonDeterministicIpfs`别名来实现相同的目的。 +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -在运行本地Graph节点时,必须设置`GRAPH_ALLOW_NON_DETERMINISTIC_IPFS`环境变量,以便使用此实验性功能对子图进行索引。 +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### 非致命错误 @@ -1288,7 +1382,7 @@ graft: > **[特征管理](#experimental-features):** `grafting`必须在子图清单中的`features`下声明。 -## 文件数据源 +## IPFS/Arweave File Data Sources 文件数据源是一种新的子图功能,用于以稳健、可扩展的方式在索引期间访问链下数据。文件数据源支持从IPFS和Arweave获取文件。 @@ -1296,7 +1390,7 @@ graft: ### 概述 -这不是在处理程序执行期间“在线”获取文件,而是引入了可以作为给定文件标识符的新数据源生成的模板。这些新数据源获取文件,如果不成功则重试,找到文件后运行专用处理程序。 +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### 参考 [GIP文件数据源](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### 概述 - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 12c946bcc558dcb738f6988f9014c5538ee8322e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:36:06 -0400 Subject: [PATCH 2144/2326] New translations creating-a-subgraph.mdx (Urdu (Pakistan)) --- .../ur/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/ur/developing/creating-a-subgraph.mdx b/website/pages/ur/developing/creating-a-subgraph.mdx index 3364987f92a9..652d0131dc57 100644 --- a/website/pages/ur/developing/creating-a-subgraph.mdx +++ b/website/pages/ur/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ dataSources: > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | ورزن | جاری کردہ نوٹس | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## کال ہینڈلرز جب کہ ایوینٹس کنٹریکٹ کی سٹیٹ میں متعلقہ تبدیلیاں جمع کرنے کا ایک مؤثر طریقہ فراہم کرتے ہیں، بہت سے کنٹریکٹ گیس کے اخراجات کو بہتر بنانے کے لیے لاگ بنانے سے گریز کرتے ہیں. ان صورتوں میں، ایک سب گراف ڈیٹا سورس کنٹریکٹ پر کی گئی کالوں کو سبسکرائب کر سکتا ہے. یہ فنکشن کے سگنیچر اور میپنگ ہینڈلر کا حوالہ دینے والے کال ہینڈلرز کو بیان کرکے حاصل کیا جاتا ہے جو اس فنکشن میں کالوں پر کارروائی کرے گا. ان کالوں پر کارروائی کرنے کے لیے، میپنگ ہینڈلر کو کال کے ٹائپ کردہ ان پٹس اور آؤٹ پٹس کے ساتھ آرگومینٹ کے طور پر `ethereum.Call` موصول ہوگا. ٹرانزیکشن کی کال چین میں کسی بھی گہرائی میں کی گئی کالز میپنگ کو متحرک کریں گی، جس سے پراکسی کنٹریکٹ کے ذریعے ڈیٹا سورس کنٹریکٹ کے ساتھ سرگرمی کیپچر کی جا سکے گی. @@ -1154,35 +1220,15 @@ eventHandlers: ہینڈلر فنکشن کے اندر، `Event.receipt` فیلڈ میں رسید تک رسائی حاصل کی جا سکتی ہے. جب `receipt` کلید کو `false` پر سیٹ کیا جاتا ہے یا مینی فیسٹ میں چھوڑ دیا جاتا ہے، تو اس کی بجائے ایک `null` قدر لوٹائی جائے گی. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## تجرباتی خصوصیات `specVersion` `0.0.4` سے شروع کرتے ہوئے، سب گراف کی خصوصیات کا واضح طور پر مینی فیسٹ فائل کے اوپری سطح پر `features` سیکشن میں ان کا استعمال کرتے ہوئے واضح طور پر اعلان کیا جانا چاہیے۔ `camelCase` نام، جیسا کہ نیچے دیے گئے ٹیبل میں درج ہے: -| خصوصیت | نام | -| -------------------------------------------------------- | --------------------------------------------------- | -| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | -| [Full-text سرچ](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | -| [ایتھیریم کنٹریکٹس پر IPFS](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` یا `nonDeterministicIpfs` | +| خصوصیت | نام | +| ------------------------------------------------- | ---------------- | +| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | +| [Full-text سرچ](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | مثال کے طور پر، اگر کوئی سب گراف **Full-Text Search** اور **Non-fatal Errors** خصوصیات کا استعمال کرتا ہے، تو مینی فیسٹ میں `features` فیلڈ ہونا چاہئے: @@ -1197,17 +1243,65 @@ dataSources: ... نوٹ کریں کہ کسی خصوصیت کا اعلان کیے بغیر استعمال کرنے سے سب گراف کی تعیناتی کے دوران **validation error** پیش آئے گی، لیکن اگر کسی خصوصیت کا اعلان کیا جائے لیکن استعمال نہ کیا جائے تو کوئی خرابی نہیں ہوگی. -### ایتھیریم کنٹریکٹس پر IPFS +### Timeseries and Aggregations -IPFS کو ایتھیریم کے ساتھ ملانے کے لیے ایک عام استعمال کا معاملہ IPFS پر ڈیٹا ذخیرہ کرنا ہے جو آن چین کو برقرار رکھنے کے لیے بہت مہنگا ہو گا، اور ایتھیریم کنٹریکٹس میں IPFS ہیش کا حوالہ دیتے ہیں. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -اس طرح کے IPFS ہیشز کو دیکھتے ہوئے، سب گرافس `ipfs.cat` اور `ipfs.map` کا استعمال کرتے ہوئے IPFS سے متعلقہ فائلوں کو پڑھ سکتے ہیں. اسے قابل اعتماد طریقے سے کرنے کے لیے، یہ ضروری ہے کہ ان فائلوں کو زیادہ دستیابی کے ساتھ ایک IPFS نوڈ پر پن کیا جائے، تاکہ [ہوسٹڈ سروس](https://thegraph.com/hosted-service) IPFS نوڈ انڈیکسنگ کے دوران انہیں تلاش کر سکے. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **نوٹ:** گراف نیٹ ورک ابھی تک `ipfs.cat` اور `ipfs.map` کو سپورٹ نہیں کرتا ہے، اور ڈویلپرز کو نیٹ ورک پر اس فعالیت کو استعمال کرتے ہوئے سٹوڈیو کے ذریعے سب گراف کو تعینات نہیں کرنا چاہیے. +#### Example Schema -> **[فیچر مینجمنٹ](#experimental-features):** `ipfsOnEthereumContracts` کا اعلان سب گراف مینی فیسٹ میں `features` کے تحت ہونا چاہیے. غیر EVM چینز کے لیے، `nonDeterministicIpfs` alias بھی اسی مقصد کے لیے استعمال کیا جا سکتا ہے. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -مقامی گراف نوڈ چلاتے وقت، اس تجرباتی فعالیت کا استعمال کرتے ہوئے سب گرافس کو انڈیکس کرنے کے لیے `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` ماحول تغیر کا ہونا ضروری ہے. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Non-fatal errors @@ -1288,7 +1382,7 @@ graft: > **[فیچر مینجمنٹ](#experimental-features):** `grafting` کو سب گراف مینی فیسٹ میں `features` کے تحت واضح کیا جانا چاہیے. -## فائل ڈیٹا سورسز +## IPFS/Arweave File Data Sources فائل ڈیٹا کے ذرائع ایک مضبوط، قابل توسیع طریقے سے انڈیکسنگ کے دوران آف چین ڈیٹا تک رسائی کے لیے ایک نئی سب گراف کی فعالیت ہے۔ فائل ڈیٹا کے ذرائع IPFS اور Arweave سے فائلیں لانے میں معاونت کرتے ہیں. @@ -1296,7 +1390,7 @@ graft: ### جائزہ -ہینڈلر کے عمل کے دوران فائلوں کو "لائن میں" لانے کے بجائے، یہ ٹیمپلیٹس کو متعارف کرایا جاتا ہے جو کسی دیے گئے فائل شناخت کنندہ کے لیے نئے ڈیٹا سورسز کے طور پر تیار کیے جا سکتے ہیں۔ ڈیٹا کے یہ نئے ذرائع فائلوں کو بازیافت کرتے ہیں، اگر وہ ناکام ہو جائیں تو دوبارہ کوشش کرتے ہیں، جب فائل مل جاتی ہے تو ایک سرشار ہینڈلر چلاتے ہیں. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### حوالہ جات [GIP فائل ڈیٹا سورسز](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### جائزہ - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 5e8ae4771c42ad7c67802af740a033e4225750ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:36:07 -0400 Subject: [PATCH 2145/2326] New translations creating-a-subgraph.mdx (Vietnamese) --- .../vi/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/vi/developing/creating-a-subgraph.mdx b/website/pages/vi/developing/creating-a-subgraph.mdx index f86c3c60a33b..a4e5bff68de3 100644 --- a/website/pages/vi/developing/creating-a-subgraph.mdx +++ b/website/pages/vi/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ These ordering rules are subject to change. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Phiên bản | Ghi chú phát hành | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Trình xử lý lệnh gọi While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1154,35 +1220,15 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: -| Tính năng | Tên | -| ---------------------------------------------------------- | --------------------------------------------------- | -| [Lỗi không nghiêm trọng](#non-fatal-errors) | `nonFatalErrors` | -| [Tìm kiếm toàn văn](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Ghép](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS trên hợp đồng Ethereum](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| Tính năng | Tên | +| ----------------------------------------------------- | ---------------- | +| [Lỗi không nghiêm trọng](#non-fatal-errors) | `nonFatalErrors` | +| [Tìm kiếm toàn văn](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Ghép](#grafting-onto-existing-subgraphs) | `grafting` | For instance, if a subgraph uses the **Full-Text Search** and the **Non-fatal Errors** features, the `features` field in the manifest should be: @@ -1197,17 +1243,65 @@ dataSources: ... Note that using a feature without declaring it will incur a **validation error** during subgraph deployment, but no errors will occur if a feature is declared but not used. -### IPFS trên hợp đồng Ethereum +### Timeseries and Aggregations -A common use case for combining IPFS with Ethereum is to store data on IPFS that would be too expensive to maintain on-chain, and reference the IPFS hash in Ethereum contracts. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Given such IPFS hashes, subgraphs can read the corresponding files from IPFS using `ipfs.cat` and `ipfs.map`. To do this reliably, it is required that these files are pinned to an IPFS node with high availability, so that the [hosted service](https://thegraph.com/hosted-service) IPFS node can find them during indexing. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Lưu ý:** Mạng The Graph chưa hỗ trợ `ipfs.cat` and `ipfs.map`, và các nhà phát triển không nên triển khai các subgraphs sử dụng chức năng đó vào mạng thông qua Studio. +#### Example Schema -> **[Feature Management](#experimental-features):** `ipfsOnEthereumContracts` must be declared under `features` in the subgraph manifest. For non EVM chains, the `nonDeterministicIpfs` alias can also be used for the same purpose. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -When running a local Graph Node, the `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` environment variable must be set in order to index subgraphs using this experimental functionality. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Lỗi không nghiêm trọng @@ -1288,7 +1382,7 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o > **[Quản lý Tính năng](#experimental-features):** `grafting` phải được khai báo dưới`features` trong tệp kê khai subgraph. -## File Data Sources +## IPFS/Arweave File Data Sources File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. @@ -1296,7 +1390,7 @@ File data sources are a new subgraph functionality for accessing off-chain data ### Tổng quan -Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Tổng quan - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From e683e98df711aa8332017ee05939f2ebf8f8aae1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:36:09 -0400 Subject: [PATCH 2146/2326] New translations creating-a-subgraph.mdx (Marathi) --- .../mr/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/mr/developing/creating-a-subgraph.mdx b/website/pages/mr/developing/creating-a-subgraph.mdx index 6b50b819ea9e..c0d42b06fce1 100644 --- a/website/pages/mr/developing/creating-a-subgraph.mdx +++ b/website/pages/mr/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ These ordering rules are subject to change. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | आवृत्ती | रिलीझ नोट्स | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## हँडलर्सना कॉल करा इव्हेंट्स कराराच्या स्थितीत संबंधित बदल एकत्रित करण्याचा एक प्रभावी मार्ग प्रदान करतात, तर अनेक करार गॅसच्या किमती ऑप्टिमाइझ करण्यासाठी लॉग तयार करणे टाळतात. या प्रकरणांमध्ये, सबग्राफ डेटा स्त्रोत करारावर केलेल्या कॉलची सदस्यता घेऊ शकतो. फंक्शन सिग्नेचर आणि मॅपिंग हँडलरचा संदर्भ देणारे कॉल हँडलर परिभाषित करून हे साध्य केले जाते जे या फंक्शनवर कॉलवर प्रक्रिया करेल. या कॉल्सवर प्रक्रिया करण्यासाठी, मॅपिंग हँडलरला कॉलमधील टाइप केलेल्या इनपुट आणि आउटपुटसह युक्तिवाद म्हणून `ethereum.Call` प्राप्त होईल. व्यवहाराच्या कॉल साखळीतील कोणत्याही खोलीत केलेले कॉल मॅपिंगला ट्रिगर करतील, प्रॉक्सी कॉन्ट्रॅक्टद्वारे डेटा स्त्रोत करारासह क्रियाकलाप कॅप्चर करण्यास अनुमती देईल. @@ -1154,35 +1220,15 @@ eventHandlers: हँडलर फंक्शनच्या आत, पावती `Event.receipt` फील्डमध्ये ऍक्सेस केली जाऊ शकते. जेव्हा `पावती` की `false` वर सेट केली जाते किंवा मॅनिफेस्टमध्ये वगळली जाते, तेव्हा त्याऐवजी `null` मूल्य परत केले जाईल. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## प्रायोगिक वैशिष्ट्ये `specVersion` `0.0.4` पासून सुरू करून, सबग्राफ वैशिष्ट्ये मॅनिफेस्ट फाइलच्या शीर्ष स्तरावरील `वैशिष्ट्ये` विभागात स्पष्टपणे घोषित करणे आवश्यक आहे, त्यांचा वापर करून `camelCase` नाव, खालील तक्त्यामध्ये सूचीबद्ध केल्याप्रमाणे: -| वैशिष्ट्य | नाव | -| ------------------------------------------------------- | --------------------------------------------------- | -| [गैर-घातक त्रुटी](#non-fatal-errors) | `nonFatalErrors` | -| [पूर्ण मजकूर शोध](#defining-fulltext-search-fields) | `fullTextSearch` | -| [कलम करणे](#grafting-onto-existing-subgraphs) | `कलम करणे` | -| [इथरियम करारांवर आयपीएफएस](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| वैशिष्ट्य | नाव | +| --------------------------------------------------- | ---------------- | +| [गैर-घातक त्रुटी](#non-fatal-errors) | `nonFatalErrors` | +| [पूर्ण मजकूर शोध](#defining-fulltext-search-fields) | `fullTextSearch` | +| [कलम करणे](#grafting-onto-existing-subgraphs) | `कलम करणे` | For instance, if a subgraph uses the **Full-Text Search** and the **Non-fatal Errors** features, the `features` field in the manifest should be: @@ -1197,17 +1243,65 @@ dataSources: ... लक्षात ठेवा की वैशिष्ट्य घोषित न करता वापरल्याने सबग्राफ डिप्लॉयमेंट दरम्यान **प्रमाणीकरण त्रुटी** येईल, परंतु वैशिष्ट्य घोषित केले असल्यास परंतु वापरलेले नसल्यास कोणतीही त्रुटी येणार नाही. -### इथरियम करारांवर आयपीएफएस +### Timeseries and Aggregations -इथरियमसह IPFS एकत्र करण्यासाठी एक सामान्य वापर केस म्हणजे IPFS वर डेटा संग्रहित करणे जे ऑन-चेन राखण्यासाठी खूप महाग असेल आणि Ethereum कॉन्ट्रॅक्टमध्ये IPFS हॅशचा संदर्भ घ्या. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -अशा IPFS हॅश दिल्यास, सबग्राफ `ipfs.cat` आणि `ipfs.map` वापरून IPFS मधील संबंधित फाइल्स वाचू शकतात. हे विश्वासार्हपणे करण्यासाठी, या फायली उच्च उपलब्धता असलेल्या IPFS नोडवर पिन केलेल्या असणे आवश्यक आहे, जेणेकरून [होस्टेड सेवा](https://thegraph.com/hosted-service) IPFS नोड अनुक्रमणिका दरम्यान शोधू शकता. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **टीप:** ग्राफ नेटवर्क अद्याप `ipfs.cat` आणि `ipfs.map` ला समर्थन देत नाही आणि विकसकांनी उपयोजित करू नये स्टुडिओद्वारे नेटवर्कवर ती कार्यक्षमता वापरून सबग्राफ. +#### Example Schema -> **[वैशिष्ट्य व्यवस्थापन](#experimental-features):** `ipfsOnEthereumContracts` `वैशिष्ट्ये` अंतर्गत घोषित करणे आवश्यक आहे code> सबग्राफ मॅनिफेस्टमध्ये. ईव्हीएम नसलेल्या साखळ्यांसाठी, `nonDeterministicIpfs` उपनाव देखील त्याच उद्देशासाठी वापरला जाऊ शकतो. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -स्थानिक आलेख नोड चालवताना, ही प्रायोगिक कार्यक्षमता वापरून सबग्राफ अनुक्रमित करण्यासाठी `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` पर्यावरण व्हेरिएबल सेट करणे आवश्यक आहे. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### गैर-घातक त्रुटी @@ -1288,7 +1382,7 @@ graft: > **[Feature Management](#experimental-features):** `grafting` must be declared under `features` in the subgraph manifest. -## फाइल डेटा स्रोत +## IPFS/Arweave File Data Sources File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. @@ -1296,7 +1390,7 @@ File data sources are a new subgraph functionality for accessing off-chain data ### सविश्लेषण -हँडलर कार्यान्वित करताना फाईल्स "इन लाइन" आणण्याऐवजी, हे टेम्पलेट्स सादर करते जे दिलेल्या फाइल आयडेंटिफायरसाठी नवीन डेटा स्रोत म्हणून तयार केले जाऊ शकतात. हे नवीन डेटा स्रोत फाइल्स आणतात, अयशस्वी झाल्यास पुन्हा प्रयत्न करतात, फाइल सापडल्यावर समर्पित हँडलर चालवतात. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### संदर्भ [GIP फाइल डेटा स्रोत](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### सारांश - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 0b12859c38717aa3e218260a6a312041a9a974b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:36:10 -0400 Subject: [PATCH 2147/2326] New translations creating-a-subgraph.mdx (Hindi) --- .../hi/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/hi/developing/creating-a-subgraph.mdx b/website/pages/hi/developing/creating-a-subgraph.mdx index 4e782fe7a277..09b88dc684a6 100644 --- a/website/pages/hi/developing/creating-a-subgraph.mdx +++ b/website/pages/hi/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ dataSources: > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | संस्करण | रिलीज नोट्स | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## कॉल हैंडलर्स जबकि घटनाएँ एक अनुबंध की स्थिति में प्रासंगिक परिवर्तन एकत्र करने का एक प्रभावी तरीका प्रदान करती हैं, कई अनुबंध गैस लागतों को अनुकूलित करने के लिए लॉग उत्पन्न करने से बचते हैं। इन मामलों में, एक सबग्राफ डेटा स्रोत अनुबंध में किए गए कॉलों की सदस्यता ले सकता है। यह फ़ंक्शन सिग्नेचर और मैपिंग हैंडलर को संदर्भित करने वाले कॉल हैंडलर को परिभाषित करके प्राप्त किया जाता है जो इस फ़ंक्शन को कॉल संसाधित करेगा। इन कॉल्स को प्रोसेस करने के लिए, मैपिंग हैंडलर को `ethereum.Call` एक आर्गुमेंट के रूप में प्राप्त होगा, जिसमें टाइप किए गए इनपुट और कॉल के आउटपुट होंगे। लेन-देन की कॉल श्रृंखला में किसी भी गहराई पर किए गए कॉल मैपिंग को ट्रिगर करेंगे, जिससे प्रॉक्सी अनुबंधों के माध्यम से डेटा स्रोत अनुबंध के साथ गतिविधि को कैप्चर किया जा सकेगा। @@ -1154,35 +1220,15 @@ eventHandlers: हैंडलर फ़ंक्शन के अंदर, रसीद को `Event.receipt` फ़ील्ड में एक्सेस किया जा सकता है। जब `receipt` कुंजी को `गलत` पर सेट किया जाता है या मेनिफ़ेस्ट में छोड़ दिया जाता है, तो इसके बजाय एक `शून्य` मान लौटाया जाएगा। -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## प्रायोगिक विशेषताएं `specVersion` `0.0.4` से शुरू होकर, सबग्राफ सुविधाओं को `सुविधाओं` अनुभाग में मेनिफेस्ट फ़ाइल के शीर्ष स्तर पर उनके का उपयोग करके स्पष्ट रूप से घोषित किया जाना चाहिए `camelCase` नाम, जैसा कि नीचे दी गई तालिका में सूचीबद्ध है: -| विशेषता | नाम | -| ------------------------------------------------------------ | --------------------------------------------------- | -| [गैर-घातक त्रुटियाँ](#non-fatal-errors) | `nonFatalErrors` | -| [पूरा पाठ खोजें](#defining-fulltext-search-fields) | `fullTextSearch` | -| [ग्राफ्टिंग](#grafting-onto-existing-subgraphs) | `grafting` | -| [इथेरियम कॉन्ट्रैक्ट्स पर IPFS](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| विशेषता | नाम | +| -------------------------------------------------- | ---------------- | +| [गैर-घातक त्रुटियाँ](#non-fatal-errors) | `nonFatalErrors` | +| [पूरा पाठ खोजें](#defining-fulltext-search-fields) | `fullTextSearch` | +| [ग्राफ्टिंग](#grafting-onto-existing-subgraphs) | `grafting` | उदाहरण के लिए, यदि कोई सबग्राफ **पूर्ण-पाठ खोज** और **गैर-घातक त्रुटियां** सुविधाओं का उपयोग करता है, तो मेनिफेस्ट में `सुविधाएं` फ़ील्ड होना चाहिए: @@ -1197,17 +1243,65 @@ dataSources: ... ध्यान दें कि किसी सुविधा को घोषित किए बिना उसका उपयोग करने से सबग्राफ परिनियोजन के दौरान **सत्यापन त्रुटि** उत्पन्न होगी, लेकिन यदि सुविधा घोषित की जाती है लेकिन उसका उपयोग नहीं किया जाता है, तो कोई त्रुटि उत्पन्न नहीं होगी. -### इथेरियम कॉन्ट्रैक्ट्स पर IPFS +### Timeseries and Aggregations -IPFS को एथेरियम के साथ संयोजित करने के लिए एक सामान्य उपयोग का मामला IPFS पर डेटा संग्रहीत करना है जो ऑन-चेन बनाए रखने के लिए बहुत महंगा होगा, और Ethereum अनुबंधों में IPFS हैश का संदर्भ देगा। +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -ऐसे IPFS हैश को देखते हुए, सबग्राफ `ipfs.cat` और `ipfs.map` का उपयोग करके IPFS से संबंधित फ़ाइलों को पढ़ सकते हैं। इसे मज़बूती से करने के लिए, यह आवश्यक है कि इन फ़ाइलों को उच्च उपलब्धता वाले IPFS नोड पर पिन किया जाए, ताकि [होस्ट की गई सेवा](https://thegraph.com/hosted-service) IPFS नोड अनुक्रमण के दौरान उन्हें ढूंढ सके। +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **ध्यान दें:** ग्राफ़ नेटवर्क अभी तक `ipfs.cat` और `ipfs.map` का समर्थन नहीं करता है, और डेवलपर्स को परिनियोजित नहीं करना चाहिए स्टूडियो के माध्यम से नेटवर्क के लिए उस कार्यक्षमता का उपयोग करने वाले सबग्राफ। +#### Example Schema -> **[सुविधा प्रबंधन](#experimental-features):** `ipfsOnEthereumContracts` को सबग्राफ मेनिफ़ेस्ट में `सुविधाओं` के अंतर्गत घोषित किया जाना चाहिए। गैर ईवीएम श्रृंखलाओं के लिए, इसी उद्देश्य के लिए `nonDeterministicIpfs` उपनाम का भी उपयोग किया जा सकता है। +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -स्थानीय ग्राफ़ नोड चलाते समय, `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` पर्यावरण चर सेट किया जाना चाहिए ताकि इस प्रायोगिक कार्यक्षमता का उपयोग करके सबग्राफ को अनुक्रमित किया जा सके। +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### गैर-घातक त्रुटियाँ @@ -1288,7 +1382,7 @@ graft: > **[सुविधा प्रबंधन](#experimental-features):** `ग्राफ्टिंग` को `विशेषताओं` के अंतर्गत घोषित किया जाना चाहिए कोड सबग्राफ मेनिफेस्ट में। -## फ़ाइल डेटा स्रोत +## IPFS/Arweave File Data Sources File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. @@ -1296,7 +1390,7 @@ File data sources are a new subgraph functionality for accessing off-chain data ### अवलोकन -हैंडलर निष्पादन के दौरान "इन लाइन" फ़ाइलों को लाने के बजाय, यह उन टेम्पलेट्स को प्रस्तुत करता है जिन्हें किसी दिए गए फ़ाइल पहचानकर्ता के लिए नए डेटा स्रोतों के रूप में उत्पन्न किया जा सकता है। ये नए डेटा स्रोत फ़ाइलें प्राप्त करते हैं, असफल होने पर पुनः प्रयास करते हैं, फ़ाइल मिलने पर एक समर्पित हैंडलर चलाते हैं। +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### संदर्भ [GIP फ़ाइल डेटा स्रोत](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### अवलोकन - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From 633e576458f90d5be10b82b464d86b3dc37a98db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 15:36:12 -0400 Subject: [PATCH 2148/2326] New translations creating-a-subgraph.mdx (Yoruba) --- .../yo/developing/creating-a-subgraph.mdx | 430 ++++++++++-------- 1 file changed, 231 insertions(+), 199 deletions(-) diff --git a/website/pages/yo/developing/creating-a-subgraph.mdx b/website/pages/yo/developing/creating-a-subgraph.mdx index ac4f24869c1d..475f511c1d59 100644 --- a/website/pages/yo/developing/creating-a-subgraph.mdx +++ b/website/pages/yo/developing/creating-a-subgraph.mdx @@ -188,6 +188,176 @@ These ordering rules are subject to change. > **Note:** When new [dynamic data source](#data-source-templates-for-dynamically-created-contracts) are created, the handlers defined for dynamic data sources will only start processing after all existing data source handlers are processed, and will repeat in the same sequence whenever triggered. +### Indexed Argument Filters / Topic Filters + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0` + +Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow users to precisely filter blockchain events based on the values of their indexed arguments. + +- These filters help isolate specific events of interest from the vast stream of events on the blockchain, allowing subgraphs to operate more efficiently by focusing only on relevant data. + +- This is useful for creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. + +#### How Topic Filters Work + +When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. + +- The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +contract Token { + // Event declaration with indexed parameters for addresses + event Transfer(address indexed from, address indexed to, uint256 value); + + // Function to simulate transferring tokens + function transfer(address to, uint256 value) public { + // Emitting the Transfer event with from, to, and value + emit Transfer(msg.sender, to, value); + } +} +``` + +In this example: + +- The `Transfer` event is used to log transactions of tokens between addresses. +- The `from` and `to` parameters are indexed, allowing event listeners to filter and monitor transfers involving specific addresses. +- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. + +#### Configuration in Subgraphs + +Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: + +```yaml +eventHandlers: + - event: SomeEvent(indexed uint256, indexed address, indexed uint256) + handler: handleSomeEvent + topic1: ['0xValue1', '0xValue2'] + topic2: ['0xAddress1', '0xAddress2'] + topic3: ['0xValue3'] +``` + +In this setup: + +- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. +- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. + +##### Filter Logic + +- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. +- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. + +#### Example 1: Tracking Direct Transfers from Address A to Address B + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleDirectedTransfer + topic1: ['0xAddressA'] # Sender Address + topic2: ['0xAddressB'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. +- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. + +#### Example 2: Tracking Transactions in Either Direction Between Two or More Addresses + +```yaml +eventHandlers: + - event: Transfer(indexed address,indexed address,uint256) + handler: handleTransferToOrFrom + topic1: ['0xAddressA', '0xAddressB', '0xAddressC'] # Sender Address + topic2: ['0xAddressB', '0xAddressC'] # Receiver Address +``` + +In this configuration: + +- `topic1` is configured to filter `Transfer` events where `0xAddressA`, `0xAddressB`, `0xAddressC` is the sender. +- `topic2` is configured to filter `Transfer` events where `0xAddressB` and `0xAddressC` is the receiver. +- The subgraph will index transactions that occur in either direction between multiple addresses allowing for comprehensive monitoring of interactions involving all addresses. + +## Declared eth_call + +> **Requires**: [SpecVersion](#specversion-releases) >= `1.2.0`. Currently, `eth_calls` can only be declared for event handlers. + +Declarative `eth_calls` are a valuable subgraph feature that allows `eth_calls` to be executed ahead of time, enabling `graph-node` to execute them in parallel. + +This feature does the following: + +- Significantly improves the performance of fetching data from the Ethereum blockchain by reducing the total time for multiple calls and optimizing the subgraph's overall efficiency. +- Allows faster data fetching, resulting in quicker query responses and a better user experience. +- Reduces wait times for applications that need to aggregate data from multiple Ethereum calls, making the data retrieval process more efficient. + +### Key Concepts + +- Declarative `eth_calls`: Ethereum calls that are defined to be executed in parallel rather than sequentially. +- Parallel Execution: Instead of waiting for one call to finish before starting the next, multiple calls can be initiated simultaneously. +- Time Efficiency: The total time taken for all the calls changes from the sum of the individual call times (sequential) to the time taken by the longest call (parallel). + +### Scenario without Declarative `eth_calls` + +Imagine you have a subgraph that needs to make three Ethereum calls to fetch data about a user's transactions, balance, and token holdings. + +Traditionally, these calls might be made sequentially: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Total time taken = 3 + 2 + 4 = 9 seconds + +### Scenario with Declarative `eth_calls` + +With this feature, you can declare these calls to be executed in parallel: + +1. Call 1 (Transactions): Takes 3 seconds +2. Call 2 (Balance): Takes 2 seconds +3. Call 3 (Token Holdings): Takes 4 seconds + +Since these calls are executed in parallel, the total time taken is equal to the time taken by the longest call. + +Total time taken = max (3, 2, 4) = 4 seconds + +### How it Works + +1. Declarative Definition: In the subgraph manifest, you declare the Ethereum calls in a way that indicates they can be executed in parallel. +2. Parallel Execution Engine: The Graph Node's execution engine recognizes these declarations and runs the calls simultaneously. +3. Result Aggregation: Once all calls are complete, the results are aggregated and used by the subgraph for further processing. + +### Example Configuration in Subgraph Manifest + +Declared `eth_calls` can access the `event.address` of the underlying event as well as all the `event.params`. + +`Subgraph.yaml` using `event.address`: + +```yaml +eventHandlers: +event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24) +handler: handleSwap +calls: + global0X128: Pool[event.address].feeGrowthGlobal0X128() + global1X128: Pool[event.address].feeGrowthGlobal1X128() +``` + +Details for the example above: + +- `global0X128` is the declared `eth_call`. +- The text before colon(`global0X128`) is the label for this `eth_call` which is used when logging errors. +- The text (`Pool[event.address].feeGrowthGlobal0X128()`) is the actual `eth_call` that will be executed, which is in the form of `Contract[address].function(arguments)` +- The `address` and `arguments` can be replaced with variables that will be available when the handler is executed. + +`Subgraph.yaml` using `event.params` + +```yaml +calls: + - ERC20DecimalsToken0: ERC20[event.params.token0].decimals() +``` + ### SpecVersion Releases | Version | Release notes | @@ -869,110 +1039,6 @@ dataSources: topic1: ['0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', '0xc8dA6BF26964aF9D7eEd9e03E53415D37aA96325'] # Optional topic filter which filters only events with the specified topic. ``` -### Indexed Argument Filters / Topic Filters - -> **Requires `specVersion` >= 1.2.0** - -Topic filters, also known as indexed argument filters, are a powerful feature in subgraphs that allow for precise filtering of blockchain events based on the values of their indexed arguments. These filters are particularly useful for isolating specific events of interest from the vast stream of events on the blockchain, enabling subgraphs to operate more efficiently by focusing only on relevant data. This can be incredibly useful for usecases like creating personal subgraphs that track specific addresses and their interactions with various smart contracts on the blockchain. - -#### How Topic Filters Work - -When a smart contract emits an event, any arguments that are marked as indexed can be used as filters in a subgraph's manifest. This allows the subgraph to listen selectively for events that match these indexed arguments. The event's first indexed argument corresponds to `topic1`, the second to `topic2`, and so on, up to `topic3`, since the Ethereum Virtual Machine (EVM) allows up to three indexed arguments per event. - -```solidity -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -contract Token { - // Event declaration with indexed parameters for addresses - event Transfer(address indexed from, address indexed to, uint256 value); - - // Function to simulate transferring tokens - function transfer(address to, uint256 value) public { - // Emitting the Transfer event with from, to, and value - emit Transfer(msg.sender, to, value); - } -} -``` - -In this example: - -- The `Transfer` event is used to log transactions of tokens between addresses. -- The `from` and `to` parameters are indexed, which allows event listeners to filter and monitor transfers involving specific addresses. -- The `transfer` function is a simple representation of a token transfer action, emitting the Transfer event whenever it is called. - -#### Configuration in Subgraphs - -Topic filters are defined directly within the event handler configuration in the subgraph manifest. Here is how they are configured: - -```yaml -eventHandlers: - - event: SomeEvent(indexed uint256, indexed address, indexed uint256) - handler: handleSomeEvent - topic1: ['0xValue1', '0xValue2'] - topic2: ['0xAddress1', '0xAddress2'] - topic3: ['0xValue3'] -``` - -In this setup: - -- `topic1` corresponds to the first indexed argument of the event, `topic2` to the second, and `topic3` to the third. -- Each topic can have one or more values, and an event is only processed if it matches one of the values in each specified topic. - -##### Filter Logic - -- Within a Single Topic: The logic functions as an OR condition. The event will be processed if it matches any one of the listed values in a given topic. -- Between Different Topics: The logic functions as an AND condition. An event must satisfy all specified conditions across different topics to trigger the associated handler. - -### Example 1: Tracking a Single Address's Transfer Transactions - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic1: ['0xSpecificAddress'] - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransfer - topic2: ['0xSpecificAddress'] -``` - -In this configuration: - -- `topic1` filters Transfer events based on the from address, and `topic2` filters based on the to address. -- The subgraph will index transactions where the specified address is involved either as a sender or a receiver. - -### Example 2: Tracking Direct Transfers from Address A to Address B - -```yaml -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleDirectedTransfer - topic1: ['0xAddressA'] # Sender Address - topic2: ['0xAddressB'] # Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is the sender. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is the receiver. -- The subgraph will only index transactions that occur directly from `0xAddressA` to `0xAddressB`. - -### Example 3: Tracking Transactions in Either Direction Between Two Addresses - -``` -eventHandlers: - - event: Transfer(indexed address,indexed address,uint256) - handler: handleTransferToOrFrom - topic1: ["0xAddressA"] # Sender or Receiver Address - topic2: ["0xAddressB"] # Sender or Receiver Address -``` - -In this configuration: - -- `topic1` is configured to filter `Transfer` events where `0xAddressA` is either the sender or the receiver. -- `topic2` is configured to filter `Transfer` events where `0xAddressB` is either the sender or the receiver. -- The subgraph will index transactions that occur in either direction between `0xAddressA` and `0xAddressB`, allowing for comprehensive monitoring of interactions involving both addresses. - ## Call Handlers While events provide an effective way to collect relevant changes to the state of a contract, many contracts avoid generating logs to optimize gas costs. In these cases, a subgraph can subscribe to calls made to the data source contract. This is achieved by defining call handlers referencing the function signature and the mapping handler that will process calls to this function. To process these calls, the mapping handler will receive an `ethereum.Call` as an argument with the typed inputs to and outputs from the call. Calls made at any depth in a transaction's call chain will trigger the mapping, allowing activity with the data source contract through proxy contracts to be captured. @@ -1154,35 +1220,15 @@ eventHandlers: Inside the handler function, the receipt can be accessed in the `Event.receipt` field. When the `receipt` key is set to `false` or omitted in the manifest, a `null` value will be returned instead. -## Declared eth_call - -Reducing `eth_call` definitely improves indexing speed. For `eth_calls` that cannot be eliminated, they can be declared in the subgraph manifest to be processed in parallel with the block processing. When `graph-node` processes a block, it performs all declared `eth_calls` in parallel before handlers are run where as `eth_calls` that are not declared are executed sequentially when handlers run. This helps reducing total time spent on `eth_calls` and improves indexing speed. - -> **Note:** [SpecVersion](#specversion-releases) >= `1.2.0` is required. Currently, `eth_calls` can only be declared for event handlers. - -### Example Configuration in Subgraph Manifest - -```yaml -event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) -handler: handleTransferWithPool -calls: - ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) -``` - -In the example above, the `ERC20.poolInfo` is declared `eth_call`. The text before colon(`ERC20.poolInfo`) is the label for this `eth_call` which is used when logging errors. The text after colon(`ERC20[event.address].getPoolInfo(event.params.to)`) is the actual `eth_call` that will be executed which is in the form of `Contract[address].function(arguments)`. The `address` and `arguments` can be replaced with variables which will be available when executing the handler. - -When declared `eth_calls` are used, `graph-node` caches the results in the memory and when the `eth_call` is triggered inside handlers, it fetches the result from the cache instead of making an actual RPC call. - ## Experimental features Starting from `specVersion` `0.0.4`, subgraph features must be explicitly declared in the `features` section at the top level of the manifest file, using their `camelCase` name, as listed in the table below: -| Feature | Name | -| --------------------------------------------------------- | --------------------------------------------------- | -| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | -| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | -| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | -| [IPFS on Ethereum Contracts](#ipfs-on-ethereum-contracts) | `ipfsOnEthereumContracts` or `nonDeterministicIpfs` | +| Feature | Name | +| ---------------------------------------------------- | ---------------- | +| [Non-fatal errors](#non-fatal-errors) | `nonFatalErrors` | +| [Full-text Search](#defining-fulltext-search-fields) | `fullTextSearch` | +| [Grafting](#grafting-onto-existing-subgraphs) | `grafting` | For instance, if a subgraph uses the **Full-Text Search** and the **Non-fatal Errors** features, the `features` field in the manifest should be: @@ -1197,17 +1243,65 @@ dataSources: ... Note that using a feature without declaring it will incur a **validation error** during subgraph deployment, but no errors will occur if a feature is declared but not used. -### IPFS on Ethereum Contracts +### Timeseries and Aggregations -A common use case for combining IPFS with Ethereum is to store data on IPFS that would be too expensive to maintain on-chain, and reference the IPFS hash in Ethereum contracts. +Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. -Given such IPFS hashes, subgraphs can read the corresponding files from IPFS using `ipfs.cat` and `ipfs.map`. To do this reliably, it is required that these files are pinned to an IPFS node with high availability, so that the [hosted service](https://thegraph.com/hosted-service) IPFS node can find them during indexing. +This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. -> **Note:** The Graph Network does not yet support `ipfs.cat` and `ipfs.map`, and developers should not deploy subgraphs using that functionality to the network via the Studio. +#### Example Schema -> **[Feature Management](#experimental-features):** `ipfsOnEthereumContracts` must be declared under `features` in the subgraph manifest. For non EVM chains, the `nonDeterministicIpfs` alias can also be used for the same purpose. +```graphql +type Data @entity(timeseries: true) { + id: Int8! + timestamp: Timestamp! + price: BigDecimal! +} -When running a local Graph Node, the `GRAPH_ALLOW_NON_DETERMINISTIC_IPFS` environment variable must be set in order to index subgraphs using this experimental functionality. +type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { + id: Int8! + timestamp: Timestamp! + sum: BigDecimal! @aggregate(fn: "sum", arg: "price") +} +``` + +### Defining Timeseries and Aggregations + +Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. + +Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. + +#### Available Aggregation Intervals + +- `hour`: sets the timeseries period every hour, on the hour. +- `day`: sets the timeseries period every day, starting and ending at 00:00. + +#### Available Aggregation Functions + +- `sum`: Total of all values. +- `count`: Number of values. +- `min`: Minimum value. +- `max`: Maximum value. +- `first`: First value in the period. +- `last`: Last value in the period. + +#### Example Aggregations Query + +```graphql +{ + stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { + id + timestamp + sum + } +} +``` + +Note: + +To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. + +[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. ### Non-fatal errors @@ -1288,7 +1382,7 @@ The grafted subgraph can use a GraphQL schema that is not identical to the one o > **[Feature Management](#experimental-features):** `grafting` must be declared under `features` in the subgraph manifest. -## File Data Sources +## IPFS/Arweave File Data Sources File data sources are a new subgraph functionality for accessing off-chain data during indexing in a robust, extendable way. File data sources support fetching files from IPFS and from Arweave. @@ -1296,7 +1390,7 @@ File data sources are a new subgraph functionality for accessing off-chain data ### Overview -Rather than fetching files "in line" during handler exectuion, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. +Rather than fetching files "in line" during handler execution, this introduces templates which can be spawned as new data sources for a given file identifier. These new data sources fetch the files, retrying if they are unsuccessful, running a dedicated handler when the file is found. This is similar to the [existing data source templates](/developing/creating-a-subgraph/#data-source-templates), which are used to dynamically create new chain-based data sources. @@ -1505,65 +1599,3 @@ Handlers for File Data Sources cannot be in files which import `eth_call` contra #### References [GIP File Data Sources](https://forum.thegraph.com/t/gip-file-data-sources/2721) - -## Timeseries and Aggregations - -### Overview - -Timeseries and aggregations enable your subgraph to track statistics like daily average price, hourly total transfers, etc. - -This feature introduces two new types of subgraph entity. Timeseries entities record data points with timestamps. Aggregation entities perform pre-declared calculations on the Timeseries data points on an hourly or daily basis, then store the results for easy access via GraphQL. - -#### Example Schema - -```graphql -type Data @entity(timeseries: true) { - id: Int8! - timestamp: Timestamp! - price: BigDecimal! -} - -type Stats @aggregation(intervals: ["hour", "day"], source: "Data") { - id: Int8! - timestamp: Timestamp! - sum: BigDecimal! @aggregate(fn: "sum", arg: "price") -} -``` - -### Defining Timeseries and Aggregations - -Timeseries entities are defined with `@entity(timeseries: true)` in schema.graphql. Every timeseries entity must have a unique ID of the int8 type, a timestamp of the Timestamp type, and include data that will be used for calculation by aggregation entities. These Timeseries entities can be saved in regular trigger handlers, and act as the “raw data” for the Aggregation entities. - -Aggregation entities are defined with `@aggregation` in schema.graphql. Every aggregation entity defines the source from which it will gather data (which must be a Timeseries entity), sets the intervals (e.g., hour, day), and specifies the aggregation function it will use (e.g., sum, count, min, max, first, last). Aggregation entities are automatically calculated on the basis of the specified source at the end of the required interval. - -#### Available Aggregation Intervals - -- `hour`: sets the timeseries period every hour, on the hour. -- `day`: sets the timeseries period every day, starting and ending at 00:00. - -#### Available Aggregation Functions - -- `sum`: Total of all values. -- `count`: Number of values. -- `min`: Minimum value. -- `max`: Maximum value. -- `first`: First value in the period. -- `last`: Last value in the period. - -#### Example Aggregations Query - -```graphql -{ - stats(interval: "hour", where: { timestamp_gt: 1704085200 }) { - id - timestamp - sum - } -} -``` - -Note: - -To use Timeseries and Aggregations, a subgraph must have a spec version ≥1.1.0. Note that this feature might undergo significant changes that could affect backward compatibility. - -[Read more](https://github.com/graphprotocol/graph-node/blob/master/docs/aggregations.md) about Timeseries and Aggregations. From a08ce7859d86bbe24ea3d24e24500a3d8a39c0f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:16 -0400 Subject: [PATCH 2149/2326] New translations substreams.mdx (Portuguese) --- website/pages/pt/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/substreams.mdx b/website/pages/pt/substreams.mdx index f3e3b9f6e6d8..45893eeb079d 100644 --- a/website/pages/pt/substreams.mdx +++ b/website/pages/pt/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Logo do Substreams](/img/substreams-logo.png) -O Substreams é uma tecnologia poderosa de indexação de blockchains, desenvolvida pela Graph Network. O Substreams permite que programadores escrevam módulos em Rust para compor transmissões de dados ao lado da comunidade, e providencia indexações de altíssimo desempenho por virtude da paralelização, de uma forma que prioriza o streaming. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -Com o Substreams, podes extrair dados de blockchains diferentes (Ethereum, BNB, Solana...) muito rapidamente! Daí, podes enviar dados a vários locais (um banco de dados Postgres, um banco de dados Mongo, ou um Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## Como o Substreams funciona em 4 passos @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { A documentação oficial do Substreams é mantida atualmente pela equipa do StreamingFast no [site oficial do StreamingFast](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Como Começar - Para programar e lançar um Substreams, [é necessário instalar a CLI do Substreams](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From d4b90ccd01ac68237974c0753bff535fbcd1e606 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:17 -0400 Subject: [PATCH 2150/2326] New translations substreams-powered-subgraphs-faq.mdx (Portuguese) --- .../pages/pt/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/pt/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/pt/developing/substreams-powered-subgraphs-faq.mdx index 071840b0c6dd..45792250dc05 100644 --- a/website/pages/pt/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/pt/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ A [documentação do Substreams](/substreams) lhe ensinará como construir módu A [documentação de subgraphs movidos a Substreams](/cookbook/substreams-powered-subgraphs/) lhe ensinará como empacotá-los para a publicação no The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## Qual é o papel de módulos em Rust no Substreams? Módulos de Rust são o equivalente aos mapeadores em AssemblyScript em subgraphs. Eles são compilados em WASM de forma parecida, mas o modelo de programação permite execuções paralelas. Eles definem a categoria de transformações e agregações que você quer aplicar aos dados de blockchain crus. From 2893e027ae9d19b19039385d52c7b0361e4db372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:18 -0400 Subject: [PATCH 2151/2326] New translations substreams.mdx (Romanian) --- website/pages/ro/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/ro/substreams.mdx b/website/pages/ro/substreams.mdx index e3baa60fb154..710e110012cc 100644 --- a/website/pages/ro/substreams.mdx +++ b/website/pages/ro/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Getting Started - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From ea57a607d76bc99cd40935b361d4d91ea81084db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:19 -0400 Subject: [PATCH 2152/2326] New translations substreams-powered-subgraphs-faq.mdx (Romanian) --- .../pages/ro/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ro/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/ro/developing/substreams-powered-subgraphs-faq.mdx index 734cc376e81b..92c6a8313a5f 100644 --- a/website/pages/ro/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/ro/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) will show you how to package them for deployment on The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. From 165c2e9896552a2c0a54afb5f21003d7bb2d42d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:20 -0400 Subject: [PATCH 2153/2326] New translations substreams.mdx (French) --- website/pages/fr/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/fr/substreams.mdx b/website/pages/fr/substreams.mdx index 1cc04f73312d..1797d3816bc2 100644 --- a/website/pages/fr/substreams.mdx +++ b/website/pages/fr/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Logo Substreams](/img/substreams-logo.png) -Substreams est une puissante technologie d'indexation de blockchain, développée pour The Graph Network. Substreams permet aux développeurs d'écrire des modules Rust, composant des flux de données aux côtés de la communauté, et fournit une indexation extrêmement performante en vertu de la parallélisation, d'une manière "streaming-first". +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -Avec Substreams, vous pouvez extraire des données de différentes blockchains (Ethereum, BNB, Solana...) ultra-rapidement ! Ensuite, vous pouvez envoyer aux données à plusieurs endroits (une base de données Postgres, une base de données Mongo ou un Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## Le fonctionnement de Substreams en 4 étapes @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { La documentation officielle de Substreams est actuellement maintenue par l'équipe de StreamingFast [sur le site web de StreamingFast](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Démarrage - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 03e08acfdbd0dd07ca881663918627f52b0fe98e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:21 -0400 Subject: [PATCH 2154/2326] New translations substreams-powered-subgraphs-faq.mdx (French) --- .../pages/fr/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/fr/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/fr/developing/substreams-powered-subgraphs-faq.mdx index 901370eec911..67ef80c54b92 100644 --- a/website/pages/fr/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/fr/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ La [documentation Substreams](/substreams) vous apprendra à construire des modu La [documentation sur les subgraphs alimentés par des flux partiels] (/cookbook/substreams-powered-subgraphs/) vous montrera comment les emballer pour les déployer sur The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## Quel est le rôle des modules Rust dans Substreams ? Les modules Rust sont l'équivalent des mappeurs AssemblyScript dans les subgraphs. Ils sont compilés dans WASM de la même manière, mais le modèle de programmation permet une exécution parallèle. Ils définissent le type de transformations et d'agrégations que vous souhaitez appliquer aux données brutes de la blockchain. From 761705d9f4bab098af409f9957272647060ee6e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:22 -0400 Subject: [PATCH 2155/2326] New translations substreams.mdx (Spanish) --- website/pages/es/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/es/substreams.mdx b/website/pages/es/substreams.mdx index 95f3f1751071..8fcd8349f986 100644 --- a/website/pages/es/substreams.mdx +++ b/website/pages/es/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Empezando - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 7dff5a277d102c7425c923313308b067b3284b2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:23 -0400 Subject: [PATCH 2156/2326] New translations substreams-powered-subgraphs-faq.mdx (Spanish) --- .../pages/es/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/es/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/es/developing/substreams-powered-subgraphs-faq.mdx index 734cc376e81b..92c6a8313a5f 100644 --- a/website/pages/es/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/es/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) will show you how to package them for deployment on The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. From 1fa0fa98105ef09c0b15712d555062ef6e0c67f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:24 -0400 Subject: [PATCH 2157/2326] New translations substreams.mdx (Arabic) --- website/pages/ar/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/ar/substreams.mdx b/website/pages/ar/substreams.mdx index 14b466b0623b..cc4cb7918c45 100644 --- a/website/pages/ar/substreams.mdx +++ b/website/pages/ar/substreams.mdx @@ -4,9 +4,9 @@ title: سبستريمز ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Getting Started - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 52a17559bdb8b2d0d04600240ba34ef80606d054 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:25 -0400 Subject: [PATCH 2158/2326] New translations substreams-powered-subgraphs-faq.mdx (Arabic) --- .../pages/ar/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ar/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/ar/developing/substreams-powered-subgraphs-faq.mdx index 702d81a1bf18..d46783a1f7e3 100644 --- a/website/pages/ar/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/ar/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea ستوضح لك [وثائق الغرافات الفرعية المدعومة بواسطة سبستريمز](/cookbook/substreams-powered-subgraphs/) كيفية تجميعها للنشر على الغراف. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? تعتبر وحدات رست مكافئة لمعينات أسمبلي اسكريبت في الغرافات الفرعية. يتم ترجمتها إلى ويب أسيمبلي بنفس الطريقة، ولكن النموذج البرمجي يسمح بالتنفيذ الموازي. تحدد وحدات رست نوع التحويلات والتجميعات التي ترغب في تطبيقها على بيانات سلاسل الكتل الخام. From 8085f13016989e72595dfd77c258976cd47bc660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:26 -0400 Subject: [PATCH 2159/2326] New translations substreams.mdx (Czech) --- website/pages/cs/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/substreams.mdx b/website/pages/cs/substreams.mdx index 8cec0c3f529f..7cc86d6a0f04 100644 --- a/website/pages/cs/substreams.mdx +++ b/website/pages/cs/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams je výkonná technologie indexování blockchainu vyvinutá pro síť Graf Substreams umožňuje vývojářům psát moduly Rust, skládat datové proudy spolu s komunitou a poskytuje extrémně výkonné indexování díky paralelizaci, a to způsobem streaming-first. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -Pomocí Substreams můžete extrahovat data z různých blockchainů (Ethereum, BNB, Solana...) velmi rychle! Poté můžete data odeslat na několik míst (do databáze Postgres, Mongo nebo Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## Jak funguje Substreams ve 4 krocích @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { Oficiální dokumentaci Substreams v současné době spravuje tým StreamingFast [na Webová stránka StreamingFast](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Začínáme - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From ab90496baefaff791c1fa26a6e4aae3063195d7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:27 -0400 Subject: [PATCH 2160/2326] New translations substreams-powered-subgraphs-faq.mdx (Czech) --- .../pages/cs/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/cs/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/cs/developing/substreams-powered-subgraphs-faq.mdx index cbd245107f83..330cafa3d2d5 100644 --- a/website/pages/cs/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/cs/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ Dokumentace [Substreams](/substreams) vás naučí, jak vytvářet moduly Substr Dokumentace [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs/) vám ukáže, jak je zabalit pro nasazení na Grafu. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## Jaká je role modulů Rust v Substreamu? Moduly Rust jsou ekvivalentem mapovačů AssemblyScript v podgraf. Jsou kompilovány do WASM podobným způsobem, ale programovací model umožňuje paralelní provádění. Definují druh transformací a agregací, které chcete aplikovat na surová data blockchainu. From 4188c7bdcb9b6e6b5752d481d4b2bb9852611ef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:28 -0400 Subject: [PATCH 2161/2326] New translations substreams.mdx (German) --- website/pages/de/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/de/substreams.mdx b/website/pages/de/substreams.mdx index e3baa60fb154..710e110012cc 100644 --- a/website/pages/de/substreams.mdx +++ b/website/pages/de/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Getting Started - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 6951e6c4e17c55059dfea19c0490556525c418ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:29 -0400 Subject: [PATCH 2162/2326] New translations substreams-powered-subgraphs-faq.mdx (German) --- .../pages/de/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/de/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/de/developing/substreams-powered-subgraphs-faq.mdx index 734cc376e81b..92c6a8313a5f 100644 --- a/website/pages/de/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/de/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) will show you how to package them for deployment on The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. From b95c900ff8b2f94eca056e5174c78b99b606186c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:30 -0400 Subject: [PATCH 2163/2326] New translations substreams.mdx (Italian) --- website/pages/it/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/it/substreams.mdx b/website/pages/it/substreams.mdx index e3baa60fb154..710e110012cc 100644 --- a/website/pages/it/substreams.mdx +++ b/website/pages/it/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Getting Started - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 3e6c8179243d44889b64c5fa437e71f2f32f589a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:31 -0400 Subject: [PATCH 2164/2326] New translations substreams-powered-subgraphs-faq.mdx (Italian) --- .../pages/it/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/it/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/it/developing/substreams-powered-subgraphs-faq.mdx index 734cc376e81b..92c6a8313a5f 100644 --- a/website/pages/it/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/it/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) will show you how to package them for deployment on The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. From c76fa0550c32a18770aaa1a801558770449991eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:32 -0400 Subject: [PATCH 2165/2326] New translations substreams.mdx (Japanese) --- website/pages/ja/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/ja/substreams.mdx b/website/pages/ja/substreams.mdx index a31fb7527f5e..4983c635cf7d 100644 --- a/website/pages/ja/substreams.mdx +++ b/website/pages/ja/substreams.mdx @@ -4,9 +4,9 @@ title: サブストリーム ![Substreams ロゴ](/img/substreams-logo.png) -Substreamsは、The Graph Networkのために開発された強力なブロックチェーンインデクシング技術です。Substreams は、開発者がコミュニティと共にデータストリームを構成する Rust モジュールを記述することを可能にし、ストリーミングファースト方式による並列化によって極めて高性能なインデックス作成を実現します。 +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -Substreamsを使えば、さまざまなブロックチェーン(Ethereum、BNB、Solana...)から超高速でデータを抽出できます!そして、データを複数の場所(Postgresデータベース、Mongoデータベース、Subgraph)に送ることができます。 +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## サブストリームの4つのステップ @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { サブストリームの公式ドキュメントは現在、StreamingFastチーム[によってStreamingFastウェブサイト](https://substreams.streamingfast.io/)で管理されています。 +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### はじめに - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From bb36d1cc9b099fff05f9b859f1ea47fdc7728ed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:33 -0400 Subject: [PATCH 2166/2326] New translations substreams-powered-subgraphs-faq.mdx (Japanese) --- .../pages/ja/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ja/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/ja/developing/substreams-powered-subgraphs-faq.mdx index 2f7867408a68..b1f97753e12f 100644 --- a/website/pages/ja/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/ja/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ Firehose を使用すると、次のような多くの利点があります。 [Substreams-powered subgraphs ドキュメント](/cookbook/substreams-powered-subgraphs/) では、The Graph にデプロイするためにサブグラフをパッケージ化する方法が示されています。 +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## サブストリームにおけるRustモジュールの役割は何ですか? Rust モジュールは、サブグラフの AssemblyScript マッパーに相当します。これらは同様の方法で WASM にコンパイルされますが、プログラミング モデルにより並列実行が可能になります。これらは、生のブロックチェーン データに適用する変換と集計の種類を定義します。 From 422f799813c203bfed8b97e0a88ff81319a09048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:34 -0400 Subject: [PATCH 2167/2326] New translations substreams.mdx (Korean) --- website/pages/ko/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/ko/substreams.mdx b/website/pages/ko/substreams.mdx index e3baa60fb154..710e110012cc 100644 --- a/website/pages/ko/substreams.mdx +++ b/website/pages/ko/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Getting Started - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From df9d9f6dbd0e24052d38aaafd5446dae7f9760f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:35 -0400 Subject: [PATCH 2168/2326] New translations substreams-powered-subgraphs-faq.mdx (Korean) --- .../pages/ko/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ko/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/ko/developing/substreams-powered-subgraphs-faq.mdx index 734cc376e81b..92c6a8313a5f 100644 --- a/website/pages/ko/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/ko/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) will show you how to package them for deployment on The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. From 0195676207efd803dd122113615fa43c8ff0292b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:36 -0400 Subject: [PATCH 2169/2326] New translations substreams.mdx (Dutch) --- website/pages/nl/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/nl/substreams.mdx b/website/pages/nl/substreams.mdx index e3baa60fb154..710e110012cc 100644 --- a/website/pages/nl/substreams.mdx +++ b/website/pages/nl/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Getting Started - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From a2e330ec374fd506484806bed9951641054a2e3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:37 -0400 Subject: [PATCH 2170/2326] New translations substreams-powered-subgraphs-faq.mdx (Dutch) --- .../pages/nl/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/nl/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/nl/developing/substreams-powered-subgraphs-faq.mdx index 734cc376e81b..92c6a8313a5f 100644 --- a/website/pages/nl/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/nl/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) will show you how to package them for deployment on The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. From 60887031d0688bd9c58f872e1bbd340f34f0e9fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:38 -0400 Subject: [PATCH 2171/2326] New translations substreams.mdx (Polish) --- website/pages/pl/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/pl/substreams.mdx b/website/pages/pl/substreams.mdx index e3baa60fb154..710e110012cc 100644 --- a/website/pages/pl/substreams.mdx +++ b/website/pages/pl/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Getting Started - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 6d52d33a44d99db4fff0a63b8f4afd998b0d7434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:39 -0400 Subject: [PATCH 2172/2326] New translations substreams-powered-subgraphs-faq.mdx (Polish) --- .../pages/pl/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/pl/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/pl/developing/substreams-powered-subgraphs-faq.mdx index 734cc376e81b..92c6a8313a5f 100644 --- a/website/pages/pl/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/pl/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) will show you how to package them for deployment on The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. From c9f118b7613d15e56332d9ea4b7ff0bca5d81d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:40 -0400 Subject: [PATCH 2173/2326] New translations substreams.mdx (Russian) --- website/pages/ru/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/ru/substreams.mdx b/website/pages/ru/substreams.mdx index 469f92442033..a6878e2dc49e 100644 --- a/website/pages/ru/substreams.mdx +++ b/website/pages/ru/substreams.mdx @@ -4,9 +4,9 @@ title: Подпотоки ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Начало работы - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From f58d6e5874bfe02c36e4539f3a1e42d291142acf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:41 -0400 Subject: [PATCH 2174/2326] New translations substreams-powered-subgraphs-faq.mdx (Russian) --- .../pages/ru/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ru/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/ru/developing/substreams-powered-subgraphs-faq.mdx index 0e9f8f58d6a2..f71be80fe729 100644 --- a/website/pages/ru/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/ru/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea В документации [Substreams-powered subgraphs](/cookbook/substreams-powered-subgraphs/) показано, как упаковать их для развертывания в The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## Какова роль модулей Rust в Субпотоках? Модули Rust - это эквивалент мапперов AssemblyScript в субграфах. Они компилируются в WASM аналогичным образом, но модель программирования допускает параллельное выполнение. Они определяют, какие преобразования и агрегации необходимо применить к необработанным данным блокчейна. From bf3b1e11b47da60f8f78f1106150fee90a474363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:42 -0400 Subject: [PATCH 2175/2326] New translations substreams.mdx (Swedish) --- website/pages/sv/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/sv/substreams.mdx b/website/pages/sv/substreams.mdx index 45960ff91c13..9e605493cfc7 100644 --- a/website/pages/sv/substreams.mdx +++ b/website/pages/sv/substreams.mdx @@ -4,9 +4,9 @@ title: Underströmmar ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Komma igång - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 44d89c14fbd68d190dcf9281d9c7ac48b007aeb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:43 -0400 Subject: [PATCH 2176/2326] New translations substreams-powered-subgraphs-faq.mdx (Swedish) --- .../pages/sv/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/sv/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/sv/developing/substreams-powered-subgraphs-faq.mdx index e04b0cb7a837..4bca0c8caada 100644 --- a/website/pages/sv/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/sv/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ Det finns många fördelar med att använda Firehose, inklusive: [Substreams-drivna subgrafer dokumentationen](/cookbook/substreams-powered-subgraphs/) kommer att visa dig hur man paketerar dem för distribution på The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## Vad är rollen för Rust-moduler i Substreams? Rust-moduler är motsvarigheten till AssemblyScript-mappers i subgrafer. De kompileras till WASM på ett liknande sätt, men programmeringsmodellen tillåter parallell körning. De definierar vilken typ av omvandlingar och aggregeringar du vill tillämpa på råblockkedjedata. From 081164d3cd7d79f51f0be5b65e43ee057ea08d9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:44 -0400 Subject: [PATCH 2177/2326] New translations substreams.mdx (Turkish) --- website/pages/tr/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/tr/substreams.mdx b/website/pages/tr/substreams.mdx index f18fc5262b72..aa52656677c6 100644 --- a/website/pages/tr/substreams.mdx +++ b/website/pages/tr/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams, Graph Ağı için geliştirilmiş güçlü bir blok zinciri indeksleme teknolojisidir. Substreams, geliştiricilerin Rust modülleri yazmasına, toplulukla birlikte veri akışları oluşturmasına olanak tanır ve akış öncelikli bir şekilde paralelleştirme sayesinde son derece yüksek performanslı indeksleme sunar. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -Substreams ile farklı blok zincirlerinden (Ethereum, BNB, Solana...) ultra hızlı veri çekebilirsiniz! Daha sonra bu verileri çeşitli yerlere (bir Postgres veritabanı, bir Mongo veritabanı veya bir Subgraph) gönderebilirsiniz. +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## Substreams Nasıl Çalışır - 4 Adımda @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { Resmi Substreams dökümantasyonu şu anda StreamingFast ekibi tarafından [StreamingFast web sitesinde](https://substreams.streamingfast.io/) tutulmaktadır. +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Buradan Başlayın - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From c154a7a11c69690be5c05a48ad52feb5b1928d18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:45 -0400 Subject: [PATCH 2178/2326] New translations substreams-powered-subgraphs-faq.mdx (Turkish) --- .../pages/tr/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/tr/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/tr/developing/substreams-powered-subgraphs-faq.mdx index e0caf07ecc3e..031f92327f90 100644 --- a/website/pages/tr/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/tr/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ Firehose kullanmanın birçok faydası vardır, bunlar şunlardır: [Substreams destekli subgrahplar belgeleri](/cookbook/substreams-powered-subgraphs/), onları Graph üzerinde dağıtmak için nasıl paketleyeceğinizi gösterecektir. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## Rust modüllerinin Substreams içindeki rolü nedir? Rust modülleri, Subgraphs'teki AssemblyScript eşleştiricilerinin karşılığıdır. WASM'ye benzer şekilde derlenirler, ancak programlama modelleri paralel yürütme için olanak sağlar. Rust modülleri, ham blok zinciri verilerine uygulamak istediğiniz dönüşümleri ve birleştirmeleri tanımlar. From db4416da9af577d0f289dd41517f3e3c89c09681 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:46 -0400 Subject: [PATCH 2179/2326] New translations substreams.mdx (Ukrainian) --- website/pages/uk/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/uk/substreams.mdx b/website/pages/uk/substreams.mdx index e3baa60fb154..710e110012cc 100644 --- a/website/pages/uk/substreams.mdx +++ b/website/pages/uk/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Getting Started - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 12d035edd2d5938f108072726229b41e9d65e26e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:47 -0400 Subject: [PATCH 2180/2326] New translations substreams-powered-subgraphs-faq.mdx (Ukrainian) --- .../pages/uk/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/uk/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/uk/developing/substreams-powered-subgraphs-faq.mdx index 734cc376e81b..92c6a8313a5f 100644 --- a/website/pages/uk/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/uk/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) will show you how to package them for deployment on The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. From 16502c741c2f54f74a547fa108504af564687f2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:48 -0400 Subject: [PATCH 2181/2326] New translations substreams.mdx (Chinese Simplified) --- website/pages/zh/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/zh/substreams.mdx b/website/pages/zh/substreams.mdx index efc5cd255afb..359a610c10a2 100644 --- a/website/pages/zh/substreams.mdx +++ b/website/pages/zh/substreams.mdx @@ -4,9 +4,9 @@ title: 子流 ![子流Logo](/img/substreams-logo.png) -Substreams 是一项为 The Graph Network 开发的强大的区块链索引技术。Substreams 允许开发者编写 Rust 模块,与社区一同组成数据流,并通过并行化以流式优先的方式提供极高性能的索引功能。 +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -使用Substreams,您可以以超快的速度从不同的区块链(如以太坊、BNB、Solana等)提取数据!然后,您可以将数据发送到多个位置(如Postgres数据库、Mongo数据库或Subgraph)。 +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## 子流的工作原理分为四个步骤 @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { Substreams的官方文档目前由StreamingFast团队[在StreamingFast的网站上](https://substreams.streamingfast.io/)维护。 +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### 开始 - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 0f32a923a33e8dd99197dd89a92b4afe6800e375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:49 -0400 Subject: [PATCH 2182/2326] New translations substreams-powered-subgraphs-faq.mdx (Chinese Simplified) --- .../pages/zh/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/zh/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/zh/developing/substreams-powered-subgraphs-faq.mdx index d0de31836ab9..3a9a4b0fe654 100644 --- a/website/pages/zh/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/zh/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) 将向您展示如何将它们打包部署在The Graph上。 +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## Rust模块在Substreams中扮演什么角色? Rust模块相当于子图中的AssemblyScript mappers。它们以类似的方式编译为WASM,但编程模型允许并行执行。它们定义了您想要对原始区块链数据应用的转换和聚合类型。 From 902eb404393d0bb8b3f4e19375724c1e2c7b642a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:50 -0400 Subject: [PATCH 2183/2326] New translations substreams.mdx (Urdu (Pakistan)) --- website/pages/ur/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/ur/substreams.mdx b/website/pages/ur/substreams.mdx index f183a0ce8485..060d72a059d0 100644 --- a/website/pages/ur/substreams.mdx +++ b/website/pages/ur/substreams.mdx @@ -4,9 +4,9 @@ title: سب سٹریمز ![سب سٹریمز لوگو](/img/substreams-logo.png) -سب سٹریمز ایک طاقتور بلاکچین انڈیکسنگ ٹیکنالوجی ہے، جو گراف نیٹ ورک کے لیے تیار کی گئی ہے۔ سب سٹریمز ڈویلپرز کو رسٹ ماڈیولز لکھنے کے قابل بناتا ہے، کمیونٹی کے ساتھ ڈیٹا سٹریمز کمپوز کرتا ہے، اور سٹریمنگ کے پہلے انداز میں متوازی ہونے کی وجہ سے انتہائی اعلیٰ کارکردگی کی انڈیکسنگ فراہم کرتا ہے۔ +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -سب سٹریمز کے ساتھ، آپ مختلف بلاکچینز (ایتھیریم، بی این بی، سولانا...) سے انتہائی تیز رفتار ڈیٹا نکال سکتے ہیں! اس کے بعد، آپ ڈیٹا کو کئی مقامات پر بھیج سکتے ہیں (پوسٹگریس ڈیٹا بیس، مونگو ڈیٹا بیس، یا سب گراف)۔ +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## سب سٹریمز 4 مراحل میں کیسے کام کرتا ہے۔ @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { فائر ہوز دستاویزات کو فی الحال سٹریمنگ فاسٹ ٹیم [سٹریمنگ فاسٹ ویب سائٹ پر](https://firehose.streamingfast.io/) کے ذریعے برقرار رکھا جاتا ہے۔ +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### شروع ہوا چاہتا ہے - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 6dd842aac5a7bbc1ae87dcd46b72a7729fc27cc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:51 -0400 Subject: [PATCH 2184/2326] New translations substreams-powered-subgraphs-faq.mdx (Urdu (Pakistan)) --- .../pages/ur/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/ur/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/ur/developing/substreams-powered-subgraphs-faq.mdx index 12d7c4d7e631..ff87c267315c 100644 --- a/website/pages/ur/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/ur/developing/substreams-powered-subgraphs-faq.mdx @@ -67,6 +67,8 @@ Firehose استعمال کرنے کے بہت سے فوائد ہیں، بشمول [سب سٹریمز سے چلنے والے سب گرافس کے دستاویزات](/cookbook/substreams-powered-subgraphs/) آپ کو دکھائے گا کہ انہیں گراف پر تعیناتی کے لیے کیسے پیک کیا جائے. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## سب سٹریمز میں Rust ماڈیولز کا کیا کردار ہے؟ زنگ ماڈیول سب گراف میں اسمبلی اسکرپٹ میپرز کے مساوی ہیں۔ وہ اسی طرح WASM پر مرتب کیے گئے ہیں، لیکن پروگرامنگ ماڈل متوازی عمل درآمد کی اجازت دیتا ہے۔ وہ اس قسم کی تبدیلیوں اور مجموعوں کی وضاحت کرتے ہیں جسے آپ خام بلاکچین ڈیٹا پر لاگو کرنا چاہتے ہیں. From 49787e6361c1e531fcafa06b97108953e8008ac6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:52 -0400 Subject: [PATCH 2185/2326] New translations substreams.mdx (Vietnamese) --- website/pages/vi/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/vi/substreams.mdx b/website/pages/vi/substreams.mdx index e3baa60fb154..710e110012cc 100644 --- a/website/pages/vi/substreams.mdx +++ b/website/pages/vi/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Getting Started - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 67c3cf4ae342c42ddd6a2f9adb3f3330843c4a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:53 -0400 Subject: [PATCH 2186/2326] New translations substreams-powered-subgraphs-faq.mdx (Vietnamese) --- .../pages/vi/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/vi/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/vi/developing/substreams-powered-subgraphs-faq.mdx index 734cc376e81b..92c6a8313a5f 100644 --- a/website/pages/vi/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/vi/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) will show you how to package them for deployment on The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. From b37156accd55252d7938035f9b88069de8d0c7dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:54 -0400 Subject: [PATCH 2187/2326] New translations substreams.mdx (Marathi) --- website/pages/mr/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/mr/substreams.mdx b/website/pages/mr/substreams.mdx index 788ac6ceec0b..a0f162be9963 100644 --- a/website/pages/mr/substreams.mdx +++ b/website/pages/mr/substreams.mdx @@ -4,9 +4,9 @@ title: उपप्रवाह ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### प्रारंभ करणे - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 9838c88bdb470990770da62489ba0285a66381ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:55 -0400 Subject: [PATCH 2188/2326] New translations substreams-powered-subgraphs-faq.mdx (Marathi) --- .../pages/mr/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/mr/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/mr/developing/substreams-powered-subgraphs-faq.mdx index 734cc376e81b..92c6a8313a5f 100644 --- a/website/pages/mr/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/mr/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) will show you how to package them for deployment on The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. From cfc6d1d124bcd085bd0ab4cee2a25808fbae5bcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:56 -0400 Subject: [PATCH 2189/2326] New translations substreams.mdx (Hindi) --- website/pages/hi/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/hi/substreams.mdx b/website/pages/hi/substreams.mdx index fb55f23e8566..e88c7d5a3a93 100644 --- a/website/pages/hi/substreams.mdx +++ b/website/pages/hi/substreams.mdx @@ -4,9 +4,9 @@ title: सबस्ट्रीम ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### शुरू करना - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 047a01ee0386bf0d051ec1785e224353744f0a0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:57 -0400 Subject: [PATCH 2190/2326] New translations substreams-powered-subgraphs-faq.mdx (Hindi) --- .../pages/hi/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/hi/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/hi/developing/substreams-powered-subgraphs-faq.mdx index 734cc376e81b..92c6a8313a5f 100644 --- a/website/pages/hi/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/hi/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) will show you how to package them for deployment on The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. From bf4f888169a2bafc71a4e6a3e918a9d041a87d62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:58 -0400 Subject: [PATCH 2191/2326] New translations substreams.mdx (Yoruba) --- website/pages/yo/substreams.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/pages/yo/substreams.mdx b/website/pages/yo/substreams.mdx index e3baa60fb154..710e110012cc 100644 --- a/website/pages/yo/substreams.mdx +++ b/website/pages/yo/substreams.mdx @@ -4,9 +4,9 @@ title: Substreams ![Substreams Logo](/img/substreams-logo.png) -Substreams is a powerful blockchain indexing technology, developed for The Graph Network. Substreams enables developers to write Rust modules, composing data streams alongside the community, and provides extremely high-performance indexing by virtue of parallelization, in a streaming-first fashion. +Substreams is a powerful blockchain indexing technology developed for The Graph Network. It enables developers to write Rust modules, compose data streams alongside the community, and provide extremely high-performance indexing due to parallelization in a streaming-first approach. -With Substreams, you can extract data from different blockchains (Ethereum, BNB, Solana...) ultra-fast! Then, you can send to data to several locations (a Postgres database, a Mongo database, or a Subgraph). +With Substreams, developers can quickly extract data from different blockchains (Ethereum, BNB, Solana, ect.) and send it to various locations of their choice, such as a Postgres database, a Mongo database, or a Subgraph. Additionally, Substreams packages enable developers to specify which data they want to extract from the blockchain. ## How Substreams Works in 4 Steps @@ -34,6 +34,8 @@ fn get_my_block(blk: Block) -> Result { The official Substreams documentation is currently maintained by the StreamingFast team [on the StreamingFast website](https://substreams.streamingfast.io/). +To learn about the latest version of Substreams CLI, which enables developers to bootstrap a Substreams project without any code, please check [Substreams Codegen](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6). + ### Getting Started - In order to develop and deploy a Substreams, [you must install the Substreams CLI](https://substreams.streamingfast.io/documentation/consume/installing-the-cli). From 6fb9b3ea03a4869d8a1edf430c9a470a4941c097 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Thu, 11 Jul 2024 17:40:59 -0400 Subject: [PATCH 2192/2326] New translations substreams-powered-subgraphs-faq.mdx (Yoruba) --- .../pages/yo/developing/substreams-powered-subgraphs-faq.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/pages/yo/developing/substreams-powered-subgraphs-faq.mdx b/website/pages/yo/developing/substreams-powered-subgraphs-faq.mdx index 734cc376e81b..92c6a8313a5f 100644 --- a/website/pages/yo/developing/substreams-powered-subgraphs-faq.mdx +++ b/website/pages/yo/developing/substreams-powered-subgraphs-faq.mdx @@ -66,6 +66,8 @@ The [Substreams documentation](/substreams) will teach you how to build Substrea The [Substreams-powered subgraphs documentation](/cookbook/substreams-powered-subgraphs/) will show you how to package them for deployment on The Graph. +The [latest Substreams Codegen tool](https://streamingfastio.medium.com/substreams-codegen-no-code-tool-to-bootstrap-your-project-a11efe0378c6) will allow you to bootstrap a Substreams project without any code. + ## What is the role of Rust modules in Substreams? Rust modules are the equivalent of the AssemblyScript mappers in subgraphs. They are compiled to WASM in a similar way, but the programming model allows for parallel execution. They define the sort of transformations and aggregations you want to apply to the raw blockchain data. From 270a6a6f72fa8436d3ae6b6e924031c80bfbb9f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 15 Jul 2024 03:53:58 -0400 Subject: [PATCH 2193/2326] New translations billing.mdx (Czech) --- website/pages/cs/billing.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/billing.mdx b/website/pages/cs/billing.mdx index 37f46c1040b4..5257eb19e200 100644 --- a/website/pages/cs/billing.mdx +++ b/website/pages/cs/billing.mdx @@ -31,11 +31,11 @@ Subgraph users can use The Graph Token (or GRT) to pay for queries on The Graph ### GRT on Arbitrum or Ethereum -The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. +Fakturační systém Graf přijímá GRT na Arbitrum a uživatelé budou potřebovat ETH na Arbitrum, aby mohli zaplatit za plyn. Zatímco protokol Graf začínal na Ethereum Mainnet, veškerá činnost, včetně smluv o vyúčtování, je nyní na Arbitrum One. To pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: -- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: +- Pokud již máte GRT na platformě Ethereum, můžete ji přemostit na Arbitrum. Můžete tak učinit pomocí možnosti přemostění GRT, která je k dispozici v podgraf Studio, nebo pomocí jednoho z následujících přemostění: - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) From 788f3bd32793b3aa3eb924717d0de9af095c7ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 15 Jul 2024 03:53:59 -0400 Subject: [PATCH 2194/2326] New translations arbitrum-faq.mdx (Czech) --- website/pages/cs/arbitrum/arbitrum-faq.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/cs/arbitrum/arbitrum-faq.mdx b/website/pages/cs/arbitrum/arbitrum-faq.mdx index 8528ea3b14a3..6a99ea6e0ff5 100644 --- a/website/pages/cs/arbitrum/arbitrum-faq.mdx +++ b/website/pages/cs/arbitrum/arbitrum-faq.mdx @@ -20,16 +20,16 @@ Komunita Graf se v loňském roce rozhodla pokračovat v Arbitrum po výsledku d ## Co musím udělat, abych mohl používat The Graph na serveru L2? -The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Arbitrum to pay their gas. While The Graph protocol started on Ethereum Mainnet, all activity, including the billing contracts, is now on Arbitrum One. +Fakturační systém Graf přijímá GRT na Arbitrum a uživatelé budou potřebovat ETH na Arbitrum, aby mohli zaplatit za plyn. Zatímco protokol Graf začínal na Ethereum Mainnet, veškerá činnost, včetně smluv o vyúčtování, je nyní na Arbitrum One. -Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: +Abyste mohli platit za dotazy, potřebujete GRT na Arbitrum. Zde je několik různých způsobů, jak toho dosáhnout: -- If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: +- Pokud již máte GRT na platformě Ethereum, můžete ji přemostit na Arbitrum. Můžete tak učinit pomocí možnosti přemostění GRT, která je k dispozici v podgraf Studio, nebo pomocí jednoho z následujících přemostění: - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) -- If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. +- Pokud máte na Arbitrum jiná aktiva, můžete je vyměnit za GRT prostřednictvím výměnného protokolu, jako je Uniswap. - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 832fa9381077d02b0ffc0ec0bebb91070f9f5158 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 15 Jul 2024 05:57:42 -0400 Subject: [PATCH 2195/2326] New translations arbitrum-faq.mdx (Czech) --- website/pages/cs/arbitrum/arbitrum-faq.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/cs/arbitrum/arbitrum-faq.mdx b/website/pages/cs/arbitrum/arbitrum-faq.mdx index 6a99ea6e0ff5..32a2426341fa 100644 --- a/website/pages/cs/arbitrum/arbitrum-faq.mdx +++ b/website/pages/cs/arbitrum/arbitrum-faq.mdx @@ -30,9 +30,9 @@ Abyste mohli platit za dotazy, potřebujete GRT na Arbitrum. Zde je několik rů - [Connext Bridge](https://bridge.connext.network/) - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - Pokud máte na Arbitrum jiná aktiva, můžete je vyměnit za GRT prostřednictvím výměnného protokolu, jako je Uniswap. -- Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. +- Alternativně můžete GRT získat přímo na burze Arbitrum prostřednictvím decentralizované výměny. -Once you have GRT on Arbitrum, you can add it to your billing balance. +Jakmile máte GRT v Arbitrum, můžete jej přidat do svého fakturačního zůstatku. Pro využití výhod používání a Graf na L2 použijte rozevírací přepínač k přepínání mezi řetězci. @@ -82,4 +82,4 @@ Most byl [podroben důkladnému auditu](https://code4rena.com/contests/2022-10-t Přidání GRT do vašeho zúčtovacího zůstatku Arbitrum lze provést jedním kliknutím v aplikaci [Subgraph Studio](https://thegraph.com/studio/). Budete moci snadno propojit své GRT s Arbitrum a vyplnit své klíče API v rámci jedné transakce. -Visit the [Billing page](/billing/) for more detailed instructions on adding, withdrawing, or acquiring GRT. +Podrobnější pokyny k přidávání, odebírání nebo získávání GRT najdete na stránce [Billing page](/billing/). From 7de8c0fd70eb041917cdbf0ea8f199bfb88e420a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 15 Jul 2024 05:57:43 -0400 Subject: [PATCH 2196/2326] New translations arweave.mdx (Czech) --- website/pages/cs/cookbook/arweave.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/cookbook/arweave.mdx b/website/pages/cs/cookbook/arweave.mdx index 4cc1502dd428..0e8ac24b2593 100644 --- a/website/pages/cs/cookbook/arweave.mdx +++ b/website/pages/cs/cookbook/arweave.mdx @@ -2,7 +2,7 @@ title: Vytváření podgrafů na Arweave --- -> Arweave support in Graph Node and on Subgraph Studio is in beta: please reach us on [Discord](https://discord.gg/graphprotocol) with any questions about building Arweave subgraphs! +> Podpora Arweave v uzel grafu a v podgraf Studio je ve fázi beta: s případnými dotazy ohledně vytváření podgrafů Arweave se na nás obraťte na [Discord](https://discord.gg/graphprotocol)! V této příručce se dozvíte, jak vytvořit a nasadit subgrafy pro indexování blockchainu Arweave. @@ -95,7 +95,7 @@ Datové zdroje Arweave podporují dva typy zpracovatelů: > Transakce jsou stavebními kameny permaweb Arweave a jsou to objekty vytvořené koncovými uživateli. -> Note: [Irys (previously Bundlr)](https://irys.xyz/) transactions are not supported yet. +> Poznámka: [Irys (dříve Bundlr)](https://irys.xyz/) transakce zatím nejsou podporovány. ## Schema definice From f5302d31d425589dca84cd82a163ad4cb13f934b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 15 Jul 2024 05:57:44 -0400 Subject: [PATCH 2197/2326] New translations avoid-eth-calls.mdx (Czech) --- website/pages/cs/cookbook/avoid-eth-calls.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/cs/cookbook/avoid-eth-calls.mdx b/website/pages/cs/cookbook/avoid-eth-calls.mdx index 446b0e8ecd17..ca6dbef74372 100644 --- a/website/pages/cs/cookbook/avoid-eth-calls.mdx +++ b/website/pages/cs/cookbook/avoid-eth-calls.mdx @@ -1,16 +1,16 @@ --- -title: Subgraph Best Practice 4 - Improve Indexing Speed by Avoiding eth_calls +title: Doporučený postup pro podgraf 4 - Zlepšení rychlosti indexování vyhnutím se eth_calls --- ## TLDR -`eth_calls` are calls that can be made from a subgraph to an Ethereum node. These calls take a significant amount of time to return data, slowing down indexing. If possible, design smart contracts to emit all the data you need so you don’t need to use `eth_calls`. +`eth_calls` jsou volání, která lze provést z podgrafu do uzlu Ethereum. Tato volání zabírají značnou dobu, než vrátí data, což zpomaluje indexování. Pokud je to možné, navrhněte chytré kontrakty tak, aby emitovaly všechna potřebná data, takže nebudete muset používat `eth_calls`. -## Why Avoiding `eth_calls` Is a Best Practice +## Proč je dobré se vyhnout `eth_calls` -Subgraphs are optimized to index event data emitted from smart contracts. A subgraph can also index the data coming from an `eth_call`, however, this can significantly slow down subgraph indexing as `eth_calls` require making external calls to smart contracts. The responsiveness of these calls relies not on the subgraph but on the connectivity and responsiveness of the Ethereum node being queried. By minimizing or eliminating eth_calls in our subgraphs, we can significantly improve our indexing speed. +Podgraf jsou optimalizovány pro indexování dat událostí emitovaných z chytré smlouvy. Podgraf může také indexovat data pocházející z `eth_call`, což však může indexování podgrafu výrazně zpomalit, protože `eth_calls` vyžadují externí volání chytrých smluv. Odezva těchto volání nezávisí na podgrafu, ale na konektivitě a odezvě dotazovaného uzlu Ethereum. Minimalizací nebo eliminací eth_calls v našich podgrafech můžeme výrazně zvýšit rychlost indexování. -### What Does an eth_call Look Like? +### Jak vypadá eth_call? `eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: From 82417cef3da9cd26579acfd9e16563064c7aed99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 15 Jul 2024 11:57:19 -0400 Subject: [PATCH 2198/2326] New translations avoid-eth-calls.mdx (Czech) --- website/pages/cs/cookbook/avoid-eth-calls.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/cs/cookbook/avoid-eth-calls.mdx b/website/pages/cs/cookbook/avoid-eth-calls.mdx index ca6dbef74372..ffdf63b150e8 100644 --- a/website/pages/cs/cookbook/avoid-eth-calls.mdx +++ b/website/pages/cs/cookbook/avoid-eth-calls.mdx @@ -12,13 +12,13 @@ Podgraf jsou optimalizovány pro indexování dat událostí emitovaných z chyt ### Jak vypadá eth_call? -`eth_calls` are often necessary when the data required for a subgraph is not available through emitted events. For example, consider a scenario where a subgraph needs to identify whether ERC20 tokens are part of a specific pool, but the contract only emits a basic `Transfer` event and does not emit an event that contains the data that we need: +`eth_calls` jsou často nutné, pokud data potřebná pro podgraf nejsou dostupná prostřednictvím emitovaných událostí. Uvažujme například scénář, kdy podgraf potřebuje zjistit, zda jsou tokeny ERC20 součástí určitého poolu, ale smlouva emituje pouze základní událost `Transfer` a neemituje událost, která by obsahovala data, která potřebujeme: ```yaml event Transfer(address indexed from, address indexed to, uint256 value); ``` -Suppose the tokens' pool membership is determined by a state variable named `getPoolInfo`. In this case, we would need to use an `eth_call` to query this data: +Předpokládejme, že příslušnost tokenů k poolu je určena stavovou proměnnou s názvem `getPoolInfo`. V takovém případě bychom k dotazu na tato data potřebovali použít příkaz `eth_call`: ```typescript import { Address } from '@graphprotocol/graph-ts' @@ -43,7 +43,7 @@ export function handleTransfer(event: Transfer): void { } ``` -This is functional, however is not ideal as it slows down our subgraph’s indexing. +To je funkční, ale není to ideální, protože to zpomaluje indexování našeho podgrafu. ## How to Eliminate `eth_calls` From b7e61309274f39d34d637ae64f37507ac75f86b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 15 Jul 2024 13:17:25 -0400 Subject: [PATCH 2199/2326] New translations avoid-eth-calls.mdx (Czech) --- website/pages/cs/cookbook/avoid-eth-calls.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/cs/cookbook/avoid-eth-calls.mdx b/website/pages/cs/cookbook/avoid-eth-calls.mdx index ffdf63b150e8..9f92fdc47394 100644 --- a/website/pages/cs/cookbook/avoid-eth-calls.mdx +++ b/website/pages/cs/cookbook/avoid-eth-calls.mdx @@ -45,15 +45,15 @@ export function handleTransfer(event: Transfer): void { To je funkční, ale není to ideální, protože to zpomaluje indexování našeho podgrafu. -## How to Eliminate `eth_calls` +## Jak odstranit `eth_calls` -Ideally, the smart contract should be updated to emit all necessary data within events. For instance, modifying the smart contract to include pool information in the event could eliminate the need for `eth_calls`: +V ideálním případě by měl být inteligentní kontrakt aktualizován tak, aby v rámci událostí vysílal všechna potřebná data. Například úprava inteligentního kontraktu tak, aby v události obsahoval informace o bazénu, by mohla odstranit potřebu `eth_calls`: ``` event TransferWithPool(address indexed from, address indexed to, uint256 value, bytes32 indexed poolInfo); ``` -With this update, the subgraph can directly index the required data without external calls: +Díky této aktualizaci může podgraf přímo indexovat požadovaná data bez externích volání: ```typescript import { Address } from '@graphprotocol/graph-ts' From 2424806977a172e9b5907380ea9c2ae88b609554 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Mon, 15 Jul 2024 17:16:09 -0400 Subject: [PATCH 2200/2326] New translations avoid-eth-calls.mdx (Czech) --- website/pages/cs/cookbook/avoid-eth-calls.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/cookbook/avoid-eth-calls.mdx b/website/pages/cs/cookbook/avoid-eth-calls.mdx index 9f92fdc47394..f64710359ea0 100644 --- a/website/pages/cs/cookbook/avoid-eth-calls.mdx +++ b/website/pages/cs/cookbook/avoid-eth-calls.mdx @@ -72,9 +72,9 @@ export function handleTransferWithPool(event: TransferWithPool): void { } ``` -This is much more performant as it has eliminated the need for `eth_calls`. +To je mnohem výkonnější, protože to odstranilo potřebu `eth_calls`. -## How to Optimize `eth_calls` +## Jak optimalizovat `eth_calls` If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. From f0336f360d616c7446f7eacde1bca7a1207f8f3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:50:10 -0400 Subject: [PATCH 2201/2326] New translations arbitrum-faq.mdx (Portuguese) --- website/pages/pt/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/pt/arbitrum/arbitrum-faq.mdx b/website/pages/pt/arbitrum/arbitrum-faq.mdx index ed67b31d0c33..42fa0be68967 100644 --- a/website/pages/pt/arbitrum/arbitrum-faq.mdx +++ b/website/pages/pt/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ O sistema de cobranças do The Graph aceita GRT no Arbitrum, e utilizadores prec Portanto, para pagar por queries, é necessário GRT no Arbitrum. Aqui estão algumas maneiras diferentes de consegui-lo: - Caso já tenha GRT no Ethereum, é possível enviá-lo ao Arbitrum via bridge. Isto pode ser feito via a opção de bridging de GRT providenciada no Subgraph Studio ou uma das seguintes bridges: + - [Bridge no Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - Caso tenha outros ativos no Arbitrum, é possível trocá-los por GRT através de um protocolo de troca como o Uniswap. + - Como alternativa, é possível adquirir GRT diretamente no Arbitrum via uma exchange descentralizada. Quando tiveres GRT no Arbitrum, será possível depositar o token no seu saldo de cobranças. From 4a7626c6c67af9b69ceb3e7fa282eccf90fb1233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:50:48 -0400 Subject: [PATCH 2202/2326] New translations billing.mdx (Czech) --- website/pages/cs/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/cs/billing.mdx b/website/pages/cs/billing.mdx index 5257eb19e200..8eb2b1e0bd2e 100644 --- a/website/pages/cs/billing.mdx +++ b/website/pages/cs/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 4015e2c72410e21abf39fbc479cc7dd3b11ebffa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:50:53 -0400 Subject: [PATCH 2203/2326] New translations arbitrum-faq.mdx (Czech) --- website/pages/cs/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/arbitrum/arbitrum-faq.mdx b/website/pages/cs/arbitrum/arbitrum-faq.mdx index 32a2426341fa..4f9d8f545b6a 100644 --- a/website/pages/cs/arbitrum/arbitrum-faq.mdx +++ b/website/pages/cs/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ Fakturační systém Graf přijímá GRT na Arbitrum a uživatelé budou potřeb Abyste mohli platit za dotazy, potřebujete GRT na Arbitrum. Zde je několik různých způsobů, jak toho dosáhnout: - Pokud již máte GRT na platformě Ethereum, můžete ji přemostit na Arbitrum. Můžete tak učinit pomocí možnosti přemostění GRT, která je k dispozici v podgraf Studio, nebo pomocí jednoho z následujících přemostění: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - Pokud máte na Arbitrum jiná aktiva, můžete je vyměnit za GRT prostřednictvím výměnného protokolu, jako je Uniswap. + - Alternativně můžete GRT získat přímo na burze Arbitrum prostřednictvím decentralizované výměny. Jakmile máte GRT v Arbitrum, můžete jej přidat do svého fakturačního zůstatku. From b6d21aac39cc98f936bf4e6d0424e6e2fd6f5f4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:51:29 -0400 Subject: [PATCH 2204/2326] New translations billing.mdx (Romanian) --- website/pages/ro/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/ro/billing.mdx b/website/pages/ro/billing.mdx index 8b5065d04e9f..37f9c840d00b 100644 --- a/website/pages/ro/billing.mdx +++ b/website/pages/ro/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 95abc3b9a75de165f466aabafed878f3e6cd18df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:51:37 -0400 Subject: [PATCH 2205/2326] New translations arbitrum-faq.mdx (Romanian) --- website/pages/ro/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/ro/arbitrum/arbitrum-faq.mdx b/website/pages/ro/arbitrum/arbitrum-faq.mdx index 65e69cbfbe37..a36b0103772f 100644 --- a/website/pages/ro/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ro/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 58bf311407af4a851d441443e2a0273e787f9b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:52:09 -0400 Subject: [PATCH 2206/2326] New translations billing.mdx (French) --- website/pages/fr/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/fr/billing.mdx b/website/pages/fr/billing.mdx index 825bab481e29..cb3b4c99bb2b 100644 --- a/website/pages/fr/billing.mdx +++ b/website/pages/fr/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 1bbd15a42442c7b8d7365365e9d5ed32220e1887 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:52:16 -0400 Subject: [PATCH 2207/2326] New translations arbitrum-faq.mdx (French) --- website/pages/fr/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/fr/arbitrum/arbitrum-faq.mdx b/website/pages/fr/arbitrum/arbitrum-faq.mdx index f785924f3287..85632d92168b 100644 --- a/website/pages/fr/arbitrum/arbitrum-faq.mdx +++ b/website/pages/fr/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [HopExchange ](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From fcc90a39acc887cbe42330fab32e8100ffe2fbeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:52:48 -0400 Subject: [PATCH 2208/2326] New translations billing.mdx (Spanish) --- website/pages/es/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/es/billing.mdx b/website/pages/es/billing.mdx index 7e336a88d427..e73e074a8b44 100644 --- a/website/pages/es/billing.mdx +++ b/website/pages/es/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From a6e1b4b68cf38321ad809c1d139688cb88f6804a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:52:55 -0400 Subject: [PATCH 2209/2326] New translations arbitrum-faq.mdx (Spanish) --- website/pages/es/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/es/arbitrum/arbitrum-faq.mdx b/website/pages/es/arbitrum/arbitrum-faq.mdx index 3449b5333f41..2b8812590990 100644 --- a/website/pages/es/arbitrum/arbitrum-faq.mdx +++ b/website/pages/es/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 2896242f29cc3f39f1f066d33d0cc3e5f78a7a50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:53:27 -0400 Subject: [PATCH 2210/2326] New translations billing.mdx (Arabic) --- website/pages/ar/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/ar/billing.mdx b/website/pages/ar/billing.mdx index c1594bcf34cd..68ee9ca693bd 100644 --- a/website/pages/ar/billing.mdx +++ b/website/pages/ar/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [الانتقال](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From b63657dcf68a5c389804907f7450d127242a9c29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:53:35 -0400 Subject: [PATCH 2211/2326] New translations arbitrum-faq.mdx (Arabic) --- website/pages/ar/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/ar/arbitrum/arbitrum-faq.mdx b/website/pages/ar/arbitrum/arbitrum-faq.mdx index 1eff26eb62e7..98346d82a41d 100644 --- a/website/pages/ar/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ar/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From c65627be31e7f21dd207a140511a523a32882d0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:54:39 -0400 Subject: [PATCH 2212/2326] New translations billing.mdx (German) --- website/pages/de/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/de/billing.mdx b/website/pages/de/billing.mdx index 8b5065d04e9f..37f9c840d00b 100644 --- a/website/pages/de/billing.mdx +++ b/website/pages/de/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From eda506525380f248d811d082955102e5a4068a2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:54:46 -0400 Subject: [PATCH 2213/2326] New translations arbitrum-faq.mdx (German) --- website/pages/de/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/de/arbitrum/arbitrum-faq.mdx b/website/pages/de/arbitrum/arbitrum-faq.mdx index ae5ba58c80e5..67fffeeb677c 100644 --- a/website/pages/de/arbitrum/arbitrum-faq.mdx +++ b/website/pages/de/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 4a3aa1a75da57f0eb6c323a401437fb98ef4265d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:55:18 -0400 Subject: [PATCH 2214/2326] New translations billing.mdx (Italian) --- website/pages/it/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/it/billing.mdx b/website/pages/it/billing.mdx index 8b5065d04e9f..37f9c840d00b 100644 --- a/website/pages/it/billing.mdx +++ b/website/pages/it/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From df3e0b3caf2d2d3182ffc6f6d50c11f455ed68b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:55:25 -0400 Subject: [PATCH 2215/2326] New translations arbitrum-faq.mdx (Italian) --- website/pages/it/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/it/arbitrum/arbitrum-faq.mdx b/website/pages/it/arbitrum/arbitrum-faq.mdx index bbbd3aed501e..bff15519f682 100644 --- a/website/pages/it/arbitrum/arbitrum-faq.mdx +++ b/website/pages/it/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 7645d2fa1542db9bd6891ad3d43cbbc41708bec7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:55:56 -0400 Subject: [PATCH 2216/2326] New translations billing.mdx (Japanese) --- website/pages/ja/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/ja/billing.mdx b/website/pages/ja/billing.mdx index 17d5a5e5c285..c41bdbafe2e5 100644 --- a/website/pages/ja/billing.mdx +++ b/website/pages/ja/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 561d54001162f8ed3cc9a6c7a667841d8682d8ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:56:03 -0400 Subject: [PATCH 2217/2326] New translations arbitrum-faq.mdx (Japanese) --- website/pages/ja/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/ja/arbitrum/arbitrum-faq.mdx b/website/pages/ja/arbitrum/arbitrum-faq.mdx index e9399d727e99..0cc4f7829ce1 100644 --- a/website/pages/ja/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ja/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From c3c04247e135c24a62e7716763246df528761b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:56:35 -0400 Subject: [PATCH 2218/2326] New translations billing.mdx (Korean) --- website/pages/ko/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/ko/billing.mdx b/website/pages/ko/billing.mdx index 8b5065d04e9f..37f9c840d00b 100644 --- a/website/pages/ko/billing.mdx +++ b/website/pages/ko/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 3b04a602192aef440b8faa9c9cfa838f7dd4be7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:56:42 -0400 Subject: [PATCH 2219/2326] New translations arbitrum-faq.mdx (Korean) --- website/pages/ko/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/ko/arbitrum/arbitrum-faq.mdx b/website/pages/ko/arbitrum/arbitrum-faq.mdx index 65e69cbfbe37..a36b0103772f 100644 --- a/website/pages/ko/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ko/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From c64def379b782d15f1219afae6dd3afc999e4872 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:57:12 -0400 Subject: [PATCH 2220/2326] New translations billing.mdx (Dutch) --- website/pages/nl/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/nl/billing.mdx b/website/pages/nl/billing.mdx index 8b5065d04e9f..37f9c840d00b 100644 --- a/website/pages/nl/billing.mdx +++ b/website/pages/nl/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 69bb0646a0fbfa07bfccedd6dfda730b278c423f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:57:19 -0400 Subject: [PATCH 2221/2326] New translations arbitrum-faq.mdx (Dutch) --- website/pages/nl/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/nl/arbitrum/arbitrum-faq.mdx b/website/pages/nl/arbitrum/arbitrum-faq.mdx index e28988c7d7d2..34580766c5ef 100644 --- a/website/pages/nl/arbitrum/arbitrum-faq.mdx +++ b/website/pages/nl/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From b4fc3ca979a00b709c4b78c8d247ee2d4a5f15fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:57:49 -0400 Subject: [PATCH 2222/2326] New translations billing.mdx (Polish) --- website/pages/pl/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/pl/billing.mdx b/website/pages/pl/billing.mdx index 8b5065d04e9f..37f9c840d00b 100644 --- a/website/pages/pl/billing.mdx +++ b/website/pages/pl/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 9893dbbe66a94089c63e1b38d0d204cb7f8884ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:57:56 -0400 Subject: [PATCH 2223/2326] New translations arbitrum-faq.mdx (Polish) --- website/pages/pl/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/pl/arbitrum/arbitrum-faq.mdx b/website/pages/pl/arbitrum/arbitrum-faq.mdx index 382c26a1cd84..575b56c610f0 100644 --- a/website/pages/pl/arbitrum/arbitrum-faq.mdx +++ b/website/pages/pl/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [Przeniesienie do](https://transferto.xyz/swap) - - [Most projektu Connext](https://bridge.connext.network/) - - [Giełda Hop](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 79e2c3b2dc6a3705dd4aeecb451571faff49b71d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:58:19 -0400 Subject: [PATCH 2224/2326] New translations billing.mdx (Portuguese) --- website/pages/pt/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/pt/billing.mdx b/website/pages/pt/billing.mdx index e2a537a22c3e..45abd7514130 100644 --- a/website/pages/pt/billing.mdx +++ b/website/pages/pt/billing.mdx @@ -39,8 +39,6 @@ Para pagar por queries, é necessário ter GRT no Arbitrum. Veja algumas maneira - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - Caso tenha outros ativos no Arbitrum, é possível trocá-los por GRT através de um protocolo de troca como o Uniswap. From fd942c84ba6ccbf951a00314b6c7a65d2eae4969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:58:51 -0400 Subject: [PATCH 2225/2326] New translations billing.mdx (Russian) --- website/pages/ru/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/ru/billing.mdx b/website/pages/ru/billing.mdx index d652126af4aa..cdf92ab49675 100644 --- a/website/pages/ru/billing.mdx +++ b/website/pages/ru/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 26f521d9af3d83acc67ce44a9af1eb0825878966 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:58:58 -0400 Subject: [PATCH 2226/2326] New translations arbitrum-faq.mdx (Russian) --- website/pages/ru/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/ru/arbitrum/arbitrum-faq.mdx b/website/pages/ru/arbitrum/arbitrum-faq.mdx index facd92f7ae19..adfa3e6d5565 100644 --- a/website/pages/ru/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ru/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 10cb56b703d6481210cbb812b1dc97881f378b7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:59:29 -0400 Subject: [PATCH 2227/2326] New translations billing.mdx (Swedish) --- website/pages/sv/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/sv/billing.mdx b/website/pages/sv/billing.mdx index 4d901456ee24..96e596687dea 100644 --- a/website/pages/sv/billing.mdx +++ b/website/pages/sv/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bro](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 51a9c870774ac85a6b7b2c459d0b9dcf553b55ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 19:59:36 -0400 Subject: [PATCH 2228/2326] New translations arbitrum-faq.mdx (Swedish) --- website/pages/sv/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/sv/arbitrum/arbitrum-faq.mdx b/website/pages/sv/arbitrum/arbitrum-faq.mdx index 158eddbd19c0..f454a4d1e420 100644 --- a/website/pages/sv/arbitrum/arbitrum-faq.mdx +++ b/website/pages/sv/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From ab60565251700e4b22cc45e6fbed4cf67b8e8575 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:00:09 -0400 Subject: [PATCH 2229/2326] New translations billing.mdx (Turkish) --- website/pages/tr/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/tr/billing.mdx b/website/pages/tr/billing.mdx index 8e03dfa20070..b2faf34d0b49 100644 --- a/website/pages/tr/billing.mdx +++ b/website/pages/tr/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 27b6fd4e5892ab9b425f7e149646320add9c022a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:00:19 -0400 Subject: [PATCH 2230/2326] New translations arbitrum-faq.mdx (Turkish) --- website/pages/tr/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/tr/arbitrum/arbitrum-faq.mdx b/website/pages/tr/arbitrum/arbitrum-faq.mdx index 761aa85a4c3b..b839c3a0d1f3 100644 --- a/website/pages/tr/arbitrum/arbitrum-faq.mdx +++ b/website/pages/tr/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 9b263161f3136a2fdb1b9dbd3deafd4828c55c32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:00:59 -0400 Subject: [PATCH 2231/2326] New translations billing.mdx (Ukrainian) --- website/pages/uk/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/uk/billing.mdx b/website/pages/uk/billing.mdx index 203d551a67cc..47467e108558 100644 --- a/website/pages/uk/billing.mdx +++ b/website/pages/uk/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 9ccb42c99187707e41c2ec6889e751b3d82d7649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:01:07 -0400 Subject: [PATCH 2232/2326] New translations arbitrum-faq.mdx (Ukrainian) --- website/pages/uk/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/uk/arbitrum/arbitrum-faq.mdx b/website/pages/uk/arbitrum/arbitrum-faq.mdx index 4d8bff0613ac..16104f2abf6b 100644 --- a/website/pages/uk/arbitrum/arbitrum-faq.mdx +++ b/website/pages/uk/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 15a101c289ba605d67c564e8843a6ebad2612b88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:01:40 -0400 Subject: [PATCH 2233/2326] New translations billing.mdx (Chinese Simplified) --- website/pages/zh/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/zh/billing.mdx b/website/pages/zh/billing.mdx index ba096c7e98dc..894302b4aa9b 100644 --- a/website/pages/zh/billing.mdx +++ b/website/pages/zh/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [转移到](https://transferto.xyz/swap) -- [Connext跨链桥](https://bridge.connext.network/) -- [Hop交换协议](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 9a624f9769f8289ab5544ee56affd9c6e0b1ea65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:01:47 -0400 Subject: [PATCH 2234/2326] New translations arbitrum-faq.mdx (Chinese Simplified) --- website/pages/zh/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/zh/arbitrum/arbitrum-faq.mdx b/website/pages/zh/arbitrum/arbitrum-faq.mdx index 0f78432c9bc1..afdba606c23e 100644 --- a/website/pages/zh/arbitrum/arbitrum-faq.mdx +++ b/website/pages/zh/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From c3bf9f7fa98f3b2e99b85f319175aefd0f03bfba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:02:20 -0400 Subject: [PATCH 2235/2326] New translations billing.mdx (Urdu (Pakistan)) --- website/pages/ur/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/ur/billing.mdx b/website/pages/ur/billing.mdx index 9d2e0de971de..cc192cfe227b 100644 --- a/website/pages/ur/billing.mdx +++ b/website/pages/ur/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [کی طرف بھیجنا](https://transferto.xyz/swap) -- [کونیکسٹ بریج](https://bridge.connext.network/) -- [ہاپ ایکسچینج](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 18a13441e440193d470dacc6c9d9ca186ba9d87c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:02:27 -0400 Subject: [PATCH 2236/2326] New translations arbitrum-faq.mdx (Urdu (Pakistan)) --- website/pages/ur/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/ur/arbitrum/arbitrum-faq.mdx b/website/pages/ur/arbitrum/arbitrum-faq.mdx index 4fd83a8706b7..4e46325061e3 100644 --- a/website/pages/ur/arbitrum/arbitrum-faq.mdx +++ b/website/pages/ur/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From f45f4cd32c433209eacc1c97d54cb75b00bdd4f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:02:59 -0400 Subject: [PATCH 2237/2326] New translations billing.mdx (Vietnamese) --- website/pages/vi/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/vi/billing.mdx b/website/pages/vi/billing.mdx index 8b5065d04e9f..37f9c840d00b 100644 --- a/website/pages/vi/billing.mdx +++ b/website/pages/vi/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From fc5520eb7897544fde1c9e59501637950f160afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:03:06 -0400 Subject: [PATCH 2238/2326] New translations arbitrum-faq.mdx (Vietnamese) --- website/pages/vi/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/vi/arbitrum/arbitrum-faq.mdx b/website/pages/vi/arbitrum/arbitrum-faq.mdx index 65e69cbfbe37..a36b0103772f 100644 --- a/website/pages/vi/arbitrum/arbitrum-faq.mdx +++ b/website/pages/vi/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 21af9b771599c5321865f8916ce9cc57a7b85f59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:03:38 -0400 Subject: [PATCH 2239/2326] New translations billing.mdx (Marathi) --- website/pages/mr/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/mr/billing.mdx b/website/pages/mr/billing.mdx index a60af4685cc2..26457c03358f 100644 --- a/website/pages/mr/billing.mdx +++ b/website/pages/mr/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 77e3b21027df7280be81aefc884a562989b19731 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:03:46 -0400 Subject: [PATCH 2240/2326] New translations arbitrum-faq.mdx (Marathi) --- website/pages/mr/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/mr/arbitrum/arbitrum-faq.mdx b/website/pages/mr/arbitrum/arbitrum-faq.mdx index 5d6f63f83e23..b72ce63a04ea 100644 --- a/website/pages/mr/arbitrum/arbitrum-faq.mdx +++ b/website/pages/mr/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 52063fc43af4a607330f6d4067588a6334e8ba9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:04:18 -0400 Subject: [PATCH 2241/2326] New translations billing.mdx (Hindi) --- website/pages/hi/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/hi/billing.mdx b/website/pages/hi/billing.mdx index bb5a1e7a401d..d6377dbf57be 100644 --- a/website/pages/hi/billing.mdx +++ b/website/pages/hi/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 0d3fa181915661cf1d636ccdcd5dc3abc58947b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:04:26 -0400 Subject: [PATCH 2242/2326] New translations arbitrum-faq.mdx (Hindi) --- website/pages/hi/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/hi/arbitrum/arbitrum-faq.mdx b/website/pages/hi/arbitrum/arbitrum-faq.mdx index 193ee0684164..a64a009e8616 100644 --- a/website/pages/hi/arbitrum/arbitrum-faq.mdx +++ b/website/pages/hi/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) - - [Connext Bridge](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 0cc8f39a34e9a390cb7caa4eec3b587a812805ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:04:57 -0400 Subject: [PATCH 2243/2326] New translations billing.mdx (Yoruba) --- website/pages/yo/billing.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/yo/billing.mdx b/website/pages/yo/billing.mdx index 8b5065d04e9f..37f9c840d00b 100644 --- a/website/pages/yo/billing.mdx +++ b/website/pages/yo/billing.mdx @@ -39,8 +39,6 @@ To pay for queries, you need GRT on Arbitrum. Here are a few different ways to a - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [TransferTo](https://transferto.xyz/swap) -- [Connext Bridge](https://bridge.connext.network/) -- [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) - If you already have assets on Arbitrum, you can swap them for GRT via a swapping protocol like Uniswap. From 33298c7a08fe7171716453736fd2f9be36639c9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Tue, 16 Jul 2024 20:05:05 -0400 Subject: [PATCH 2244/2326] New translations arbitrum-faq.mdx (Yoruba) --- website/pages/yo/arbitrum/arbitrum-faq.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/pages/yo/arbitrum/arbitrum-faq.mdx b/website/pages/yo/arbitrum/arbitrum-faq.mdx index 3599e4c74844..17fc65167f06 100644 --- a/website/pages/yo/arbitrum/arbitrum-faq.mdx +++ b/website/pages/yo/arbitrum/arbitrum-faq.mdx @@ -25,11 +25,12 @@ The Graph’s billing system accepts GRT on Arbitrum, and users will need ETH on Consequently, to pay for queries, you need GRT on Arbitrum. Here are a few different ways to achieve this: - If you already have GRT on Ethereum, you can bridge it to Arbitrum. You can do this via the GRT bridging option provided in Subgraph Studio or by using one of the following bridges: + - [The Arbitrum Bridge](https://bridge.arbitrum.io/?l2ChainId=42161) - [Gbe lọ si](https://transferto.xyz/swap) - - [Afara Connext](https://bridge.connext.network/) - - [Hop Exchange](https://app.hop.exchange/#/send?token=ETH) + - If you have other assets on Arbitrum, you can swap them for GRT through a swapping protocol like Uniswap. + - Alternatively, you can acquire GRT directly on Arbitrum through a decentralized exchange. Once you have GRT on Arbitrum, you can add it to your billing balance. From 61d8e2ab6f40874490bb25fe6bc50e9d72f2e8fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 16:54:09 -0400 Subject: [PATCH 2245/2326] New translations deploying-a-subgraph-to-studio.mdx (Portuguese) --- website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx index b37f08c3caee..0712d6ce5264 100644 --- a/website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/pt/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Como lançar um Subgraph ao Subgraph Studio --- -> Aprenda como editar subgraphs sem rate limit ao Subgraph Studio [aqui](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - Estes são os passos para lançar o seu subgraph no Subgraph Studio: - Instale o The Graph CLI (com yarn ou npm) From ae3fcec1819e5395f87a61f2f86fe5ab68e23eef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 16:54:59 -0400 Subject: [PATCH 2246/2326] New translations deploying-a-subgraph-to-studio.mdx (Romanian) --- website/pages/ro/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/ro/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/ro/deploying/deploying-a-subgraph-to-studio.mdx index 65902f1bb587..003f158c4284 100644 --- a/website/pages/ro/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/ro/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Deploying a Subgraph to Subgraph Studio --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) From 2711aba256787a37be7cb5cd41c0ab0f3b2089af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 16:55:40 -0400 Subject: [PATCH 2247/2326] New translations deploying-a-subgraph-to-studio.mdx (French) --- website/pages/fr/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/fr/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/fr/deploying/deploying-a-subgraph-to-studio.mdx index 4eed65015f92..b21b52a461fb 100644 --- a/website/pages/fr/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/fr/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Déploiement d'un subgraph dans Subgraph Studio --- -> Découvrez comment vous pouvez déployer des subgraphs à taux non limité dans Subgraph Studio [ici](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Faire l'installation de The Graph CLI (avec yarn ou npm) From acb89988bb24051e79df8d2c4bd62bd9faf68099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 16:56:20 -0400 Subject: [PATCH 2248/2326] New translations deploying-a-subgraph-to-studio.mdx (Spanish) --- website/pages/es/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/es/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/es/deploying/deploying-a-subgraph-to-studio.mdx index 0ff5ba401d84..c3d46b102d45 100644 --- a/website/pages/es/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/es/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Implementación de un Subgrafo en Subgraph Studio --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Instala The Graph CLI (con yarn o npm) From a086addc7258eb3848e159eb2525dd2613394b2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 16:56:59 -0400 Subject: [PATCH 2249/2326] New translations deploying-a-subgraph-to-studio.mdx (Arabic) --- website/pages/ar/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/ar/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/ar/deploying/deploying-a-subgraph-to-studio.mdx index 1c1463b377e6..27e20896b559 100644 --- a/website/pages/ar/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/ar/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Deploying a Subgraph to Subgraph Studio --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) From 0c6ecb86b0860f6ff6de35462e2fcfff454ee436 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 16:57:36 -0400 Subject: [PATCH 2250/2326] New translations deploying-a-subgraph-to-studio.mdx (Czech) --- website/pages/cs/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/cs/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/cs/deploying/deploying-a-subgraph-to-studio.mdx index 51cd9ac3cb68..ca3707130ad7 100644 --- a/website/pages/cs/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/cs/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Nasazení podgraf do podgraf Studio --- -> Zjistěte, jak můžete nasadit subgrafy bez omezení rychlosti podgraf Studia [zde](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - Toto jsou kroky k nasazení podgrafu do aplikace Podgraf Studio: - Instalace Graph CLI (pomocí yarn nebo npm) From 914924e58d3faefed3d0ebed3c2fe39db466d24b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 16:58:11 -0400 Subject: [PATCH 2251/2326] New translations deploying-a-subgraph-to-studio.mdx (German) --- website/pages/de/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/de/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/de/deploying/deploying-a-subgraph-to-studio.mdx index 65902f1bb587..003f158c4284 100644 --- a/website/pages/de/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/de/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Deploying a Subgraph to Subgraph Studio --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) From 4332fe95a030060c29db6c5699f833b40a12924e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 16:58:49 -0400 Subject: [PATCH 2252/2326] New translations deploying-a-subgraph-to-studio.mdx (Italian) --- website/pages/it/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/it/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/it/deploying/deploying-a-subgraph-to-studio.mdx index 1da8bb48f765..c5b42ea5c62d 100644 --- a/website/pages/it/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/it/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Distribuzione di un subgraph nel Subgraph Studio --- -> Imparare a distribuire subgraph senza limiti di velocità nel Subgraph Studio [qui](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Installare il Graph CLI (con yarn oppure npm) From 66e461efa765f79220d27b65481606fc1af393b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 16:59:28 -0400 Subject: [PATCH 2253/2326] New translations deploying-a-subgraph-to-studio.mdx (Japanese) --- website/pages/ja/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/ja/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/ja/deploying/deploying-a-subgraph-to-studio.mdx index 249780946b9c..2237ceff91c7 100644 --- a/website/pages/ja/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/ja/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Subgraph Studio へのサブグラフのデプロイ --- -> レート制限のないサブグラフを Subgraph Studio にデプロイする方法を学習します [ ここ](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294)にあります。 - These are the steps to deploy your subgraph to Subgraph Studio: - Graph CLIをインストールする(yarnまたはnpmを使用) From 95e2a2e4849b8f58a88861255eec9f41f903fcde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:00:07 -0400 Subject: [PATCH 2254/2326] New translations deploying-a-subgraph-to-studio.mdx (Korean) --- website/pages/ko/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/ko/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/ko/deploying/deploying-a-subgraph-to-studio.mdx index 65902f1bb587..003f158c4284 100644 --- a/website/pages/ko/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/ko/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Deploying a Subgraph to Subgraph Studio --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) From 93cc99abf8ec58113ab230a6eea98691b6e4c108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:00:49 -0400 Subject: [PATCH 2255/2326] New translations deploying-a-subgraph-to-studio.mdx (Dutch) --- website/pages/nl/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/nl/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/nl/deploying/deploying-a-subgraph-to-studio.mdx index 65902f1bb587..003f158c4284 100644 --- a/website/pages/nl/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/nl/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Deploying a Subgraph to Subgraph Studio --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) From 0931992bae4310639f1f3b475c1a5de004254890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:01:30 -0400 Subject: [PATCH 2256/2326] New translations deploying-a-subgraph-to-studio.mdx (Polish) --- website/pages/pl/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/pl/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/pl/deploying/deploying-a-subgraph-to-studio.mdx index 65902f1bb587..003f158c4284 100644 --- a/website/pages/pl/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/pl/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Deploying a Subgraph to Subgraph Studio --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) From d3c461d399e21e36e64516b0f4981e3147e5f767 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:02:35 -0400 Subject: [PATCH 2257/2326] New translations deploying-a-subgraph-to-studio.mdx (Russian) --- website/pages/ru/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/ru/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/ru/deploying/deploying-a-subgraph-to-studio.mdx index 8b81959427b8..e4be6b26f36d 100644 --- a/website/pages/ru/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/ru/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Развертывание подграфа в Subgraph Studio --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Установите The Graph CLI (либо с помощью yarn, либо с npm) From df9ffd5ec1c2202b158ceefaddc813d44b74235f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:03:26 -0400 Subject: [PATCH 2258/2326] New translations deploying-a-subgraph-to-studio.mdx (Swedish) --- website/pages/sv/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/sv/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/sv/deploying/deploying-a-subgraph-to-studio.mdx index b40e1d2c4ac5..7bf304318dad 100644 --- a/website/pages/sv/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/sv/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Distribuera en undergraf till Subgraph Studio --- -> Lär dig hur du kan distribuera subgrafer utan begränsning av hastighet till Subgraf Studio [här](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Installera Graph CLI (med antingen yarn eller npm) From 9960d8e6ceeded13c2fd37d7da0951fd1012646a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:04:05 -0400 Subject: [PATCH 2259/2326] New translations deploying-a-subgraph-to-studio.mdx (Turkish) --- website/pages/tr/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/tr/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/tr/deploying/deploying-a-subgraph-to-studio.mdx index 92228d476fab..003f158c4284 100644 --- a/website/pages/tr/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/tr/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Deploying a Subgraph to Subgraph Studio --- -> Hız sınırlaması olmayan subgraph'ları Subgraph Stüdyo'ya nasıl dağıtabileceğinizi [buradan](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294) öğrenin. - These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) From 473c3b8d9d578e3506f2179f2c19c0ccc4ec7e96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:04:44 -0400 Subject: [PATCH 2260/2326] New translations deploying-a-subgraph-to-studio.mdx (Ukrainian) --- website/pages/uk/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/uk/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/uk/deploying/deploying-a-subgraph-to-studio.mdx index 65902f1bb587..003f158c4284 100644 --- a/website/pages/uk/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/uk/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Deploying a Subgraph to Subgraph Studio --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) From 5fbe846008cab459b94c3376917b021fe264c2d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:05:23 -0400 Subject: [PATCH 2261/2326] New translations deploying-a-subgraph-to-studio.mdx (Chinese Simplified) --- website/pages/zh/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/zh/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/zh/deploying/deploying-a-subgraph-to-studio.mdx index a4276eb7efab..29be61ca18c9 100644 --- a/website/pages/zh/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/zh/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: 将子图部署到子图工作室 --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - 安装 Graph CLI(同时使用 yarn 和 npm) From f90158410c3541113f995ccf4e360b8624d63c7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:06:02 -0400 Subject: [PATCH 2262/2326] New translations deploying-a-subgraph-to-studio.mdx (Urdu (Pakistan)) --- website/pages/ur/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/ur/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/ur/deploying/deploying-a-subgraph-to-studio.mdx index 68709e661e4c..9d2d22703352 100644 --- a/website/pages/ur/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/ur/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: سب گراف کو سب گراف سٹوڈیو پر تعینات کرنا --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - گراف CLI انسٹال کریں (یارن یا این پی ایم کے ساتھ) From 2c80c984b2235386b792ac99b20aafeff6f227df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:06:41 -0400 Subject: [PATCH 2263/2326] New translations deploying-a-subgraph-to-studio.mdx (Vietnamese) --- website/pages/vi/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/vi/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/vi/deploying/deploying-a-subgraph-to-studio.mdx index 9fd14ceb328c..c00fc43f7a1f 100644 --- a/website/pages/vi/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/vi/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Deploying a Subgraph to Subgraph Studio --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) From b89b8315a7125faa205edd12972469b4a4d89e2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:07:21 -0400 Subject: [PATCH 2264/2326] New translations deploying-a-subgraph-to-studio.mdx (Marathi) --- website/pages/mr/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/mr/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/mr/deploying/deploying-a-subgraph-to-studio.mdx index 7a356fd3506d..5653a1339fe2 100644 --- a/website/pages/mr/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/mr/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: सबग्राफ स्टुडिओमध्ये सबग्राफ तैनात करणे --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - ग्राफ सीएलआय स्थापित करा (यार्न किंवा एनपीएमसह) From 2eb209f855a87379d8252221bd3fe803ad356363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:07:59 -0400 Subject: [PATCH 2265/2326] New translations deploying-a-subgraph-to-studio.mdx (Hindi) --- website/pages/hi/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/hi/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/hi/deploying/deploying-a-subgraph-to-studio.mdx index 0d0752e85a25..c87da9f54cad 100644 --- a/website/pages/hi/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/hi/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: सबग्राफ स्टूडियो में एक सबग्राफ तैनात करना --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - ग्राफ सीएलआई स्थापित करें (या तो यार्न या एनपीएम के साथ) From 2e23215ccd893548e27de5d15163d2b1263f526f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 17:08:38 -0400 Subject: [PATCH 2266/2326] New translations deploying-a-subgraph-to-studio.mdx (Yoruba) --- website/pages/yo/deploying/deploying-a-subgraph-to-studio.mdx | 2 -- 1 file changed, 2 deletions(-) diff --git a/website/pages/yo/deploying/deploying-a-subgraph-to-studio.mdx b/website/pages/yo/deploying/deploying-a-subgraph-to-studio.mdx index 65902f1bb587..003f158c4284 100644 --- a/website/pages/yo/deploying/deploying-a-subgraph-to-studio.mdx +++ b/website/pages/yo/deploying/deploying-a-subgraph-to-studio.mdx @@ -2,8 +2,6 @@ title: Deploying a Subgraph to Subgraph Studio --- -> Learn how you can deploy non rate-limited subgraphs to Subgraph Studio [here](https://www.notion.so/edgeandnode/The-Graph-Subgraph-Studio-Non-Rate-Limited-Chain-Integration-889fe061ee6b4423a7f8e2c8070b9294). - These are the steps to deploy your subgraph to Subgraph Studio: - Install The Graph CLI (with either yarn or npm) From 8906d6d4907190021727f01c78c375db012b3c2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:04 -0400 Subject: [PATCH 2267/2326] New translations querying-best-practices.mdx (Romanian) --- .../ro/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/ro/querying/querying-best-practices.mdx b/website/pages/ro/querying/querying-best-practices.mdx index 18a51701045d..32d1415b20fa 100644 --- a/website/pages/ro/querying/querying-best-practices.mdx +++ b/website/pages/ro/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Now that we covered the basic rules of GraphQL queries syntax, let's now look at --- -## Writing GraphQL queries +## Best Practices ### Always write static queries @@ -193,9 +193,7 @@ const result = await execute(query, { Note: The opposite directive is `@skip(if: ...)`. -### Performance tips - -**"Ask for what you want"** +### Ask for what you want GraphQL became famous for its "Ask for what you want" tagline. @@ -224,7 +222,39 @@ The response could contain 100 transactions for each of the 100 tokens. If the application only needs 10 transactions, the query should explicitly set `first: 10` on the transactions field. -**Combining multiple queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Your application might require querying multiple types of data as follows: From b4884aa38de88479139a56a83a843e791be9a029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:05 -0400 Subject: [PATCH 2268/2326] New translations querying-best-practices.mdx (French) --- .../fr/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/fr/querying/querying-best-practices.mdx b/website/pages/fr/querying/querying-best-practices.mdx index 65eee02509fa..007b5752c493 100644 --- a/website/pages/fr/querying/querying-best-practices.mdx +++ b/website/pages/fr/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Maintenant que nous avons couvert les règles de base de la syntaxe des requête --- -## Écrire des requêtes GraphQL +## Les meilleures pratiques ### Écrivez toujours des requêtes statiques @@ -193,9 +193,7 @@ const result = await execute(query, { Remarque : La directive opposée est `@skip(if: ...)`. -### Conseils de performances - -**"Demande ce que tu veux"** +### Ask for what you want GraphQL est devenu célèbre pour son slogan « Demandez ce que vous voulez ». @@ -224,7 +222,39 @@ La réponse pourrait contenir 100 transactions pour chacun des 100 jetons. Si l'application n'a besoin que de 10 transactions, la requête doit explicitement définir `first: 10` dans le champ transactions. -**Combinaison de plusieurs requêtes** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Votre application peut nécessiter l'interrogation de plusieurs types de données comme suit : From 8ef43b8283bdeb10cf8c2a7a08d7cab0978c078b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:07 -0400 Subject: [PATCH 2269/2326] New translations querying-best-practices.mdx (Spanish) --- .../es/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/es/querying/querying-best-practices.mdx b/website/pages/es/querying/querying-best-practices.mdx index 028295e3de70..82e8d0cb9da2 100644 --- a/website/pages/es/querying/querying-best-practices.mdx +++ b/website/pages/es/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Now that we covered the basic rules of GraphQL queries syntax, let's now look at --- -## Escribir consultas GraphQL +## Best Practices ### Escribe siempre consultas estáticas @@ -193,9 +193,7 @@ const result = await execute(query, { Note: The opposite directive is `@skip(if: ...)`. -### Consejos de rendimiento - -**"Ask for what you want"** +### Ask for what you want GraphQL became famous for its "Ask for what you want" tagline. @@ -224,7 +222,39 @@ The response could contain 100 transactions for each of the 100 tokens. If the application only needs 10 transactions, the query should explicitly set `first: 10` on the transactions field. -**Combining multiple queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Your application might require querying multiple types of data as follows: From 8619c8bb575ed4cd7c1d685b10e8905438d539f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:08 -0400 Subject: [PATCH 2270/2326] New translations querying-best-practices.mdx (Arabic) --- .../ar/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/ar/querying/querying-best-practices.mdx b/website/pages/ar/querying/querying-best-practices.mdx index acf1e9be9f78..6bb1aa2c33c7 100644 --- a/website/pages/ar/querying/querying-best-practices.mdx +++ b/website/pages/ar/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Now that we covered the basic rules of GraphQL queries syntax, let's now look at --- -## كتابة استعلامات GraphQL +## Best Practices ### اكتب دائمًا استعلامات ثابتة @@ -193,9 +193,7 @@ const result = await execute(query, { Note: The opposite directive is `@skip(if: ...)`. -### نصائح حول الأداء - -**"Ask for what you want"** +### Ask for what you want GraphQL became famous for its "Ask for what you want" tagline. @@ -224,7 +222,39 @@ The response could contain 100 transactions for each of the 100 tokens. If the application only needs 10 transactions, the query should explicitly set `first: 10` on the transactions field. -**Combining multiple queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Your application might require querying multiple types of data as follows: From 2361468fb9c08008aa1bfa2fafe8e2fbab75d639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:10 -0400 Subject: [PATCH 2271/2326] New translations querying-best-practices.mdx (Czech) --- .../cs/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/cs/querying/querying-best-practices.mdx b/website/pages/cs/querying/querying-best-practices.mdx index 18bd5615a61c..f2fb16bcf8b7 100644 --- a/website/pages/cs/querying/querying-best-practices.mdx +++ b/website/pages/cs/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Nyní, když jsme se seznámili se základními pravidly syntaxe dotazů GraphQL --- -## Psaní dotazů GraphQL +## Osvědčené postupy ### Vždy pište statické dotazy @@ -193,9 +193,7 @@ const result = await execute(query, { Poznámka: Opačným direktivou je `@skip(if: ...)`. -### Výkonnostní tipy - -**"Požádejte o to, co chcete"** +### Ask for what you want GraphQL se proslavil sloganem „Požádejte o to, co chcete“. @@ -224,7 +222,39 @@ Odpověď může obsahovat 100 transakcí pro každý ze 100 tokenů. Pokud aplikace potřebuje pouze 10 transakcí, měl by dotaz explicitně nastavit parametr `first: 10` v poli transakcí. -**Kombinace více dotazů** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Vaše aplikace může vyžadovat dotazování na více typů dat takto: From 62eda52492250efce30d676b43d8b5760c2fe961 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:12 -0400 Subject: [PATCH 2272/2326] New translations querying-best-practices.mdx (German) --- .../de/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/de/querying/querying-best-practices.mdx b/website/pages/de/querying/querying-best-practices.mdx index 18a51701045d..32d1415b20fa 100644 --- a/website/pages/de/querying/querying-best-practices.mdx +++ b/website/pages/de/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Now that we covered the basic rules of GraphQL queries syntax, let's now look at --- -## Writing GraphQL queries +## Best Practices ### Always write static queries @@ -193,9 +193,7 @@ const result = await execute(query, { Note: The opposite directive is `@skip(if: ...)`. -### Performance tips - -**"Ask for what you want"** +### Ask for what you want GraphQL became famous for its "Ask for what you want" tagline. @@ -224,7 +222,39 @@ The response could contain 100 transactions for each of the 100 tokens. If the application only needs 10 transactions, the query should explicitly set `first: 10` on the transactions field. -**Combining multiple queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Your application might require querying multiple types of data as follows: From a45a25e64b85cadfe659cf8b9ad04e14fe5b595b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:13 -0400 Subject: [PATCH 2273/2326] New translations querying-best-practices.mdx (Italian) --- .../it/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/it/querying/querying-best-practices.mdx b/website/pages/it/querying/querying-best-practices.mdx index c6e1f1a9f5cd..169d9258b397 100644 --- a/website/pages/it/querying/querying-best-practices.mdx +++ b/website/pages/it/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Ora che abbiamo trattato le regole di base della sintassi delle query GraphQL, e --- -## Scrivere query GraphQL +## Best Practices ### Scrivere sempre query statiche @@ -193,9 +193,7 @@ const result = await execute(query, { Nota: La direttiva opposta è `@skip(if: ...)`. -### Suggerimenti sulle prestazioni - -**"Chiedi quello che vuoi"** +### Ask for what you want GraphQL è diventato famoso per il suo slogan "Chiedi quello che vuoi". @@ -224,7 +222,39 @@ La risposta potrebbe contenere 100 transazioni per ciascuno dei 100 token. Se l'applicazione ha bisogno solo di 10 transazioni, la query deve impostare esplicitamente `first: 10` sul campo transazioni. -**Combinazione di più query** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request L'applicazione potrebbe richiedere di effettuare query di più tipi di dati, come di seguito indicato: From 4c52e0827dff053ea954a36659c1d558c11cdc36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:14 -0400 Subject: [PATCH 2274/2326] New translations querying-best-practices.mdx (Japanese) --- .../ja/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/ja/querying/querying-best-practices.mdx b/website/pages/ja/querying/querying-best-practices.mdx index 5d0dcb8291ab..dc58ec63e7bb 100644 --- a/website/pages/ja/querying/querying-best-practices.mdx +++ b/website/pages/ja/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ GraphQL クエリ構文の基本ルールを説明したので、今度は Graph --- -## GraphQLクエリの作成 +## ベストプラクティス ### 常に静的なクエリを記述 @@ -193,9 +193,7 @@ const result = await execute(query, { 注: 反対のディレクティブは `@skip(if: ...)` です。 -### パフォーマンスに関するヒント - -**"欲しいものを聞いてください"** +### Ask for what you want GraphQL は、「欲しいものを聞いてください」というキャッチフレーズで有名になりました。 @@ -224,7 +222,39 @@ query listTokens { アプリケーションが 10 トランザクションのみを必要とする場合、クエリではトランザクション フィールドに `first: 10` を明示的に設定する必要があります。 -**複数のクエリを組み合わせる** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request アプリケーションでは、次のように複数の種類のデータをクエリする必要がある場合があります: From ec546509a8ee33ab5aac61fdaa3e9acdfcb33a99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:16 -0400 Subject: [PATCH 2275/2326] New translations querying-best-practices.mdx (Korean) --- .../ko/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/ko/querying/querying-best-practices.mdx b/website/pages/ko/querying/querying-best-practices.mdx index 18a51701045d..32d1415b20fa 100644 --- a/website/pages/ko/querying/querying-best-practices.mdx +++ b/website/pages/ko/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Now that we covered the basic rules of GraphQL queries syntax, let's now look at --- -## Writing GraphQL queries +## Best Practices ### Always write static queries @@ -193,9 +193,7 @@ const result = await execute(query, { Note: The opposite directive is `@skip(if: ...)`. -### Performance tips - -**"Ask for what you want"** +### Ask for what you want GraphQL became famous for its "Ask for what you want" tagline. @@ -224,7 +222,39 @@ The response could contain 100 transactions for each of the 100 tokens. If the application only needs 10 transactions, the query should explicitly set `first: 10` on the transactions field. -**Combining multiple queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Your application might require querying multiple types of data as follows: From a422eea641c2282f50d86c7a26b376da7ecbd2dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:17 -0400 Subject: [PATCH 2276/2326] New translations querying-best-practices.mdx (Dutch) --- .../nl/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/nl/querying/querying-best-practices.mdx b/website/pages/nl/querying/querying-best-practices.mdx index 18a51701045d..32d1415b20fa 100644 --- a/website/pages/nl/querying/querying-best-practices.mdx +++ b/website/pages/nl/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Now that we covered the basic rules of GraphQL queries syntax, let's now look at --- -## Writing GraphQL queries +## Best Practices ### Always write static queries @@ -193,9 +193,7 @@ const result = await execute(query, { Note: The opposite directive is `@skip(if: ...)`. -### Performance tips - -**"Ask for what you want"** +### Ask for what you want GraphQL became famous for its "Ask for what you want" tagline. @@ -224,7 +222,39 @@ The response could contain 100 transactions for each of the 100 tokens. If the application only needs 10 transactions, the query should explicitly set `first: 10` on the transactions field. -**Combining multiple queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Your application might require querying multiple types of data as follows: From 57153a12e200a9d96a72d1f6f6e3c56e49380507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:19 -0400 Subject: [PATCH 2277/2326] New translations querying-best-practices.mdx (Polish) --- .../pl/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/pl/querying/querying-best-practices.mdx b/website/pages/pl/querying/querying-best-practices.mdx index 18a51701045d..32d1415b20fa 100644 --- a/website/pages/pl/querying/querying-best-practices.mdx +++ b/website/pages/pl/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Now that we covered the basic rules of GraphQL queries syntax, let's now look at --- -## Writing GraphQL queries +## Best Practices ### Always write static queries @@ -193,9 +193,7 @@ const result = await execute(query, { Note: The opposite directive is `@skip(if: ...)`. -### Performance tips - -**"Ask for what you want"** +### Ask for what you want GraphQL became famous for its "Ask for what you want" tagline. @@ -224,7 +222,39 @@ The response could contain 100 transactions for each of the 100 tokens. If the application only needs 10 transactions, the query should explicitly set `first: 10` on the transactions field. -**Combining multiple queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Your application might require querying multiple types of data as follows: From b6892a3803b340c630d92598dfa299b3e6d48902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:20 -0400 Subject: [PATCH 2278/2326] New translations querying-best-practices.mdx (Portuguese) --- .../pt/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/pt/querying/querying-best-practices.mdx b/website/pages/pt/querying/querying-best-practices.mdx index 644ff4875856..ce52c559c287 100644 --- a/website/pages/pt/querying/querying-best-practices.mdx +++ b/website/pages/pt/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Agora que cobrimos as regras básicas da sintaxe de queries GraphQL, vamos agora --- -## Como escrever queries GraphQL +## Boas práticas ### Sempre escreva consultas estáticas @@ -193,9 +193,7 @@ const result = await execute(query, { Nota: a diretiva oposta é `@skip(if: ...)`. -### Dicas de desempenho - -**"Pergunte pelo que queres"** +### Ask for what you want O GraphQL ficou famoso por sua frase de efeito "pergunte pelo que queres". @@ -224,7 +222,39 @@ A resposta pode conter 100 transações para cada um dos 100 tokens. Se o aplicativo só precisa de 10 transações, o query deve configurar explicitamente `first: 10` no campo de transações. -**Como combinar múltiplos queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request O seu aplicativo pode exigir queries de múltiplos tipos de dados, como a seguir: From f5b169c4eb48e7e1de80d3b43d519aaccf703c34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:21 -0400 Subject: [PATCH 2279/2326] New translations querying-best-practices.mdx (Russian) --- .../ru/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/ru/querying/querying-best-practices.mdx b/website/pages/ru/querying/querying-best-practices.mdx index c7958723c064..475478a343c9 100644 --- a/website/pages/ru/querying/querying-best-practices.mdx +++ b/website/pages/ru/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Now that we covered the basic rules of GraphQL queries syntax, let's now look at --- -## Writing GraphQL queries +## Лучшие практики ### Always write static queries @@ -193,9 +193,7 @@ const result = await execute(query, { Note: The opposite directive is `@skip(if: ...)`. -### Performance tips - -**"Ask for what you want"** +### Ask for what you want GraphQL became famous for its "Ask for what you want" tagline. @@ -224,7 +222,39 @@ The response could contain 100 transactions for each of the 100 tokens. If the application only needs 10 transactions, the query should explicitly set `first: 10` on the transactions field. -**Combining multiple queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Your application might require querying multiple types of data as follows: From fcc0d19dc3d1c03effe306cbf0b4c88df6b4a551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:23 -0400 Subject: [PATCH 2280/2326] New translations querying-best-practices.mdx (Swedish) --- .../sv/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/sv/querying/querying-best-practices.mdx b/website/pages/sv/querying/querying-best-practices.mdx index ec72fd69f251..1ee855862376 100644 --- a/website/pages/sv/querying/querying-best-practices.mdx +++ b/website/pages/sv/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Nu när vi har gått igenom de grundläggande reglerna för syntax för GraphQL- --- -## Skriva GraphQL-frågor +## Bästa praxis ### Skriv alltid statiska frågor @@ -193,9 +193,7 @@ const result = await execute(query, { Observera: Det motsatta direktivet är `@skip(if: ...)`. -### Prestandatips - -**"Be om det du vill ha"** +### Ask for what you want GraphQL blev känd för sitt motto "Be om det du vill ha". @@ -224,7 +222,39 @@ Svaret kan innehålla 100 transaktioner för varje av de 100 tokens. Om applikationen bara behöver 10 transaktioner bör frågan explicit ange `first: 10` på transaktionsfältet. -**Kombinera flera frågor** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Din applikation kan kräva att du ställer flera typer av datafrågor enligt följande: From 04586851230789b33b0f0435fb8c0762cd9f1563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:24 -0400 Subject: [PATCH 2281/2326] New translations querying-best-practices.mdx (Turkish) --- .../tr/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/tr/querying/querying-best-practices.mdx b/website/pages/tr/querying/querying-best-practices.mdx index bb0b94ebaa86..3878ac485e8f 100644 --- a/website/pages/tr/querying/querying-best-practices.mdx +++ b/website/pages/tr/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ GraphQL sorguları sözdiziminin temel kurallarını ele aldığımıza göre, --- -## Writing GraphQL queries +## En İyi Uygulamalar ### Always write static queries @@ -193,9 +193,7 @@ const result = await execute(query, { Not: Zıt direktif `@skip(if: ...)` şeklindedir. -### Performance tips - -**"Ne istiyorsanız isteyin"** +### Ask for what you want GraphQL, "Ne istiyorsanız isteyin" sloganıyla ünlenmiştir. @@ -224,7 +222,39 @@ Yanıt, 100 tokenin her biri için 100 işlem içerebilir. Uygulama yalnızca 10 işleme ihtiyaç duyuyorsa, sorgu işlemler alanında `first: 10`'u açıkça ayarlamalıdır. -**Birden fazla sorguyu birleştirme** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Uygulamanız aşağıdaki gibi birden fazla veri türünü sorgulamayı gerektirebilir: From 518f7e8b8f8da5f0bdf00def29397f72d0226804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:26 -0400 Subject: [PATCH 2282/2326] New translations querying-best-practices.mdx (Ukrainian) --- .../uk/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/uk/querying/querying-best-practices.mdx b/website/pages/uk/querying/querying-best-practices.mdx index 3c9c4b54d264..d8fafba633eb 100644 --- a/website/pages/uk/querying/querying-best-practices.mdx +++ b/website/pages/uk/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ main() --- -## Написання запитів в GraphQL +## Найкращі практики ### Завжди пишіть статичні запити @@ -193,9 +193,7 @@ const result = await execute(query, { Примітка: Протилежною директивою є `@skip(if: ...)`. -### Поради щодо ефективності - -**"Проси, що хочеш"** +### Ask for what you want GraphQL став відомим завдяки своєму слогану "Ask what you want" ("Проси, що хочеш"). @@ -224,7 +222,39 @@ query listTokens { Якщо програмі потрібно лише 10 транзакцій, у запиті слід явно задати `first: 10` у полі транзакцій. -**Поєднання декількох запитів** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Ваша програма може потребувати запитів до декількох типів даних, як показано нижче: From 6d327b11580207d2a196c08141d799372cb95190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:28 -0400 Subject: [PATCH 2283/2326] New translations querying-best-practices.mdx (Chinese Simplified) --- .../zh/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/zh/querying/querying-best-practices.mdx b/website/pages/zh/querying/querying-best-practices.mdx index 1230cdebb70f..0f1af234da9e 100644 --- a/website/pages/zh/querying/querying-best-practices.mdx +++ b/website/pages/zh/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ main() --- -## 编写 GraphQL 查询 +## Best Practices ### 始终编写静态查询 @@ -193,9 +193,7 @@ const result = await execute(query, { 注意:相反的指令是@skip(if:…)。 -### 性能提示 - -**“问你所想”** +### Ask for what you want GraphQL以其“问你所想”的口号而闻名。 @@ -224,7 +222,39 @@ query listTokens { 如果应用程序只需要10个交易,那么查询应该首先在交易字段上显式设置:`first: 10`。 -**组合多个查询** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request 您的应用程序可能需要查询多种类型的数据,如下所示: From 4f4387edfa863bdad3dc6162081d5710a471c623 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:29 -0400 Subject: [PATCH 2284/2326] New translations querying-best-practices.mdx (Urdu (Pakistan)) --- .../ur/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/ur/querying/querying-best-practices.mdx b/website/pages/ur/querying/querying-best-practices.mdx index c77e78af2491..4778e9b6050c 100644 --- a/website/pages/ur/querying/querying-best-practices.mdx +++ b/website/pages/ur/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ main() --- -## GraphQL کی کیوریز لکھنا +## بہترین طریقے ### ہمیشہ جامد کیوریز لکھیں @@ -193,9 +193,7 @@ const result = await execute(query, { نوٹ: مخالف ہدایت `@skip(if: ...)` ہے. -### کارکردگی کی تجاویز - -**"جو چاہو مانگو"** +### Ask for what you want GraphQL اپنی "جو چاہو مانگو" ٹیگ لائن کے لیے مشہور ہوا. @@ -224,7 +222,39 @@ query listTokens { اگر ایپلیکیشن کو صرف 10 ٹرانزیکشنز کی ضرورت ہے، کیوری کو واضح طور پر ٹرانزیکشنز فیلڈ پر `first: 10` سیٹ کرنا چاہیے. -**متعدد کیوریز کو یکجا کرنا** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request آپ کی درخواست کو درج ذیل کے طور پر متعدد قسم کے ڈیٹا سے کیوری کرنے کی ضرورت ہو سکتی ہے: From 77b0204463231fd81782def131af08ceba2ab434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:30 -0400 Subject: [PATCH 2285/2326] New translations querying-best-practices.mdx (Vietnamese) --- .../vi/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/vi/querying/querying-best-practices.mdx b/website/pages/vi/querying/querying-best-practices.mdx index 18a51701045d..32d1415b20fa 100644 --- a/website/pages/vi/querying/querying-best-practices.mdx +++ b/website/pages/vi/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Now that we covered the basic rules of GraphQL queries syntax, let's now look at --- -## Writing GraphQL queries +## Best Practices ### Always write static queries @@ -193,9 +193,7 @@ const result = await execute(query, { Note: The opposite directive is `@skip(if: ...)`. -### Performance tips - -**"Ask for what you want"** +### Ask for what you want GraphQL became famous for its "Ask for what you want" tagline. @@ -224,7 +222,39 @@ The response could contain 100 transactions for each of the 100 tokens. If the application only needs 10 transactions, the query should explicitly set `first: 10` on the transactions field. -**Combining multiple queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Your application might require querying multiple types of data as follows: From 4585152d0831f36e2489a1a65452608f958da357 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:32 -0400 Subject: [PATCH 2286/2326] New translations querying-best-practices.mdx (Marathi) --- .../mr/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/mr/querying/querying-best-practices.mdx b/website/pages/mr/querying/querying-best-practices.mdx index c04983b250d6..138fd7d2aa6f 100644 --- a/website/pages/mr/querying/querying-best-practices.mdx +++ b/website/pages/mr/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Now that we covered the basic rules of GraphQL queries syntax, let's now look at --- -## Writing GraphQL queries +## Best Practices ### Always write static queries @@ -193,9 +193,7 @@ const result = await execute(query, { Note: The opposite directive is `@skip(if: ...)`. -### Performance tips - -**"Ask for what you want"** +### Ask for what you want GraphQL became famous for its "Ask for what you want" tagline. @@ -224,7 +222,39 @@ The response could contain 100 transactions for each of the 100 tokens. If the application only needs 10 transactions, the query should explicitly set `first: 10` on the transactions field. -**Combining multiple queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Your application might require querying multiple types of data as follows: From 5352cb1abfafd60fd2c77e1490b7ed43224be2a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:33 -0400 Subject: [PATCH 2287/2326] New translations querying-best-practices.mdx (Hindi) --- .../hi/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/hi/querying/querying-best-practices.mdx b/website/pages/hi/querying/querying-best-practices.mdx index b18a8f5e3740..d78720b40001 100644 --- a/website/pages/hi/querying/querying-best-practices.mdx +++ b/website/pages/hi/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Now that we covered the basic rules of GraphQL queries syntax, let's now look at --- -## ग्राफ़क्यूएल प्रश्न लिखना +## Best Practices ### हमेशा स्टैटिक क्वेश्चन लिखें @@ -191,9 +191,7 @@ const result = await execute(query, { Note: The opposite directive is `@skip(if: ...)`. -### प्रदर्शन युक्तियाँ - -**"Ask for what you want"** +### Ask for what you want GraphQL became famous for its "Ask for what you want" tagline. @@ -222,7 +220,39 @@ The response could contain 100 transactions for each of the 100 tokens. If the application only needs 10 transactions, the query should explicitly set `first: 10` on the transactions field. -**Combining multiple queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Your application might require querying multiple types of data as follows: From af7bdc74428d52836eeb4815895bb4a602aa08dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 17 Jul 2024 18:06:35 -0400 Subject: [PATCH 2288/2326] New translations querying-best-practices.mdx (Yoruba) --- .../yo/querying/querying-best-practices.mdx | 40 ++++++++++++++++--- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/website/pages/yo/querying/querying-best-practices.mdx b/website/pages/yo/querying/querying-best-practices.mdx index 18a51701045d..32d1415b20fa 100644 --- a/website/pages/yo/querying/querying-best-practices.mdx +++ b/website/pages/yo/querying/querying-best-practices.mdx @@ -108,7 +108,7 @@ Now that we covered the basic rules of GraphQL queries syntax, let's now look at --- -## Writing GraphQL queries +## Best Practices ### Always write static queries @@ -193,9 +193,7 @@ const result = await execute(query, { Note: The opposite directive is `@skip(if: ...)`. -### Performance tips - -**"Ask for what you want"** +### Ask for what you want GraphQL became famous for its "Ask for what you want" tagline. @@ -224,7 +222,39 @@ The response could contain 100 transactions for each of the 100 tokens. If the application only needs 10 transactions, the query should explicitly set `first: 10` on the transactions field. -**Combining multiple queries** +### Use a single query to request multiple records + +By default, subgraphs have a singular entity for one record. For multiple records, use the plural entities and filter: `where: {id_in:[X,Y,Z]}` or `where: {volume_gt:100000}` + +Example of inefficient querying: + +```graphql +query SingleRecord { + entity(id: X) { + id + name + } +} +query SingleRecord { + entity(id: Y) { + id + name + } +} +``` + +Example of optimized querying: + +```graphql +query ManyRecords { + entities(where: { id_in: [X, Y] }) { + id + name + } +} +``` + +### Combine multiple queries in a single request Your application might require querying multiple types of data as follows: From 537e519cf025330e63109cf27b74491c9ca54e4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Fri, 26 Jul 2024 12:29:40 -0400 Subject: [PATCH 2289/2326] New translations delegating.mdx (Swedish) --- website/pages/sv/network/delegating.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/sv/network/delegating.mdx b/website/pages/sv/network/delegating.mdx index 93d58473149c..77198cee9c5f 100644 --- a/website/pages/sv/network/delegating.mdx +++ b/website/pages/sv/network/delegating.mdx @@ -35,7 +35,7 @@ Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day u Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
    - ![Delegation upphävning](/img/Delegation-Upphävning.png) _Observera avgiften + ![Delegation upphävning](/img/Delegation-Unbonding.png) _Observera avgiften på 0,5% i Delegation UI, samt den 28 dagar långa upphävningsperioden._
    @@ -46,7 +46,7 @@ This is an important aspect to understand. First, let's discuss three very impor Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
    - ![Indexing Edward Cut](/img/Indexing-Edward-Cut.png) *Den översta Indexet ger + ![Indexing Edward Cut](/img/Indexing-Reward-Cut.png) *Den översta Indexet ger Delegater 90% av belöningarna. Den mellersta ger Delegater 20%. Den nedersta ger Delegater ~83%.*
    From 2554b8fc8ea60b57183898eca0a44f3d8570f707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 28 Jul 2024 05:26:59 -0400 Subject: [PATCH 2290/2326] New translations avoid-eth-calls.mdx (Czech) --- website/pages/cs/cookbook/avoid-eth-calls.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/website/pages/cs/cookbook/avoid-eth-calls.mdx b/website/pages/cs/cookbook/avoid-eth-calls.mdx index f64710359ea0..48d3d2428d74 100644 --- a/website/pages/cs/cookbook/avoid-eth-calls.mdx +++ b/website/pages/cs/cookbook/avoid-eth-calls.mdx @@ -76,13 +76,13 @@ To je mnohem výkonnější, protože to odstranilo potřebu `eth_calls`. ## Jak optimalizovat `eth_calls` -If modifying the smart contract is not possible and `eth_calls` are required, read “[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)” by Simon Emanuel Schmid to learn various strategies on how to optimize `eth_calls`. +Pokud úprava inteligentního kontraktu není možná a `eth_calls` jsou nutné, přečtěte si článek "[Improve Subgraph Indexing Performance Easily: Reduce eth_calls](https://thegraph.com/blog/improve-subgraph-performance-reduce-eth-calls/)" od Simon Emanuel Schmid, kde se dozvíte různé strategie, jak optimalizovat `eth_calls`. -## Reducing the Runtime Overhead of `eth_calls` +## Snížení běhové režie `eth_calls` -For the `eth_calls` that can not be eliminated, the runtime overhead they introduce can be minimized by declaring them in the manifest. When `graph-node` processes a block it performs all declared `eth_calls` in parallel before handlers are run. Calls that are not declared are executed sequentially when handlers run. The runtime improvement comes from performing calls in parallel rather than sequentially - that helps reduce the total time spent in calls but does not eliminate it completely. +U `eth_calls`, které nelze odstranit, lze jejich režii za běhu minimalizovat jejich deklarací v manifestu. Když `graph-node` zpracovává blok, provede všechny deklarované `eth_calls` paralelně před spuštěním obslužných programů. Volání, která nejsou deklarována, se při běhu obslužných programů provádějí postupně. Zlepšení běhu je způsobeno tím, že se volání provádějí paralelně, nikoliv sekvenčně - to pomáhá zkrátit celkový čas strávený voláním, ale zcela ho neeliminuje. -Currently, `eth_calls` can only be declared for event handlers. In the manifest, write +V současné době lze `eth_calls` deklarovat pouze pro obsluhy událostí. V manifestu napište ```yaml event: TransferWithPool(address indexed, address indexed, uint256, bytes32 indexed) @@ -91,7 +91,7 @@ calls: ERC20.poolInfo: ERC20[event.address].getPoolInfo(event.params.to) ``` -The portion highlighted in yellow is the call declaration. The part before the colon is simply a text label that is only used for error messages. The part after the colon has the form `Contract[address].function(params)`. Permissible values for address and params are `event.address` and `event.params.`. +Žlutě zvýrazněná část je deklarace volání. Část před dvojtečkou je pouze textový popisek, který se používá pouze pro chybová hlášení. Část za dvojtečkou má tvar `Contract[address].function(params)`. Přípustné hodnoty pro adresu a params jsou `event.address` a `event.params.`. The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. From 63e4f8059bcad222830ac215d640be0f2cdb6b85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 28 Jul 2024 06:37:41 -0400 Subject: [PATCH 2291/2326] New translations avoid-eth-calls.mdx (Czech) --- website/pages/cs/cookbook/avoid-eth-calls.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/cs/cookbook/avoid-eth-calls.mdx b/website/pages/cs/cookbook/avoid-eth-calls.mdx index 48d3d2428d74..0b7af55002b4 100644 --- a/website/pages/cs/cookbook/avoid-eth-calls.mdx +++ b/website/pages/cs/cookbook/avoid-eth-calls.mdx @@ -93,10 +93,10 @@ calls: Žlutě zvýrazněná část je deklarace volání. Část před dvojtečkou je pouze textový popisek, který se používá pouze pro chybová hlášení. Část za dvojtečkou má tvar `Contract[address].function(params)`. Přípustné hodnoty pro adresu a params jsou `event.address` a `event.params.`. -The handler itself accesses the result of this `eth_call` exactly as in the previous section by binding to the contract and making the call. graph-node caches the results of declared `eth_calls` in memory and the call from the handler will retrieve the result from this in memory cache instead of making an actual RPC call. +Samotná obslužná rutina přistupuje k výsledku tohoto `eth_call` přesně tak, jak je uvedeno v předchozí části, a to navázáním na smlouvu a provedením volání. graph-node cachuje výsledky deklarovaných `eth_call` v paměti a volání obslužné rutiny získá výsledek z této paměťové cache místo skutečného volání RPC. -Note: Declared eth_calls can only be made in subgraphs with specVersion >= 1.2.0. +Poznámka: Deklarované eth_calls lze provádět pouze v podgraf s verzí specVersion >= 1.2.0. -## Conclusion +## Závěr -We can significantly improve indexing performance by minimizing or eliminating `eth_calls` in our subgraphs. +Výkon indexování můžeme výrazně zlepšit minimalizací nebo odstraněním `eth_calls` v našich podgraf. From b3acb0e3c395ae91677d5ba1c38e9dde32dff2e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 28 Jul 2024 06:37:42 -0400 Subject: [PATCH 2292/2326] New translations derivedfrom.mdx (Czech) --- website/pages/cs/cookbook/derivedfrom.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/cookbook/derivedfrom.mdx b/website/pages/cs/cookbook/derivedfrom.mdx index 69dd48047744..e95a2cbe3069 100644 --- a/website/pages/cs/cookbook/derivedfrom.mdx +++ b/website/pages/cs/cookbook/derivedfrom.mdx @@ -67,7 +67,7 @@ This will not only make our subgraph more efficient, but it will also unlock thr 3. We can use [Derived Field Loaders](/developing/graph-ts/api/#looking-up-derived-entities) to unlock the ability to directly access and manipulate data from virtual relationships in our subgraph mappings. -## Conclusion +## Závěr Adopting the `@derivedFrom` directive in subgraphs effectively handles dynamically growing arrays, enhancing indexing efficiency and data retrieval. From 93dc150b13ccfe98e4c323960a7a286e306261ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 28 Jul 2024 06:37:43 -0400 Subject: [PATCH 2293/2326] New translations immutable-entities-bytes-as-ids.mdx (Czech) --- website/pages/cs/cookbook/immutable-entities-bytes-as-ids.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/cookbook/immutable-entities-bytes-as-ids.mdx b/website/pages/cs/cookbook/immutable-entities-bytes-as-ids.mdx index f38c33385604..378e73ac83b8 100644 --- a/website/pages/cs/cookbook/immutable-entities-bytes-as-ids.mdx +++ b/website/pages/cs/cookbook/immutable-entities-bytes-as-ids.mdx @@ -169,7 +169,7 @@ Query Response: } ``` -## Conclusion +## Závěr Using both Immutable Entities and Bytes as IDs has been shown to markedly improve subgraph efficiency. Specifically, tests have highlighted up to a 28% increase in query performance and up to a 48% acceleration in indexing speeds. From 8d62b1b99be872dbb3563db1d56746dff21d1e3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 28 Jul 2024 06:37:44 -0400 Subject: [PATCH 2294/2326] New translations pruning.mdx (Czech) --- website/pages/cs/cookbook/pruning.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/cookbook/pruning.mdx b/website/pages/cs/cookbook/pruning.mdx index f22a2899f1de..7533d0070737 100644 --- a/website/pages/cs/cookbook/pruning.mdx +++ b/website/pages/cs/cookbook/pruning.mdx @@ -36,6 +36,6 @@ dataSources: - It is not possible to [graft](/cookbook/grafting/) at a block height that has been pruned. If grafting is routinely performed and pruning is desired, it is recommended to use `indexerHints: prune: ` that will accurately retain a set number of blocks (e.g., enough for six months). -## Conclusion +## Závěr Pruning using `indexerHints` is a best practice for subgraph development, offering significant query performance improvements. From c6c9498e25decb12f240699606a0b66d3b4e3792 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 28 Jul 2024 06:37:44 -0400 Subject: [PATCH 2295/2326] New translations base-testnet.mdx (Czech) --- website/pages/cs/cookbook/base-testnet.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/website/pages/cs/cookbook/base-testnet.mdx b/website/pages/cs/cookbook/base-testnet.mdx index 14370e3117da..a2a5ed5435a9 100644 --- a/website/pages/cs/cookbook/base-testnet.mdx +++ b/website/pages/cs/cookbook/base-testnet.mdx @@ -6,7 +6,7 @@ Tento průvodce vás rychle provede inicializací, vytvořením a nasazením sub Požadavky: -- A Base Sepolia testnet contract address +- Adresa kontraktu testovací sítě Base Sepolia - Kryptopeněženka (např. MetaMask nebo Coinbase Wallet) ## Subgraph Studio @@ -23,11 +23,11 @@ npm install -g @graphprotocol/graph-cli yarn global add @graphprotocol/graph-cli ``` -### 2. Create your subgraph in Subgraph Studio +### 2. Vytvoření podgrafu v Podgraf Studio -Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your crypto wallet. +Přejděte do [Subgraph Studio](https://thegraph.com/studio/) a připojte svou kryptopeněženku. -Once connected, click "Create a Subgraph", enter a name for your subgraph and click Create a Subgraph. +Po připojení klikněte na tlačítko "Create a Subgraph", zadejte název podgrafu a klikněte na tlačítko Vytvoření podgrafu. ### 3. Inicializujte podgraf From ab87a74902b00bbb901aac0291d254f5d829204c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 28 Jul 2024 06:37:45 -0400 Subject: [PATCH 2296/2326] New translations how-to-secure-api-keys-using-nextjs-server-components.mdx (Czech) --- .../how-to-secure-api-keys-using-nextjs-server-components.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx b/website/pages/cs/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx index d19d6952e8f9..6864eef796ff 100644 --- a/website/pages/cs/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx +++ b/website/pages/cs/cookbook/how-to-secure-api-keys-using-nextjs-server-components.mdx @@ -118,6 +118,6 @@ Start our Next.js application using `npm run dev`. Verify that the server compon ![Server-side rendering](/img/api-key-server-side-rendering.png) -### Conclusion +### Závěr By utilizing Next.js Server Components, we've effectively hidden the API key from the client-side, enhancing the security of our application. This method ensures that sensitive operations are handled server-side, away from potential client-side vulnerabilities. Finally, be sure to explore [other API key security measures](/cookbook/upgrading-a-subgraph/#securing-your-api-key) to increase your API key security even further. From f31227dfadf3f79dd6ceeaca796304a1f87edede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sat, 3 Aug 2024 14:12:25 -0400 Subject: [PATCH 2297/2326] New translations base-testnet.mdx (Czech) --- website/pages/cs/cookbook/base-testnet.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/cookbook/base-testnet.mdx b/website/pages/cs/cookbook/base-testnet.mdx index a2a5ed5435a9..165002cdb0e2 100644 --- a/website/pages/cs/cookbook/base-testnet.mdx +++ b/website/pages/cs/cookbook/base-testnet.mdx @@ -31,7 +31,7 @@ Po připojení klikněte na tlačítko "Create a Subgraph", zadejte název podgr ### 3. Inicializujte podgraf -> You can find specific commands for your subgraph in Subgraph Studio. +> Konkrétní příkazy pro svůj podgraf najdete v Podgraf Studio. Ujistěte se, že graph-cli je aktualizován na nejnovější verzi (nad 0.41.0) From 360a0d2663b366e3322e8706f388011b30d7f338 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sat, 3 Aug 2024 15:08:28 -0400 Subject: [PATCH 2298/2326] New translations base-testnet.mdx (Czech) --- website/pages/cs/cookbook/base-testnet.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/website/pages/cs/cookbook/base-testnet.mdx b/website/pages/cs/cookbook/base-testnet.mdx index 165002cdb0e2..a6ac0c9401d8 100644 --- a/website/pages/cs/cookbook/base-testnet.mdx +++ b/website/pages/cs/cookbook/base-testnet.mdx @@ -51,14 +51,14 @@ Váš podgraf slug je identifikátor vašeho podgrafu. Nástroj CLI vás provede - Subgraph slug: `` - Adresář, ve kterém se má podgraf vytvořit: `` - Ethereum network: base-sepolia -- Contract address: `` -- Start block (optional) -- Contract name: `` -- Yes/no to indexing events (yes means your subgraph will be bootstrapped with entities in the schema and simple mappings for emitted events) +- Smluvní adresa: `` +- Startovní blok (volitelné) +- Název smlouvy: `` +- Ano/ne pro indexování událostí (ano znamená, že váš podgraf bude založen na entitách ve schématu a jednoduchých mapováních pro emitované události) -### 3. Write your Subgraph +### 3. Napište svůj podgraf -> If emitted events are the only thing you want to index, then no additional work is required, and you can skip to the next step. +> Pokud jsou emitované události jedinou věcí, kterou chcete indexovat, není třeba provádět žádnou další práci a můžete přejít k dalšímu kroku. The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: From 0bd043102ab648ce51d59db209b593bbf28b74a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sat, 3 Aug 2024 16:36:19 -0400 Subject: [PATCH 2299/2326] New translations base-testnet.mdx (Czech) --- website/pages/cs/cookbook/base-testnet.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/cookbook/base-testnet.mdx b/website/pages/cs/cookbook/base-testnet.mdx index a6ac0c9401d8..478b6dc57f12 100644 --- a/website/pages/cs/cookbook/base-testnet.mdx +++ b/website/pages/cs/cookbook/base-testnet.mdx @@ -60,9 +60,9 @@ Váš podgraf slug je identifikátor vašeho podgrafu. Nástroj CLI vás provede > Pokud jsou emitované události jedinou věcí, kterou chcete indexovat, není třeba provádět žádnou další práci a můžete přejít k dalšímu kroku. -The previous command creates a scaffold subgraph that you can use as a starting point for building your subgraph. When making changes to the subgraph, you will mainly work with three files: +Předchozí příkaz vytvoří základní podgraf, který můžete použít jako výchozí bod pro sestavení vašeho podgrafu. Při provádění změn v podgrafu budete primárně pracovat se třemi soubory: -- Manifest (subgraph.yaml) - The manifest defines what datasources your subgraphs will index. Make sure to add `base-sepolia` as the network name in manifest file to deploy your subgraph on Base Sepolia. +- Manifest (subgraph.yaml) - Manifest definuje, jaké datové zdroje budou vaše podgrafy indexovat. Nezapomeňte do souboru manifestu přidat jako název sítě `base-sepolia`, abyste mohli svůj subgraf nasadit na Base Sepolia. - Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. - AssemblyScript Mapování (mapping.ts) - Jedná se o kód, který převádí data z datových zdrojů na entity definované ve schématu. From 90e0482d0ff6d887c1c15093948dd3f380739cc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 4 Aug 2024 00:02:06 -0400 Subject: [PATCH 2300/2326] New translations base-testnet.mdx (Czech) --- website/pages/cs/cookbook/base-testnet.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/pages/cs/cookbook/base-testnet.mdx b/website/pages/cs/cookbook/base-testnet.mdx index 478b6dc57f12..dcacf9bd2e03 100644 --- a/website/pages/cs/cookbook/base-testnet.mdx +++ b/website/pages/cs/cookbook/base-testnet.mdx @@ -63,12 +63,12 @@ Váš podgraf slug je identifikátor vašeho podgrafu. Nástroj CLI vás provede Předchozí příkaz vytvoří základní podgraf, který můžete použít jako výchozí bod pro sestavení vašeho podgrafu. Při provádění změn v podgrafu budete primárně pracovat se třemi soubory: - Manifest (subgraph.yaml) - Manifest definuje, jaké datové zdroje budou vaše podgrafy indexovat. Nezapomeňte do souboru manifestu přidat jako název sítě `base-sepolia`, abyste mohli svůj subgraf nasadit na Base Sepolia. -- Schema (schema.graphql) - The GraphQL schema defines what data you wish to retreive from the subgraph. +- Schéma (schema.graphql) - Schéma GraphQL definuje, jaká data chcete z podgrafu získat. - AssemblyScript Mapování (mapping.ts) - Jedná se o kód, který převádí data z datových zdrojů na entity definované ve schématu. -If you want to index additional data, you will need extend the manifest, schema and mappings. +Pokud chcete indexovat další data, musíte rozšířit manifest, schéma a mapování. -For more information on how to write your subgraph, see [Creating a Subgraph](/developing/creating-a-subgraph). +Pro více informací o tom, jak napsat svůj podgraf, se podívejte do části [Creating a Subgraph](/developing/creating-a-subgraph). ### 4. Deploy to Subgraph Studio From c6e8c2fe243892b594b91c0f1cd0418effc4e54f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 4 Aug 2024 01:36:33 -0400 Subject: [PATCH 2301/2326] New translations base-testnet.mdx (Czech) --- website/pages/cs/cookbook/base-testnet.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/pages/cs/cookbook/base-testnet.mdx b/website/pages/cs/cookbook/base-testnet.mdx index dcacf9bd2e03..c38c8030cc27 100644 --- a/website/pages/cs/cookbook/base-testnet.mdx +++ b/website/pages/cs/cookbook/base-testnet.mdx @@ -72,21 +72,21 @@ Pro více informací o tom, jak napsat svůj podgraf, se podívejte do části [ ### 4. Deploy to Subgraph Studio -Before you can deploy your subgraph, you will need to authenticate with Subgraph Studio. You can do this by running the following command: +Před nasazením podgrafu se musíte ověřit v Podgraf Studio. To provedete spuštěním následujícího příkazu: -Authenticate the subgraph on studio +Potvrďte podgraf ve studio ``` graph auth --studio ``` -Next, enter your subgraph's directory. +Poté přejděte do adresáře svého podgrafu. ``` cd ``` -Build your subgraph with the following command: +Vytvořte podgraf pomocí následujícího příkazu: ```` ``` @@ -94,7 +94,7 @@ graph codegen && graph build ``` ```` -Finally, you can deploy your subgraph using this command: +Nakonec můžete podgraf nasadit pomocí tohoto příkazu: ```` ``` @@ -102,10 +102,10 @@ graph deploy --studio ``` ```` -### 5. Query your subgraph +### 5. Dotaz na podgraf -Once your subgraph is deployed, you can query it from your dapp using the `Development Query URL` in Subgraph Studio. +Po nasazení vašeho podgrafu jej můžete dotazovat z vaší dApp pomocí vývojové dotazovací URL v Podgraf Studio. -Note - Studio API is rate-limited. Hence should preferably be used for development and testing. +Poznámka - Studio API je omezeno rychlostí. Proto by mělo být přednostně používáno pro vývoj a testování. -To learn more about querying data from your subgraph, see the [Querying a Subgraph](/querying/querying-the-graph) page. +Další informace o dotazování na data z podgrafu naleznete na stránce [Dotazování podgrafu](/querying/querying-the-graph). From fd786bdbb4db8f59d4e1a2da5ef93a4e652a92ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 4 Aug 2024 01:36:34 -0400 Subject: [PATCH 2302/2326] New translations cosmos.mdx (Czech) --- website/pages/cs/cookbook/cosmos.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/cs/cookbook/cosmos.mdx b/website/pages/cs/cookbook/cosmos.mdx index 28ba8ea7560f..e9c0a449014f 100644 --- a/website/pages/cs/cookbook/cosmos.mdx +++ b/website/pages/cs/cookbook/cosmos.mdx @@ -2,7 +2,7 @@ title: Vytváření podgrafů v Cosmos --- -This guide is an introduction on building subgraphs indexing [Cosmos](https://cosmos.network/) based blockchains. +Tato příručka je úvodem k vytváření podgrafů indexujících [Blokové řetězce založené na Cosmos](https://cosmos.network/). ## Co jsou podgrafy Cosmos? From 30868b0a42b699d00b45f5c70cb2c9fafc61b4bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 4 Aug 2024 03:59:40 -0400 Subject: [PATCH 2303/2326] New translations cosmos.mdx (Czech) --- website/pages/cs/cookbook/cosmos.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/pages/cs/cookbook/cosmos.mdx b/website/pages/cs/cookbook/cosmos.mdx index e9c0a449014f..bed287438d51 100644 --- a/website/pages/cs/cookbook/cosmos.mdx +++ b/website/pages/cs/cookbook/cosmos.mdx @@ -17,9 +17,9 @@ V podgrafech Cosmos jsou podporovány čtyři typy ovladačů: Založeno na [oficiální dokumentaci k Cosmos](https://docs.cosmos.network/): -> [Events](https://docs.cosmos.network/main/learn/advanced/events) are objects that contain information about the execution of the application. They are mainly used by service providers like block explorers and wallets to track the execution of various messages and index transactions. +> [Události](https://docs.cosmos.network/main/learn/advanced/events) jsou objekty, které obsahují informace o provádění aplikace. Používají je především poskytovatelé služeb, jako jsou průzkumníci bloků a peněženky, ke sledování provádění různých zpráv a indexování transakcí. -> [Transactions](https://docs.cosmos.network/main/learn/advanced/transactions) are objects created by end-users to trigger state changes in the application. +> [Transakce](https://docs.cosmos.network/main/learn/advanced/transactions) jsou objekty vytvořené koncovými uživateli za účelem vyvolání změn stavu aplikace. > [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. From 49fb41873e23e6278bd6946c80286cb8c456399d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sun, 4 Aug 2024 05:02:31 -0400 Subject: [PATCH 2304/2326] New translations cosmos.mdx (Czech) --- website/pages/cs/cookbook/cosmos.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/website/pages/cs/cookbook/cosmos.mdx b/website/pages/cs/cookbook/cosmos.mdx index bed287438d51..c751655dd336 100644 --- a/website/pages/cs/cookbook/cosmos.mdx +++ b/website/pages/cs/cookbook/cosmos.mdx @@ -21,7 +21,7 @@ Založeno na [oficiální dokumentaci k Cosmos](https://docs.cosmos.network/): > [Transakce](https://docs.cosmos.network/main/learn/advanced/transactions) jsou objekty vytvořené koncovými uživateli za účelem vyvolání změn stavu aplikace. -> [Messages](https://docs.cosmos.network/main/learn/advanced/transactions#messages) are module-specific objects that trigger state transitions within the scope of the module they belong to. +> [Zprávy](https://docs.cosmos.network/main/learn/advanced/transactions#messages) jsou objekty specifické pro modul, které vyvolávají stavové přechody v rámci modulu, ke kterému patří. Přestože ke všem datům lze přistupovat pomocí blokové obsluhy, jiné obsluhy umožňují vývojářům podgrafů zpracovávat data mnohem podrobnějším způsobem. @@ -29,9 +29,9 @@ Přestože ke všem datům lze přistupovat pomocí blokové obsluhy, jiné obsl ### Závislosti podgrafů -[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) is a CLI tool to build and deploy subgraphs, version `>=0.30.0` is required in order to work with Cosmos subgraphs. +[graph-cli](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli) je nástroj CLI pro sestavování a nasazování podgrafů, pro práci se podgrafy Cosmos je vyžadována verze `>=0.30.0`. -[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) is a library of subgraph-specific types, version `>=0.27.0` is required in order to work with Cosmos subgraphs. +[graph-ts](https://github.com/graphprotocol/graph-tooling/tree/main/packages/ts) je knihovna typů specifických pro podgrafy, pro práci se podgrafy Cosmos je vyžadována verze `>=0.27.0`. ### Hlavní součásti subgrafu @@ -79,7 +79,7 @@ dataSources: ### Definice schématu -Schema definition describes the structure of the resulting subgraph database and the relationships between entities. This is agnostic of the original data source. There are more details on subgraph schema definition [here](/developing/creating-a-subgraph/#the-graphql-schema). +Definice schématu popisuje strukturu výsledné databáze podgrafů a vztahy mezi entity. To je nezávislé na původním zdroji dat. Podrobnější informace o definici schématu podgrafu naleznete [zde](/developing/creating-a-subgraph/#the-graphql-schema). ### AssemblyScript Mapování @@ -176,7 +176,7 @@ Jako součást `MessageData` přijímá zpracovatel zpráv kontext transakce, kt ### Dekódování zpráv -It's important to note that Cosmos messages are chain-specific and they are passed to a subgraph in the form of a serialized [Protocol Buffers](https://protobuf.dev/) payload. As a result, the message data needs to be decoded in a mapping function before it can be processed. +Mějte na paměti, že zprávy Cosmos jsou specifické pro každý řetězec a do podgrafu se doručují jako serializované [zátěže protokolových bufferů](https://protobuf.dev/) užitečné zatížení. Proto musí být data zprávy před zpracováním dekódována v mapovací funkci. Příklad dekódování dat zprávy v podgrafu naleznete [zde](https://github.com/graphprotocol/graph-tooling/blob/main/examples/cosmos-validator-delegations/src/decoding.ts). @@ -200,13 +200,13 @@ Po vytvoření podgrafu můžete podgraf nasadit pomocí příkazu `graph deploy **Podgraf Studio** -Visit the Subgraph Studio to create a new subgraph. +Navštivte Studio podgrafů a vytvořte nový podgraf. ```bash graph deploy --studio subgraph-name ``` -**Local Graph Node (based on default configuration):** +**Místní uzel grafu (na základě výchozí config):** ```bash graph create subgraph-name --node http://localhost:8020 @@ -218,7 +218,7 @@ graph deploy subgraph-name --node http://localhost:8020/ --ipfs http://localhost ## Dotazování podgrafu Cosmos -The GraphQL endpoint for Cosmos subgraphs is determined by the schema definition, with the existing API interface. Please visit the [GraphQL API documentation](/querying/graphql-api/) for more information. +Koncový bod GraphQL pro podgrafy Cosmos je určen definicí schématu se stávajícím rozhraním API. Další informace naleznete v [dokumentaci GraphQL API](/querying/graphql-api/). ## Podporované blockchainy Cosmos From a7f29a0b522f3050082c1cd0da48aa1fcfeb43f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Wed, 7 Aug 2024 16:36:05 -0400 Subject: [PATCH 2305/2326] New translations publishing-a-subgraph.mdx (Romanian) --- .../ro/publishing/publishing-a-subgraph.mdx | 94 ++++++++++++------- 1 file changed, 58 insertions(+), 36 deletions(-) diff --git a/website/pages/ro/publishing/publishing-a-subgraph.mdx b/website/pages/ro/publishing/publishing-a-subgraph.mdx index cc94f1e679c2..9de36745a95b 100644 --- a/website/pages/ro/publishing/publishing-a-subgraph.mdx +++ b/website/pages/ro/publishing/publishing-a-subgraph.mdx @@ -2,38 +2,83 @@ title: Publishing a Subgraph to the Decentralized Network --- -Once your subgraph has been [deployed to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio), you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network. +Once you have [deployed your subgraph to Subgraph Studio](/deploying/deploying-a-subgraph-to-studio) and it's ready to go into production, you can publish it to the decentralized network. -Publishing a Subgraph to the decentralized network makes it available for [Curators](/network/curating) to begin curating on it, and [Indexers](/network/indexing) to begin indexing it. +When you publish a subgraph to the decentralized network, you make it available for: + +- [Curators](/network/curating) to begin curating it. +- [Indexers](/network/indexing) to begin indexing it. -You can find the list of the supported networks [Here](/developing/supported-networks). +Check out the list of [supported networks](/developing/supported-networks). + +## Publishing from Subgraph Studio + +1. Go to the [Subgraph Studio](https://thegraph.com/studio/) dashboard +2. Click on the **Publish** button +3. Your subgraph will now be visible in [Graph Explorer](https://thegraph.com/explorer/). + +All published versions of an existing subgraph can: + +- Be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). + +- Index data on any of the [supported networks](/developing/supported-networks), regardless of the network on which the subgraph was published. + +### Updating metadata for a published subgraph + +- After publishing your subgraph to the decentralized network, you can update the metadata anytime in Subgraph Studio. +- Once you’ve saved your changes and published the updates, they will appear in Graph Explorer. +- It's important to note that this process will not create a new version since your deployment has not changed. + +## Publishing from the CLI + +As of version 0.73.0, you can also publish your subgraph with the [`graph-cli`](https://github.com/graphprotocol/graph-tooling/tree/main/packages/cli). -## Publishing a subgraph +1. Open the `graph-cli`. +2. Use the following commands: `graph codegen && graph build` then `graph publish`. +3. A window will open, allowing you to connect your wallet, add metadata, and deploy your finalized subgraph to a network of your choice. -Subgraphs can be published to the decentralized network directly from Subgraph Studio dashboard by clicking on the **Publish** button. Once a subgraph is published, it will be available to view in [Graph Explorer](https://thegraph.com/explorer/). +![cli-ui](/img/cli-ui.png) -- Subgraphs can be published to Arbitrum One. [Learn more about The Graph Network on Arbitrum](/arbitrum/arbitrum-faq). +### Customizing your deployment -- Regardless of the network the subgraph was published on, it can index data on any of the [supported networks](/developing/supported-networks). +You can upload your subgraph build to a specific IPFS node and further customize your deployment with the following flags: -- When publishing a new version for an existing subgraph the same rules apply as above. +``` +USAGE + $ graph publish [SUBGRAPH-MANIFEST] [-h] [--protocol-network arbitrum-one|arbitrum-sepolia --subgraph-id ] [-i ] [--ipfs-hash ] [--webapp-url + ] + +FLAGS + -h, --help Show CLI help. + -i, --ipfs= [default: https://api.thegraph.com/ipfs/api/v0] Upload build results to an IPFS node. + --ipfs-hash= IPFS hash of the subgraph manifest to deploy. + --protocol-network=